On Tue, Aug 30, 2016 at 05:30:20PM +0100, Ard Biesheuvel wrote:
On 30 August 2016 at 17:04, Alan Ott alan@softiron.co.uk wrote: OK, pushed as
972bf6b5263e Drivers/Net/MarvellYukon: Don't re-use DMA buffers 68f2976a59b0 Drivers/Net/MarvellYukon: Use system memory buffer struct for receive queue 98af09fcda4a Drivers/Net/MarvellYukon: Zero allocated memory for DMA receive buffers 94eca77f492b Drivers/Net/MarvellYukon: Add 64-bit DMA support 5125821c7ef5 Drivers/Net/MarvellYukon: Set Dual Address Cycle Attribute 7bc42ad39700 Drivers/Net/MarvellYukon: Free link if its DMA buffer can't be allocated
As discussed, if you have more time to spend on this, there is still room for improvement in terms of:
- removing the redundant copy on the RX path
- replacing PciIo->AllocateBuffer() with gBS->AllocatePool() [and
reduce the max packet size to a more reasonable ~1500)
Thanks a lot for this contribution! Especially the 64-bit PCI support in UEFI is a big deal for AArch64, since X64 usually does not bother to enable 64-bit DMA in UEFI (since RAM always starts at 0x0 on a PC)
Seconded!
I believe this marks the first open driver we've had running aross two such different platforms: one with lots of RAM < 4GB and one with no RAM < 4GB.
The former should also permit verifying as AArch32 :) I'll have a go at that Any Day Now.
/ Leif