Message ID | 1629117508-4886-1-git-send-email-haibo.chen@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] mmc: sdhci-esdhc-imx: remove redundant code for manual tuning | expand |
On Mon, 16 Aug 2021 at 15:00, <haibo.chen@nxp.com> wrote: > > From: Haibo Chen <haibo.chen@nxp.com> > > For manual tuning method, already call esdhc_prepare_tuning() > config the necessary registers, so remove the redundant code > in esdhc_writew_le() for SDHCI_HOST_CONTROL2. > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com> While discussions on the DT binding, etc, continue with Lucas and Rob on patch 3 - do you want me to apply patch1 and patch2? Kind regards Uffe > --- > drivers/mmc/host/sdhci-esdhc-imx.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c > index 57b19ca1ad6d..a49fac719fca 100644 > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > @@ -628,17 +628,7 @@ static void esdhc_writew_le(struct sdhci_host *host, u16 val, int reg) > else > new_val &= ~ESDHC_VENDOR_SPEC_VSELECT; > writel(new_val, host->ioaddr + ESDHC_VENDOR_SPEC); > - if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) { > - new_val = readl(host->ioaddr + ESDHC_MIX_CTRL); > - if (val & SDHCI_CTRL_TUNED_CLK) { > - new_val |= ESDHC_MIX_CTRL_SMPCLK_SEL; > - new_val |= ESDHC_MIX_CTRL_AUTO_TUNE_EN; > - } else { > - new_val &= ~ESDHC_MIX_CTRL_SMPCLK_SEL; > - new_val &= ~ESDHC_MIX_CTRL_AUTO_TUNE_EN; > - } > - writel(new_val , host->ioaddr + ESDHC_MIX_CTRL); > - } else if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) { > + if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) { > u32 v = readl(host->ioaddr + SDHCI_AUTO_CMD_STATUS); > u32 m = readl(host->ioaddr + ESDHC_MIX_CTRL); > if (val & SDHCI_CTRL_TUNED_CLK) { > -- > 2.17.1 >
> -----Original Message----- > From: Ulf Hansson [mailto:ulf.hansson@linaro.org] > Sent: 2021年8月24日 21:53 > To: Bough Chen <haibo.chen@nxp.com> > Cc: Adrian Hunter <adrian.hunter@intel.com>; Shawn Guo > <shawnguo@kernel.org>; Rob Herring <robh+dt@kernel.org>; Sascha Hauer > <s.hauer@pengutronix.de>; Sascha Hauer <kernel@pengutronix.de>; Fabio > Estevam <festevam@gmail.com>; linux-mmc <linux-mmc@vger.kernel.org>; > dl-linux-imx <linux-imx@nxp.com>; DTML <devicetree@vger.kernel.org>; Linux > ARM <linux-arm-kernel@lists.infradead.org> > Subject: Re: [PATCH 1/6] mmc: sdhci-esdhc-imx: remove redundant code for > manual tuning > > On Mon, 16 Aug 2021 at 15:00, <haibo.chen@nxp.com> wrote: > > > > From: Haibo Chen <haibo.chen@nxp.com> > > > > For manual tuning method, already call esdhc_prepare_tuning() config > > the necessary registers, so remove the redundant code in > > esdhc_writew_le() for SDHCI_HOST_CONTROL2. > > > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com> > > While discussions on the DT binding, etc, continue with Lucas and Rob on patch > 3 - do you want me to apply patch1 and patch2? Yes, thanks! Let's wait comments for patch 3. Best Regards Haibo Chen > > Kind regards > Uffe > > > --- > > drivers/mmc/host/sdhci-esdhc-imx.c | 12 +----------- > > 1 file changed, 1 insertion(+), 11 deletions(-) > > > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c > > b/drivers/mmc/host/sdhci-esdhc-imx.c > > index 57b19ca1ad6d..a49fac719fca 100644 > > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > > @@ -628,17 +628,7 @@ static void esdhc_writew_le(struct sdhci_host > *host, u16 val, int reg) > > else > > new_val &= > ~ESDHC_VENDOR_SPEC_VSELECT; > > writel(new_val, host->ioaddr + ESDHC_VENDOR_SPEC); > > - if (imx_data->socdata->flags & > ESDHC_FLAG_MAN_TUNING) { > > - new_val = readl(host->ioaddr + > ESDHC_MIX_CTRL); > > - if (val & SDHCI_CTRL_TUNED_CLK) { > > - new_val |= > ESDHC_MIX_CTRL_SMPCLK_SEL; > > - new_val |= > ESDHC_MIX_CTRL_AUTO_TUNE_EN; > > - } else { > > - new_val &= > ~ESDHC_MIX_CTRL_SMPCLK_SEL; > > - new_val &= > ~ESDHC_MIX_CTRL_AUTO_TUNE_EN; > > - } > > - writel(new_val , host->ioaddr + > ESDHC_MIX_CTRL); > > - } else if (imx_data->socdata->flags & > ESDHC_FLAG_STD_TUNING) { > > + if (imx_data->socdata->flags & > ESDHC_FLAG_STD_TUNING) > > + { > > u32 v = readl(host->ioaddr + > SDHCI_AUTO_CMD_STATUS); > > u32 m = readl(host->ioaddr + > ESDHC_MIX_CTRL); > > if (val & SDHCI_CTRL_TUNED_CLK) { > > -- > > 2.17.1 > >
On Wed, 25 Aug 2021 at 04:16, Bough Chen <haibo.chen@nxp.com> wrote: > > > -----Original Message----- > > From: Ulf Hansson [mailto:ulf.hansson@linaro.org] > > Sent: 2021年8月24日 21:53 > > To: Bough Chen <haibo.chen@nxp.com> > > Cc: Adrian Hunter <adrian.hunter@intel.com>; Shawn Guo > > <shawnguo@kernel.org>; Rob Herring <robh+dt@kernel.org>; Sascha Hauer > > <s.hauer@pengutronix.de>; Sascha Hauer <kernel@pengutronix.de>; Fabio > > Estevam <festevam@gmail.com>; linux-mmc <linux-mmc@vger.kernel.org>; > > dl-linux-imx <linux-imx@nxp.com>; DTML <devicetree@vger.kernel.org>; Linux > > ARM <linux-arm-kernel@lists.infradead.org> > > Subject: Re: [PATCH 1/6] mmc: sdhci-esdhc-imx: remove redundant code for > > manual tuning > > > > On Mon, 16 Aug 2021 at 15:00, <haibo.chen@nxp.com> wrote: > > > > > > From: Haibo Chen <haibo.chen@nxp.com> > > > > > > For manual tuning method, already call esdhc_prepare_tuning() config > > > the necessary registers, so remove the redundant code in > > > esdhc_writew_le() for SDHCI_HOST_CONTROL2. > > > > > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com> > > > > While discussions on the DT binding, etc, continue with Lucas and Rob on patch > > 3 - do you want me to apply patch1 and patch2? > > Yes, thanks! > Let's wait comments for patch 3. Alright, patch1 and pacth2 applied for next, thanks! [...] Kind regards Uffe
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 57b19ca1ad6d..a49fac719fca 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -628,17 +628,7 @@ static void esdhc_writew_le(struct sdhci_host *host, u16 val, int reg) else new_val &= ~ESDHC_VENDOR_SPEC_VSELECT; writel(new_val, host->ioaddr + ESDHC_VENDOR_SPEC); - if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) { - new_val = readl(host->ioaddr + ESDHC_MIX_CTRL); - if (val & SDHCI_CTRL_TUNED_CLK) { - new_val |= ESDHC_MIX_CTRL_SMPCLK_SEL; - new_val |= ESDHC_MIX_CTRL_AUTO_TUNE_EN; - } else { - new_val &= ~ESDHC_MIX_CTRL_SMPCLK_SEL; - new_val &= ~ESDHC_MIX_CTRL_AUTO_TUNE_EN; - } - writel(new_val , host->ioaddr + ESDHC_MIX_CTRL); - } else if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) { + if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) { u32 v = readl(host->ioaddr + SDHCI_AUTO_CMD_STATUS); u32 m = readl(host->ioaddr + ESDHC_MIX_CTRL); if (val & SDHCI_CTRL_TUNED_CLK) {