From: David Brown <davidb@codeaurora.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kenneth Heitke <kheitke@codeaurora.org>,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/6] platform-drivers: msm: add single-wire serial bus interface (SSBI) driver
Date: Mon, 11 Mar 2013 23:51:08 -0700 [thread overview]
Message-ID: <8yamwu9nmar.fsf@huya.qualcomm.com> (raw)
In-Reply-To: <20130307013008.GA2910@kroah.com> (Greg Kroah-Hartman's message of "Thu, 7 Mar 2013 09:30:08 +0800")
Greg Kroah-Hartman <gregkh@linuxfoundation.org> writes:
>> +static int ssbi_wait_mask(struct msm_ssbi *ssbi, u32 set_mask, u32 clr_mask)
>> +{
>> + u32 timeout = SSBI_TIMEOUT_US;
>> + u32 val;
>> +
>> + while (timeout--) {
>> + val = ssbi_readl(ssbi, SSBI2_STATUS);
>> + if (((val & set_mask) == set_mask) && ((val & clr_mask) == 0))
>> + return 0;
>> + udelay(1);
>
> Busy loop? Really?
Finally was able to dig up some of the reason for this. The
transactions typically take about 5us. In the case of contention with
another CPU, it could take as much as 20us.
Would it be sufficient to just explain this in a comment?
David
WARNING: multiple messages have this Message-ID (diff)
From: davidb@codeaurora.org (David Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] platform-drivers: msm: add single-wire serial bus interface (SSBI) driver
Date: Mon, 11 Mar 2013 23:51:08 -0700 [thread overview]
Message-ID: <8yamwu9nmar.fsf@huya.qualcomm.com> (raw)
In-Reply-To: <20130307013008.GA2910@kroah.com> (Greg Kroah-Hartman's message of "Thu, 7 Mar 2013 09:30:08 +0800")
Greg Kroah-Hartman <gregkh@linuxfoundation.org> writes:
>> +static int ssbi_wait_mask(struct msm_ssbi *ssbi, u32 set_mask, u32 clr_mask)
>> +{
>> + u32 timeout = SSBI_TIMEOUT_US;
>> + u32 val;
>> +
>> + while (timeout--) {
>> + val = ssbi_readl(ssbi, SSBI2_STATUS);
>> + if (((val & set_mask) == set_mask) && ((val & clr_mask) == 0))
>> + return 0;
>> + udelay(1);
>
> Busy loop? Really?
Finally was able to dig up some of the reason for this. The
transactions typically take about 5us. In the case of contention with
another CPU, it could take as much as 20us.
Would it be sufficient to just explain this in a comment?
David
next prev parent reply other threads:[~2013-03-12 6:51 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-07 0:29 [PATCH 0/6] Qualcomm SSBI bus driver David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 0:29 ` [PATCH 1/6] platform-drivers: msm: add single-wire serial bus interface (SSBI) driver David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 1:30 ` Greg Kroah-Hartman
2013-03-07 1:30 ` Greg Kroah-Hartman
2013-03-07 5:20 ` David Brown
2013-03-07 5:20 ` David Brown
2013-03-07 6:01 ` Greg Kroah-Hartman
2013-03-07 6:01 ` Greg Kroah-Hartman
2013-03-07 10:05 ` Sekhar Nori
2013-03-07 10:05 ` Sekhar Nori
2013-03-07 10:05 ` Sekhar Nori
2013-03-07 18:45 ` David Brown
2013-03-07 18:45 ` David Brown
2013-03-07 18:45 ` David Brown
2013-03-07 18:50 ` David Brown
2013-03-07 18:50 ` David Brown
2013-03-07 23:29 ` Greg Kroah-Hartman
2013-03-07 23:29 ` Greg Kroah-Hartman
2013-03-12 6:51 ` David Brown [this message]
2013-03-12 6:51 ` David Brown
2013-03-12 13:27 ` Greg Kroah-Hartman
2013-03-12 13:27 ` Greg Kroah-Hartman
2013-03-07 0:29 ` [PATCH 2/6] SSBI: Convert SSBI to device tree David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 0:29 ` [PATCH 3/6] ssbi: Fix exit mismatch in remove function David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 1:30 ` Greg Kroah-Hartman
2013-03-07 1:30 ` Greg Kroah-Hartman
2013-03-07 5:21 ` David Brown
2013-03-07 5:21 ` David Brown
2013-03-07 0:29 ` [PATCH 4/6] ssbi: Use regular init level David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 0:29 ` [PATCH 5/6] ARM: msm: enable SSBI driver in defconfig David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 0:29 ` David Brown
2013-03-07 0:29 ` [PATCH 6/6] RFC: SSBI: Simple pm8058 test driver David Brown
2013-03-07 0:29 ` David Brown
2013-03-12 18:41 ` [PATCH v2 0/11] Qualcomm SSBI bus driver David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 01/11] platform-drivers: msm: add single-wire serial bus interface (SSBI) driver David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 02/11] fix: Use EXPORT_SYMBOL_GPL David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 03/11] ssbi: Fix exit mismatch in remove function David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 04/11] ssbi: Allow compilation as a module David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 05/11] SSBI: Convert SSBI to device tree David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 20:46 ` Stephen Boyd
2013-03-12 20:46 ` Stephen Boyd
2013-03-12 18:41 ` [PATCH v2 06/11] ssbi: Comment the use of udelay() David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 07/11] ssbi: Use regular init level David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 20:26 ` Stephen Boyd
2013-03-12 20:26 ` Stephen Boyd
2013-03-12 18:41 ` [PATCH v2 08/11] ssbi: Remove extraneous logging David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 09/11] SSBI: Remove MSM_ prefix from SSBI drivers David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` [PATCH v2 10/11] MAINTAINERS: add ssbi David Brown
2013-03-12 18:41 ` David Brown
2013-03-12 18:41 ` David Brown
2013-03-25 17:40 ` [PATCH v2 0/11] Qualcomm SSBI bus driver Greg Kroah-Hartman
2013-03-25 17:40 ` Greg Kroah-Hartman
2013-03-12 20:12 ` [PATCH v2 11/11] RFC: SSBI: Simple pm8058 test driver David Brown
2013-03-12 20:12 ` David Brown
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=8yamwu9nmar.fsf@huya.qualcomm.com \
--to=davidb@codeaurora.org \
--cc=gregkh@linuxfoundation.org \
--cc=kheitke@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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.