On Fri, Apr 06 2018 at 17:23 -0600, Stephen Boyd wrote:
Quoting Lina Iyer (2018-04-06 08:13:55)From: Mahesh Sivasubramanian <[email protected]>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 <[email protected]> Signed-off-by: Lina Iyer <[email protected]> Reviewed-by: Bjorn Andersson <[email protected]> ---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 <[email protected]> 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 <[email protected]> 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

