[PATCH] libqos: usb-hcd-ehci: use 32-bit write for config register

Paolo Bonzini posted 1 patch 3 years, 10 months ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200623161852.19477-2-pbonzini@redhat.com
Maintainers: Thomas Huth <thuth@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Laurent Vivier <lvivier@redhat.com>
tests/qtest/usb-hcd-ehci-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] libqos: usb-hcd-ehci: use 32-bit write for config register
Posted by Paolo Bonzini 3 years, 10 months ago
The memory region ops have min_access_size == 4 so obey it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/qtest/usb-hcd-ehci-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qtest/usb-hcd-ehci-test.c b/tests/qtest/usb-hcd-ehci-test.c
index 5251d539e9..c51e8bb223 100644
--- a/tests/qtest/usb-hcd-ehci-test.c
+++ b/tests/qtest/usb-hcd-ehci-test.c
@@ -96,7 +96,7 @@ static void pci_ehci_port_1(void)
 static void pci_ehci_config(void)
 {
     /* hands over all ports from companion uhci to ehci */
-    qpci_io_writew(ehci1.dev, ehci1.bar, 0x60, 1);
+    qpci_io_writel(ehci1.dev, ehci1.bar, 0x60, 1);
 }
 
 static void pci_uhci_port_2(void)
-- 
2.26.2


Re: [PATCH] libqos: usb-hcd-ehci: use 32-bit write for config register
Posted by Thomas Huth 3 years, 10 months ago
On 23/06/2020 18.18, Paolo Bonzini wrote:
> The memory region ops have min_access_size == 4 so obey it.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   tests/qtest/usb-hcd-ehci-test.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/qtest/usb-hcd-ehci-test.c b/tests/qtest/usb-hcd-ehci-test.c
> index 5251d539e9..c51e8bb223 100644
> --- a/tests/qtest/usb-hcd-ehci-test.c
> +++ b/tests/qtest/usb-hcd-ehci-test.c
> @@ -96,7 +96,7 @@ static void pci_ehci_port_1(void)
>   static void pci_ehci_config(void)
>   {
>       /* hands over all ports from companion uhci to ehci */
> -    qpci_io_writew(ehci1.dev, ehci1.bar, 0x60, 1);
> +    qpci_io_writel(ehci1.dev, ehci1.bar, 0x60, 1);
>   }
>   
>   static void pci_uhci_port_2(void)

Passes "make check-qtest-x86_64" on a s390x host, too:

Tested-by: Thomas Huth <thuth@redhat.com>


Re: [PATCH] libqos: usb-hcd-ehci: use 32-bit write for config register
Posted by Paolo Bonzini 3 years, 10 months ago
On 24/06/20 09:47, Thomas Huth wrote:
>>
>>   {
>>       /* hands over all ports from companion uhci to ehci */
>> -    qpci_io_writew(ehci1.dev, ehci1.bar, 0x60, 1);
>> +    qpci_io_writel(ehci1.dev, ehci1.bar, 0x60, 1);
>>   }
>>     static void pci_uhci_port_2(void)
> 
> Passes "make check-qtest-x86_64" on a s390x host, too:
> 
> Tested-by: Thomas Huth <thuth@redhat.com>

Ah, I see what you mean now, so I'll clarify.  Endianness is handled by
the memory core and libqos so for little-endian devices (such as PCI
devices) it's okay.  For big-endian using the wrong size would not work,
but it should fail the same on LE and BE hosts.  endianness-test checks
that.

Paolo


Re: [PATCH] libqos: usb-hcd-ehci: use 32-bit write for config register
Posted by Michael S. Tsirkin 3 years, 10 months ago
On Tue, Jun 23, 2020 at 12:18:52PM -0400, Paolo Bonzini wrote:
> The memory region ops have min_access_size == 4 so obey it.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Makes sense.

Acked-by: Michael S. Tsirkin <mst@redhat.com>

I assume you are queueing this with the memory core change.

> ---
>  tests/qtest/usb-hcd-ehci-test.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/qtest/usb-hcd-ehci-test.c b/tests/qtest/usb-hcd-ehci-test.c
> index 5251d539e9..c51e8bb223 100644
> --- a/tests/qtest/usb-hcd-ehci-test.c
> +++ b/tests/qtest/usb-hcd-ehci-test.c
> @@ -96,7 +96,7 @@ static void pci_ehci_port_1(void)
>  static void pci_ehci_config(void)
>  {
>      /* hands over all ports from companion uhci to ehci */
> -    qpci_io_writew(ehci1.dev, ehci1.bar, 0x60, 1);
> +    qpci_io_writel(ehci1.dev, ehci1.bar, 0x60, 1);
>  }
>  
>  static void pci_uhci_port_2(void)
> -- 
> 2.26.2


Re: [PATCH] libqos: usb-hcd-ehci: use 32-bit write for config register
Posted by Paolo Bonzini 3 years, 10 months ago
On 23/06/20 22:56, Michael S. Tsirkin wrote:
> On Tue, Jun 23, 2020 at 12:18:52PM -0400, Paolo Bonzini wrote:
>> The memory region ops have min_access_size == 4 so obey it.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> 
> Makes sense.
> 
> Acked-by: Michael S. Tsirkin <mst@redhat.com>
> 
> I assume you are queueing this with the memory core change.

Yes, I am.

Paolo

>> ---
>>  tests/qtest/usb-hcd-ehci-test.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tests/qtest/usb-hcd-ehci-test.c b/tests/qtest/usb-hcd-ehci-test.c
>> index 5251d539e9..c51e8bb223 100644
>> --- a/tests/qtest/usb-hcd-ehci-test.c
>> +++ b/tests/qtest/usb-hcd-ehci-test.c
>> @@ -96,7 +96,7 @@ static void pci_ehci_port_1(void)
>>  static void pci_ehci_config(void)
>>  {
>>      /* hands over all ports from companion uhci to ehci */
>> -    qpci_io_writew(ehci1.dev, ehci1.bar, 0x60, 1);
>> +    qpci_io_writel(ehci1.dev, ehci1.bar, 0x60, 1);
>>  }
>>  
>>  static void pci_uhci_port_2(void)
>> -- 
>> 2.26.2
>