public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Leif Lindholm <leif.lindholm@linaro.org>
To: Jun Nie <jun.nie@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Haojian Zhuang <haojian.zhuang@linaro.org>,
	edk2-devel@lists.01.org, Shawn Guo <shawn.guo@linaro.org>,
	Jason Liu <jason.liu@linaro.org>
Subject: Re: [PATCH v2] EmbeddedPkg/MmcDxe: Add alignment for ECSD data
Date: Tue, 13 Jun 2017 10:18:59 +0100	[thread overview]
Message-ID: <20170613091859.GO26676@bivouac.eciton.net> (raw)
In-Reply-To: <CABymUCPFarvvrotj=QffUFwscc5nXzoy1e_F=KJX-wghi1BpVw@mail.gmail.com>

On Tue, Jun 13, 2017 at 10:14:34AM +0800, Jun Nie wrote:
> 2017-06-12 23:53 GMT+08:00 Leif Lindholm <leif.lindholm@linaro.org>:
> > On Mon, Jun 12, 2017 at 09:59:28AM +0800, Jun Nie wrote:
> >> Add alignment for ECSD data for DMA access. Otherwise
> >> the data is corrupted on Sanechips platform.
> >
> > I never did see a reply to my proposed solution, and the below is not
> > it. Can you explain why you prefer this one?
> 
> Sorry, just see your email because that thread is not highlighted for
> new email in gmail for unknown reason.
> I have concern that "UINT64 VENDOR_SPECIFIC_FIELD[8]" cannot secure
> the ECSD alignment because it is not the first member.

It being the first member or not has no relevance.
By my count, it starts at offset 64, with all preceding entries being
UINT8.

> Changing the first member to "UINT64 RESERVED_1[2]" shall secure the
> alignment.

Relying on a reserved field for setting alignment constraints risks
having to find an alternative method at some point in the future, so I
agree this is not a preferred solution.

> But I preferred Pad method. It is more readable if all ECSD member
> are UINT8 type.

I confess am not familiar enough with eMMC to make a clean call here,
but if real alignment constrains exist, using UINT8 is actively
misleading, not to mention incorrect. If there is no real alignment
constraint, this is not the code that needs fixing.

> It is also more clear to add alignment info in
> CARD_INFO, just before ECSD member.

Why is it more clear to apply alignment constraints at point of use
instead of point of definition?

Is there any chance you can share the EFI_MMC_HOST_PROTOCOL
implementation that triggers this error?

/
    Leif

> I do not get point of Andrew, maybe he share the same concern.
> 
> Jun
> 
> >
> >> Contributed-under: TianoCore Contribution Agreement 1.0
> >> Signed-off-by: Jun Nie <jun.nie@linaro.org>
> >> ---
> >>  EmbeddedPkg/Universal/MmcDxe/Mmc.h | 1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/EmbeddedPkg/Universal/MmcDxe/Mmc.h b/EmbeddedPkg/Universal/MmcDxe/Mmc.h
> >> index 8a7d5a3..6e3ab17 100644
> >> --- a/EmbeddedPkg/Universal/MmcDxe/Mmc.h
> >> +++ b/EmbeddedPkg/Universal/MmcDxe/Mmc.h
> >> @@ -319,6 +319,7 @@ typedef struct  {
> >>    OCR       OCRData;
> >>    CID       CIDData;
> >>    CSD       CSDData;
> >> +  UINT64    Pad;                              // For 8 bytes alignment of ECSDData
> >>    ECSD      ECSDData;                         // MMC V4 extended card specific
> >>  } CARD_INFO;
> >>
> >> --
> >> 1.9.1
> >>


  parent reply	other threads:[~2017-06-13  9:17 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-12  1:59 [PATCH v2] EmbeddedPkg/MmcDxe: Add alignment for ECSD data Jun Nie
2017-06-12 15:53 ` Leif Lindholm
2017-06-12 16:03   ` Andrew Fish
2017-06-13  2:14   ` Jun Nie
2017-06-13  4:01     ` Andrew Fish
2017-06-13  4:13       ` Jun Nie
2017-06-13  4:25         ` Andrew Fish
2017-06-13  4:44           ` Jun Nie
2017-06-13  9:18     ` Leif Lindholm [this message]
2017-06-14  2:50       ` Jun Nie
2017-06-14 15:18         ` Leif Lindholm

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-list 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=20170613091859.GO26676@bivouac.eciton.net \
    --to=devel@edk2.groups.io \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox