Re: [PATCH v7 [RESEND] 1/2] drivers: qcom: add command DB driver

From: Lina Iyer
Date: Tue Apr 10 2018 - 13:46:38 EST


On Fri, Apr 06 2018 at 17:23 -0600, Stephen Boyd wrote:
Quoting Lina Iyer (2018-04-06 08:13:55)
From: Mahesh Sivasubramanian <msivasub@xxxxxxxxxxxxxx>

Command DB is a simple database in the shared memory of QCOM SoCs, that
provides information regarding shared resources. Some shared resources
in the SoC have properties that are probed dynamically at boot by the
remote processor. The information pertaining to the SoC and the platform
are made available in the shared memory. Drivers can query this
information using predefined strings.

Signed-off-by: Mahesh Sivasubramanian <msivasub@xxxxxxxxxxxxxx>
Signed-off-by: Lina Iyer <ilina@xxxxxxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
---

I have this patch on top to fix the endian stuff. Care to test it out
and see if it still works?

From: Stephen Boyd <swboyd@xxxxxxxxxxxx>
Subject: soc: qcom: cmd-db: Make endian-agnostic

This driver deals with memory that is stored in little-endian format.
Update the structures with the proper little-endian types and then
do the proper conversions when reading the fields. Note that we compare
the ids with a memcmp() because we already pad out the string 'id' field
to exactly 8 bytes with the strncpy() onto the stack.

Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>

diff --git a/drivers/soc/qcom/cmd-db.c b/drivers/soc/qcom/cmd-db.c
index b5172049f608..a56dc9edab82 100644
--- a/drivers/soc/qcom/cmd-db.c
+++ b/drivers/soc/qcom/cmd-db.c
@@ -13,18 +13,10 @@

#define NUM_PRIORITY 2
#define MAX_SLV_ID 8
-#define CMD_DB_MAGIC 0x0C0330DBUL
+static const char CMD_DB_MAGIC[] = { 0xdb, 0x33, 0x03, 0x0c };
This has to be { 0xdb, 0x30, 0x03, 0x0c }

Otherwise it works.

Thanks,
Lina