summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-14Merge tag 'imx-drivers-6.6' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers i.MX drivers update for 6.6: - A series from NXP i.MX developers (Peng Fan, etc.) to update imx-scu and imx-scu-irq firmware drivers. - Add dedicated lockdep class for nested genpd locks to fix a lockdep warning in imx93-blk-ctrl driver. - A change from Rob to explicitly include correct DT headers for i.MX SoC drivers. - Use devm_platform_ioremap_resource() in imx-weim bus driver. * tag 'imx-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP firmware: imx: scu-irq: add imx_scu_irq_get_status firmware: imx: scu-irq: fix RCU complaint after M4 partition reset firmware: imx: scu: use EOPNOTSUPP firmware: imx: scu: use soc name for soc_id firmware: imx: scu: increase RPC timeout firmware: imx: scu: change init level to subsys_initcall_sync soc: imx: Explicitly include correct DT includes bus: imx-weim: use devm_platform_ioremap_resource soc: imx: imx93-blk-ctrl: Add dedicated lockdep class for nested genpd locks Link: https://lore.kernel.org/r/20230813133354.847010-1-shawnguo@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14soc: kunpeng_hccs: add MAILBOX dependencyArnd Bergmann
When the mailbox subsystem is disabled, the driver fails to link, so add an explicit dependency. Some other drivers use 'select' here, but the dependency seems more logical and more common. Fixes: 886bdf9c883bc ("soc: hisilicon: Support HCCS driver on Kunpeng SoC") Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12soc: kunpeng_hccs: fix size_t format stringArnd Bergmann
Printing a size_t using the %lu format string causes a warning on architectures that define the type as 'unsigned int': In file included from include/linux/device.h:15, from include/linux/acpi.h:14, from drivers/soc/hisilicon/kunpeng_hccs.c:25: drivers/soc/hisilicon/kunpeng_hccs.c: In function 'hccs_get_bd_info': drivers/soc/hisilicon/kunpeng_hccs.c:441:25: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Werror=format=] Use the correct %zu format instead. Fixes: 886bdf9c883bc ("soc: hisilicon: Support HCCS driver on Kunpeng SoC") Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'hisi-drivers-for-6.6' of https://github.com/hisilicon/linux-hisi ↵Arnd Bergmann
into soc/drivers HiSilicon driver updates for v6.6 - Add HCCS driver for HiSilicon Kunpeng SoC and document the sysfs description * tag 'hisi-drivers-for-6.6' of https://github.com/hisilicon/linux-hisi: doc: soc: hisilicon: Add Kunpeng HCCS driver documentation soc: hisilicon: add sysfs entry to query information of HCCS soc: hisilicon: Support HCCS driver on Kunpeng SoC Link: https://lore.kernel.org/r/64D605DE.2070303@hisilicon.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'samsung-drivers-6.6' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers Samsung SoC driver changes for v6.6 Minor cleanup of headers and maintainer entries for Samsung SoC drivers. * tag 'samsung-drivers-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: MAINTAINERS: mfd: Un-support Maxim and Samsung PMIC drivers MAINTAINERS: samsung: Un-support cpuidle and clock drivers soc: samsung: Explicitly include correct DT includes Link: https://lore.kernel.org/r/20230810151250.220202-1-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'reset-for-v6.6' of git://git.pengutronix.de/pza/linux into ↵Arnd Bergmann
soc/drivers Reset controller updates for v6.6 Clean up DT includes and remove unneeded platform_set_drvdata() calls across reset drivers, add support for the Versal NET platform to the zynqmp driver, and let the hisilicon driver use dev_err_probe(). * tag 'reset-for-v6.6' of git://git.pengutronix.de/pza/linux: reset: ti: syscon: remove unneeded call to platform_set_drvdata() reset: zynqmp: removed unneeded call to platform_set_drvdata() reset: zynq: remove unneeded call to platfrom_set_drvdata() reset: uniphier-glue: remove unneeded call to platform_set_drvdata() reset: npcm: remove unneeded call to platform_set_drvdata() reset: meson: remove unneeded call to platform_set_drvdata() reset: lpc18xx: remove unneeded call to platform_set_drvdata() reset: lantiq: remove unneeded call to platform_set_drvdata() reset: bcm6345: remove unneeded call to platform_set_drvdata() reset: ath79: remove unneeded call to platform_set_drvdata() reset: hisilicon: Use dev_err_probe instead of dev_err reset: reset-zynqmp: add support for Versal NET platform dt-bindings: reset: Updated binding for Versal-NET reset driver reset: Explicitly include correct DT includes Link: https://lore.kernel.org/r/20230808145950.3057250-1-p.zabel@pengutronix.de Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'sunxi-drivers-for-6.6-1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/drivers - simplify code in sunxi-rsb - fix includes in sunxi_sram * tag 'sunxi-drivers-for-6.6-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: soc: sunxi: Explicitly include correct DT includes bus: sunxi-rsb: Convert to devm_platform_ioremap_resource() Link: https://lore.kernel.org/r/20230806180650.GA127142@jernej-laptop Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'amlogic-drivers-for-v6.6' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers Amlogic drivers changes for v6.6: - Add C3 Power Domains - Explicitly include correct DT includes in Amlogic SoC drivers - fix to avoid potential NULL pointer dereference in meson_sm - Merge of genpd-v6.5-rc1-1 to move genpd amlogic drivers * tag 'amlogic-drivers-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: firmware: meson_sm: fix to avoid potential NULL pointer dereference soc: amlogic: Explicitly include correct DT includes soc: c3: Add support for power domains controller dt-bindings: power: add Amlogic C3 power domains soc: amlogic: use name instead of index as criterion Link: https://lore.kernel.org/r/77e328b5-0d47-36e8-f62d-c745df06fb87@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'scmi-updates-6.6' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers Arm SCMI updates for v6.6 The main addition this time is the support for SCMI v3.2 perf level indexing mode. SCMI v3.2 adds support for hardware which works on performance indices, instead of levels. Certain platforms use indices to identify performance levels. Level Indexing Mode is used to describe such platform behavior. All commands which utilize performance level as a parameter need to specify the corresponding level index instead of the performance level when Level Indexing Mode is used. While at it, these changes also include hardening of all the internal accesses to the performance domain information. * tag 'scmi-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: firmware: arm_scmi: Add v3.2 perf level indexing mode support firmware: arm_scmi: Harden perf domain info access Link: https://lore.kernel.org/r/20230804123231.3258141-1-sudeep.holla@arm.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'vexpress-updates-6.6' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers Arm Vexpress updates for v6.6 Couple of minor updates: Code simplification in the vexpress config bus driver with the use of devm_platform_ioremap_resource() and simplification of Arm Vexpress platform and related drivers entries in MAINTAINERS file. * tag 'vexpress-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: MAINTAINERS: Simplify entries for Arm Vexpress platform and related drivers bus: vexpress-config: Convert to devm_platform_ioremap_resource() Link: https://lore.kernel.org/r/20230804123214.3258032-1-sudeep.holla@arm.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx into ↵Arnd Bergmann
soc/drivers arm64: ZynqMP SoC changes for 6.6 - Cleanup remove callback in event driver - Explicitly include correct DT header in power driver - Fix logic around irq = 0 in power driver * tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx: soc: xilinx: Do not check for 0 return after calling platform_get_irq() soc: xilinx: Explicitly include correct DT includes driver: soc: xilinx: Convert to platform remove callback returning void Link: https://lore.kernel.org/r/399efa45-df0a-4ec7-e25c-774bb8bf6fb4@monstr.eu Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12Merge tag 'tegra-for-6.6-soc' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers soc/tegra: Changes for v6.6-rc1 This contains a selection of minor cleanups. * tag 'tegra-for-6.6-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: soc/tegra: cbb: Remove unnecessary print function dev_err() soc/tegra: fuse: Sort includes alphabetically bus: tegra-gmi: Convert to devm_platform_ioremap_resource() soc/tegra: fuse: Use devm_platform_get_and_ioremap_resource() soc/tegra: Explicitly include correct DT includes Link: https://lore.kernel.org/r/20230728094129.3587109-1-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-11firmware: imx: scu-irq: support identifying SCU wakeup source from sysfsRanjani Vaidyanathan
Record SCU wakeup interrupt in /sys/power/pm_wakeup_irq The user can further identify the exact wakeup source by using the following interface: cat /sys/firmware/scu_wakeup_source/wakeup_src The above will print the wake groups and the irqs that could have contributed to waking up the kernel. For example if ON/OFF button was the wakeup source: cat /sys/firmware/scu_wakeup_source/wakeup_src Wakeup source group = 3, irq = 0x1 The user can refer to the SCFW API documentation to identify all the wake groups and irqs. Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-11firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUPPeng Fan
Per SCFW update, update the IMX_SC_IRQ_NUM_GROUP to 9. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-11firmware: imx: scu-irq: add imx_scu_irq_get_statusPeng Fan
Extract the scu irq get status code from imx_scu_irq_work_handler and make into a new function imx_scu_irq_get_status which could be used by others, such as SECO. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-11firmware: imx: scu-irq: fix RCU complaint after M4 partition resetRobin Gong
Use blocking_notifier_chain instead of atomic_notifier_chain, otherwise there will be RCU complaint, because unregister/register_virtio_device() will issue mbox message. mbox_send_message() is blocking again after received M4 partition reset. Actually, no need atomic notifier for scu irq notification since this notifier is called in worker instead of interrupt handler. [ 389.706645] i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: i2c rpmsg driver is removed [ 389.767362] Wait for remote ready timeout, use first_notify. [ 389.774084] ------------[ cut here ]------------ [ 389.778729] WARNING: CPU: 0 PID: 397 at kernel/rcu/tree_plugin.h:293 rcu_note_context_switch+0x34/0x338 [ 389.788131] Modules linked in: [ 389.791195] CPU: 0 PID: 397 Comm: kworker/0:13 Not tainted 5.4.0-rc5-02977-g08f78722f07b #26 [ 389.799633] Hardware name: Freescale i.MX8DXL MEK (DT) [ 389.805481] Workqueue: events imx_scu_irq_work_handler Signed-off-by: Robin Gong <yibin.gong@nxp.com> Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-11firmware: imx: scu: use EOPNOTSUPPPeng Fan
Per checkpatch.pl, "ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP" So use EOPNOTSUPP to replace ENOTSUPP. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-11firmware: imx: scu: use soc name for soc_idPeng Fan
Same as soc-imx8m and soc-imx driver, use soc name for soc_id which is user friendly. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-11firmware: imx: scu: increase RPC timeoutDong Aisheng
When system loading is high, we can meet some command timeout issue occasionally, so increase the timeout to a safe value. Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-11firmware: imx: scu: change init level to subsys_initcall_syncDong Aisheng
Change firmware init level to subsys_initcall_sync to ensure it's probed before most devices to avoid unnecessary defer probe. Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-08-08reset: ti: syscon: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Acked-by: Andrew Davis <afd@ti.com> Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Link: https://lore.kernel.org/r/20230807111534.12392-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: zynqmp: removed unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Link: https://lore.kernel.org/r/20230807114344.15076-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: zynq: remove unneeded call to platfrom_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Link: https://lore.kernel.org/r/20230807113545.14743-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: uniphier-glue: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Link: https://lore.kernel.org/r/20230807112705.12862-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: npcm: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Link: https://lore.kernel.org/r/20230807105630.11638-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: meson: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Link: https://lore.kernel.org/r/20230807105400.11560-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: lpc18xx: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Link: https://lore.kernel.org/r/20230807104549.11225-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: lantiq: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Link: https://lore.kernel.org/r/20230803104225.29740-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: bcm6345: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Link: https://lore.kernel.org/r/20230803104142.29694-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08reset: ath79: remove unneeded call to platform_set_drvdata()Andrei Coardos
This function call was found to be unnecessary as there is no equivalent platform_get_drvdata() call to access the private data of the driver. Also, the private data is defined in this driver, so there is no risk of it being accessed outside of this driver file. Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Link: https://lore.kernel.org/r/20230803104102.29647-1-aboutphysycs@gmail.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-08-08doc: soc: hisilicon: Add Kunpeng HCCS driver documentationHuisong Li
Document the sysfs attributes description provided by HCCS driver on Kunpeng SoC. Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2023-08-08soc: hisilicon: add sysfs entry to query information of HCCSHuisong Li
This patch creates chip, die and port directory based on the actual hardware implementation of platform. Some sysfs entries under these directories are created to query the health status and port information of HCCS. Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2023-08-08soc: hisilicon: Support HCCS driver on Kunpeng SoCHuisong Li
The Huawei Cache Coherence System (HCCS) is a multi-chip interconnection bus protocol. This driver is aimed to support some features about HCCS on Kunpeng SoC, like, querying the health status of HCCS. This patch adds the probing of HCCS driver, and obtains all HCCS port information by the dimension of chip and die on platform. Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2023-08-06soc: sunxi: Explicitly include correct DT includesRob Herring
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-21-d8de2cc88bff@kernel.org Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-08-04firmware: meson_sm: fix to avoid potential NULL pointer dereferenceZhang Shurong
of_match_device() may fail and returns a NULL pointer. Fix this by checking the return value of of_match_device. Fixes: 8cde3c2153e8 ("firmware: meson_sm: Rework driver as a proper platform driver") Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/tencent_AA08AAA6C4F34D53ADCE962E188A879B8206@qq.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-08-04soc: amlogic: Explicitly include correct DT includesRob Herring
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20230714175124.4066972-1-robh@kernel.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-08-04firmware: arm_scmi: Add v3.2 perf level indexing mode supportCristian Marussi
SCMI v3.2 adds PERF protocol support to optionally define performance domains that cannot be represented on a linear scale; the platform firmware can declare the performance levels of a domain as being 'level indexed' and provide an indicative frequency associated to each of those levels, with such indexes not required anymore to be contiguous nor to satisfy any linear-scaling constraint: when level-indexing is available for a domain, the platform will expect to deal with SCMI requests using indexes instead of performance levels for that domain. Add level-indexing mode support to the PERF protocol implementation while maintaining unchanged the protocol operations interface exposed by PERF; all the required mapping from performamce levels/frequencies to the corresponding level indexes is carried out transparently by the core PERF protocol support: as a consequence no change is either required in any SCMI driver using the PERF protocol, even when using level indexing. Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Link: https://lore.kernel.org/r/20230717161246.1761777-3-cristian.marussi@arm.com Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2023-08-04firmware: arm_scmi: Harden perf domain info accessCristian Marussi
Harden internal accesses to domain info in the SCMI perf protocol. Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Link: https://lore.kernel.org/r/20230717161246.1761777-2-cristian.marussi@arm.com Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2023-08-04MAINTAINERS: Simplify entries for Arm Vexpress platform and related driversSudeep Holla
Currently the entries have regexs but in absolute paths. The "N:" entries can deal with all files and directories irrespective of the depth/path matching the regex patterns. Simplifies the entry by making using "N:" and dropping "F:" with absolute paths. Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org> Suggested-by: Tom Rini <trini@konsulko.com> Acked-by: Liviu Dudau <liviu.dudau@arm.com> Link: https://lore.kernel.org/r/20230727133551.648390-1-sudeep.holla@arm.com Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2023-08-04soc: xilinx: Do not check for 0 return after calling platform_get_irq()Ruan Jinjie
There is no possible for platform_get_irq() to return 0. Use the return value from platform_get_irq(). Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com> Link: https://lore.kernel.org/r/20230803104807.814005-3-ruanjinjie@huawei.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-08-04soc: xilinx: Explicitly include correct DT includesRob Herring
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-22-d8de2cc88bff@kernel.org Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-07-31Merge tag 'genpd-v6.5-rc1-1' of ↵Neil Armstrong
git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm into v6.6/drivers-genpd Create the new genpd subsystem and start moving providers There are currently ~60 users of the genpd provider interface, which implementations are sprinkled across various subsystems. To help out with maintenance and to gain a bit better control, this creates a new subsystem (drivers/genpd) and moves some of the soc/platform specific providers in here.
2023-07-31soc: c3: Add support for power domains controllerXianwei Zhao
Add support for C3 Power controller. C3 power control registers are in secure domain, and should be accessed by SMC. Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20230707003710.2667989-4-xianwei.zhao@amlogic.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-07-31dt-bindings: power: add Amlogic C3 power domainsXianwei Zhao
Add devicetree binding document and related header file for Amlogic C3 secure power domains. Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> Acked-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230707003710.2667989-3-xianwei.zhao@amlogic.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-07-31soc: amlogic: use name instead of index as criterionXianwei Zhao
The variate 'index' could be equal to zero in some SoCs. Such as C3 SoC, PWRC_C3_NNA_ID be defined zero. Use 'name' instead of 'index' as criterion. Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Dmitry Rokosov <ddrokosov@sberdevices.ru> Link: https://lore.kernel.org/r/20230707003710.2667989-2-xianwei.zhao@amlogic.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-07-31bus: sunxi-rsb: Convert to devm_platform_ioremap_resource()Yangtao Li
Use devm_platform_ioremap_resource() to simplify code. Signed-off-by: Yangtao Li <frank.li@vivo.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://lore.kernel.org/r/20230706072042.31296-1-frank.li@vivo.com Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-07-28reset: hisilicon: Use dev_err_probe instead of dev_errWang Ming
The probe process may generate EPROBE_DEFER. In this case, dev_err_probe can still record err information. This helps simplify code and standardize error output. Signed-off-by: Wang Ming <machel@vivo.com> Link: https://lore.kernel.org/r/20230726114555.5011-1-machel@vivo.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-07-28reset: reset-zynqmp: add support for Versal NET platformPiyush Mehta
Updated the reset driver to support Versal NET platform. As part of adding support for versal NET: - Added Versal NET specific compatible string. - Reset Id and number of resets. Signed-off-by: Piyush Mehta <piyush.mehta@amd.com> Link: https://lore.kernel.org/r/20230721041119.4058430-3-piyush.mehta@amd.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-07-28dt-bindings: reset: Updated binding for Versal-NET reset driverPiyush Mehta
Added dt-binding documentation for Versal NET platforms. Versal Net is a new AMD/Xilinx SoC. The SoC and its architecture is based on the Versal ACAP device. The Versal Net device includes more security features in the platform management controller (PMC) and increases the number of CPUs in the application processing unit (APU) and the real-time processing unit (RPU). Signed-off-by: Piyush Mehta <piyush.mehta@amd.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230721041119.4058430-2-piyush.mehta@amd.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2023-07-28reset: Explicitly include correct DT includesRob Herring
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Acked-by: Steen Hegelund <Steen.Hegelund@microchip.com> Link: https://lore.kernel.org/r/20230714174939.4063667-1-robh@kernel.org Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>