mbox series

[v2,0/3] dwc3: gadget: properly fix cache operations

Message ID 20240724-u-boot-dwc3-gadget-dcache-fixup-v2-0-65836d699a71@linaro.org
Headers show
Series dwc3: gadget: properly fix cache operations | expand

Message

Neil Armstrong July 24, 2024, 3:48 p.m. UTC
We experience huge problems with cache handling on Qualcomm
systems, and it appears the dcache handling in the DWC3 gadget
code is quite wrong and causes operational issues.

This serie fixes the dcache operations on unaligned data,
and properly invalidate buffers when reading back data from
hardware.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Changes in v2:
- Fix typo in drivers/usb/dwc3/core.h and rewrite patch 1 commit message
- Link to v1: https://lore.kernel.org/r/20240719-u-boot-dwc3-gadget-dcache-fixup-v1-0-58a5f026ea8e@linaro.org

---
Neil Armstrong (3):
      usb: dwc3: allocate setup_buf with dma_alloc_coherent()
      usb: dwc3: fix dcache flush range calculation
      usb: dwc3: invalidate dcache on buffer used in interrupt handling

 drivers/usb/dwc3/core.h   |  2 ++
 drivers/usb/dwc3/ep0.c    |  6 ++++--
 drivers/usb/dwc3/gadget.c | 10 ++++++----
 drivers/usb/dwc3/io.h     | 13 ++++++++++++-
 4 files changed, 24 insertions(+), 7 deletions(-)
---
base-commit: 3f772959501c99fbe5aa0b22a36efe3478d1ae1c
change-id: 20240719-u-boot-dwc3-gadget-dcache-fixup-ea1e92758663

Best regards,

Comments

Neil Armstrong Oct. 1, 2024, 2:43 p.m. UTC | #1
Hi,

On 24/07/2024 17:48, Neil Armstrong wrote:
> We experience huge problems with cache handling on Qualcomm
> systems, and it appears the dcache handling in the DWC3 gadget
> code is quite wrong and causes operational issues.
> 
> This serie fixes the dcache operations on unaligned data,
> and properly invalidate buffers when reading back data from
> hardware.
> 
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
> Changes in v2:
> - Fix typo in drivers/usb/dwc3/core.h and rewrite patch 1 commit message
> - Link to v1: https://lore.kernel.org/r/20240719-u-boot-dwc3-gadget-dcache-fixup-v1-0-58a5f026ea8e@linaro.org
> 
> ---
> Neil Armstrong (3):
>        usb: dwc3: allocate setup_buf with dma_alloc_coherent()
>        usb: dwc3: fix dcache flush range calculation
>        usb: dwc3: invalidate dcache on buffer used in interrupt handling
> 
>   drivers/usb/dwc3/core.h   |  2 ++
>   drivers/usb/dwc3/ep0.c    |  6 ++++--
>   drivers/usb/dwc3/gadget.c | 10 ++++++----
>   drivers/usb/dwc3/io.h     | 13 ++++++++++++-
>   4 files changed, 24 insertions(+), 7 deletions(-)
> ---
> base-commit: 3f772959501c99fbe5aa0b22a36efe3478d1ae1c
> change-id: 20240719-u-boot-dwc3-gadget-dcache-fixup-ea1e92758663
> 
> Best regards,

Gentle ping, those fixes are quite important to make USB Gadget reliable
on Qualcomm platforms,

Thanks,
Neil
Mattijs Korpershoek Oct. 1, 2024, 3:01 p.m. UTC | #2
On mar., oct. 01, 2024 at 16:43, Neil Armstrong <neil.armstrong@linaro.org> wrote:

> Hi,
>
> On 24/07/2024 17:48, Neil Armstrong wrote:
>> We experience huge problems with cache handling on Qualcomm
>> systems, and it appears the dcache handling in the DWC3 gadget
>> code is quite wrong and causes operational issues.
>> 
>> This serie fixes the dcache operations on unaligned data,
>> and properly invalidate buffers when reading back data from
>> hardware.
>> 
>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>> ---
>> Changes in v2:
>> - Fix typo in drivers/usb/dwc3/core.h and rewrite patch 1 commit message
>> - Link to v1: https://lore.kernel.org/r/20240719-u-boot-dwc3-gadget-dcache-fixup-v1-0-58a5f026ea8e@linaro.org
>> 
>> ---
>> Neil Armstrong (3):
>>        usb: dwc3: allocate setup_buf with dma_alloc_coherent()
>>        usb: dwc3: fix dcache flush range calculation
>>        usb: dwc3: invalidate dcache on buffer used in interrupt handling
>> 
>>   drivers/usb/dwc3/core.h   |  2 ++
>>   drivers/usb/dwc3/ep0.c    |  6 ++++--
>>   drivers/usb/dwc3/gadget.c | 10 ++++++----
>>   drivers/usb/dwc3/io.h     | 13 ++++++++++++-
>>   4 files changed, 24 insertions(+), 7 deletions(-)
>> ---
>> base-commit: 3f772959501c99fbe5aa0b22a36efe3478d1ae1c
>> change-id: 20240719-u-boot-dwc3-gadget-dcache-fixup-ea1e92758663
>> 
>> Best regards,
>
> Gentle ping, those fixes are quite important to make USB Gadget reliable
> on Qualcomm platforms,

Sorry for the wait on this one. I did not act upon this series because
it's not assigned to me.

According to patchwork [1], this is assigned to bmeng.

Bin, do you want to review this or can I pick this up through u-boot-dfu
since it's usb gadget related?

[1] https://patchwork.ozlabs.org/project/uboot/cover/20240724-u-boot-dwc3-gadget-dcache-fixup-v2-0-65836d699a71@linaro.org/

Thanks,
Mattijs

>
> Thanks,
> Neil