On Thu, Mar 05, 2020 at 02:32:05PM +0100, Sascha Hauer wrote: > 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. Thanks! Peter > > 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