r8169 64-bit DMA support
Subsystems (2)
The r8169 driver currently disables 64-bit DMA support by default (needs a module parameter to turn it on). This is a bit sub-optimal these days with most new systems using more than 4GB of RAM. It was this patch back in 2004 that disabled it:
It's not clear (from the mails I've read) exactly what was going on in the case that caused this to be added. Normally these days the PCI subsystem is supposed to detect that DAC isn't usable on a machine and refuse setting 64-bit DMA masks, it's not the driver's responsibility to handle this. I'm guessing that when this change was made that detection didn't exist though.
Thoughts on whether this default can be changed now? Or at least for the PCI Express devices, which really should have nothing special about 64-bit addressing..
Robert Hancock <[email protected]> :
[...]
Quoted 2 lines
It's not clear (from the mails I've read) exactly what was going on in the case that caused this to be added.
Some AMD + r8169 systems simply did not work.
Quoted 5 lines
Normally these days the PCI subsystem is supposed to detect that DAC isn't usable on a machine and refuse setting 64-bit DMA masks, it's not the driver's responsibility to handle this.
I'm guessing that when this change was made that detection didn't exist though.
Not exactly. It was required for DAC to be explicitely enabled through the CPlusCmd register.
Quoted 1 line
Thoughts on whether this default can be changed now ?
The 8168 does not seem to need the CPlusCmd stuff. I'll check it but it should be possible to enable high DMA without condition for it.
Signature · 1 line
Ueimor