From e8032e07d1fbe7f71be0af640981f3a587df1d4d Mon Sep 17 00:00:00 2001 From: Subhash Jadavani Date: Thu, 12 May 2016 11:58:15 -0700 Subject: [PATCH] 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 --- drivers/mmc/core/core.c | 6 +++--- drivers/mmc/core/mmc.c | 10 +++------- include/linux/mmc/card.h | 6 +++--- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 749bb74cb3a6..2197e2495b88 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -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); } diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 2dc1e3edc11e..fa3fd73b4bc5 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -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 */ diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 40665cb0ccde..e7578be38ddf 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -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)