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
next prev 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.