zephyr/drivers/usb/udc
Tomasz Moń 45ee2a0b0d drivers: udc_dwc2: Fix multipart DMA OUT transfers
DMA transfers are supposed to write to buffer tail. Use the proper
pointer to make multipart DMA transfers actually write the data to the
intended location.

The issue was observed on control write transfers where the OUT Data
Stage was at least 128 bytes (because endpoint 0 transfer width is
limited to 7 bits).

The issue is unlikely to happen on non-control transfers because the
transfer size width is at least 11 bits (at most 19 bits) and packet
size counter is at least 4 bits (at most: 10 bits) which means that
at least 2048 byte transfer spanning at least 15 packets (or at least
524288 byte spanning 1023 packets for 19 bits transfer size counter
and 10 bits packet counter) is required to necessitate multipart DMA.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-01-21 19:28:13 +01:00
..
CMakeLists.txt drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
Kconfig drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
Kconfig.ambiq drivers: udc_ambiq: Implemented UDC driver for apollo4p 2024-11-16 15:07:29 -05:00
Kconfig.dwc2 usb: dwc2: Allow for enabling USB if the cable is disconnected 2024-10-16 16:37:31 +01:00
Kconfig.it82xx2 ITE: it8xxx2: Remove CONFIG_PINCTRL from soc defconfig file 2024-10-15 13:52:55 +02:00
Kconfig.kinetis
Kconfig.mcux boards: nxp: Removing CONFIG_PINCTRL from the boards defconfig 2024-10-15 19:09:45 -04:00
Kconfig.nrf nrfx_usbd: Rename to nrf_usbd_common 2023-11-07 14:06:51 +01:00
Kconfig.numaker boards: nuvoton: numaker: Drop PINCTRL from board defconfig 2024-11-20 08:23:58 -05:00
Kconfig.renesas_ra drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
Kconfig.rpi_pico drivers: udc: add UDC driver for RP2040 USB device controller 2024-09-05 16:57:46 -04:00
Kconfig.skeleton
Kconfig.smartbond drivers: usb: udc: add Smartbond UDC driver 2024-10-22 20:41:55 +02:00
Kconfig.stm32 drivers: stm32: Select PINCTRL when required 2024-09-03 14:40:55 +01:00
Kconfig.virtual
udc_ambiq.c drivers: udc_ambiq: defer enqueue event if the endpoint is stalled 2024-11-29 11:45:10 +01:00
udc_common.c usb: device_next: remove redundant memset() after net_buf_alloc.*() 2024-12-17 11:38:22 +00:00
udc_common.h drivers: usb: udc: fix return api description 2024-12-06 12:13:08 +01:00
udc_dwc2.c drivers: udc_dwc2: Fix multipart DMA OUT transfers 2025-01-21 19:28:13 +01:00
udc_dwc2.h drivers: udc_dwc2: Add hibernation vendor quirks 2024-09-26 03:33:52 -04:00
udc_dwc2_vendor_quirks.h drivers: udc_dwc2: Wait for USBHS clock start 2024-11-29 11:44:26 +01:00
udc_it82xx2.c udc: it82xx2: emit SOF event 2024-10-22 14:01:11 +02:00
udc_kinetis.c drivers: udc_kinetis: reset control endpoint busy flags 2024-11-05 10:53:11 -06:00
udc_mcux_ehci.c drivers: usb: Fix pointer reference in the NXP drivers 2024-12-24 16:07:49 +01:00
udc_mcux_ip3511.c drivers: usb: Fix pointer reference in the NXP drivers 2024-12-24 16:07:49 +01:00
udc_nrf.c drivers: udc_nrf: Handle Suspend and Resume in thread 2024-11-26 14:45:01 +00:00
udc_numaker.c drivers: usb: udc: add NuMaker series USBD controller driver 2024-08-19 10:00:07 -04:00
udc_renesas_ra.c drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
udc_rpi_pico.c drivers: udc: add UDC driver for RP2040 USB device controller 2024-09-05 16:57:46 -04:00
udc_skeleton.c
udc_smartbond.c drivers: usb: udc: add Smartbond UDC driver 2024-10-22 20:41:55 +02:00
udc_stm32.c drivers: udc_stm32: set address only for standard device requests 2024-11-18 13:17:31 -05:00
udc_virtual.c drivers: udc: do not use the MPS value directly for the endpoint size 2024-08-21 18:25:30 +01:00