Re: [PATCH] dw-mmc: enable trim in eMMC device

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

 



Hi,

On 02/08/2014 03:39 AM, Puthikorn Voravootivat wrote:
> Force host to have erase capacity to enable trim or
> discard feature in supported eMMC device.
> 
> Signed-off-by: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx>
> ---
> In mmc_init_queue() before setting up the discard function, mmc driver
> will call mmc_can_erase() which will always return 0 because the host
> erase capacity is not set anywhere. So to enable discard function, we
> need to add erase capacity to the host.
> 
>  drivers/mmc/host/dw_mmc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 55cd110..f47f1c1 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -55,6 +55,8 @@
>  #define DW_MCI_FREQ_MAX	200000000	/* unit: HZ */
>  #define DW_MCI_FREQ_MIN	400000		/* unit: HZ */
>  
> +#define DW_MCI_DEFAULT_CAPS (MMC_CAP_ERASE)
> +

This define didn't need.

>  #ifdef CONFIG_MMC_DW_IDMAC
>  #define IDMAC_INT_CLR		(SDMMC_IDMAC_INT_AI | SDMMC_IDMAC_INT_NI | \
>  				 SDMMC_IDMAC_INT_CES | SDMMC_IDMAC_INT_DU | \
> @@ -2371,6 +2373,8 @@ static struct dw_mci_board *dw_mci_parse_dt(struct dw_mci *host)
>  		return ERR_PTR(-ENOMEM);
>  	}
>  
> +	pdata->caps |= DW_MCI_DEFAULT_CAPS;
> +
I didn't want to enable by default. If it's possible, how about using dt-file?
Well, if need to enable by default, just use the "pdata->caps |= MMC_CAPS_ERASE;"

Best Regards,
Jaehoon Chung
>  	/* find out number of slots supported */
>  	if (of_property_read_u32(dev->of_node, "num-slots",
>  				&pdata->num_slots)) {
> 

--
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