Re: [PATCH for-5.2 04/19] aspeed/scu: Fix valid access size on AST2400

2020-08-06 Thread Joel Stanley
On Thu, 6 Aug 2020 at 13:21, Cédric Le Goater  wrote:
>
> The read access size of the SCU registers can be 1/2/4 bytes and write
> is 4 bytes. Set the min access size to 1 byte to cover both read and
> write operations on the AST2400 but keep the min access size of the
> other SoCs to 4 bytes as this is an unusual access size.
>
> This fixes support for some old firmware doing 2 bytes reads on the
> AST2400 SoC.
>
> Reported-by: erik-smit 
> Signed-off-by: Cédric Le Goater 

Reviewed-by: Joel Stanley 

> ---
>  hw/misc/aspeed_scu.c | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c
> index ec4fef900e27..764222404bef 100644
> --- a/hw/misc/aspeed_scu.c
> +++ b/hw/misc/aspeed_scu.c
> @@ -328,9 +328,10 @@ static const MemoryRegionOps aspeed_ast2400_scu_ops = {
>  .read = aspeed_scu_read,
>  .write = aspeed_ast2400_scu_write,
>  .endianness = DEVICE_LITTLE_ENDIAN,
> -.valid.min_access_size = 4,
> -.valid.max_access_size = 4,
> -.valid.unaligned = false,
> +.valid = {
> +.min_access_size = 1,
> +.max_access_size = 4,
> +},
>  };
>
>  static const MemoryRegionOps aspeed_ast2500_scu_ops = {
> --
> 2.25.4
>



Re: [PATCH for-5.2 04/19] aspeed/scu: Fix valid access size on AST2400

2020-08-06 Thread Philippe Mathieu-Daudé
On 8/6/20 3:49 PM, Cédric Le Goater wrote:
> On 8/6/20 3:32 PM, Philippe Mathieu-Daudé wrote:
>> On 8/6/20 3:20 PM, Cédric Le Goater wrote:
>>> The read access size of the SCU registers can be 1/2/4 bytes and write
>>> is 4 bytes. Set the min access size to 1 byte to cover both read and
>>> write operations on the AST2400 but keep the min access size of the
>>> other SoCs to 4 bytes as this is an unusual access size.
>>
>> From your description it seems you need to implement .valid.accepts().
> 
> Ah yes. 
> 
> Can this come as a follow up ? because this patch is enabling
> support for the Supermicro X11 BMC machine.

This is certainly not a blocker, so up to you :)

> 
> Thanks,
> 
> C. 
> 
> 
>>
>>>
>>> This fixes support for some old firmware doing 2 bytes reads on the
>>> AST2400 SoC.
>>>
>>> Reported-by: erik-smit 
>>> Signed-off-by: Cédric Le Goater 
>>> ---
>>>  hw/misc/aspeed_scu.c | 7 ---
>>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c
>>> index ec4fef900e27..764222404bef 100644
>>> --- a/hw/misc/aspeed_scu.c
>>> +++ b/hw/misc/aspeed_scu.c
>>> @@ -328,9 +328,10 @@ static const MemoryRegionOps aspeed_ast2400_scu_ops = {
>>>  .read = aspeed_scu_read,
>>>  .write = aspeed_ast2400_scu_write,
>>>  .endianness = DEVICE_LITTLE_ENDIAN,
>>> -.valid.min_access_size = 4,
>>> -.valid.max_access_size = 4,
>>> -.valid.unaligned = false,
>>> +.valid = {
>>> +.min_access_size = 1,
>>> +.max_access_size = 4,
>>> +},
>>>  };
>>>  
>>>  static const MemoryRegionOps aspeed_ast2500_scu_ops = {
>>>
>>
> 
> 



Re: [PATCH for-5.2 04/19] aspeed/scu: Fix valid access size on AST2400

2020-08-06 Thread Cédric Le Goater
On 8/6/20 3:32 PM, Philippe Mathieu-Daudé wrote:
> On 8/6/20 3:20 PM, Cédric Le Goater wrote:
>> The read access size of the SCU registers can be 1/2/4 bytes and write
>> is 4 bytes. Set the min access size to 1 byte to cover both read and
>> write operations on the AST2400 but keep the min access size of the
>> other SoCs to 4 bytes as this is an unusual access size.
> 
> From your description it seems you need to implement .valid.accepts().

Ah yes. 

Can this come as a follow up ? because this patch is enabling
support for the Supermicro X11 BMC machine.

Thanks,

C. 


> 
>>
>> This fixes support for some old firmware doing 2 bytes reads on the
>> AST2400 SoC.
>>
>> Reported-by: erik-smit 
>> Signed-off-by: Cédric Le Goater 
>> ---
>>  hw/misc/aspeed_scu.c | 7 ---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c
>> index ec4fef900e27..764222404bef 100644
>> --- a/hw/misc/aspeed_scu.c
>> +++ b/hw/misc/aspeed_scu.c
>> @@ -328,9 +328,10 @@ static const MemoryRegionOps aspeed_ast2400_scu_ops = {
>>  .read = aspeed_scu_read,
>>  .write = aspeed_ast2400_scu_write,
>>  .endianness = DEVICE_LITTLE_ENDIAN,
>> -.valid.min_access_size = 4,
>> -.valid.max_access_size = 4,
>> -.valid.unaligned = false,
>> +.valid = {
>> +.min_access_size = 1,
>> +.max_access_size = 4,
>> +},
>>  };
>>  
>>  static const MemoryRegionOps aspeed_ast2500_scu_ops = {
>>
> 




Re: [PATCH for-5.2 04/19] aspeed/scu: Fix valid access size on AST2400

2020-08-06 Thread Philippe Mathieu-Daudé
On 8/6/20 3:20 PM, Cédric Le Goater wrote:
> The read access size of the SCU registers can be 1/2/4 bytes and write
> is 4 bytes. Set the min access size to 1 byte to cover both read and
> write operations on the AST2400 but keep the min access size of the
> other SoCs to 4 bytes as this is an unusual access size.

>From your description it seems you need to implement .valid.accepts().

> 
> This fixes support for some old firmware doing 2 bytes reads on the
> AST2400 SoC.
> 
> Reported-by: erik-smit 
> Signed-off-by: Cédric Le Goater 
> ---
>  hw/misc/aspeed_scu.c | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c
> index ec4fef900e27..764222404bef 100644
> --- a/hw/misc/aspeed_scu.c
> +++ b/hw/misc/aspeed_scu.c
> @@ -328,9 +328,10 @@ static const MemoryRegionOps aspeed_ast2400_scu_ops = {
>  .read = aspeed_scu_read,
>  .write = aspeed_ast2400_scu_write,
>  .endianness = DEVICE_LITTLE_ENDIAN,
> -.valid.min_access_size = 4,
> -.valid.max_access_size = 4,
> -.valid.unaligned = false,
> +.valid = {
> +.min_access_size = 1,
> +.max_access_size = 4,
> +},
>  };
>  
>  static const MemoryRegionOps aspeed_ast2500_scu_ops = {
>