• Arnd Bergmann's avatar
    Merge tag 'scmi-updates-6.7' of... · d1debb7b
    Arnd Bergmann authored
    Merge tag 'scmi-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers
    
    Arm SCMI updates for v6.7
    
    Main additions this time include:
    
    1. SCMI v3.2 clock configuration support:
       This helps to retrieve the enabled state of a clock as well as allow
       to set OEM specific clock configurations.
    
    2. Support for generic performance scaling(DVFS):
       The current SCMI DVFS support is limited to the CPUs in the kernel.
       This extension enables it to used for all kind of devices and not
       only for the CPUs. It updates the SCMI cpufreq to utilize the power
       domain bindings. It also adds a more generic SCMI performance domain
       based on the genpd framework that as be used for all the non-CPU
       devices.
    
    3. Extend the generic performance scaling(DVFS) support for firmware
       driver OPPs:
       Consumer drivers for devices that are attached to the SCMI performance
       domain can't make use of the current OPP library to scale performance
       as the OPPs are firmware driven and often obtained from the firmware
       rather than the device tree. These changes extend the generic OPP
       and genpd PM domain frameworks to identify and utilise these firmware
       driven OPPs.
    
    4. SCMI v3.2 clock parent support:
       This enables the support for discovering and changing parent clocks
       and extending the SCMI clk driver to use the same.
    
    5. Qualcom SMC/HVC transport support:
       The Qualcomm virtual platforms require capability id in the hypervisor
       call to identify which doorbell to assert when supporting multiple
       SMC/HVC based SCMI transport channels. Extra parameter is added to
       support the same and the same is obtained at the fixed address in the
       shared memory which is initialised by the firmware.
    
    6. Move the existing SCMI power domain driver under drivers/pmdomain
    
    Apart from the above main changes, it also include couple of minor fixes
    and cosmetic reworks.
    
    * tag 'scmi-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: (37 commits)
      firmware: arm_scmi: Add qcom smc/hvc transport support
      dt-bindings: arm: Add new compatible for smc/hvc transport for SCMI
      firmware: arm_scmi: Convert u32 to unsigned long to align with arm_smccc_1_1_invoke()
      clk: scmi: Add support for clock {set,get}_parent
      firmware: arm_scmi: Add support for clock parents
      clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped
      firmware: arm_scpi: Use device_get_match_data()
      firmware: arm_scmi: Add generic OPP support to the SCMI performance domain
      firmware: arm_scmi: Specify the performance level when adding an OPP
      firmware: arm_scmi: Simplify error path in scmi_dvfs_device_opps_add()
      OPP: Extend support for the opp-level beyond required-opps
      OPP: Switch to use dev_pm_domain_set_performance_state()
      OPP: Extend dev_pm_opp_data with a level
      OPP: Add dev_pm_opp_add_dynamic() to allow more flexibility
      PM: domains: Implement the ->set_performance_state() callback for genpd
      PM: domains: Introduce dev_pm_domain_set_performance_state()
      firmware: arm_scmi: Rename scmi_{msg_,}clock_config_{get,set}_{2,21}
      firmware: arm_scmi: Do not use !! on boolean when setting msg->flags
      firmware: arm_scmi: Move power-domain driver to the pmdomain dir
      pmdomain: arm: Add the SCMI performance domain
      ...
    
    Link: https://lore.kernel.org/r/20231010124347.1620040-1-sudeep.holla@arm.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    d1debb7b
MAINTAINERS 710 KB