Message ID | 20190830074644.10936-2-andrew@aj.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mmc: sdhci-of-aspeed: Fixes for AST2600 eMMC support | expand |
On Fri, 30 Aug 2019 at 09:46, Andrew Jeffery <andrew@aj.id.au> wrote: > > The early-exit didn't seem to matter on the AST2500, but on the AST2600 > the SD clock genuinely may not be running on entry to > aspeed_sdhci_set_clock(). Remove the early exit to ensure we always run > sdhci_enable_clk(). > > Signed-off-by: Andrew Jeffery <andrew@aj.id.au> > --- > drivers/mmc/host/sdhci-of-aspeed.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c > index d5acb5afc50f..a9175ca85696 100644 > --- a/drivers/mmc/host/sdhci-of-aspeed.c > +++ b/drivers/mmc/host/sdhci-of-aspeed.c > @@ -55,9 +55,6 @@ static void aspeed_sdhci_set_clock(struct sdhci_host *host, unsigned int clock) > int div; > u16 clk; > > - if (clock == host->clock) > - return; > - > sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL); > > if (clock == 0) > -- > 2.20.1 > Further down in aspeed_sdhci_set_clock() you should probably also remove the assignment of host->clock = clock, as that is already managed by sdhci_set_ios(). Kind regards Uffe
On Fri, 30 Aug 2019, at 17:31, Ulf Hansson wrote: > On Fri, 30 Aug 2019 at 09:46, Andrew Jeffery <andrew@aj.id.au> wrote: > > > > The early-exit didn't seem to matter on the AST2500, but on the AST2600 > > the SD clock genuinely may not be running on entry to > > aspeed_sdhci_set_clock(). Remove the early exit to ensure we always run > > sdhci_enable_clk(). > > > > Signed-off-by: Andrew Jeffery <andrew@aj.id.au> > > --- > > drivers/mmc/host/sdhci-of-aspeed.c | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c > > index d5acb5afc50f..a9175ca85696 100644 > > --- a/drivers/mmc/host/sdhci-of-aspeed.c > > +++ b/drivers/mmc/host/sdhci-of-aspeed.c > > @@ -55,9 +55,6 @@ static void aspeed_sdhci_set_clock(struct sdhci_host *host, unsigned int clock) > > int div; > > u16 clk; > > > > - if (clock == host->clock) > > - return; > > - > > sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL); > > > > if (clock == 0) > > -- > > 2.20.1 > > > > Further down in aspeed_sdhci_set_clock() you should probably also > remove the assignment of host->clock = clock, as that is already > managed by sdhci_set_ios(). Ah, I'll fix that in a v2 once I have your thoughts on patch 2/2. Thanks for the lightning quick feedback! Andrew
On Fri, 30 Aug 2019 at 10:07, Andrew Jeffery <andrew@aj.id.au> wrote: > > > > On Fri, 30 Aug 2019, at 17:31, Ulf Hansson wrote: > > On Fri, 30 Aug 2019 at 09:46, Andrew Jeffery <andrew@aj.id.au> wrote: > > > > > > The early-exit didn't seem to matter on the AST2500, but on the AST2600 > > > the SD clock genuinely may not be running on entry to > > > aspeed_sdhci_set_clock(). Remove the early exit to ensure we always run > > > sdhci_enable_clk(). > > > > > > Signed-off-by: Andrew Jeffery <andrew@aj.id.au> > > > --- > > > drivers/mmc/host/sdhci-of-aspeed.c | 3 --- > > > 1 file changed, 3 deletions(-) > > > > > > diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c > > > index d5acb5afc50f..a9175ca85696 100644 > > > --- a/drivers/mmc/host/sdhci-of-aspeed.c > > > +++ b/drivers/mmc/host/sdhci-of-aspeed.c > > > @@ -55,9 +55,6 @@ static void aspeed_sdhci_set_clock(struct sdhci_host *host, unsigned int clock) > > > int div; > > > u16 clk; > > > > > > - if (clock == host->clock) > > > - return; > > > - > > > sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL); > > > > > > if (clock == 0) > > > -- > > > 2.20.1 > > > > > > > Further down in aspeed_sdhci_set_clock() you should probably also > > remove the assignment of host->clock = clock, as that is already > > managed by sdhci_set_ios(). > > Ah, I'll fix that in a v2 once I have your thoughts on patch 2/2. I leave this one to Adrian to comment on, as he knows this better than me. [...] Kind regards Uffe
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c index d5acb5afc50f..a9175ca85696 100644 --- a/drivers/mmc/host/sdhci-of-aspeed.c +++ b/drivers/mmc/host/sdhci-of-aspeed.c @@ -55,9 +55,6 @@ static void aspeed_sdhci_set_clock(struct sdhci_host *host, unsigned int clock) int div; u16 clk; - if (clock == host->clock) - return; - sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL); if (clock == 0)
The early-exit didn't seem to matter on the AST2500, but on the AST2600 the SD clock genuinely may not be running on entry to aspeed_sdhci_set_clock(). Remove the early exit to ensure we always run sdhci_enable_clk(). Signed-off-by: Andrew Jeffery <andrew@aj.id.au> --- drivers/mmc/host/sdhci-of-aspeed.c | 3 --- 1 file changed, 3 deletions(-)