Message ID | 20230506-msm8226-ocmem-v1-1-3e24e2724f01@z3ntu.xyz (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add MSM8226 OCMEM support plus some extra OCMEM driver fixes | expand |
On 7.05.2023 11:12, Luca Weiss wrote: > Since we're using these two macros to read a value from a register, we > need to use the FIELD_GET instead of the FIELD_PREP macro, otherwise > we're getting wrong values. > > So instead of: > > [ 3.111779] ocmem fdd00000.sram: 2 ports, 1 regions, 512 macros, not interleaved > > we now get the correct value of: > > [ 3.129672] ocmem fdd00000.sram: 2 ports, 1 regions, 2 macros, not interleaved > > Fixes: 88c1e9404f1d ("soc: qcom: add OCMEM driver") > Signed-off-by: Luca Weiss <luca@z3ntu.xyz> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > drivers/soc/qcom/ocmem.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/soc/qcom/ocmem.c b/drivers/soc/qcom/ocmem.c > index 199fe9872035..c3e78411c637 100644 > --- a/drivers/soc/qcom/ocmem.c > +++ b/drivers/soc/qcom/ocmem.c > @@ -76,8 +76,8 @@ struct ocmem { > #define OCMEM_REG_GFX_MPU_START 0x00001004 > #define OCMEM_REG_GFX_MPU_END 0x00001008 > > -#define OCMEM_HW_PROFILE_NUM_PORTS(val) FIELD_PREP(0x0000000f, (val)) > -#define OCMEM_HW_PROFILE_NUM_MACROS(val) FIELD_PREP(0x00003f00, (val)) > +#define OCMEM_HW_PROFILE_NUM_PORTS(val) FIELD_GET(0x0000000f, (val)) > +#define OCMEM_HW_PROFILE_NUM_MACROS(val) FIELD_GET(0x00003f00, (val)) > > #define OCMEM_HW_PROFILE_LAST_REGN_HALFSIZE 0x00010000 > #define OCMEM_HW_PROFILE_INTERLEAVING 0x00020000 >
On 07/05/2023 10:12, Luca Weiss wrote: > Since we're using these two macros to read a value from a register, we > need to use the FIELD_GET instead of the FIELD_PREP macro, otherwise > we're getting wrong values. > > So instead of: > > [ 3.111779] ocmem fdd00000.sram: 2 ports, 1 regions, 512 macros, not interleaved > > we now get the correct value of: > > [ 3.129672] ocmem fdd00000.sram: 2 ports, 1 regions, 2 macros, not interleaved > > Fixes: 88c1e9404f1d ("soc: qcom: add OCMEM driver") > Signed-off-by: Luca Weiss <luca@z3ntu.xyz> Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org> > --- > drivers/soc/qcom/ocmem.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/soc/qcom/ocmem.c b/drivers/soc/qcom/ocmem.c > index 199fe9872035..c3e78411c637 100644 > --- a/drivers/soc/qcom/ocmem.c > +++ b/drivers/soc/qcom/ocmem.c > @@ -76,8 +76,8 @@ struct ocmem { > #define OCMEM_REG_GFX_MPU_START 0x00001004 > #define OCMEM_REG_GFX_MPU_END 0x00001008 > > -#define OCMEM_HW_PROFILE_NUM_PORTS(val) FIELD_PREP(0x0000000f, (val)) > -#define OCMEM_HW_PROFILE_NUM_MACROS(val) FIELD_PREP(0x00003f00, (val)) > +#define OCMEM_HW_PROFILE_NUM_PORTS(val) FIELD_GET(0x0000000f, (val)) > +#define OCMEM_HW_PROFILE_NUM_MACROS(val) FIELD_GET(0x00003f00, (val)) > > #define OCMEM_HW_PROFILE_LAST_REGN_HALFSIZE 0x00010000 > #define OCMEM_HW_PROFILE_INTERLEAVING 0x00020000 >
diff --git a/drivers/soc/qcom/ocmem.c b/drivers/soc/qcom/ocmem.c index 199fe9872035..c3e78411c637 100644 --- a/drivers/soc/qcom/ocmem.c +++ b/drivers/soc/qcom/ocmem.c @@ -76,8 +76,8 @@ struct ocmem { #define OCMEM_REG_GFX_MPU_START 0x00001004 #define OCMEM_REG_GFX_MPU_END 0x00001008 -#define OCMEM_HW_PROFILE_NUM_PORTS(val) FIELD_PREP(0x0000000f, (val)) -#define OCMEM_HW_PROFILE_NUM_MACROS(val) FIELD_PREP(0x00003f00, (val)) +#define OCMEM_HW_PROFILE_NUM_PORTS(val) FIELD_GET(0x0000000f, (val)) +#define OCMEM_HW_PROFILE_NUM_MACROS(val) FIELD_GET(0x00003f00, (val)) #define OCMEM_HW_PROFILE_LAST_REGN_HALFSIZE 0x00010000 #define OCMEM_HW_PROFILE_INTERLEAVING 0x00020000
Since we're using these two macros to read a value from a register, we need to use the FIELD_GET instead of the FIELD_PREP macro, otherwise we're getting wrong values. So instead of: [ 3.111779] ocmem fdd00000.sram: 2 ports, 1 regions, 512 macros, not interleaved we now get the correct value of: [ 3.129672] ocmem fdd00000.sram: 2 ports, 1 regions, 2 macros, not interleaved Fixes: 88c1e9404f1d ("soc: qcom: add OCMEM driver") Signed-off-by: Luca Weiss <luca@z3ntu.xyz> --- drivers/soc/qcom/ocmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)