Re: [PATCH v2 1/3] soc: qcom: llcc: Pass SoC specific EDAC register offsets to EDAC driver
From: Manivannan Sadhasivam
Date: Tue Aug 23 2022 - 13:45:09 EST
On Mon, Aug 22, 2022 at 05:29:13PM +0530, Sai Prakash Ranjan wrote:
> Hi Mani,
>
> On 8/12/2022 11:36 AM, Manivannan Sadhasivam wrote:
> > The LLCC EDAC register offsets varies between each SoCs. Until now, the
> > EDAC driver used the hardcoded register offsets. But this caused crash
> > on SM8450 SoC where the register offsets has been changed.
> >
> > So to avoid this crash and also to make it easy to accomodate changes for
> > new SoCs, let's pass the SoC specific register offsets to the EDAC driver.
> >
> > Currently, two set of offsets are used. One is SM8450 specific and another
> > one is common to all SoCs.
> >
> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
>
> <snip> ...
>
> > static const struct qcom_llcc_config sm8350_cfg = {
> > @@ -309,6 +370,7 @@ static const struct qcom_llcc_config sm8350_cfg = {
> > .size = ARRAY_SIZE(sm8350_data),
> > .need_llcc_cfg = true,
> > .reg_offset = llcc_v1_2_reg_offset,
> > + .edac_reg = &common_edac_reg,
> > };
> > static const struct qcom_llcc_config sm8450_cfg = {
> > @@ -316,6 +378,7 @@ static const struct qcom_llcc_config sm8450_cfg = {
> > .size = ARRAY_SIZE(sm8450_data),
> > .need_llcc_cfg = true,
> > .reg_offset = llcc_v21_reg_offset,
> > + .edac_reg = &sm8450_edac_reg,
> > };
> >
>
> Can we have LLCC version specific register offsets instead of SoC specific similar to reg_offset callbacks?
> For SM8450, it would be llcc_v21_edac_reg and for others llcc_v1_2_edac_reg instead of common_edac_reg.
> common_edac_reg is very general and is not exactly common for all, its just common for SoCs with same LLCC.
>
I thought about it but I was not sure if rest of the SoCs are using version
v1.2. I know that reg_offset uses v1.2 but I was skeptical and hence used the
SoC specific offsets.
Can you confirm if rest of the SoCs are using v1.2?
Thanks,
Mani
> Version based is more applicable as multiple SoCs might use same LLCC versions and would reduce SoC specific data
> which would be needed for every SoC in case some newer LLCC comes out. I know you could just call sm8450_edac_reg
> for lets say sm8550 or so on to reduce duplication but that won't look good.
>
>
> Thanks,
> Sai
--
மணிவண்ணன் சதாசிவம்