On 6/16/25 15:11, Ilias Apalodimas wrote:
> Hi Jerome,
> 
> [...]
> 
>>
>> If I'm not mistaken, this patch is doing two things that are unrelated:
>> (1) fix the KVM issue and
>> (2) get rid of the __arch_*() macros in favor of the __raw_*() macros
> 
> I can split it, but I don't see much point since we redefine the raw_macros.

Just to make it easier to review.

> 
>>
>> IMO this should be two separate patches.
>>
>>>
>>>  /*
>>>   * The compiler seems to be incapable of optimising constants
>>> diff --git a/drivers/spi/fsl_dspi.c b/drivers/spi/fsl_dspi.c
>>> index f2393c041f44..545561ad1169 100644
>>> --- a/drivers/spi/fsl_dspi.c
>>> +++ b/drivers/spi/fsl_dspi.c
>>> @@ -123,8 +123,10 @@ static uint dspi_read32(uint flags, uint *addr)
>>>
>>>  static void dspi_write32(uint flags, uint *addr, uint val)
>>>  {
>>> -     flags & DSPI_FLAG_REGMAP_ENDIAN_BIG ?
>>> -             out_be32(addr, val) : out_le32(addr, val);
>>> +     if (flags & DSPI_FLAG_REGMAP_ENDIAN_BIG)
>>> +             out_be32(addr, val);
>>> +     else
>>> +             out_le32(addr, val);
>>>  }
>>
>> Unrelated change
> 
> Due to the the new do {} while(0) macro this doesn't compile, so it
> needs to go together.

If you make all the __raw_*() macros compound litterals, i.e., ({ ... })
it should not be necessary I think.

> 
>>
>>>
>>>  static void dspi_halt(struct fsl_dspi_priv *priv, u8 halt)
>>> diff --git a/include/fsl_ifc.h b/include/fsl_ifc.h
>>> index 3ac226879303..1c363115beb2 100644
>>> --- a/include/fsl_ifc.h
>>> +++ b/include/fsl_ifc.h
>>> @@ -803,29 +803,29 @@ void init_final_memctl_regs(void);
>>>       ((struct fsl_ifc_fcm *)CFG_SYS_IFC_ADDR)
>>>
>>>  #define get_ifc_cspr_ext(i)  \
>>> -             (ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext))
>>> +             ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext)
>>>  #define get_ifc_cspr(i)              \
>>> -             (ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr))
>>> +             ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr)
>>>  #define get_ifc_csor_ext(i)  \
>>> -             (ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext))
>>> +             ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext)
>>>  #define get_ifc_csor(i)              \
>>> -             (ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor))
>>> +             ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor)
>>>  #define get_ifc_amask(i)     \
>>> -             (ifc_in32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask))
>>> +             ifc_in32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask)
>>>  #define get_ifc_ftim(i, j)   \
>>> -             (ifc_in32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j]))
>>> +             ifc_in32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j])
>>>  #define set_ifc_cspr_ext(i, v)       \
>>> -             (ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext, v))
>>> +             ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext, v)
>>>  #define set_ifc_cspr(i, v)   \
>>> -             (ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr, v))
>>> +             ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr, v)
>>>  #define set_ifc_csor_ext(i, v)       \
>>> -             (ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext, v))
>>> +             ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext, v)
>>>  #define set_ifc_csor(i, v)   \
>>> -             (ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor, v))
>>> +             ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor, v)
>>>  #define set_ifc_amask(i, v)  \
>>> -             (ifc_out32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask, v))
>>> +             ifc_out32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask, v)
>>>  #define set_ifc_ftim(i, j, v)        \
>>> -             (ifc_out32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j], v))
>>> +             ifc_out32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j], v)
>>
>> Same.
> 
> Same here, both of the changes are needed
> 
> Thanks
> /Ilias
>>
>>>
>>>  enum ifc_chip_sel {
>>>       IFC_CS0,
>>> --
>>> 2.43.0
>>>
>>
>> Thanks,
>> --
>> Jerome

Reply via email to