From: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
To: Feng Tang <feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Arjan van de Ven <arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org,
alan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org
Subject: Re: [Patch v2 1/3] spi/dw_spi: Fix too short timeout in spi polling loop
Date: Fri, 24 Dec 2010 01:10:47 -0700 [thread overview]
Message-ID: <20101224081047.GA5544@angua.secretlab.ca> (raw)
In-Reply-To: <1293170351-7426-1-git-send-email-feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
On Fri, Dec 24, 2010 at 01:59:09PM +0800, Feng Tang wrote:
> The SPI polling loop timeout only works with HZ=100 as the loop was
> actually too short.
>
> Also add appropriate cpu_relax() in the busy wait loops...
>
> Acked-by: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> Signed-off-by: Arjan van de Ven <arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
> Signed-off-by: Alan Cox <alan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Where is your s-o-b line? :-)
Applied for -next, thanks.
g.
> ---
> drivers/spi/dw_spi.c | 9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/spi/dw_spi.c b/drivers/spi/dw_spi.c
> index 0838c79..25238a8 100644
> --- a/drivers/spi/dw_spi.c
> +++ b/drivers/spi/dw_spi.c
> @@ -164,20 +164,23 @@ static inline void mrst_spi_debugfs_remove(struct dw_spi *dws)
>
> static void wait_till_not_busy(struct dw_spi *dws)
> {
> - unsigned long end = jiffies + 1 + usecs_to_jiffies(1000);
> + unsigned long end = jiffies + 1 + usecs_to_jiffies(5000);
>
> while (time_before(jiffies, end)) {
> if (!(dw_readw(dws, sr) & SR_BUSY))
> return;
> + cpu_relax();
> }
> dev_err(&dws->master->dev,
> - "DW SPI: Status keeps busy for 1000us after a read/write!\n");
> + "DW SPI: Status keeps busy for 5000us after a read/write!\n");
> }
>
> static void flush(struct dw_spi *dws)
> {
> - while (dw_readw(dws, sr) & SR_RF_NOT_EMPT)
> + while (dw_readw(dws, sr) & SR_RF_NOT_EMPT) {
> dw_readw(dws, dr);
> + cpu_relax();
> + }
>
> wait_till_not_busy(dws);
> }
> --
> 1.7.0.4
>
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
prev parent reply other threads:[~2010-12-24 8:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-24 5:59 [Patch v2 1/3] spi/dw_spi: Fix too short timeout in spi polling loop Feng Tang
[not found] ` <1293170351-7426-1-git-send-email-feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2010-12-24 5:59 ` [Patch v2 2/3] spi/dw_spi: change to EXPORT_SYMBOL_GPL for exported APIs Feng Tang
[not found] ` <1293170351-7426-2-git-send-email-feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2010-12-24 8:11 ` Grant Likely
2010-12-24 5:59 ` [Patch v2 3/3] spi/dw_spi: add DMA support Feng Tang
[not found] ` <1293170351-7426-3-git-send-email-feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2010-12-24 8:12 ` Grant Likely
2010-12-24 8:10 ` Grant Likely [this message]
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=20101224081047.GA5544@angua.secretlab.ca \
--to=grant.likely-s3s/wqlpoipyb63q8fvjnq@public.gmane.org \
--cc=alan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org \
--cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).