zephyr/drivers/usb
Tomasz Moń 962a53ef8e drivers: udc_dwc2: Avoid unnecessary context switches
DWC2 thread must acquire UDC mutex before accessing shared resources
(peripheral registers and software data structures). Whenever software
enqueues a buffer, the caller first obtains mutex, adds the buffer to
the list, posts event to wake up DWC2 thread and releases mutex. If DWC2
thread has higher priority than the task currently holding a mutex,
there will be two completely unnecessary task switches: DWC2 will switch
in, try to obtain mutex, and then the control will be returned to the
mutex holder.

Avoid the unnecessary task switches by locking scheduler prior to
obtaining the mutex and unlocking scheduler after releasing the mutex.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-07 21:29:09 +01:00
..
bc12 drivers: bc12: Place API into iterable section 2024-12-03 19:56:37 +01:00
common drivers: udc_dwc2: Workaround hibernation exit glitch 2025-02-05 10:21:13 +01:00
device drivers: nxp_usb: usb_dc_mcux error condition updated 2025-03-07 19:48:38 +01:00
udc drivers: udc_dwc2: Avoid unnecessary context switches 2025-03-07 21:29:09 +01:00
uhc usb: host: rework usbh_xfer_alloc() parameters 2025-02-10 09:02:45 +01:00
uvb linker: drivers: Use Z_LINK_ITERABLE_SUBALIGN 2024-04-20 13:45:25 -04:00
CMakeLists.txt nrfx_usbd: Rename to nrf_usbd_common 2023-11-07 14:06:51 +01:00
Kconfig nrfx_usbd: Rename to nrf_usbd_common 2023-11-07 14:06:51 +01:00