HomeFreeBSD

scmi: Introduce a new SCMI API and port CLK SCMI driver to it

Description

scmi: Introduce a new SCMI API and port CLK SCMI driver to it

Expose new scmi_buf_get/put API methods to build and send messages;
command request descriptors are now pre-allocated when the SCMI core is
initialized and kept in a free list, instead of being allocated on the
stack of the caller of the SCMI request.

Dynamically allocated descriptors enable the SCMI core to keep around
and track outstanding transactions for as long as needed, outliving the
lifetime of the caller stack: this allows tracking of late or missing
replies and it will be needed when adding support for SCMI transports
that allows for more messages to be inflight concurrently.

Move the existing CLK SCMI driver to the new API.

Reviewed by: andrew
Tested on: Arm Morello Board
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D43046

Details

Provenance
cristian.marussi_arm.comAuthored on Dec 11 2023, 8:33 AM
andrewCommitted on Thu, Apr 11, 9:58 AM
Reviewer
andrew
Differential Revision
D43046: scmi: Introduce a new SCMI API and port CLK SCMI driver to it
Parents
rG3595f18fc78b: scmi: Add SCMI message tracking and centralize tx/rx logic
Branches
Unknown
Tags
Unknown