Sysfw provides an option for requesting exclusive access for a device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is not used, the device is meant to be shared across hosts. Once a device is requested from a host with this flag set, any request to this device from a different host will be nacked by sysfw. Current tisci driver enables this flag for every device requests. But this may not be true for all the devices. So provide a separate commands in driver for exclusive and shared device requests.
Showing the changes to include/linux (1 of 2 files). Show all
Unified · Split
| @@ -97,7 +97,10 @@ struct ti_sci_core_ops { · 96 unmodified lines | ||
| 97 | 97 | */ |
| 98 | 98 | struct ti_sci_dev_ops { |
| 99 | 99 | int (*get_device)(const struct ti_sci_handle *handle, u32 id); |
| 100 | + int (*get_device_exclusive)(const struct ti_sci_handle *handle, u32 id); | |
| 100 | 101 | int (*idle_device)(const struct ti_sci_handle *handle, u32 id); |
| 102 | + int (*idle_device_exclusive)(const struct ti_sci_handle *handle, | |
| 103 | + u32 id); | |
| 101 | 104 | int (*put_device)(const struct ti_sci_handle *handle, u32 id); |
| 102 | 105 | int (*is_valid)(const struct ti_sci_handle *handle, u32 id); |
| 103 | 106 | int (*get_context_loss_count)(const struct ti_sci_handle *handle, |