mbox series

[v8,0/2] Fix crash when using Qcom LLCC/EDAC drivers

Message ID 20230517114635.76358-1-manivannan.sadhasivam@linaro.org (mailing list archive)
Headers show
Series Fix crash when using Qcom LLCC/EDAC drivers | expand

Message

Manivannan Sadhasivam May 17, 2023, 11:46 a.m. UTC
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

Changes in v8:

* Collected Ack
* Modified the patch 1/2 to remove the ret variable initialization

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 superfluous return variable assignment in
    qcom_llcc_core_setup()
  EDAC/qcom: Get rid of hardcoded register offsets

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

Comments

Bjorn Andersson May 27, 2023, 4 a.m. UTC | #1
On Wed, 17 May 2023 17:16:33 +0530, Manivannan Sadhasivam wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/2] EDAC/qcom: Remove superfluous return variable assignment in qcom_llcc_core_setup()
      commit: 3d49f7406b5d9822c1411c6658bac2ae55ba19a2
[2/2] EDAC/qcom: Get rid of hardcoded register offsets
      commit: cbd77119b6355872cd308a60e99f9ca678435d15

Best regards,