[PATCH v8 01/11] firmware: arm_scmi: Add configurable polling mode for transports
Pratyush Yadav
p.yadav at ti.com
Tue Dec 21 11:38:54 PST 2021
Hi,
On 20/12/21 07:56PM, Cristian Marussi wrote:
> SCMI communications along TX channels can optionally be provided of a
> completion interrupt; when such interrupt is not available, command
> transactions should rely on polling, where the SCMI core takes care to
> repeatedly evaluate the transport-specific .poll_done() function, if
> available, to determine if and when a request was fully completed or
> timed out.
>
> Such mechanism is already present and working on a single transfer base:
> SCMI protocols can indeed enable hdr.poll_completion on specific commands
> ahead of each transfer and cause that transaction to be handled with
> polling.
>
> Introduce a couple of flags to be able to enforce such polling behaviour
> globally at will:
>
> - scmi_desc.force_polling: to statically switch the whole transport to
> polling mode.
>
> - scmi_chan_info.no_completion_irq: to switch a single channel dynamically
> to polling mode if, at runtime, is determined that no completion
> interrupt was available for such channel.
>
> Signed-off-by: Cristian Marussi <cristian.marussi at arm.com>
This patch breaks linux-next build for me with LLVM.
drivers/firmware/arm_scmi/driver.c:869:6: error: variable 'i_' is uninitialized when used within its own initialization [-Werror,-Wuninitialized]
if (IS_POLLING_ENABLED(cinfo, info))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/arm_scmi/driver.c:59:33: note: expanded from macro 'IS_POLLING_ENABLED'
IS_TRANSPORT_POLLING_CAPABLE(i_)); \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
drivers/firmware/arm_scmi/driver.c:45:19: note: expanded from macro 'IS_TRANSPORT_POLLING_CAPABLE'
typeof(__i) i_ = __i; \
~~ ^~~
1 error generated.
--
Regards,
Pratyush Yadav
Texas Instruments Inc.
More information about the linux-arm-kernel
mailing list