Message ID | 1314262479-32520-1-git-send-email-Chunhe.Lan@freescale.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Thu, Aug 25, 2011 at 5:54 PM, Chunhe Lan <Chunhe.Lan@freescale.com> wrote: > The mmc_delay() is a wrapper function for mdelay() and msleep(). > > o mdelay() -- block the system when busy-waiting. > o msleep() -- suspend the currently running task to enable CPU > to process other tasks, so it is non-blocking > regarding the whole system. > > When the desired delay time is more than a period of timer interrupt, > just use msleep(). Change mdelay() to mmc_delay() to avoid chewing > CPU when busy wait. > > Signed-off-by: Shengzhou Liu <b36685@freescale.com> > Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com> > Cc: Chris Ball <cjb@laptop.org> > --- > drivers/mmc/host/sdhci.c | 11 ++++++----- > 1 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index 0e02cc1..0cb5dc1 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -27,6 +27,7 @@ > #include <linux/mmc/host.h> > > #include "sdhci.h" > +#include "../core/core.h" Doesn't better to move the mmc_delay() to "include/linux/mmc/core.h"? and include it. I think It's not proper include syntax using relative path. Thank you, Kyungmin Park > > #define DRIVER_NAME "sdhci" > > @@ -186,7 +187,7 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask) > return; > } > timeout--; > - mdelay(1); > + mmc_delay(1); > } > > if (host->ops->platform_reset_exit) > @@ -957,7 +958,7 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) > return; > } > timeout--; > - mdelay(1); > + mmc_delay(1); > } > > mod_timer(&host->timer, jiffies + 10 * HZ); > @@ -1127,7 +1128,7 @@ static void sdhci_set_clock(struct sdhci_host *host, unsigned int clock) > return; > } > timeout--; > - mdelay(1); > + mmc_delay(1); > } > > clk |= SDHCI_CLOCK_CARD_EN; > @@ -1192,7 +1193,7 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned short power) > * can apply clock after applying power > */ > if (host->quirks & SDHCI_QUIRK_DELAY_AFTER_POWER) > - mdelay(10); > + mmc_delay(10); > } > > /*****************************************************************************\ > @@ -1712,7 +1713,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc) > ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2); > tuning_loop_counter--; > timeout--; > - mdelay(1); > + mmc_delay(1); > } while (ctrl & SDHCI_CTRL_EXEC_TUNING); > > /* > -- > 1.7.5.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 Thu, 25 Aug 2011 18:23:35 +0800, Kyungmin Park <kmpark@infradead.org> wrote: > On Thu, Aug 25, 2011 at 5:54 PM, Chunhe Lan <Chunhe.Lan@freescale.com> > wrote: >> The mmc_delay() is a wrapper function for mdelay() and msleep(). >> >> o mdelay() -- block the system when busy-waiting. >> o msleep() -- suspend the currently running task to enable CPU >> to process other tasks, so it is non-blocking >> regarding the whole system. >> >> When the desired delay time is more than a period of timer interrupt, >> just use msleep(). Change mdelay() to mmc_delay() to avoid chewing >> CPU when busy wait. >> >> Signed-off-by: Shengzhou Liu <b36685@freescale.com> >> Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com> >> Cc: Chris Ball <cjb@laptop.org> >> --- >> drivers/mmc/host/sdhci.c | 11 ++++++----- >> 1 files changed, 6 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c >> index 0e02cc1..0cb5dc1 100644 >> --- a/drivers/mmc/host/sdhci.c >> +++ b/drivers/mmc/host/sdhci.c >> @@ -27,6 +27,7 @@ >> #include <linux/mmc/host.h> >> >> #include "sdhci.h" >> +#include "../core/core.h" > > Doesn't better to move the mmc_delay() to "include/linux/mmc/core.h"? > and include it. > I think It's not proper include syntax using relative path. Yes, your suggestion is very good. I will move the mmc_delay() to "include/linux/mmc/core.h" . Thanks. -Jack Lan > Thank you, > Kyungmin Park >> >> #define DRIVER_NAME "sdhci" >>
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 0e02cc1..0cb5dc1 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -27,6 +27,7 @@ #include <linux/mmc/host.h> #include "sdhci.h" +#include "../core/core.h" #define DRIVER_NAME "sdhci" @@ -186,7 +187,7 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask) return; } timeout--; - mdelay(1); + mmc_delay(1); } if (host->ops->platform_reset_exit) @@ -957,7 +958,7 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) return; } timeout--; - mdelay(1); + mmc_delay(1); } mod_timer(&host->timer, jiffies + 10 * HZ); @@ -1127,7 +1128,7 @@ static void sdhci_set_clock(struct sdhci_host *host, unsigned int clock) return; } timeout--; - mdelay(1); + mmc_delay(1); } clk |= SDHCI_CLOCK_CARD_EN; @@ -1192,7 +1193,7 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned short power) * can apply clock after applying power */ if (host->quirks & SDHCI_QUIRK_DELAY_AFTER_POWER) - mdelay(10); + mmc_delay(10); } /*****************************************************************************\ @@ -1712,7 +1713,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc) ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2); tuning_loop_counter--; timeout--; - mdelay(1); + mmc_delay(1); } while (ctrl & SDHCI_CTRL_EXEC_TUNING); /*