Re: [PATCH] usb: host: ehci: distinguish DMA addresses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 27, 2020 at 08:26:46PM +0300, Peter Mamonov wrote:
> This patch adds translation from CPU to DMA addresses, which is required for
> proper operation on certain architectures like MIPS.
> 
> This patch also fixes the bug introduced by 4350744bf5 "usb: ehci-hcd: port
> periodic transactions implementation from the u-boot", which is still present
> in the original U-Boot code:
> 
> 	td->qt_buffer[0] =
> 		cpu_to_hc32((unsigned long)buffer + i * elementsize);
> 	td->qt_buffer[1] =
> 		cpu_to_hc32((td->qt_buffer[0] + 0x1000) & ~0xfff);
> 	...
> 
> In case of a big-endian CPU 0x1000 is added to the byte-swapped value
> `td->qt_buffer[0]`, the result is byte swapped once again and stored to
> `td->qt_buffer[1]`. This results in erroneous values being stored in
> `td->qt_buffer[1..4]`.
> 
> N.B.: This patch needs some testing on architectures different from MIPS.

I tested it on ARM. Yup, it works.

Applied, thanks

Sascha


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux