All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Adrian Hunter <adrian.hunter@intel.com>
Cc: Dmitry Antipov <dmitry.antipov@linaro.org>,
	Chris Ball <cjb@laptop.org>,
	patches@linaro.org, linux-mmc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mmc: change mmc_delay() to use usleep_range()
Date: Tue, 17 Jan 2012 09:46:40 +0200	[thread overview]
Message-ID: <4F152760.3080004@intel.com> (raw)
In-Reply-To: <4F152347.1060703@intel.com>

On 17/01/12 09:29, Adrian Hunter wrote:
> On 16/01/12 08:43, Dmitry Antipov wrote:
>> Use the usleep_range() to simplify mmc_delay() and give some more
>> accuracy to it - but with an exception of mmc_card_sleepawake():
>> for the hosts with very small (<100us) sleep/awake timeout, it's
>> value is rounded up to 100us so usleep_range() always makes sense.
>> ---
>>  drivers/mmc/core/core.h    |    8 ++------
>>  drivers/mmc/core/mmc_ops.c |    9 ++++++---
>>  2 files changed, 8 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
>> index 3bdafbc..fbd2cba 100644
>> --- a/drivers/mmc/core/core.h
>> +++ b/drivers/mmc/core/core.h
>> @@ -48,12 +48,8 @@ void mmc_power_off(struct mmc_host *host);
>>  
>>  static inline void mmc_delay(unsigned int ms)
>>  {
>> -	if (ms < 1000 / HZ) {
>> -		cond_resched();
>> -		mdelay(ms);
>> -	} else {
>> -		msleep(ms);
>> -	}
>> +	unsigned long us = ms * USEC_PER_MSEC;

A blank line here would be nice

>> +	usleep_range(us, us + 1000);
>>  }
>>  
>>  void mmc_rescan(struct work_struct *work);
>> diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
>> index 4d41fa9..457443a 100644
>> --- a/drivers/mmc/core/mmc_ops.c
>> +++ b/drivers/mmc/core/mmc_ops.c
>> @@ -82,9 +82,12 @@ int mmc_card_sleepawake(struct mmc_host *host, int sleep)
>>  	 * SEND_STATUS command to poll the status because that command (and most
>>  	 * others) is invalid while the card sleeps.
>>  	 */
>> -	if (!(host->caps & MMC_CAP_WAIT_WHILE_BUSY))
>> -		mmc_delay(DIV_ROUND_UP(card->ext_csd.sa_timeout, 10000));
>> -
>> +	if (!(host->caps & MMC_CAP_WAIT_WHILE_BUSY)) {
>> +		/* JEDEC MMCA 4.41 specifies the timeout value is in 200ns..838.86ms
>> +		   range, which is rounded it up to 100us here. */
>> +		unsigned long us = DIV_ROUND_UP(card->ext_csd.sa_timeout, 1000);
> 
> The divisor has changed from 10000 to 1000 but the change is from ms to us,
> so it ought to be 3 zeros different - unless it is a bug fix (which should
> be a separate patch)?
> 

In fact, why not just drop this part of the patch and leave it as mmc_delay?

>> +		usleep_range(us, us + 100);
>> +	}
>>  	if (!sleep)
>>  		err = mmc_select_card(card);
>>  
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


  reply	other threads:[~2012-01-17  7:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-16  6:43 [PATCH] mmc: change mmc_delay() to use usleep_range() Dmitry Antipov
2012-01-17  7:29 ` Adrian Hunter
2012-01-17  7:46   ` Adrian Hunter [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-01-13 15:09 Dmitry Antipov
2012-01-13 21:38 ` Aaro Koskinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F152760.3080004@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=cjb@laptop.org \
    --cc=dmitry.antipov@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=patches@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.