Thread (29 messages) 29 messages, 6 authors, 2022-01-23

Re: [PATCH v8 01/11] firmware: arm_scmi: Add configurable polling mode for transports

From: Pratyush Yadav <hidden>
Date: 2021-12-21 19:39:13
Also in: lkml

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@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.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help