From: Sudeep Holla <sudeep.holla@arm.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
ALKML <linux-arm-kernel@lists.infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
DTML <devicetree@vger.kernel.org>,
Roy Franz <roy.franz@cavium.com>,
Harb Abdulhamid <harba@codeaurora.org>,
Nishanth Menon <nm@ti.com>, Loc Ho <lho@apm.com>,
Alexey Klimov <alexey.klimov@arm.com>,
Ryan Harkin <Ryan.Harkin@arm.com>,
Jassi Brar <jassisinghbrar@gmail.com>
Subject: Re: [PATCH v3 11/22] firmware: arm_scmi: add support for polling based SCMI transfers
Date: Wed, 4 Oct 2017 12:18:59 +0100 [thread overview]
Message-ID: <6b2f2e70-6d0f-e7e4-d130-cd384289eb1a@arm.com> (raw)
In-Reply-To: <CAK8P3a2wRFif2zYKKmdcNm5wgbGdhqwLdA-YV7AX_0LmM+OiQQ@mail.gmail.com>
On 04/10/17 12:13, Arnd Bergmann wrote:
> On Thu, Sep 28, 2017 at 3:11 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>> It would be useful to have options to perform some SCMI transfers
>> atomically by polling for the completion flag instead of interrupt
>> driven. The SCMI specification has option to disable the interrupt and
>> poll for the completion flag in the shared memory.
>>
>> This patch adds support for polling based SCMI transfers using that
>> option. This might be used for uninterrupted/atomic DVFS operations
>> from the scheduler context.
>
> multi-millisecond timeouts from inside the scheduler sound like a
> really bad idea. Could this maybe get changed to an asynchronous
> operation?
>
We already support asynchronous version. This is mainly to support fast
DVFS switching done at context switch. I can reduce the timeouts to
few uS as the whole idea of fast dvfs is we can't return or schedule out
of this function. Typically the remote should see the request in < 10 uS
and acknowledge it.
>> + if (xfer->hdr.poll_completion) {
>> + timeout = info->desc->max_rx_timeout_ms * 100;
>> + while (!scmi_xfer_poll_done(info, xfer) && timeout--)
>> + udelay(10);
>
> The timeout calculation is bad as well, since both the
> scmi_xfer_poll_done() call and udelay() can take much longer
> than the 10 microsecond delay that you use for the calculation.
>
Ah, agreed. I will change it to few uS as that's what is expected.
> If you want to do a timeout check like this, it should generally
> be done using ktime_get()/ktime_add()/ktime_before().
>
Good idea, will try to use that.
--
Regards,
Sudeep
next prev parent reply other threads:[~2017-10-04 11:19 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-28 13:11 [PATCH v3 00/22] firmware: ARM System Control and Management Interface(SCMI) support Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 01/22] dt-bindings: mailbox: add support for mailbox client shared memory Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 02/22] dt-bindings: arm: add support for ARM System Control and Management Interface(SCMI) protocol Sudeep Holla
2017-10-04 10:50 ` Arnd Bergmann
2017-10-04 11:07 ` Sudeep Holla
2017-10-04 12:35 ` Arnd Bergmann
2017-10-04 13:53 ` Sudeep Holla
2017-10-04 14:17 ` Arnd Bergmann
2017-10-04 14:47 ` Sudeep Holla
2017-10-05 11:56 ` Arnd Bergmann
2017-10-05 12:56 ` Sudeep Holla
2017-10-05 13:20 ` Jassi Brar
2017-10-05 14:10 ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 03/22] dt-bindings: arm: scmi: add ARM MHU specific mailbox client bindings Sudeep Holla
2017-10-05 23:20 ` Rob Herring
2017-10-06 9:42 ` Sudeep Holla
2017-10-06 11:01 ` Jassi Brar
2017-10-06 15:54 ` Rob Herring
2017-10-07 2:26 ` Jassi Brar
2017-10-09 13:52 ` Rob Herring
2017-10-09 14:37 ` Sudeep Holla
2017-10-09 14:46 ` Jassi Brar
2017-10-09 22:57 ` Rob Herring
2017-10-10 1:52 ` Jassi Brar
2017-10-10 11:04 ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 04/22] firmware: arm_scmi: add basic driver infrastructure for SCMI Sudeep Holla
2017-10-04 10:59 ` Arnd Bergmann
2017-10-04 17:37 ` Sudeep Holla
2017-10-04 11:19 ` Arnd Bergmann
2017-09-28 13:11 ` [PATCH v3 05/22] firmware: arm_scmi: add common infrastructure and support for base protocol Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 06/22] firmware: arm_scmi: add initial support for performance protocol Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 07/22] firmware: arm_scmi: add initial support for clock protocol Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 08/22] firmware: arm_scmi: add initial support for power protocol Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 09/22] firmware: arm_scmi: add initial support for sensor protocol Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 10/22] firmware: arm_scmi: probe and initialise all the supported protocols Sudeep Holla
2017-10-04 11:06 ` Arnd Bergmann
2017-09-28 13:11 ` [PATCH v3 11/22] firmware: arm_scmi: add support for polling based SCMI transfers Sudeep Holla
2017-10-04 11:13 ` Arnd Bergmann
2017-10-04 11:18 ` Sudeep Holla [this message]
2017-09-28 13:11 ` [PATCH v3 12/22] firmware: arm_scmi: add option for polling based performance domain operations Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 13/22] firmware: arm_scmi: refactor in preparation to support per-protocol channels Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 14/22] firmware: arm_scmi: add per-protocol channels support using idr objects Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 15/22] firmware: arm_scmi: abstract mailbox interface Sudeep Holla
2017-10-04 11:24 ` Arnd Bergmann
2017-10-04 11:32 ` Sudeep Holla
2017-10-06 11:34 ` Jassi Brar
2017-10-06 13:27 ` Sudeep Holla
2017-10-06 13:34 ` Jassi Brar
2017-10-06 13:41 ` Sudeep Holla
2017-10-12 21:20 ` Bjorn Andersson
2017-09-28 13:11 ` [PATCH v3 16/22] firmware: arm_scmi: add arm_mhu specific " Sudeep Holla
2017-10-04 11:36 ` Arnd Bergmann
2017-10-04 11:48 ` Sudeep Holla
2017-10-06 11:26 ` Jassi Brar
2017-10-06 13:32 ` Sudeep Holla
2017-10-06 13:47 ` Jassi Brar
2017-10-06 13:51 ` Sudeep Holla
2017-10-12 21:03 ` Bjorn Andersson
2017-10-13 13:42 ` Sudeep Holla
2017-10-13 14:12 ` Jassi Brar
2017-10-13 14:47 ` Sudeep Holla
2017-10-13 15:19 ` Jassi Brar
2017-09-28 13:11 ` [PATCH v3 17/22] firmware: arm_scmi: add device power domain support using genpd Sudeep Holla
2017-09-28 21:18 ` Ulf Hansson
2017-09-29 13:40 ` Sudeep Holla
2017-09-29 13:42 ` [PATCH v3 17/22][UPDATE] firmware: arm_scmi: add device power domain support genpd Sudeep Holla
2017-10-10 11:05 ` Ulf Hansson
2017-10-10 13:02 ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 18/22] clk: add support for clocks provided by SCMI Sudeep Holla
2017-11-02 7:23 ` Stephen Boyd
2017-11-02 10:04 ` Sudeep Holla
2017-11-03 15:12 ` Stephen Boyd
2017-09-28 13:11 ` [PATCH v3 19/22] hwmon: (core) Add hwmon_max to hwmon_sensor_types enumeration Sudeep Holla
2017-10-01 14:21 ` [v3, " Guenter Roeck
2017-09-28 13:11 ` [PATCH v3 20/22] hwmon: add support for sensors exported via ARM SCMI Sudeep Holla
2017-10-01 14:26 ` [v3,20/22] " Guenter Roeck
2017-10-02 9:25 ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 21/22] cpufreq: add support for CPU DVFS based on SCMI message protocol Sudeep Holla
2017-10-04 11:30 ` Arnd Bergmann
2017-10-04 15:01 ` Sudeep Holla
2017-10-05 11:20 ` Arnd Bergmann
2017-10-05 11:26 ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 22/22] cpufreq: scmi: add support for fast frequency switching Sudeep Holla
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=6b2f2e70-6d0f-e7e4-d130-cd384289eb1a@arm.com \
--to=sudeep.holla@arm.com \
--cc=Ryan.Harkin@arm.com \
--cc=alexey.klimov@arm.com \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=harba@codeaurora.org \
--cc=jassisinghbrar@gmail.com \
--cc=lho@apm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nm@ti.com \
--cc=roy.franz@cavium.com \
/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
Powered by JetHome