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@xxxxxxxxx> Reviewed-by: Caleb Connolly <caleb.connolly@xxxxxxxxxx> > --- > 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 > -- Kind Regards, Caleb (they/them)