linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Fix serial number usage in MHI bus
@ 2021-07-29  0:17 Bhaumik Bhatt
  2021-07-29  0:17 ` [PATCH v2 1/2] bus: mhi: core: Move serial number read to power up phase Bhaumik Bhatt
  2021-07-29  0:17 ` [PATCH v2 2/2] bus: mhi: core: Depict serial number in hexadecimals Bhaumik Bhatt
  0 siblings, 2 replies; 5+ messages in thread
From: Bhaumik Bhatt @ 2021-07-29  0:17 UTC (permalink / raw)
  To: manivannan.sadhasivam
  Cc: linux-arm-msm, hemantk, linux-kernel, loic.poulain, Bhaumik Bhatt

In some cases, device may boot straight to the mission mode. The serial number
and OEM PK hash values would remain unpopulated in those cases. Hence, move the
reads for those to the power up preparation phase such that controllers always
have them populated. Also, in order to maintain consistency with the way OEM PK
hash is displayed and improve the current way, depict serial number in
hexadecimals.

Tested on: X86_64 architecture with SDX65 on Ubuntu 18.04 distribution.

v2:
-Fixed nitpick for 0x%x
-Minor update to commit message for "Depict serial number" patch
-Added reviewed-by tags

Bhaumik Bhatt (2):
  bus: mhi: core: Move serial number read to power up phase
  bus: mhi: core: Depict serial number in hexadecimals

 drivers/bus/mhi/core/boot.c | 17 +----------------
 drivers/bus/mhi/core/init.c | 19 +++++++++++++++++--
 2 files changed, 18 insertions(+), 18 deletions(-)

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/2] bus: mhi: core: Move serial number read to power up phase
  2021-07-29  0:17 [PATCH v2 0/2] Fix serial number usage in MHI bus Bhaumik Bhatt
@ 2021-07-29  0:17 ` Bhaumik Bhatt
  2021-07-29  1:38   ` Hemant Kumar
  2021-07-29  0:17 ` [PATCH v2 2/2] bus: mhi: core: Depict serial number in hexadecimals Bhaumik Bhatt
  1 sibling, 1 reply; 5+ messages in thread
From: Bhaumik Bhatt @ 2021-07-29  0:17 UTC (permalink / raw)
  To: manivannan.sadhasivam
  Cc: linux-arm-msm, hemantk, linux-kernel, loic.poulain, Bhaumik Bhatt

In some cases device may boot straight to ready and move to AMSS
execution environment. Serial number and OEM PK Hash values would
remain unpopulated in those scenarios. Move the reads for those
power up preparation phase for controllers to always have them
populated.

Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 drivers/bus/mhi/core/boot.c | 17 +----------------
 drivers/bus/mhi/core/init.c | 17 ++++++++++++++++-
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/bus/mhi/core/boot.c b/drivers/bus/mhi/core/boot.c
index 0a97262..e13d34c 100644
--- a/drivers/bus/mhi/core/boot.c
+++ b/drivers/bus/mhi/core/boot.c
@@ -394,28 +394,13 @@ void mhi_fw_load_handler(struct mhi_controller *mhi_cntrl)
 	void *buf;
 	dma_addr_t dma_addr;
 	size_t size;
-	int i, ret;
+	int ret;
 
 	if (MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state)) {
 		dev_err(dev, "Device MHI is not in valid state\n");
 		return;
 	}
 
-	/* save hardware info from BHI */
-	ret = mhi_read_reg(mhi_cntrl, mhi_cntrl->bhi, BHI_SERIALNU,
-			   &mhi_cntrl->serial_number);
-	if (ret)
-		dev_err(dev, "Could not capture serial number via BHI\n");
-
-	for (i = 0; i < ARRAY_SIZE(mhi_cntrl->oem_pk_hash); i++) {
-		ret = mhi_read_reg(mhi_cntrl, mhi_cntrl->bhi, BHI_OEMPKHASH(i),
-				   &mhi_cntrl->oem_pk_hash[i]);
-		if (ret) {
-			dev_err(dev, "Could not capture OEM PK HASH via BHI\n");
-			break;
-		}
-	}
-
 	/* wait for ready on pass through or any other execution environment */
 	if (mhi_cntrl->ee != MHI_EE_EDL && mhi_cntrl->ee != MHI_EE_PBL)
 		goto fw_load_ready_state;
diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c
index 5aaca6d..d98a14b 100644
--- a/drivers/bus/mhi/core/init.c
+++ b/drivers/bus/mhi/core/init.c
@@ -1065,7 +1065,7 @@ int mhi_prepare_for_power_up(struct mhi_controller *mhi_cntrl)
 {
 	struct device *dev = &mhi_cntrl->mhi_dev->dev;
 	u32 bhi_off, bhie_off;
-	int ret;
+	int i, ret;
 
 	mutex_lock(&mhi_cntrl->pm_mutex);
 
@@ -1124,6 +1124,21 @@ int mhi_prepare_for_power_up(struct mhi_controller *mhi_cntrl)
 
 	mutex_unlock(&mhi_cntrl->pm_mutex);
 
+	/* save hardware info from BHI */
+	ret = mhi_read_reg(mhi_cntrl, mhi_cntrl->bhi, BHI_SERIALNU,
+			   &mhi_cntrl->serial_number);
+	if (ret)
+		dev_err(dev, "Could not capture serial number via BHI\n");
+
+	for (i = 0; i < ARRAY_SIZE(mhi_cntrl->oem_pk_hash); i++) {
+		ret = mhi_read_reg(mhi_cntrl, mhi_cntrl->bhi, BHI_OEMPKHASH(i),
+				   &mhi_cntrl->oem_pk_hash[i]);
+		if (ret) {
+			dev_err(dev, "Could not capture OEM PK HASH via BHI\n");
+			break;
+		}
+	}
+
 	return 0;
 
 error_reg_offset:
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] bus: mhi: core: Depict serial number in hexadecimals
  2021-07-29  0:17 [PATCH v2 0/2] Fix serial number usage in MHI bus Bhaumik Bhatt
  2021-07-29  0:17 ` [PATCH v2 1/2] bus: mhi: core: Move serial number read to power up phase Bhaumik Bhatt
@ 2021-07-29  0:17 ` Bhaumik Bhatt
  2021-07-29  1:39   ` Hemant Kumar
  1 sibling, 1 reply; 5+ messages in thread
From: Bhaumik Bhatt @ 2021-07-29  0:17 UTC (permalink / raw)
  To: manivannan.sadhasivam
  Cc: linux-arm-msm, hemantk, linux-kernel, loic.poulain, Bhaumik Bhatt

In order to better reflect usage of serial number, it is prudent
to depict it in hexadecimals.

Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 drivers/bus/mhi/core/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c
index d98a14b..7ea1f01 100644
--- a/drivers/bus/mhi/core/init.c
+++ b/drivers/bus/mhi/core/init.c
@@ -94,7 +94,7 @@ static ssize_t serial_number_show(struct device *dev,
 	struct mhi_device *mhi_dev = to_mhi_device(dev);
 	struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
 
-	return snprintf(buf, PAGE_SIZE, "Serial Number: %u\n",
+	return snprintf(buf, PAGE_SIZE, "Serial Number: 0x%x\n",
 			mhi_cntrl->serial_number);
 }
 static DEVICE_ATTR_RO(serial_number);
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] bus: mhi: core: Move serial number read to power up phase
  2021-07-29  0:17 ` [PATCH v2 1/2] bus: mhi: core: Move serial number read to power up phase Bhaumik Bhatt
@ 2021-07-29  1:38   ` Hemant Kumar
  0 siblings, 0 replies; 5+ messages in thread
From: Hemant Kumar @ 2021-07-29  1:38 UTC (permalink / raw)
  To: Bhaumik Bhatt, manivannan.sadhasivam
  Cc: linux-arm-msm, linux-kernel, loic.poulain



On 7/28/2021 5:17 PM, Bhaumik Bhatt wrote:
> In some cases device may boot straight to ready and move to AMSS
> execution environment. Serial number and OEM PK Hash values would
> remain unpopulated in those scenarios. Move the reads for those
> power up preparation phase for controllers to always have them
> populated.
> 
> Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Reviewed-by: Hemant Kumar <hemantk@codeaurora.org>
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
Forum, a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 2/2] bus: mhi: core: Depict serial number in hexadecimals
  2021-07-29  0:17 ` [PATCH v2 2/2] bus: mhi: core: Depict serial number in hexadecimals Bhaumik Bhatt
@ 2021-07-29  1:39   ` Hemant Kumar
  0 siblings, 0 replies; 5+ messages in thread
From: Hemant Kumar @ 2021-07-29  1:39 UTC (permalink / raw)
  To: Bhaumik Bhatt, manivannan.sadhasivam
  Cc: linux-arm-msm, linux-kernel, loic.poulain



On 7/28/2021 5:17 PM, Bhaumik Bhatt wrote:
> In order to better reflect usage of serial number, it is prudent
> to depict it in hexadecimals.
> 
> Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Reviewed-by: Hemant Kumar <hemantk@codeaurora.org>

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
Forum, a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-07-29  1:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-29  0:17 [PATCH v2 0/2] Fix serial number usage in MHI bus Bhaumik Bhatt
2021-07-29  0:17 ` [PATCH v2 1/2] bus: mhi: core: Move serial number read to power up phase Bhaumik Bhatt
2021-07-29  1:38   ` Hemant Kumar
2021-07-29  0:17 ` [PATCH v2 2/2] bus: mhi: core: Depict serial number in hexadecimals Bhaumik Bhatt
2021-07-29  1:39   ` Hemant Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).