mmc: auto bkops fixes

Change "man_bkops_en" to "bkops_en" to hold the status of
both manual and auto bkops.

Change-Id: I60029bae67cebb2c91147ad741b96f4caed9c1d9
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
This commit is contained in:
Subhash Jadavani 2016-05-12 11:58:15 -07:00
parent 79d2f1626b
commit e8032e07d1
3 changed files with 9 additions and 13 deletions

View file

@ -1204,11 +1204,11 @@ int mmc_set_auto_bkops(struct mmc_card *card, bool enable)
if (enable) {
if (mmc_card_doing_auto_bkops(card))
goto out;
bkops_en = card->ext_csd.man_bkops_en | EXT_CSD_BKOPS_AUTO_EN;
bkops_en = card->ext_csd.bkops_en | EXT_CSD_BKOPS_AUTO_EN;
} else {
if (!mmc_card_doing_auto_bkops(card))
goto out;
bkops_en = card->ext_csd.man_bkops_en & ~EXT_CSD_BKOPS_AUTO_EN;
bkops_en = card->ext_csd.bkops_en & ~EXT_CSD_BKOPS_AUTO_EN;
}
ret = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BKOPS_EN,
@ -1224,7 +1224,7 @@ int mmc_set_auto_bkops(struct mmc_card *card, bool enable)
mmc_card_clr_auto_bkops(card);
mmc_update_bkops_auto_off(&card->bkops.stats);
}
card->ext_csd.man_bkops_en = bkops_en;
card->ext_csd.bkops_en = bkops_en;
pr_debug("%s: %s: bkops state %x\n",
mmc_hostname(card->host), __func__, bkops_en);
}

View file

@ -530,17 +530,13 @@ static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd)
if ((ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1) &&
card->ext_csd.hpi) {
card->ext_csd.bkops = 1;
card->ext_csd.man_bkops_en =
(ext_csd[EXT_CSD_BKOPS_EN] &
EXT_CSD_MANUAL_BKOPS_MASK);
card->ext_csd.bkops_en = ext_csd[EXT_CSD_BKOPS_EN];
card->ext_csd.raw_bkops_status =
ext_csd[EXT_CSD_BKOPS_STATUS];
if (!card->ext_csd.man_bkops_en)
if (!card->ext_csd.bkops_en)
pr_info("%s: BKOPS_EN equals 0x%x\n",
mmc_hostname(card->host),
card->ext_csd.man_bkops_en);
card->ext_csd.bkops_en);
}
/* check whether the eMMC card supports HPI */

View file

@ -88,7 +88,7 @@ struct mmc_ext_csd {
bool hpi; /* HPI support bit */
unsigned int hpi_cmd; /* cmd used as HPI */
bool bkops; /* background support bit */
u8 man_bkops_en; /* manual bkops enable */
u8 bkops_en; /* bkops enable */
unsigned int data_sector_size; /* 512 bytes or 4KB */
unsigned int data_tag_unit_size; /* DATA TAG UNIT size */
unsigned int boot_ro_lock; /* ro lock support */
@ -678,12 +678,12 @@ static inline bool mmc_card_support_auto_bkops(const struct mmc_card *c)
static inline bool mmc_card_configured_manual_bkops(const struct mmc_card *c)
{
return c->ext_csd.man_bkops_en & EXT_CSD_BKOPS_MANUAL_EN;
return c->ext_csd.bkops_en & EXT_CSD_BKOPS_MANUAL_EN;
}
static inline bool mmc_card_configured_auto_bkops(const struct mmc_card *c)
{
return c->ext_csd.man_bkops_en & EXT_CSD_BKOPS_AUTO_EN;
return c->ext_csd.bkops_en & EXT_CSD_BKOPS_AUTO_EN;
}
static inline bool mmc_enable_qca6574_settings(const struct mmc_card *c)