All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lina Iyer <ilina@codeaurora.org>
To: Stephen Boyd <swboyd@chromium.org>
Cc: Andy Gross <andy.gross@linaro.org>,
	linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Mahesh Sivasubramanian <msivasub@codeaurora.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Evan Green <evgreen@chromium.org>
Subject: Re: [PATCH] soc: qcom: cmd-db: Make endian-agnostic
Date: Tue, 17 Apr 2018 11:22:34 -0600	[thread overview]
Message-ID: <20180417172234.GA29077@codeaurora.org> (raw)
In-Reply-To: <20180412224111.35216-1-swboyd@chromium.org>

On Thu, Apr 12 2018 at 16:41 -0600, Stephen Boyd wrote:
>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.
>
>Cc: Mahesh Sivasubramanian <msivasub@codeaurora.org>
>Cc: Lina Iyer <ilina@codeaurora.org>
>Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
>Cc: Evan Green <evgreen@chromium.org>
>Signed-off-by: Stephen Boyd <swboyd@chromium.org>
>---
>
>Changes from inline patch:
> * Fixed magic
> * Made function for memcmp()
> *
>
> drivers/soc/qcom/cmd-db.c | 116 +++++++++++++++++++++-----------------
> 1 file changed, 65 insertions(+), 51 deletions(-)
>
>@@ -99,8 +90,34 @@ struct cmd_db_header {
>  * h/w accelerator and request a resource state.
>  */
>
>+static const char CMD_DB_MAGIC[] = { 0xdb, 0x30, 0x03, 0x0c };
>+
This works now.

>+static bool cmd_db_magic_matches(struct cmd_db_header *header)
>+{
>+	__le32 *magic = &header->magic_num;
>+
>+	return memcmp(magic, CMD_DB_MAGIC, sizeof(CMD_DB_MAGIC)) == 0;
>+}
>+
> static struct cmd_db_header *cmd_db_header;
Could  you move this up, along with other declarations?
>
>+
>+static inline void *rsc_to_entry_header(struct rsc_hdr *hdr)
>+{
>+	u16 offset = le16_to_cpu(hdr->header_offset);
>+
>+	return cmd_db_header->data + offset;

I noticed that the data was incorrect, with the above and I did it to
read the correct data.

return ((void*)cmd_db_header + sizeof(*cmd_db_header) + offset);
>+}
>+
>+static inline void *
>+rsc_offset(struct rsc_hdr *hdr, struct entry_header *ent)
>+{
>+	u16 offset = le16_to_cpu(hdr->header_offset);
>+	u16 loffset = le16_to_cpu(ent->offset);
>+
>+	return cmd_db_header->data + offset + loffset;
As well here -
 return ((void*)cmd_db_header + sizeof(*cmd_db_header) + offset +
 loffset);
>+}
>+

Thanks,
Lina

  parent reply	other threads:[~2018-04-17 17:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-12 22:41 [PATCH] soc: qcom: cmd-db: Make endian-agnostic Stephen Boyd
2018-04-17  0:08 ` Evan Green
2018-04-17 17:22 ` Lina Iyer [this message]
2018-04-17 17:30   ` Lina Iyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180417172234.GA29077@codeaurora.org \
    --to=ilina@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=evgreen@chromium.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-soc@vger.kernel.org \
    --cc=msivasub@codeaurora.org \
    --cc=swboyd@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.