Commit ba9f39a7 authored by Ulf Hansson's avatar Ulf Hansson

mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support

In commit 5320226a ("mmc: core: Disable HPI for certain Hynix eMMC
cards"), then intent was to prevent HPI from being used for some eMMC
cards, which didn't properly support it. However, that went too far, as
even BKOPS and CACHE ctrl became prevented. Let's restore those parts and
allow BKOPS and CACHE ctrl even if HPI isn't supported.

Fixes: 5320226a ("mmc: core: Disable HPI for certain Hynix eMMC cards")
Cc: Pratibhasagar V <pratibha@codeaurora.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent a0741ba4
...@@ -526,8 +526,7 @@ static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd) ...@@ -526,8 +526,7 @@ static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd)
card->cid.year += 16; card->cid.year += 16;
/* check whether the eMMC card supports BKOPS */ /* check whether the eMMC card supports BKOPS */
if (!mmc_card_broken_hpi(card) && if (ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1) {
ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1) {
card->ext_csd.bkops = 1; card->ext_csd.bkops = 1;
card->ext_csd.man_bkops_en = card->ext_csd.man_bkops_en =
(ext_csd[EXT_CSD_BKOPS_EN] & (ext_csd[EXT_CSD_BKOPS_EN] &
...@@ -1793,8 +1792,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, ...@@ -1793,8 +1792,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
* If cache size is higher than 0, this indicates * If cache size is higher than 0, this indicates
* the existence of cache and it can be turned on. * the existence of cache and it can be turned on.
*/ */
if (!mmc_card_broken_hpi(card) && if (card->ext_csd.cache_size > 0) {
card->ext_csd.cache_size > 0) {
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_CACHE_CTRL, 1, EXT_CSD_CACHE_CTRL, 1,
card->ext_csd.generic_cmd6_time); card->ext_csd.generic_cmd6_time);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment