]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r211648:
authoryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 31 Aug 2010 00:15:20 +0000 (00:15 +0000)
committeryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 31 Aug 2010 00:15:20 +0000 (00:15 +0000)
commit05b26822ff0303191182d69981cbc4d2b2d1ab46
tree2cfca16c563abfcc1037c94e4f56dd2aa873ff67
parentba0dbfd3e42f80c23558723e3e85ef5e174806f8
MFC r211648:
  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.

git-svn-id: svn://svn.freebsd.org/base/stable/8@212039 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/pci/if_rl.c