freebsd-skq/sys/pci
Pyun YongHyeon c6a3d2bb77 It seems some newer RTL8139 controllers provides only memory space
register mapping. I'm not sure whether it comes from the fact that
controllers live behind certain PCI brdge(PLX PCI 6152 33BC) and
the bridge has some issues in handling I/O space register mapping.
Unfortunately it's not possible to narrow down to an exact
controller that shows this issue because RealTek used the same PCI
device/revision id again. In theory, it's possible to check parent
PCI bridge device and change rl(4) to use memory space register
mapping if the parent PCI bridge is PLX PCI 6152. But I didn't try
to do that and we wouldn't get much benefit with added complexity.

Blindly switching to use memory space register mapping for rl(4)
may make most old controllers not to work. At least, I don't want
to take potential risk from such change. So use I/O space register
mapping by default but give users chance to override it via a
tunable. The tunable to use memory space register mapping would be
given by adding the following line to /boot/loader.conf file.

dev.rl.%d.prefer_iomap="0"

This change makes P811B quad-port work with this tunable.

Tested by:	Nikola Kalpazanov ( n.kalpazanov <> gmail dot com )
MFC after:	1 week
2010-08-22 21:26:35 +00:00
..
alpm.c
amdpm.c - Use bus_foo() rather than bus_space_foo() and remove bus space tag/handle 2008-06-06 18:29:56 +00:00
amdsmb.c - Use bus_foo() rather than bus_space_foo() and remove bus space tag/handle 2008-06-06 18:29:56 +00:00
if_rl.c It seems some newer RTL8139 controllers provides only memory space 2010-08-22 21:26:35 +00:00
if_rlreg.h Consistently use capital letters. 2010-04-09 23:00:24 +00:00
intpm.c intpm/sb700: force polling mode if configured interrupt is SMI 2009-09-19 08:56:28 +00:00
intpmreg.h intpm: add support for smbus controller found in AMD SB700 2009-09-12 18:24:31 +00:00
locate.pl
ncr.c Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
ncrreg.h
nfsmb.c Add support for four more nfsmb controllers, shipping on at least the 2010-01-24 14:57:54 +00:00
viapm.c The callback takes a void *, not a caddr_t * (sic). 2009-03-03 18:54:57 +00:00