Re: [PATCH 4/4] firmware: arm_scmi: Introduce delegated xfers support
From: Cristian Marussi <cristian.marussi@arm.com>
Date: 2021-05-26 14:53:25
Also in:
lkml
On Mon, May 24, 2021 at 07:20:45PM -0700, Florian Fainelli wrote:
On 5/24/2021 4:15 PM, Cristian Marussi wrote:quoted
Introduce optional support for delegated xfers allocation. An SCMI transport can optionally declare to support delegated xfers and then use a few helper functions exposed by the core SCMI transport layer to query the core for existing in-flight transfers matching a provided message header or alternatively and transparently obtain a brand new xfer to handle a freshly received notification message. In both cases the obtained xfer is uniquely mapped into a specific xfer through the means of the message header acting as key. In this way such a transport can properly store its own transport specific payload into the xfer uniquely associated to the message header before even calling into the core scmi_rx_callback() in the usual way, so that the transport specific message envelope structures can be freed early and there is no more need to keep track of their status till the core fully processes the xfer to completion or times out. The scmi_rx_callbak() does not need to be modified to carry additional transport-specific ancillary data related to such message envelopes since an unique natural association is established between the xfer and the related message header. Existing transports that do not need anything of the above will continue to work as before without any change. Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>It would be better to see this in the context of its planned user, but that looked reasonable enough.
I agree, definitely better to see this in the context of usage. Such virtio-scmi rework is still in progress indeed, but working in my local testing so far. The reworked V4 virtio-scmi series is still to be refined and posted, and this transitional code lives now at: https://gitlab.arm.com/linux-arm/linux-cm/-/tree/scmi_virtio_trans_V4_rework and in particular this is the patch that changes virtio-scmi transport to use the new delegated xfers. (hopefully simplfying it) https://gitlab.arm.com/linux-arm/linux-cm/-/commit/0b524f89ea6cfcf6204a5eaa8cf9030118805b2f ...but, as said, it is highly work in progress so you may just want to wait for final V4 virtio-scmi rework posted and do not bother this noise of mine :D In any case thanks a lot for the feedback so far. Cristian
-- Florian
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel