[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180208204808.GA9676@jcrouse-lnx.qualcomm.com>
Date: Thu, 8 Feb 2018 13:48:08 -0700
From: Jordan Crouse <jcrouse@...eaurora.org>
To: Lina Iyer <ilina@...eaurora.org>
Cc: andy.gross@...aro.org, david.brown@...aro.org,
linux-arm-msm@...r.kernel.org, linux-soc@...r.kernel.org,
sboyd@...eaurora.org, rnayak@...eaurora.org,
msivasub@...eaurora.org, bjorn.andersson@...aro.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/2] drivers: qcom: add command DB driver
On Thu, Feb 08, 2018 at 12:51:53PM -0700, Lina Iyer wrote:
> From: Mahesh Sivasubramanian <msivasub@...eaurora.org>
>
> 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@...eaurora.org>
> Signed-off-by: Lina Iyer <ilina@...eaurora.org>
> ---
*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()?
Jordan
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
Powered by blists - more mailing lists