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

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

 



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



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

  Powered by Linux