flo: mmc: bypass PON and cmd5 for specific eMMC
when recieving PON, some eMMC tend to program spare block with init data for next power cycle. If eMMC recieved PON frequently but not actually powered off. blocks being programed became really dirty and caused performance decline. Sending cmd5 frequently could also be stress to NAND block for some eMMC. Hence bypass cmd5 to extend eMMC life cycle. Change-Id: I2cee3a048da8d4e814befd0192675d3f58cd3f90 Signed-off-by: hsuan-chih_chen <hsuan-chih_chen@asus.com>
This commit is contained in:
committed by
Android Partner Code Review
parent
aaa46b979e
commit
df3901e149
@@ -1456,9 +1456,9 @@ static int mmc_suspend(struct mmc_host *host)
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
if (mmc_can_poweroff_notify(host->card))
|
||||
if (mmc_can_poweroff_notify(host->card) && host->card->cid.manfid != 0x90)
|
||||
err = mmc_poweroff_notify(host->card, EXT_CSD_POWER_OFF_SHORT);
|
||||
else if (mmc_card_can_sleep(host))
|
||||
else if (mmc_card_can_sleep(host) && host->card->cid.manfid != 0x90)
|
||||
err = mmc_card_sleep(host);
|
||||
else if (!mmc_host_is_spi(host))
|
||||
mmc_deselect_cards(host);
|
||||
|
||||
Reference in New Issue
Block a user