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