Messages in this thread | | | Date | Sat, 27 Apr 2019 00:02:26 +0200 | From | Andrew Lunn <> | Subject | Re: [PATCH 03/12] net: ll_temac: Fix support for 64-bit platforms |
| |
On Fri, Apr 26, 2019 at 02:08:56PM -0700, Jakub Kicinski wrote: > On Fri, 26 Apr 2019 22:59:12 +0200, Andrew Lunn wrote: > > On Fri, Apr 26, 2019 at 11:40:13AM -0700, Jakub Kicinski wrote: > > > On Fri, 26 Apr 2019 09:32:22 +0200, Esben Haabendal wrote: > > > > The use of buffer descriptor APP4 field (32-bit) for storing skb pointer > > > > obviously does not work on 64-bit platforms. > > > > As APP3 is also unused, we can use that to store the other half of 64-bit > > > > pointer values. > > > > > > > > Contrary to what is hinted at in commit message of commit 15bfe05c8d63 > > > > ("net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit") > > > > there are no other pointers stored in cdmac_bd. > > > > > > > > Signed-off-by: Esben Haabendal <esben@geanix.com> > > > > > > This is a bit strange, the driver stores the host's virtual address into > > > the HW descriptor?
Lets try that again
Hi Jakub
> > Hi Jukub > > I need to start keeping track of all the ways my name gets spelled :) > I find it entertaining :)
Sorry.
And i prefer entertaining over offended :-)
> > This is reasonably common. You need some sort of cookie which links > > the hardware descriptor to the skbuf it points to. The hardware makes > > no use of it, it is just a cookie. > > Right, but accesses to HW descriptor memory ring are significantly > more expensive, especially on platforms which are not coherent with > DMA operations (everything but x86?) > > A preferable design is to have two descriptor rings - one for HW > descriptors and one for software context, no?
Modern drivers do that. But this driver seems to be quite old. And if you look at what it is used on, PPC & MICROBLAZE, they are old architectures, i don't think hardware access are that as expensive as for modern architectures.
Andrew
| |