mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-11 11:56:48 +00:00
mmc: longer timeout for long read time quirk
008GE0 Toshiba mmc in some Intel Baytrail tablets responds to MMC_SEND_EXT_CSD in 450-600ms. This patch will... () Increase the long read time quirk timeout from 300ms to 600ms. Original author of that quirk says 300ms was only a guess and that the number may need to be raised in the future. () Add this specific MMC to the quirk Signed-off-by: Matt Gumbel <matthew.k.gumbel@intel.com> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
d4aa908c79
commit
32ecd320db
@ -2536,11 +2536,12 @@ static const struct mmc_fixup blk_fixups[] =
|
|||||||
MMC_QUIRK_BLK_NO_CMD23),
|
MMC_QUIRK_BLK_NO_CMD23),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Some Micron MMC cards needs longer data read timeout than
|
* Some MMC cards need longer data read timeout than indicated in CSD.
|
||||||
* indicated in CSD.
|
|
||||||
*/
|
*/
|
||||||
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_MICRON, 0x200, add_quirk_mmc,
|
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_MICRON, 0x200, add_quirk_mmc,
|
||||||
MMC_QUIRK_LONG_READ_TIME),
|
MMC_QUIRK_LONG_READ_TIME),
|
||||||
|
MMC_FIXUP("008GE0", CID_MANFID_TOSHIBA, CID_OEMID_ANY, add_quirk_mmc,
|
||||||
|
MMC_QUIRK_LONG_READ_TIME),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* On these Samsung MoviNAND parts, performing secure erase or
|
* On these Samsung MoviNAND parts, performing secure erase or
|
||||||
|
@ -875,11 +875,11 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card)
|
|||||||
/*
|
/*
|
||||||
* Some cards require longer data read timeout than indicated in CSD.
|
* Some cards require longer data read timeout than indicated in CSD.
|
||||||
* Address this by setting the read timeout to a "reasonably high"
|
* Address this by setting the read timeout to a "reasonably high"
|
||||||
* value. For the cards tested, 300ms has proven enough. If necessary,
|
* value. For the cards tested, 600ms has proven enough. If necessary,
|
||||||
* this value can be increased if other problematic cards require this.
|
* this value can be increased if other problematic cards require this.
|
||||||
*/
|
*/
|
||||||
if (mmc_card_long_read_time(card) && data->flags & MMC_DATA_READ) {
|
if (mmc_card_long_read_time(card) && data->flags & MMC_DATA_READ) {
|
||||||
data->timeout_ns = 300000000;
|
data->timeout_ns = 600000000;
|
||||||
data->timeout_clks = 0;
|
data->timeout_clks = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user