mirror-linux/drivers/memory/tegra
Ashish Mhetre e665b93469 memory: tegra: Remove clients SID override programming
[ Upstream commit ef86b2c280 ]

On newer Tegra releases, early boot SID override programming and SID
override programming during resume is handled by bootloader.
In the function tegra186_mc_program_sid() which is getting removed, SID
override register of all clients is written without checking if secure
firmware has allowed write on it or not. If write is disabled by secure
firmware then it can lead to errors coming from secure firmware and hang
in kernel boot.
Also, SID override is programmed on-demand during probe_finalize() call
of IOMMU which is done in tegra186_mc_client_sid_override() in this same
file. This function does it correctly by checking if write is permitted
on SID override register. It also checks if SID override register is
already written with correct value and skips re-writing it in that case.

Fixes: 393d66fd2c ("memory: tegra: Implement SID override programming")
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20221125040752.12627-1-amhetre@nvidia.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-02-01 08:34:02 +01:00
..
Kconfig memory: tegra30-emc: Print additional memory info 2022-01-27 10:40:34 +01:00
Makefile memory: tegra: Add Tegra234 support 2022-05-09 10:46:00 +02:00
mc.c Memory controller drivers for v5.19 - Tegra SoC 2022-05-09 23:12:50 +02:00
mc.h memory: tegra: Add MC error logging on Tegra186 onward 2022-05-09 10:46:14 +02:00
tegra20-emc.c memory: tegra20-emc: Correct memory device mask 2022-01-27 10:40:35 +01:00
tegra20.c memory: tegra: Parameterize interrupt handler 2021-06-03 21:49:41 +02:00
tegra30-emc.c memory: tegra30-emc: Print additional memory info 2022-01-27 10:40:34 +01:00
tegra30.c memory: tegra: Extract setup code into callback 2021-06-03 21:49:41 +02:00
tegra114.c memory: tegra: Extract setup code into callback 2021-06-03 21:49:41 +02:00
tegra124-emc.c OPP: Migrate set-supported-hw API to use set-config helpers 2022-07-08 11:27:48 +05:30
tegra124.c memory: tegra: Extract setup code into callback 2021-06-03 21:49:41 +02:00
tegra186-emc.c memory: tegra: Add Tegra234 support 2022-05-09 10:46:00 +02:00
tegra186.c memory: tegra: Remove clients SID override programming 2023-02-01 08:34:02 +01:00
tegra194.c memory: tegra: Add MC error logging on Tegra186 onward 2022-05-09 10:46:14 +02:00
tegra210-emc-cc-r21021.c memory: tegra: make the array list static const, makes object smaller 2021-09-15 09:31:19 +02:00
tegra210-emc-core.c memory: tegra: Constify struct thermal_cooling_device_ops 2022-01-27 10:41:54 +01:00
tegra210-emc-table.c memory: tegra: Support derated timings on Tegra210 2020-06-22 13:54:57 +02:00
tegra210-emc.h memory: tegra: Drop <linux/clk-provider.h> 2020-06-22 13:54:58 +02:00
tegra210-mc.h memory: tegra: Add EMC scaling support code for Tegra210 2020-06-22 13:54:57 +02:00
tegra210.c memory: tegra: Extract setup code into callback 2021-06-03 21:49:41 +02:00
tegra234.c memory: tegra: Add MGBE memory clients for Tegra234 2022-07-08 10:29:40 +02:00