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