Re: [PATCH] mmc: enable BKOPS for supported eMMC(4.41)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Prasanna. 

Why do you use MMC_CAP2_BKOPS_EN?
Maybe we had discussed about this point. i know that we can enable the BKOPS with the mmc-util.
(Actually, This code had included into my first patch. but it's removed.)

Best Regards,
Jaehoon Chung

On 08/30/2013 09:09 PM, Prasanna NAVARATNA wrote:
>>From d596be94f87b86ccb372a4ae55ee478951524895 Mon Sep 17 00:00:00 2001
> From: Prasanna NAVARATNA <prasanna.navaratna@xxxxxxxxxxxx>
> Date: Fri, 30 Aug 2013 17:18:32 +0530
> Subject: [PATCH] mmc: enable BKOPS for supported eMMC(4.41)
> 
> BKOPS feature is optional for eMMC 4.41. If an eMMC supports BKOPS
> and is of version 4.41 then BKOPS feature is ignored and not enabled.
> 
> Enable BKOPS for such eMMC. Also a capability is added to control
> the enabling of feature (only for eMMC 4.41, not valid for 4.5)
> 
> Signed-off-by: Prasanna NAVARATNA <prasanna.navaratna@xxxxxxxxxxxx>
> ---
>  drivers/mmc/core/mmc.c   |   18 ++++++++++++++++++
>  include/linux/mmc/host.h |    1 +
>  2 files changed, 19 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index 6d02012..fc44fd7 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -1269,6 +1269,24 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
>  	}
>  
>  	/*
> +	 * Enable BKOPS feature (if supported and not enabled)
> +	 */
> +	if (!card->ext_csd.bkops_en && (host->caps2 & MMC_CAP2_BKOPS_EN) &&
> +			(ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1)) {
> +		err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> +				EXT_CSD_BKOPS_EN, 1,
> +				card->ext_csd.generic_cmd6_time);
> +		if (err && err != -EBADMSG)
> +			goto free_card;
> +		if (err) {
> +			pr_warning("%s: Enabling BKOPS failed\n",
> +				   mmc_hostname(card->host));
> +			err = 0;
> +		} else
> +			card->ext_csd.bkops_en = 1;
> +	}
> +
> +	/*
>  	 * Enable HPI feature (if supported)
>  	 */
>  	if (card->ext_csd.hpi) {
> diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
> index 3b0c33a..2c79487 100644
> --- a/include/linux/mmc/host.h
> +++ b/include/linux/mmc/host.h
> @@ -281,6 +281,7 @@ struct mmc_host {
>  				 MMC_CAP2_PACKED_WR)
>  #define MMC_CAP2_NO_PRESCAN_POWERUP (1 << 14)	/* Don't power up before scan */
>  #define MMC_CAP2_SANITIZE	(1 << 15)		/* Support Sanitize */
> +#define MMC_CAP2_BKOPS_EN	(1 << 16)		/* Enable BKOPS */
>  
>  	mmc_pm_flag_t		pm_caps;	/* supported pm features */
>  
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux