- 04 Feb, 2021 5 commits
-
-
Cristian Marussi authored
[DEBUG]: arm64: dts: juno: add duplicated SystemPower test node Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
- mdelays in WQ and IRQ - many DEBUG pr_info/pr_warn also in protos Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
arm64: dts: juno: add SCMI SystemPower Protocol support Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Signed-off-by:
Sudeep Holla <sudeep.holla@arm.com>
-
Cristian Marussi authored
Add an SCMI System Power control driver to handle platform's requests carried by SYSTEM_POWER_STATE_NOTIFIER notifications: such platform requested system-wide power state transitions are handled accordingly, gracefully or forcefully, depending on the notifications' message flags. Graceful requests are relayed to userspace using the same Kernel API used to handle ACPI Shutdown bus events. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - rebased on SCMI Modules v5 series to use new SCMI protocols interface - removed signal based shutdown/reboot - removed all module parameters - added 60secs fixed timeout to shutdwon/reboot requests - make it modularizable to cope with SCMI core modularization - refactored all data config structs - using dev_* instead of pr_* v3 --> v4 - rebased v5.11-rc2 - removed unneeded ugly usage of atomics and barriers - simplfied SysPower shutdown state machine - split out macro definition to different patch v2 --> v3 - rebased - some minor cleanup in codestyle and commit message v1 --> v2 - split out of SCMI System Power Protocol series now merged
-
- 03 Feb, 2021 2 commits
-
-
Cristian Marussi authored
Add a trivial macro to check the kind of SCMI SystemPower request. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
In order to minimize SCMI platform fw-side complexity, only one platform should be in charge of SCMI SystemPower protocol communications with the OSPM: enforce the existence of one single unique device associated with SystemPower protocol across any possible number of SCMI platforms, and warn if a system tries to register different SystemPower devices from multiple platforms. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
- 02 Feb, 2021 33 commits
-
-
Cristian Marussi authored
Having added the support for SCMI protocols as modules in order to let vendors extend the SCMI core with their own additions it seems odd to then force SCMI drivers built on top to use a static device table to declare their devices since this way any new SCMI drivers addition would need the core SCMI device table to be updated too. Remove the static core device table and let SCMI drivers to simply declare which device/protocol pair they need at initialization time: the core will then take care to generate such devices dynamically during platform initialization or at module loading time, as long as the requested underlying protocol is defined in the DT. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - using klist instead of custom lists v3 --> v4 - add a few comments
-
Cristian Marussi authored
Extend SCMI protocols accounting mechanism to address possible module usage and add the support to possibly define new protocols as loadable modules. Keep Standard protocols built into the SCMI core. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Notification private data is currently accessible via handle->notify_priv; this data was indeed meant to be private to the notification core support and not to be accessible by SCMI drivers: make it private hiding it inside instance descriptor struct scmi_info and accessible only via dedicated helpers. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Remove all the events registration code used to ease the transition to the new interface based on protocol handles.. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Remove unused core scmi_xfer wrappers now that we have migrated all protocols to the new interface based on protocol handles. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all protocols and drivers have been ported to the new interface based on protocol handles and get/put operations, remove all the legacy transient initialization code. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all the protocol private variable data have been moved out of struct scmi_handle, mark all of its references as const. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all the SCMI driver users have been migrated to the new interface remove the legacy interface and all the transient code. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Port driver to the new SCMI Voltage interface based on protocol handles and common devm_get_ops(). Cc: Mark Brown <broonie@kernel.org> Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - using renamed devm_get/put_protocol
-
Cristian Marussi authored
Convert internals of protocol implementation to use protocol handles and expose a new protocol operations interface for SCMI driver using the new get/put common operations, while keeping the old handle->voltage_ops still around to ease transition. Remove handle->voltage_priv now unused. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Convert internals of protocol implementation to use protocol handles and expose a new protocol operations interface for SCMI driver using the new get/put common operations. Remove handle->system_priv now unused. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all the SCMI driver users have been migrated to the new interface remove the legacy interface and all the transient code. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Port driver to the new SCMI Sensor interface based on protocol handles and common devm_get_ops(). Cc: Guenter Roeck <linux@roeck-us.net> Cc: Jean Delvare <jdelvare@suse.com> Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - using renamed devm_get/put_protocol
-
Cristian Marussi authored
Convert internals of protocol implementation to use protocol handles and expose a new protocol operations interface for SCMI driver using the new get/put common operations, while keeping the old handle->sensor_ops still around to ease transition. Remove handle->sensor_priv now unused. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all the SCMI driver users have been migrated to the new interface remove the legacy interface and all the transient code. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Port driver to the new SCMI Reset interface based on protocol handles and common devm_get_ops(). Cc: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - using renamed devm_get/put_protocol
-
Cristian Marussi authored
Convert internals of protocol implementation to use protocol handles and expose a new protocol operations interface for SCMI driver using the new get/put common operations, while keeping the old handle->reset_ops still around to ease transition. Remove handle->reset_priv now unused. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all the SCMI driver users have been migrated to the new interface remove the legacy interface and all the transient code. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Port driver to the new SCMI Clock interface based on protocol handles and common devm_get_ops(). Cc: Michael Turquette <mturquette@baylibre.com> Cc: Stephen Boyd <sboyd@kernel.org> Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - using renamed devm_get/put_protocol
-
Cristian Marussi authored
Convert internals of protocol implementation to use protocol handles and expose a new protocol operations interface for SCMI driver using the new get/put common operations, while keeping the old handle->clk_ops still around to ease transition. Remove handle->clock_priv now unused. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all the SCMI driver users have been migrated to the new interface remove the legacy interface and all the transient code. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Port driver to the new SCMI Power interface based on protocol handles and common devm_get_ops(). Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - using renamed devm_get/put_protocol
-
Cristian Marussi authored
Convert internals of protocol implementation to use protocol handles and expose a new protocol operations interface for SCMI driver using the new get/put common operations, while keeping the old handle->power_ops still around to ease transition. Remove handle->power_priv now unused. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Now that all the SCMI driver users have been migrated to the new interface remove the legacy interface and all the transient code. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Port driver to the new SCMI Perf interface based on protocol handles and common devm_get_ops(). Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- v4 --> v5 - using renamed devm_get/put_protocol
-
Cristian Marussi authored
Convert internals of protocol implementation to use protocol handles and expose a new protocol operations interface for SCMI driver using the new get/put common operations, while keeping the old handle->perf_ops still around to ease transition. Remove handle->perf_priv now unused. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Port Base protocol to new protocol handles based interface. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Add an helper to grab, from a protocol handle, the handle common memory area allocated to store SCMI version data which is exposed on sysfs. Such helper will be needed by SCMI Base protocol initialization once it will be moved to new protocol handles scheme. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Add new core SCMI xfer operations based on protocol handles to enable protocols to builds and send their own protocol specific messages. Keep old original scmi_xfer_ operations interface as wrappers around the new interface in order to let coexist old and new interfaces to ease protocol by protocol migration. In order to support such migration the above wrappers and some additional transient code is also introduced in this commit: it will be later removed as a whole once the full migration of protocols and SCMI drivers will have been completed. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- An exmaple of transient code: scmi_map_protocol_handle() / scmi_map_scmi_handle() and their usage will removed later on together with all the scmi_xfer wrappers.
-
Cristian Marussi authored
Convert refactored events registration routines to use protocol handles. In order to maintain bisectability and to allow protocols and drivers to be later ported to the new protocol handle interface one by one, introduce here also some transient code and typing that will be removed later in order to ease such transition. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com> --- In particular void* argument typing will be reverted later on once all the protocols have been ported.
-
Cristian Marussi authored
Add a new refactored protocol events registration helper and invoke it from the centralized initialization process triggered by get_ops() and friends. Add a .get_num_sources as a new optional callback amongst protocol events operations; finally remove events registration call-sites from within the legacy protocol init routines. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Expose to the SCMI drivers a new alternative devres managed notifications API based on protocol handles. All drivers still keep using the old API, no functional change. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-
Cristian Marussi authored
Account for any active registered notifier against the proper related protocol; do not consider pending event handlers, only active handlers will concur to protocol usage accounting. Signed-off-by:
Cristian Marussi <cristian.marussi@arm.com>
-