OpenCloudOS-Kernel/drivers/firmware/arm_scmi
Cristian Marussi bf1acf809d firmware: arm_scmi: Add proper barriers to scmi virtio device
Only one single SCMI Virtio device is currently supported by this driver
and it is referenced using a static global variable which is initialized
once for all during probing and nullified at virtio device removal.

Add proper SMP barriers to protect accesses to such device reference to
ensure that the initialzation state of such device is correctly observed by
all PEs at any time.

Return -EBUSY, instead of -EINVAL, and a descriptive error message if more
than one SCMI Virtio device is ever found and probed.

Link: https://lore.kernel.org/r/20210916103336.7243-3-cristian.marussi@arm.com
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2021-10-06 11:12:45 +01:00
..
Kconfig firmware: arm_scmi: Fix virtio transport Kconfig dependency 2021-09-20 11:50:57 +01:00
Makefile firmware: arm_scmi: Add virtio transport 2021-08-05 10:24:08 +01:00
base.c firmware: arm_scmi: Add protocol modularization support 2021-03-30 16:35:16 +01:00
bus.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
clock.c firmware: arm_scmi: Add protocol modularization support 2021-03-30 16:35:16 +01:00
common.h firmware: arm_scmi: Add virtio transport 2021-08-05 10:24:08 +01:00
driver.c firmware: arm_scmi: Use WARN_ON() to check configured transports 2021-08-09 11:43:32 +01:00
mailbox.c firmware: arm_scmi: Add priv parameter to scmi_rx_callback 2021-08-05 10:23:23 +01:00
msg.c firmware: arm_scmi: Add message passing abstractions for transports 2021-08-05 10:23:23 +01:00
notify.c firmware: arm_scmi: Fix kernel doc warnings about return values 2021-07-13 11:39:54 +01:00
notify.h firmware: arm_scmi: Remove duplicate declaration of struct scmi_protocol_handle 2021-04-27 11:57:26 +01:00
perf.c firmware: arm_scmi: Add protocol modularization support 2021-03-30 16:35:16 +01:00
power.c firmware: arm_scmi: Add protocol modularization support 2021-03-30 16:35:16 +01:00
reset.c firmware: arm_scmi: Add protocol modularization support 2021-03-30 16:35:16 +01:00
scmi_pm_domain.c firmware: arm_scmi: Add clock management to the SCMI power domain 2021-05-11 16:01:39 +01:00
sensors.c firmware: arm_scmi: Avoid padding in sensor message structure 2021-07-13 11:42:14 +01:00
shmem.c firmware: arm_scmi: Rename .clear_notification() transport_ops 2020-04-20 17:25:26 +01:00
smc.c firmware: arm_scmi: Add priv parameter to scmi_rx_callback 2021-08-05 10:23:23 +01:00
system.c firmware: arm_scmi: Add protocol modularization support 2021-03-30 16:35:16 +01:00
virtio.c firmware: arm_scmi: Add proper barriers to scmi virtio device 2021-10-06 11:12:45 +01:00
voltage.c firmware: arm_scmi: Add protocol modularization support 2021-03-30 16:35:16 +01:00