[PATCH v7 0/2] Fix crash when using Qcom LLCC/EDAC drivers

From: Manivannan Sadhasivam
Date: Wed May 17 2023 - 02:24:47 EST


Hello,

This series fixes the crash seen on the Qualcomm SM8450 chipset with the
LLCC/EDAC drivers. The problem was due to the Qcom EDAC driver using the
fixed LLCC register offsets for detecting the LLCC errors.

This seems to have worked for SoCs till SM8450. But in SM8450, the LLCC
register offsets were changed. So accessing the fixed offsets causes the
crash on this platform.

So for fixing this issue, and also to make it work on future SoCs, let's
pass the LLCC offsets from the Qcom LLCC driver based on the individual
SoCs and let the EDAC driver make use of them.

This series has been tested on SM8450 based dev board.

Thanks,
Mani

[1] https://lore.kernel.org/linux-arm-msm/20230314053725.13623-1-manivannan.sadhasivam@xxxxxxxxxx/

Changes in v7:

* Rebased on top of v6.4-rc1

Changes in v6:

* Rebased on top of v6.3-rc1
* Dropped the Kconfig patch that got applied

Changes in v5:

* Added fixes tag and CCed stable mentioning the dependency
* Added a patch to fix the build error with COMPILE_TEST

Changes in v4:

* Dropped the patches that were already applied
* Rebased on top of v6.1-rc5

Changes in v3:

* Instead of using SoC specific register offset naming convention, used
LLCC version based as suggested by Sai
* Fixed the existing reg_offset naming convention to clearly represent
the LLCC version from which the offsets were changed
* Added Sai's Acked-by to MAINTAINERS patch
* Added a new patch that removes an extra error no assignment

Changes in v2:

* Volunteered myself as a maintainer for the EDAC driver since the current
maintainers have left Qualcomm and I couldn't get hold of them.

Manivannan Sadhasivam (2):
EDAC/qcom: Remove extra error no assignment in qcom_llcc_core_setup()
EDAC/qcom: Get rid of hardcoded register offsets

drivers/edac/qcom_edac.c | 119 ++++++++++++++---------------
include/linux/soc/qcom/llcc-qcom.h | 6 --
2 files changed, 59 insertions(+), 66 deletions(-)

--
2.25.1