Message ID | 20231023132128.1871269-1-avri.altman@wdc.com (mailing list archive) |
---|---|
Headers | show |
Series | mmc: host: Disable auto-cmd12 during ffu | expand |
On Mon, 23 Oct 2023 at 15:23, Avri Altman <avri.altman@wdc.com> wrote: > > Field Firmware Update (ffu) may use close-ended or open ended sequence. > Each such sequence is comprised of a write commands enclosed between 2 > switch commands - to and from ffu mode. > > Some platforms generate auto command error interrupt when it shouldn't, > e.g. auto-cmd12 while in close-ended ffu sequence. I encountered this > issue while testing fwupd (github.com/fwupd/fwupd) on HP Chromebook x2, > a qualcomm based QC-7c, code name - strongbad. Instead of a quirk, make > sure it disable auto-cmd12 while close-ended ffu is in progress. Two questions: *) Is this problem limited to FFU? What about other regular close-ended writes through the mmc ioctl? Do those have problems too - and if so, do we care about fixing them? **) I suspect this problem is common to those mmc host drivers that have the auto-cmd12 feature. With the approach taken in the $subject series, each and every host driver would need to make adoptions too. I think we should try to fix this in the core, solely, instead. Something along the lines of how we manage rpmb requests, where we add on and "mrq.sbc" for the write/read request. Would this work, you think? Kind regards Uffe > > v1->v2: > - Attend Adrian's suggestions > > Avri Altman (2): > mmc: core: Mark close-ended ffu in progress > mmc: host: msm: Disable auto-cmd12 during ffu > > drivers/mmc/core/block.c | 34 ++++++++++++++++++++++++++++++++++ > drivers/mmc/host/sdhci-msm.c | 26 ++++++++++++++++++++++++++ > include/linux/mmc/host.h | 1 + > include/linux/mmc/mmc.h | 1 + > 4 files changed, 62 insertions(+) > > -- > 2.42.0 >