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

From: Lina Iyer
Date: Thu Feb 08 2018 - 16:12:30 EST


On Thu, Feb 08 2018 at 20:48 +0000, Jordan Crouse wrote:
On Thu, Feb 08, 2018 at 12:51:53PM -0700, Lina Iyer wrote:
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>
---

*snip*

diff --git a/drivers/soc/qcom/cmd-db.c b/drivers/soc/qcom/cmd-db.c
new file mode 100644
index 000000000000..050a56da76c8
--- /dev/null
+++ b/drivers/soc/qcom/cmd-db.c
@@ -0,0 +1,321 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. */
+
+#include <linux/kernel.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/of_platform.h>
+#include <linux/of_reserved_mem.h>
+#include <linux/platform_device.h>
+#include <linux/types.h>
+
+#include <soc/qcom/cmd-db.h>
+
+#define NUM_PRIORITY 2
+#define MAX_SLV_ID 8
+#define CMD_DB_MAGIC 0x0C0330DBUL
+#define SLAVE_ID_MASK 0x7
+#define SLAVE_ID_SHIFT 16
+
+#define ENTRY_HEADER(hdr) ((void *)cmd_db_header + \
+ sizeof(*cmd_db_header) + \
+ hdr->header_offset)
+
+#define RSC_OFFSET(hdr, ent) ((void *)cmd_db_header + \
+ sizeof(*cmd_db_header) + \
+ hdr.data_offset + ent.offset)
+
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))

I'm not sure if this was addressed before. Why use a custom macro and not min()
or min_t()?

I didn't realize the existance of this. cscope brought out a ton of 'min' defn.
Will fix in the next spin.

Thanks,
Lina