usb: dwc2: Fix HBstLen setting for external DMA mode
authorKongyang Liu <seashell11234455@gmail.com>
Fri, 10 Jan 2025 13:55:22 +0000 (21:55 +0800)
committerMattijs Korpershoek <mkorpershoek@kernel.org>
Mon, 2 Jun 2025 07:57:25 +0000 (09:57 +0200)
commitbd6ef5097dd6c6219f12c0f2866ee4d578f190e9
treeb31d81880ae35bc6617857b02bcab749f7377f02
parent94a1f8fe47e26250dd5704b2c2187622522eca6b
usb: dwc2: Fix HBstLen setting for external DMA mode

The loop used to calculate HBstLen for extern DMA mode does not produce
the correct result according to the datasheet [1]. Replacing that loop
with a direct calculation using LOG2 to correctly assign the burst length
in the GAHBCFG register for external DMA mode.

[1] https://rockchip.fr/RK312X%20TRM/chapter-26-usb-otg-2-0.pdf#page=24

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-3-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
drivers/usb/host/dwc2.c