Skip to contentSkip to conversation

r8169 64-bit DMA support

DISCUSSION Robert Hancock 2 participants 2 messages Sep 20, 2009 – Sep 22, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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:

http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commitdiff;h=c525e7cf69bfe18a1bf362558be5398e0b925d07

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..

#1 lore raw

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