[<prev] [next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6DCFFC2476@AcuExch.aculab.com>
Date: Thu, 30 Mar 2017 11:07:27 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Mauro Carvalho Chehab' <mchehab@...pensource.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: Oliver Neukum <oneukum@...e.com>,
David Mosberger <davidm@...uge.net>,
Jaejoong Kim <climbbb.kim@...il.com>,
Mauro Carvalho Chehab <mchehab@...radead.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
"Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
"linux-rpi-kernel@...ts.infradead.org"
<linux-rpi-kernel@...ts.infradead.org>,
Jonathan Corbet <corbet@....net>,
Wolfram Sang <wsa-dev@...g-engineering.com>,
John Youn <johnyoun@...opsys.com>,
Roger Quadros <rogerq@...com>,
"Linux Doc Mailing List" <linux-doc@...r.kernel.org>,
Linux Media Mailing List <linux-media@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: RE: [PATCH 22/22] usb: document that URB transfer_buffer should be
aligned
From: Mauro Carvalho Chehab
> Sent: 30 March 2017 11:28
...
> While debugging this issue, I saw *a lot* of network-generated URB
> traffic from RPi3 Ethernet port drivers that were using non-aligned
> buffers and were subject to the temporary buffer conversion.
Buffers from the network stack will almost always be 4n+2 aligned.
Receive data being fed into the network stack really needs to be
4n=2 aligned.
The USB stack almost certainly has to live with that.
If the USB ethernet device doesn't have two bytes of 'pad' before
the frame data (destination MAC address) then you have to solve
the problem within the USB stack.
For transmits it might be possible to send an initial 2 byte fragment
from a separate buffer - but only if arbitrary fragment sizes are
allowed.
A normal USB3 controller should allow this - but you have to be very
careful about what happens at the end of the ring.
David
Powered by blists - more mailing lists