Message ID | 1530601587-160436-1-git-send-email-xiaqing17@hisilicon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 3 July 2018 at 09:06, Qing Xia <xiaqing17@hisilicon.com> wrote: > From: x00270170 <xiaqing17@hisilicon.com> > > Card write threshold control is supposed to be set since controller > version 2.80a for data write in HS400 mode and data read in > HS200/HS400/SDR104 mode. However the current code returns without > configuring it in the case of data writing in HS400 mode. > Meanwhile the patch fixes that the current code goes to > 'disable' when doing data reading in HS400 mode. > > Fixes: 7e4bf1bc9543 ("mmc: dw_mmc: add the card write threshold for HS400 mode") > Signed-off-by: Qing Xia <xiaqing17@hisilicon.com> Thanks, applied/moved to fixes for 4.18! Kind regards Uffe > --- > drivers/mmc/host/dw_mmc.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index 29a1afa..3ee8f57 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -1065,8 +1065,8 @@ static void dw_mci_ctrl_thld(struct dw_mci *host, struct mmc_data *data) > * It's used when HS400 mode is enabled. > */ > if (data->flags & MMC_DATA_WRITE && > - !(host->timing != MMC_TIMING_MMC_HS400)) > - return; > + host->timing != MMC_TIMING_MMC_HS400) > + goto disable; > > if (data->flags & MMC_DATA_WRITE) > enable = SDMMC_CARD_WR_THR_EN; > @@ -1074,7 +1074,8 @@ static void dw_mci_ctrl_thld(struct dw_mci *host, struct mmc_data *data) > enable = SDMMC_CARD_RD_THR_EN; > > if (host->timing != MMC_TIMING_MMC_HS200 && > - host->timing != MMC_TIMING_UHS_SDR104) > + host->timing != MMC_TIMING_UHS_SDR104 && > + host->timing != MMC_TIMING_MMC_HS400) > goto disable; > > blksz_depth = blksz / (1 << host->data_shift); > -- > 2.8.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 3, 2018 at 2:00 AM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > On 3 July 2018 at 09:06, Qing Xia <xiaqing17@hisilicon.com> wrote: > > From: x00270170 <xiaqing17@hisilicon.com> > > > > Card write threshold control is supposed to be set since controller >> [..] > > Signed-off-by: Qing Xia <xiaqing17@hisilicon.com> > > Thanks, applied/moved to fixes for 4.18! .. and during making my 4.18-rc5 announcement, I saw the odd name in the shortlog. Now Qing Xia is forever attributed as "x00270170". Very odd. Oh well. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 15 July 2018 at 22:31, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Tue, Jul 3, 2018 at 2:00 AM Ulf Hansson <ulf.hansson@linaro.org> wrote: >> >> On 3 July 2018 at 09:06, Qing Xia <xiaqing17@hisilicon.com> wrote: >> > From: x00270170 <xiaqing17@hisilicon.com> >> > >> > Card write threshold control is supposed to be set since controller >>> [..] >> > Signed-off-by: Qing Xia <xiaqing17@hisilicon.com> >> >> Thanks, applied/moved to fixes for 4.18! > > .. and during making my 4.18-rc5 announcement, I saw the odd name in > the shortlog. > > Now Qing Xia is forever attributed as "x00270170". Very odd. > > Oh well. Apologize, that slipped through, somehow. Will check more closely going forward. Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 29a1afa..3ee8f57 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1065,8 +1065,8 @@ static void dw_mci_ctrl_thld(struct dw_mci *host, struct mmc_data *data) * It's used when HS400 mode is enabled. */ if (data->flags & MMC_DATA_WRITE && - !(host->timing != MMC_TIMING_MMC_HS400)) - return; + host->timing != MMC_TIMING_MMC_HS400) + goto disable; if (data->flags & MMC_DATA_WRITE) enable = SDMMC_CARD_WR_THR_EN; @@ -1074,7 +1074,8 @@ static void dw_mci_ctrl_thld(struct dw_mci *host, struct mmc_data *data) enable = SDMMC_CARD_RD_THR_EN; if (host->timing != MMC_TIMING_MMC_HS200 && - host->timing != MMC_TIMING_UHS_SDR104) + host->timing != MMC_TIMING_UHS_SDR104 && + host->timing != MMC_TIMING_MMC_HS400) goto disable; blksz_depth = blksz / (1 << host->data_shift);