linux/drivers/remoteproc
Suman Anna 9afeefcf06 remoteproc: pru: Fix firmware loading crashes on K3 SoCs
The K3 PRUs are 32-bit processors and in general have some limitations
in using the standard ARMv8 memcpy function for loading firmware segments,
so the driver already uses a custom memcpy implementation. This added
logic however is limited to only IRAMs at the moment, but the loading
into Data RAMs is not completely ok either and does generate a kernel
crash for unaligned accesses.

Fix these crashes by removing the existing IRAM logic limitation and
extending the custom memcpy usage to Data RAMs as well for all K3 SoCs.

Fixes: 1d39f4d199 ("remoteproc: pru: Add support for various PRU cores on K3 AM65x SoCs")
Signed-off-by: Suman Anna <s-anna@ti.com>
Link: https://lore.kernel.org/r/20210315205859.19590-1-s-anna@ti.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-03-17 14:15:07 -05:00
..
da8xx_remoteproc.c remoteproc: Remove dev_err() usage after platform_get_irq() 2019-08-26 21:59:58 -07:00
imx_rproc.c remoteproc: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00
ingenic_rproc.c remoteproc: ingenic: Add module parameter 'auto_boot' 2021-02-09 09:03:27 -06:00
Kconfig remoteproc: qcom: fix glink dependencies 2021-02-09 09:01:50 -06:00
keystone_remoteproc.c remoteproc: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00
Makefile remoteproc: pru: Add a PRU remoteproc driver 2020-12-10 10:55:55 -06:00
mtk_common.h remoteproc/mediatek: support L1TCM 2021-02-09 09:08:47 -06:00
mtk_scp_ipi.c remoteproc/mediatek: Add support for mt8192 SCP 2020-09-25 23:37:42 -05:00
mtk_scp.c remoteproc/mediatek: support L1TCM 2021-02-09 09:08:47 -06:00
omap_remoteproc.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
omap_remoteproc.h remoteproc/omap: Switch to SPDX license identifiers 2020-03-25 22:29:51 -07:00
pru_rproc.c remoteproc: pru: Fix firmware loading crashes on K3 SoCs 2021-03-17 14:15:07 -05: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: Add capability to collect minidumps 2020-12-10 13:16:54 -06:00
qcom_common.h remoteproc: qcom: Add capability to collect minidumps 2020-12-10 13:16:54 -06:00
qcom_pil_info.c remoteproc: qcom: pil_info: avoid 64-bit division 2021-03-08 10:49:36 -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: qcom: Fix potential NULL dereference in adsp_init_mmio() 2020-12-10 13:28:08 -06:00
qcom_q6v5_mss.c remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable 2020-12-10 13:23:14 -06:00
qcom_q6v5_pas.c remoteproc: qcom: pas: Add SM8350 PAS remoteprocs 2021-02-11 12:52:18 -06:00
qcom_q6v5_wcss.c remoteproc: qcom: q6v5: Query sysmon before graceful shutdown 2020-11-25 23:05:24 -06:00
qcom_q6v5.c remoteproc: qcom: q6v5: Query sysmon before graceful shutdown 2020-11-25 23:05:24 -06:00
qcom_q6v5.h remoteproc: qcom: q6v5: Query sysmon before graceful shutdown 2020-11-25 23:05:24 -06:00
qcom_sysmon.c remoteproc: sysmon: fix shutdown_acked state 2020-12-04 16:40:52 -06:00
qcom_wcnss_iris.c remoteproc: qcom_wcnss: Add qcom,wcn3660b compatible 2021-01-07 11:08:35 -06:00
qcom_wcnss.c remoteproc: qcom_wcnss: remove unneeded semicolon 2021-02-09 09:02:11 -06:00
qcom_wcnss.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
remoteproc_cdev.c remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
remoteproc_core.c remoteproc: core: Fix rproc->firmware free in rproc_set_firmware() 2021-02-09 16:42:55 -06:00
remoteproc_coredump.c remoteproc: coredump: Add minidump functionality 2020-12-10 13:14:37 -06:00
remoteproc_debugfs.c remoteproc: Change default dump configuration to "disabled" 2020-10-13 19:20:54 -05:00
remoteproc_elf_helpers.h remoteproc: coredump: Add minidump functionality 2020-12-10 13:14:37 -06:00
remoteproc_elf_loader.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
remoteproc_internal.h remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
remoteproc_sysfs.c remoteproc: Add a rproc_set_firmware() API 2020-11-25 23:05:24 -06:00
remoteproc_virtio.c dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
st_remoteproc.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
st_slim_rproc.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
stm32_rproc.c remoteproc: stm32: improve debug using dev_err_probe 2021-01-07 11:24:48 -06:00
ti_k3_dsp_remoteproc.c remoteproc: k3-dsp: Fix return value check in k3_dsp_rproc_of_get_memories() 2020-12-10 13:23:15 -06:00
ti_k3_r5_remoteproc.c remoteproc: k3-r5: Adjust TCM sizes in Split-mode on J7200 SoCs 2020-11-25 23:05:25 -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: Use reset control driver if available 2020-11-16 12:57:40 +02:00