linux-stable/drivers/remoteproc
Devarsh Thakkar 7f40291927 remoteproc: k3-r5: Simplify cluster mode setting usage
Check the validity of mode against SoC supported modes right
at the probe to minimize the usage of same check further in the code.

Set default value of cluster-mode only if cluster-mode device tree property
is empty.

In case devicetree provided cluster-mode property is invalid For e.g. using
CLUSTER_MODE_SINGLECPU on any SoC other than am64x then return error.

If firmware has set the PROC_BOOT_STATUS_FLAG_R5_SINGLECORE_ONLY flag then
what it means is that only CLUSTER_MODE_SINGLECPU is possible to use [1]
and hence there is no need to check for soc_data->single_cpu_mode first and
then checking cluster mode.

PROC_BOOT_CFG_FLAG_R5_SINGLE_CORE flag can be set directly for
CLUSTER_MODE_SINGLECPU without checking for soc_data->single_cpu_mode since
that check has already been done during probe.

For IPC-only mode, directly override cluster mode as per config flag set by
bootloader without checking for soc specific data. This because config
flag would already have been validated by firmware when bootloader was
setting it.

Link:
[1] https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/PROC_BOOT.html?highlight=singlecore_only#arm-r5

Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Link: https://lore.kernel.org/r/20230327152832.923480-2-devarsht@ti.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2023-03-29 17:16:42 -06:00
..
da8xx_remoteproc.c remoteproc: Remove dev_err() usage after platform_get_irq() 2019-08-26 21:59:58 -07:00
imx_dsp_rproc.c remoteproc: imx_dsp_rproc: Add custom memory copy implementation for i.MX DSP Cores 2023-03-13 13:22:39 -06:00
imx_rproc.c remoteproc: imx_rproc: Correct i.MX93 DRAM mapping 2022-11-15 11:38:09 -07:00
imx_rproc.h remoteproc: imx_rproc: Add IMX_RPROC_SCU_API method 2021-10-12 09:16:13 -06:00
ingenic_rproc.c remoteproc: ingenic: Request IRQ disabled 2021-12-06 10:17:44 -07:00
Kconfig drivers: remoteproc: Add Xilinx r5 remoteproc driver 2022-11-25 09:12:05 -07:00
keystone_remoteproc.c remoteproc/keystone: Switch to using gpiod API 2022-09-19 15:32:27 -06:00
Makefile drivers: remoteproc: Add Xilinx r5 remoteproc driver 2022-11-25 09:12:05 -07:00
meson_mx_ao_arc.c remoteproc: meson-mx-ao-arc: fix a bit test 2021-10-04 10:40:29 -05:00
mtk_common.h remoteproc: mediatek: Fix side effect of mt8195 sram power on 2022-04-11 09:56:42 -06:00
mtk_scp_ipi.c remoteproc/mtk_scpi_ipi: Fix one kernel-doc comment 2023-03-16 12:12:18 -06:00
mtk_scp.c remoteproc: mediatek: Check the SCP image format 2023-02-12 13:18:32 -07:00
omap_remoteproc.c remoteproc: omap_remoteproc: Fix typo in comment 2022-06-14 16:57:59 -06:00
omap_remoteproc.h remoteproc/omap: Switch to SPDX license identifiers 2020-03-25 22:29:51 -07:00
pru_rproc.c remoteproc: pru: Configure firmware based on client setup 2023-01-06 09:16:42 -07:00
pru_rproc.h remoteproc: pru: Add support for PRU specific interrupt configuration 2020-12-10 10:56:01 -06:00
qcom_common.c remoteproc: qcom: pas: Adjust the phys addr wrt the mem region 2023-02-14 09:04:29 -08:00
qcom_common.h remoteproc updates for v6.3 2023-02-26 12:18:36 -08:00
qcom_pil_info.c remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided 2021-12-13 16:58:05 -06:00
qcom_pil_info.h remoteproc: qcom: Introduce helper to store pil info in IMEM 2020-07-01 22:10:18 -07:00
qcom_q6v5_adsp.c remoteproc updates for v6.3 2023-02-26 12:18:36 -08:00
qcom_q6v5_mss.c ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
qcom_q6v5_pas.c ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
qcom_q6v5_wcss.c remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in q6v5_wcss_qcs404_power_on() 2022-12-06 22:34:13 -06:00
qcom_q6v5.c remoteproc: qcom: q6v5: Avoid setting smem bit in case of crash shutdown 2022-12-28 09:59:04 -06:00
qcom_q6v5.h remoteproc: qcom: q6v5: Add interconnect path proxy vote 2022-03-11 14:22:03 -06:00
qcom_sysmon.c remoteproc: move from strlcpy with unused retval to strscpy 2022-12-28 09:47:21 -06:00
qcom_wcnss_iris.c remoteproc: qcom: wcnss: Fix race with iris probe 2021-07-28 14:57:30 -05:00
qcom_wcnss.c ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
qcom_wcnss.h remoteproc: qcom: wcnss: remove unused qcom_iris_driver declaration 2022-12-28 09:50:07 -06:00
rcar_rproc.c remoteproc: rcar_rproc: Remove trailing semicolon 2021-12-20 09:33:59 -07:00
remoteproc_cdev.c remoteproc: core: Move state checking to remoteproc_core 2022-04-14 11:13:33 -06:00
remoteproc_core.c iommu: Add a gfp parameter to iommu_map() 2023-01-25 11:52:00 +01:00
remoteproc_coredump.c remoteproc: coredump: Correct argument 2 type for memcpy_fromio 2021-11-17 09:37:31 -07:00
remoteproc_debugfs.c remoteproc: Don't bother checking the return value of debugfs_create* 2022-04-11 10:04:40 -06:00
remoteproc_elf_helpers.h remoteproc: fix an typo in fw_elf_get_class code comments 2021-07-28 14:57:30 -05:00
remoteproc_elf_loader.c remoteproc: elf_loader: skip segment with memsz as zero 2022-04-13 11:14:03 -06:00
remoteproc_internal.h remoteproc: Introduce rproc features 2022-09-28 10:46:21 -06:00
remoteproc_sysfs.c remoteproc: core: Move state checking to remoteproc_core 2022-04-14 11:13:33 -06:00
remoteproc_virtio.c remoteproc: virtio: Fix warning on bindings by removing the of_match_table 2022-10-05 09:20:44 -06:00
st_remoteproc.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
st_slim_rproc.c remoteproc: Fix remaining wrong return formatting in documentation 2021-12-08 10:09:40 -07:00
stm32_rproc.c remoteproc: stm32: Improve crash recovery time 2022-01-03 11:40:45 -07:00
ti_k3_dsp_remoteproc.c remoteproc: k3-c7x: Add support for C7xv DSP on AM62A SoC 2023-01-13 14:16:44 -07:00
ti_k3_r5_remoteproc.c remoteproc: k3-r5: Simplify cluster mode setting usage 2023-03-29 17:16:42 -06:00
ti_sci_proc.h remoteproc: k3: Add TI-SCI processor control helper functions 2020-07-28 17:06:43 -07:00
wkup_m3_rproc.c remoteproc: wkup_m3: Set sysfs_read_only flag 2022-03-04 09:28:32 -07:00
xlnx_r5_remoteproc.c remoteproc: xilinx: Add mailbox channels for rpmsg 2023-03-14 13:28:31 -06:00