diff options
author | Frank Li <Frank.Li@nxp.com> | 2023-12-24 10:38:15 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-01-04 16:01:45 +0100 |
commit | 40c304109e866a7dc123661a5c8ca72f6b5e14e0 (patch) | |
tree | 330c34eeaf58037d8f84d87af3827842f5901a49 /drivers/auxdisplay | |
parent | 92f02efa1d86d7dcaef7f38a5fe3396c4e88a93c (diff) | |
download | linux-40c304109e866a7dc123661a5c8ca72f6b5e14e0.tar.gz linux-40c304109e866a7dc123661a5c8ca72f6b5e14e0.tar.bz2 linux-40c304109e866a7dc123661a5c8ca72f6b5e14e0.zip |
usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled
Supposed DMA cross 4k bounder problem should be fixed at DEV_VER_V2, but
still met problem when do ISO transfer if sg enabled.
Data pattern likes below when sg enabled, package size is 1k and mult is 2
[UVC Header(8B) ] [data(3k - 8)] ...
The received data at offset 0xd000 will get 0xc000 data, len 0x70. Error
happen position as below pattern:
0xd000: wrong
0xe000: wrong
0xf000: correct
0x10000: wrong
0x11000: wrong
0x12000: correct
...
To avoid DMA cross 4k bounder at ISO transfer, reduce burst len according
to start DMA address's alignment.
Cc: <stable@vger.kernel.org>
Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20231224153816.1664687-4-Frank.Li@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/auxdisplay')
0 files changed, 0 insertions, 0 deletions