Message ID | 20210204120547.15381-3-yann.gautier@foss.st.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] mmc: mmci: enable MMC_CAP_NEED_RSP_BUSY | expand |
On 4/02/21 2:05 pm, yann.gautier@foss.st.com wrote: > From: Yann Gautier <yann.gautier@foss.st.com> > > Since [1], the erase argument for mmc_erase() function is saved in > erase_arg field of card structure. It is preferable to use it instead of > hard-coded MMC_SECURE_ERASE_ARG, which from eMMC 4.51 spec is not > recommended: > "6.6.16 Secure Erase > NOTE Secure Erase is included for backwards compatibility. New system > level implementations (based on v4.51 devices and beyond) should use > Erase combined with Sanitize instead of secure erase." > > [1] commit 01904ff77676 ("mmc: core: Calculate the discard arg only once") > Did you experience an issue because of this? You could add that to the commit message. There does not seem to be a need for secure erase, so: Acked-by: Adrian Hunter <adrian.hunter@intel.com> > Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> > --- > drivers/mmc/core/mmc_test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mmc/core/mmc_test.c b/drivers/mmc/core/mmc_test.c > index 39a478874ca3..63524551a13a 100644 > --- a/drivers/mmc/core/mmc_test.c > +++ b/drivers/mmc/core/mmc_test.c > @@ -2110,7 +2110,7 @@ static int mmc_test_rw_multiple(struct mmc_test_card *test, > if (mmc_can_erase(test->card) && > tdata->prepare & MMC_TEST_PREP_ERASE) { > ret = mmc_erase(test->card, dev_addr, > - size / 512, MMC_SECURE_ERASE_ARG); > + size / 512, test->card->erase_arg); > if (ret) > ret = mmc_erase(test->card, dev_addr, > size / 512, MMC_ERASE_ARG); >
On 2/5/21 7:33 AM, Adrian Hunter wrote: > On 4/02/21 2:05 pm, yann.gautier@foss.st.com wrote: >> From: Yann Gautier <yann.gautier@foss.st.com> >> >> Since [1], the erase argument for mmc_erase() function is saved in >> erase_arg field of card structure. It is preferable to use it instead of >> hard-coded MMC_SECURE_ERASE_ARG, which from eMMC 4.51 spec is not >> recommended: >> "6.6.16 Secure Erase >> NOTE Secure Erase is included for backwards compatibility. New system >> level implementations (based on v4.51 devices and beyond) should use >> Erase combined with Sanitize instead of secure erase." >> >> [1] commit 01904ff77676 ("mmc: core: Calculate the discard arg only once") >> > > Did you experience an issue because of this? You could add that to the > commit message. Hi Adrian, Thanks for the review! Yes, I've seen an issue on STM32MP157C-EV1 board. After a write test (e.g. test 36), the tests 37 or 38, using mmc_erase fail. With the erase argument used by default in the framework (MMC_DISCARD_ARG), I can no more see this. I can send a new version of the series with comment update here, and a fixup on the first patch. Regards, Yann > > There does not seem to be a need for secure erase, so: > > Acked-by: Adrian Hunter <adrian.hunter@intel.com> > > >> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> >> --- >> drivers/mmc/core/mmc_test.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/mmc/core/mmc_test.c b/drivers/mmc/core/mmc_test.c >> index 39a478874ca3..63524551a13a 100644 >> --- a/drivers/mmc/core/mmc_test.c >> +++ b/drivers/mmc/core/mmc_test.c >> @@ -2110,7 +2110,7 @@ static int mmc_test_rw_multiple(struct mmc_test_card *test, >> if (mmc_can_erase(test->card) && >> tdata->prepare & MMC_TEST_PREP_ERASE) { >> ret = mmc_erase(test->card, dev_addr, >> - size / 512, MMC_SECURE_ERASE_ARG); >> + size / 512, test->card->erase_arg); >> if (ret) >> ret = mmc_erase(test->card, dev_addr, >> size / 512, MMC_ERASE_ARG); >> >
diff --git a/drivers/mmc/core/mmc_test.c b/drivers/mmc/core/mmc_test.c index 39a478874ca3..63524551a13a 100644 --- a/drivers/mmc/core/mmc_test.c +++ b/drivers/mmc/core/mmc_test.c @@ -2110,7 +2110,7 @@ static int mmc_test_rw_multiple(struct mmc_test_card *test, if (mmc_can_erase(test->card) && tdata->prepare & MMC_TEST_PREP_ERASE) { ret = mmc_erase(test->card, dev_addr, - size / 512, MMC_SECURE_ERASE_ARG); + size / 512, test->card->erase_arg); if (ret) ret = mmc_erase(test->card, dev_addr, size / 512, MMC_ERASE_ARG);