linux/drivers/remoteproc
Tinghan Shen f20e232d74 remoteproc: mediatek: Fix side effect of mt8195 sram power on
The definition of L1TCM_SRAM_PDN bits on mt8195 is different to mt8192.

L1TCM_SRAM_PDN bits[3:0] control the power of mt8195 L1TCM SRAM.

L1TCM_SRAM_PDN bits[7:4] control the access path to EMI for SCP.
These bits have to be powered on to allow EMI access for SCP.

Bits[7:4] also affect audio DSP because audio DSP and SCP are
placed on the same hardware bus. If SCP cannot access EMI, audio DSP is
blocked too.

L1TCM_SRAM_PDN bits[31:8] are not used.

This fix removes modification of bits[7:4] when power on/off mt8195 SCP
L1TCM. It's because the modification introduces a short period of time
blocking audio DSP to access EMI. This was not a problem until we have
to load both SCP module and audio DSP module. audio DSP needs to access
EMI because it has source/data on DRAM. Audio DSP will have unexpected
behavior when it accesses EMI and the SCP driver blocks the EMI path at
the same time.

Fixes: 79111df414 ("remoteproc: mediatek: Support mt8195 scp")
Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Link: https://lore.kernel.org/r/20220321060340.10975-1-tinghan.shen@mediatek.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2022-04-11 09:56: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: mark PM functions as __maybe_unused 2021-10-14 10:05:21 -06:00
imx_rproc.c remoteproc: imx_rproc: correct firmware reload 2021-12-13 16:58:05 -06: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 remoteproc: qcom: q6v5: fix service routines build errors 2022-01-17 16:44:26 -06:00
keystone_remoteproc.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00
Makefile remoteproc: Add Renesas rcar driver 2021-12-13 11:30:55 -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: Fix remaining wrong return formatting in documentation 2021-12-08 10:09:40 -07:00
mtk_scp.c remoteproc: mediatek: Fix side effect of mt8195 sram power on 2022-04-11 09:56:42 -06:00
omap_remoteproc.c remoteproc: omap_remoteproc: simplify getting .driver_data 2021-10-15 09:49:55 -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: Add support for various PRU cores on K3 AM64x SoCs 2021-06-23 13:39:20 -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: 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: qcom: q6v5_wpss: Add support for sc7280 WPSS 2022-03-11 14:38:56 -06:00
qcom_q6v5_mss.c remoteproc updates for v5.18 2022-03-30 10:50:48 -07:00
qcom_q6v5_pas.c remoteproc: qcom: pas: Add SM8450 remoteproc support 2022-02-03 21:54:48 -06:00
qcom_q6v5_wcss.c remoteproc: qcom: q6v5: Use qmp_send to update co-processor load state 2021-09-27 15:43:29 -05:00
qcom_q6v5.c remoteproc: qcom: q6v5: Add interconnect path proxy vote 2022-03-11 14:22:03 -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: sysmon: fix shutdown_acked state 2020-12-04 16:40:52 -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 remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region 2022-03-11 14:02:14 -06:00
qcom_wcnss.h remoteproc: qcom: wcnss: Fix race with iris probe 2021-07-28 14:57:30 -05:00
rcar_rproc.c remoteproc: rcar_rproc: Remove trailing semicolon 2021-12-20 09:33:59 -07:00
remoteproc_cdev.c remoteproc: Change rproc_shutdown() to return a status 2022-03-11 14:31:55 -06:00
remoteproc_core.c remoteproc: Change rproc_shutdown() to return a status 2022-03-11 14:31:55 -06: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: Fix count check in rproc_coredump_write() 2022-02-18 18:15:05 -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: Fix the wrong default value of is_iomem 2021-09-27 18:37:04 -05:00
remoteproc_internal.h remoteproc: move rproc_da_to_va declaration to remoteproc.h 2022-03-11 12:08:09 -06:00
remoteproc_sysfs.c remoteproc: Change rproc_shutdown() to return a status 2022-03-11 14:31:55 -06:00
remoteproc_virtio.c remoteproc: Remove vdev_to_rvdev and vdev_to_rproc from remoteproc API 2021-10-15 09:49:55 -05: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-dsp: Add support for IPC-only mode for all K3 DSPs 2022-03-11 14:31:56 -06:00
ti_k3_r5_remoteproc.c remoteproc: k3-r5: Add support for IPC-only mode for all R5Fs 2022-03-11 14:31:55 -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