All of lore.kernel.org
 help / color / mirror / Atom feed
From: Henrik Grimler <henrik@grimler.se>
To: krzysztof.kozlowski@canonical.com, chanho61.park@samsung.com,
	semen.protsenko@linaro.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,
	Henrik Grimler <henrik@grimler.se>
Subject: [PATCH 1/2] soc: samsung: exynos-chipid: print entire PRO_ID reg when probing
Date: Sun, 31 Oct 2021 17:56:44 +0100	[thread overview]
Message-ID: <20211031165645.1182368-1-henrik@grimler.se> (raw)

Older Exynos socs has one reg PRO_ID containing both product id and
revision information. Newer Exynos socs has one Product_ID reg with
product id, and one CHIPID_REV reg with revision information.

In commit c072c4ef7ef0 ("soc: samsung: exynos-chipid: Pass revision
reg offsets") the driver was changed so that the revision part of
PRO_ID is masked to 0 when printed during probing. This can give a
false impression that the revision is 0, so lets change so entire
PRO_ID reg is printed again.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
---
Has been tested on exynos4412-i9300, which is compatible with
exynos4210-chipid, and on an exynos8895 device compatible with
exynos850-chipid.
---
drivers/soc/samsung/exynos-chipid.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c
index a28053ec7e6a..7fe44f71920d 100644
--- a/drivers/soc/samsung/exynos-chipid.c
+++ b/drivers/soc/samsung/exynos-chipid.c
@@ -33,6 +33,7 @@ struct exynos_chipid_variant {
 };
 
 struct exynos_chipid_info {
+	u32 pro_id;
 	u32 product_id;
 	u32 revision;
 };
@@ -79,6 +80,7 @@ static int exynos_chipid_get_chipid_info(struct regmap *regmap,
 	ret = regmap_read(regmap, EXYNOS_CHIPID_REG_PRO_ID, &val);
 	if (ret < 0)
 		return ret;
+	soc_info->pro_id = val;
 	soc_info->product_id = val & EXYNOS_MASK;
 
 	if (data->rev_reg != EXYNOS_CHIPID_REG_PRO_ID) {
@@ -146,7 +148,7 @@ static int exynos_chipid_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, soc_dev);
 
 	dev_info(&pdev->dev, "Exynos: CPU[%s] PRO_ID[0x%x] REV[0x%x] Detected\n",
-		 soc_dev_attr->soc_id, soc_info.product_id, soc_info.revision);
+		 soc_dev_attr->soc_id, soc_info.pro_id, soc_info.revision);
 
 	return 0;
 

base-commit: b417d1e88f32645ed62a00d43c347b4386a0a021
-- 
2.33.1


WARNING: multiple messages have this Message-ID (diff)
From: Henrik Grimler <henrik@grimler.se>
To: krzysztof.kozlowski@canonical.com, chanho61.park@samsung.com,
	semen.protsenko@linaro.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,
	Henrik Grimler <henrik@grimler.se>
Subject: [PATCH 1/2] soc: samsung: exynos-chipid: print entire PRO_ID reg when probing
Date: Sun, 31 Oct 2021 17:56:44 +0100	[thread overview]
Message-ID: <20211031165645.1182368-1-henrik@grimler.se> (raw)

Older Exynos socs has one reg PRO_ID containing both product id and
revision information. Newer Exynos socs has one Product_ID reg with
product id, and one CHIPID_REV reg with revision information.

In commit c072c4ef7ef0 ("soc: samsung: exynos-chipid: Pass revision
reg offsets") the driver was changed so that the revision part of
PRO_ID is masked to 0 when printed during probing. This can give a
false impression that the revision is 0, so lets change so entire
PRO_ID reg is printed again.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
---
Has been tested on exynos4412-i9300, which is compatible with
exynos4210-chipid, and on an exynos8895 device compatible with
exynos850-chipid.
---
drivers/soc/samsung/exynos-chipid.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c
index a28053ec7e6a..7fe44f71920d 100644
--- a/drivers/soc/samsung/exynos-chipid.c
+++ b/drivers/soc/samsung/exynos-chipid.c
@@ -33,6 +33,7 @@ struct exynos_chipid_variant {
 };
 
 struct exynos_chipid_info {
+	u32 pro_id;
 	u32 product_id;
 	u32 revision;
 };
@@ -79,6 +80,7 @@ static int exynos_chipid_get_chipid_info(struct regmap *regmap,
 	ret = regmap_read(regmap, EXYNOS_CHIPID_REG_PRO_ID, &val);
 	if (ret < 0)
 		return ret;
+	soc_info->pro_id = val;
 	soc_info->product_id = val & EXYNOS_MASK;
 
 	if (data->rev_reg != EXYNOS_CHIPID_REG_PRO_ID) {
@@ -146,7 +148,7 @@ static int exynos_chipid_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, soc_dev);
 
 	dev_info(&pdev->dev, "Exynos: CPU[%s] PRO_ID[0x%x] REV[0x%x] Detected\n",
-		 soc_dev_attr->soc_id, soc_info.product_id, soc_info.revision);
+		 soc_dev_attr->soc_id, soc_info.pro_id, soc_info.revision);
 
 	return 0;
 

base-commit: b417d1e88f32645ed62a00d43c347b4386a0a021
-- 
2.33.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2021-10-31 16:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-31 16:56 Henrik Grimler [this message]
2021-10-31 16:56 ` [PATCH 1/2] soc: samsung: exynos-chipid: print entire PRO_ID reg when probing Henrik Grimler
2021-10-31 16:56 ` [PATCH 2/2] soc: samsung: exynos-chipid: be more informative when soc is unknown Henrik Grimler
2021-10-31 16:56   ` Henrik Grimler
2021-10-31 20:35   ` Krzysztof Kozlowski
2021-10-31 20:35     ` Krzysztof Kozlowski
2021-10-31 20:35 ` [PATCH 1/2] soc: samsung: exynos-chipid: print entire PRO_ID reg when probing Krzysztof Kozlowski
2021-10-31 20:35   ` Krzysztof Kozlowski
2021-10-31 21:29   ` Henrik Grimler
2021-10-31 21:29     ` Henrik Grimler
2021-11-01  7:43     ` Krzysztof Kozlowski
2021-11-01  7:43       ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211031165645.1182368-1-henrik@grimler.se \
    --to=henrik@grimler.se \
    --cc=chanho61.park@samsung.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=semen.protsenko@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.