RE: [PATCH 1/1] Production State Awareness support in host side

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ulf,

> -----Original Message-----
> From: Ulf Hansson [mailto:ulf.hansson@xxxxxxxxxx]
> Sent: Tuesday, December 02, 2014 11:31 AM
> To: Alex Lemberg
> Cc: linux-mmc; Chris Ball; Avi Shchislowski
> Subject: Re: [PATCH 1/1] Production State Awareness support in host side
> 
> On 25 November 2014 at 15:55, Alex Lemberg <Alex.Lemberg@xxxxxxxxxxx>
> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Ulf Hansson [mailto:ulf.hansson@xxxxxxxxxx]
> >> Sent: Tuesday, November 25, 2014 12:57 PM
> >> To: Alex Lemberg
> >> Cc: linux-mmc; Chris Ball; Avi Shchislowski
> >> Subject: Re: [PATCH 1/1] Production State Awareness support in host
> >> side
> >>
> >> On 25 November 2014 at 10:17, Alex Lemberg
> <Alex.Lemberg@xxxxxxxxxxx>
> >> wrote:
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: Ulf Hansson [mailto:ulf.hansson@xxxxxxxxxx]
> >> >> Sent: Monday, November 24, 2014 2:24 PM
> >> >> To: Alex Lemberg
> >> >> Cc: linux-mmc; Chris Ball; Avi Shchislowski
> >> >> Subject: Re: [PATCH 1/1] Production State Awareness support in
> >> >> host side
> >> >>
> >> >> [...]
> >> >>
> >> >> >> >>
> >> >> >> >> I am not so sure we should finalize the production phase
> >> >> >> >> while initializing the eMMC card like this.
> >> >> >> >>
> >> >> >> >> Certainly we should check the PSA state, but I think we
> >> >> >> >> should return an error if we think the device hasn’t
> >> >> >> >> completed production. It should be the responsibility for
> >> >> >> >> the "programming tools" to finalize the
> >> >> >> production, right!?
> >> >> >> >
> >> >> >> > According to eMMC spec, the switch to NORMAL should be done
> >> >> >> > after device
> >> >> >> soldering to final host (not programmer).
> >> >> >> > Please refer to "Figure 32 — Recommended Soldering procedure"
> >> >> >> > in
> >> >> >> eMMC5.0 specification document.
> >> >> >> > Also, since we are dealing with only "field" host here, we
> >> >> >> > are not
> >> >> >> touching/switching any other modes of PSA, but only Normal (field).
> >> >> >> > This code should run only once - in the beginning of device life cycle.
> >> >> >>
> >> >> >> I get your point, but I am not so sure.
> >> >> >>
> >> >> >> To me, I wouldn't trust that the platform binaries has been
> >> >> >> successfully programmed to the device, unless the programmer
> >> >> >> tool takes care of switching the device to "normal".
> >> >> >>
> >> >> >
> >> >> > Thanks Ulf!
> >> >> > Also, please note - PSA PRE_SOLDERING_POST_WRITES mode intent to
> >> >> > save device pre-loaded content during the soldering process.
> >> >> > Flash data can be corrupted due to soldering procedure high
> >> >> > temperature. So switching to Normal cannot be done by external
> >> >> programmer.
> >> >>
> >> >> So, if flash data will be corrupted due to for example high
> >> >> temperatures during soldering, how will that be detected when
> >> >> using the
> >> "manual mode"?
> >> >>
> >> >> If that's the job for the platform software I fail to understand
> >> >> why the PRE_SOLDERING_POST_WRITES state needs to exists at all!?
> >> >
> >> > The flow of "Manual Mode" is:
> >>
> >> Thanks for clarifying.
> >>
> >> >
> >> > [skipping few common steps]
> >> > ...
> >> > Host (Programmer) sets PRODUCTION_STATE_AWARENESS to 0x1
> >> > (PRE_SOLDERING_WRITES)
> >> >
> >> > Host (Programmer) perform pre-soldering data loading and/or device
> >> > configuration
> >> >
> >> > Host (Programmer) sets PRODUCTION_STATE_AWARENESS To 0x2
> >> > (PRE_SOLDERING_POST_WRITES).
> >> > No writes past this point
> >>
> >> To repeat my question:
> >>
> >> _Unless_ there are no validation of the device soldering performed by
> >> the "programmer tool" past this point, why couldn't the host set
> >> PRODUCTION_STATE_AWARENESS to 0x0 (NORMAL) at this point instead?
> >>
> >
> > If programmer set to NORMAL at this point, the programmed data can be
> > corrupted during the soldering process.
> > eMMC device will protect programmed data during the soldering process
> > in PRE_SOLDERING_POST_WRITES (0x2)  mode.
> 
> Exactly how will that be done?
> 
> During the soldering process the eMMC card isn't powered. So how could it
> protect itself better, just because the state is PRE_SOLDERING_POST_WRITES?

The device will use "special" internal operations for saving content prior to
device soldering, and will switch to "regular" after the soldering and getting "NORMAL" mode.

> 
> Kind regards
> Uffe
��.n��������+%������w��{.n�����{��i��)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux