Hi, This patch series adds SCMI infrastructure/core support for recieve(Rx) channels, asynchronous commands and delayed response. It adds async command support for clock rate setting and sensor reading based on the attributes read from the firmware.
The code is rebased on the cleanup series[1] and is available @[2] -- Regards, Sudeep [1] https://lore.kernel.org/lkml/20190726134531.8928-1-sudeep.ho...@arm.com [2] git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git scmi_updates v1->v2: - Fixed error messages to indicate Tx/Rx correctly - Dropped receive buffer support as notifications are not yet added - Simplied atomic_inc/dec for async request count and fixed the commit message - Fixed fetching sensor value i.e. *pval + 1 to *(pval + 1) in scmi_sensor_reading_get Sudeep Holla (10): firmware: arm_scmi: Reorder some functions to avoid forward declarations firmware: arm_scmi: Segregate tx channel handling and prepare to add rx firmware: arm_scmi: Add receive channel support for notifications firmware: arm_scmi: Separate out tx buffer handling and prepare to add rx firmware: arm_scmi: Add mechanism to unpack message headers firmware: arm_scmi: Add support for asynchronous commands and delayed response firmware: arm_scmi: Drop async flag in sensor_ops->reading_get firmware: arm_scmi: Add asynchronous sensor read if it supports firmware: arm_scmi: Drop config flag in clk_ops->rate_set firmware: arm_scmi: Use asynchronous CLOCK_RATE_SET when possible drivers/clk/clk-scmi.c | 2 +- drivers/firmware/arm_scmi/clock.c | 21 +- drivers/firmware/arm_scmi/common.h | 6 +- drivers/firmware/arm_scmi/driver.c | 342 ++++++++++++++++++---------- drivers/firmware/arm_scmi/sensors.c | 32 ++- drivers/hwmon/scmi-hwmon.c | 2 +- include/linux/scmi_protocol.h | 6 +- 7 files changed, 271 insertions(+), 140 deletions(-) -- 2.17.1