android_kernel_samsung_sm8650/drivers/soc
Manivannan Sadhasivam 4b3ec6b6ff qcom: llcc/edac: Fix the base address used for accessing LLCC banks
[ Upstream commit ee13b5008707948d3052c1b5aab485c6cd53658e ]

The Qualcomm LLCC/EDAC drivers were using a fixed register stride for
accessing the (Control and Status Registers) CSRs of each LLCC bank.
This stride only works for some SoCs like SDM845 for which driver
support was initially added.

But the later SoCs use different register stride that vary between the
banks with holes in-between. So it is not possible to use a single register
stride for accessing the CSRs of each bank. By doing so could result in a
crash.

For fixing this issue, let's obtain the base address of each LLCC bank from
devicetree and get rid of the fixed stride. This also means, there is no
need to rely on reg-names property and the base addresses can be obtained
using the index.

First index is LLCC bank 0 and last index is LLCC broadcast. If the SoC
supports more than one bank, then those need to be defined in devicetree
for index from 1..N-1.

Reported-by: Parikshit Pareek <quic_ppareek@quicinc.com>
Tested-by: Luca Weiss <luca.weiss@fairphone.com>
Tested-by: Steev Klimaszewski <steev@kali.org> # Thinkpad X13s
Tested-by: Andrew Halaney <ahalaney@redhat.com> # sa8540p-ride
Reviewed-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230314080443.64635-13-manivannan.sadhasivam@linaro.org
Stable-dep-of: cbd77119b635 ("EDAC/qcom: Get rid of hardcoded register offsets")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-06-21 16:00:51 +02:00
..
actions
amlogic soc: amlogic: meson-pwrc: Hold reference returned by of_get_parent() 2022-09-05 09:23:54 +02:00
apple soc: apple: rtkit: Stop casting function pointer signatures 2022-12-31 13:31:53 +01:00
aspeed soc: aspeed: lpc-ctrl: Block error printing on probe defer cases 2022-02-08 09:52:59 +01:00
atmel ARM: at91: fix soc detection for SAM9X60 SiPs 2022-06-28 12:55:32 +03:00
bcm soc: bcm: brcmstb: biuctrl: fix of_iomap leak 2023-05-11 23:03:12 +09:00
canaan riscv: canaan: remove useless select of non-existing config SYSCON 2022-01-20 09:35:11 -08:00
dove
fsl Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-08 18:38:30 +02:00
fujitsu soc: a64fx-diag: disable modular build 2022-07-20 17:58:18 +02:00
gemini
imx soc: imx8m: Fix incorrect check for of_clk_get_by_name() 2023-02-01 08:34:05 +01:00
ixp4xx soc: ixp4xx/npe: Fix unused match warning 2022-07-01 15:14:26 +02:00
lantiq
litex
mediatek soc: mediatek: mtk-svs: keep svs alive if CONFIG_DEBUG_FS not supported 2023-03-22 13:33:53 +01:00
microchip ARM driver updates for 5.18 2022-03-23 18:23:13 -07:00
pxa pxa: Drop if with an always false condition 2022-09-26 12:40:11 +02:00
qcom qcom: llcc/edac: Fix the base address used for accessing LLCC banks 2023-06-21 16:00:51 +02:00
renesas soc: renesas: renesas-soc: Release 'chipid' from ioremap() 2023-05-11 23:03:12 +09:00
rockchip soc: rockchip: power-domain: add power domain support for rk3588 2022-09-09 19:06:41 +02:00
samsung MAINTAINERS: update Krzysztof Kozlowski's email 2022-03-07 23:46:03 +01:00
sifive soc: sifive: ccache: fix missing of_node_put() in sifive_ccache_init() 2022-12-31 13:31:50 +01:00
sunxi soc: sunxi: sram: Add support for the D1 system control 2022-09-18 22:54:38 +02:00
tegra soc/tegra: cbb: Check firewall before enabling error reporting 2022-12-31 13:31:50 +01:00
ti soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe 2023-05-11 23:03:07 +09:00
ux500 ARM: ux500: do not directly dereference __iomem 2023-01-07 11:11:38 +01:00
versatile
xilinx driver: soc: xilinx: fix memory leak in xlnx_add_cb_for_notify_event() 2023-03-11 13:55:16 +01:00
Kconfig soc: fujitsu: Add A64FX diagnostic interrupt driver 2022-07-18 13:37:08 +02:00
Makefile soc: fujitsu: Add A64FX diagnostic interrupt driver 2022-07-18 13:37:08 +02:00