[v5,0/3] Fix crash when using Qcom LLCC/EDAC drivers

Message ID 20221129071201.30024-1-manivannan.sadhasivam@linaro.org
Headers
Series Fix crash when using Qcom LLCC/EDAC drivers |

Message

Manivannan Sadhasivam Nov. 29, 2022, 7:11 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 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 (3):
  soc: qcom: Select REMAP_MMIO for LLCC driver
  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 ++++++++++++++---------------
 drivers/soc/qcom/Kconfig           |   1 +
 include/linux/soc/qcom/llcc-qcom.h |   6 --
 3 files changed, 60 insertions(+), 66 deletions(-)
  

Comments

Bjorn Andersson Dec. 6, 2022, 6:19 p.m. UTC | #1
On Tue, 29 Nov 2022 12:41:58 +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/3] soc: qcom: Select REMAP_MMIO for LLCC driver
      commit: 5d2fe2d7b616b8baa18348ead857b504fc2de336

Best regards,
  
Manivannan Sadhasivam Jan. 14, 2023, 7:14 a.m. UTC | #2
On Tue, Nov 29, 2022 at 12:41:58PM +0530, Manivannan Sadhasivam wrote:
> 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.
> 

Ping! Since there is another LLCC/EDAC series under review, it would be good to
merge both into a single tree (which is qcom one I believe).

Thanks,
Mani

> Thanks,
> Mani
> 
> 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 (3):
>   soc: qcom: Select REMAP_MMIO for LLCC driver
>   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 ++++++++++++++---------------
>  drivers/soc/qcom/Kconfig           |   1 +
>  include/linux/soc/qcom/llcc-qcom.h |   6 --
>  3 files changed, 60 insertions(+), 66 deletions(-)
> 
> -- 
> 2.25.1
>