Commit 193ced4a authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by David S. Miller

FDDI: defxx: Make MMIO the configuration default except for EISA

Recent versions of the PCI Express specification have deprecated support
for I/O transactions and actually some PCIe host bridges, such as Power
Systems Host Bridge 4 (PHB4), do not implement them.

The default kernel configuration choice for the defxx driver is the use
of I/O ports rather than MMIO for PCI and EISA systems.  It may have
made sense as a conservative backwards compatible choice back when MMIO
operation support was added to the driver as a part of TURBOchannel bus
support.  However nowadays this configuration choice makes the driver
unusable with systems that do not implement I/O transactions for PCIe.

Make DEFXX_MMIO the configuration default then, except where configured
for EISA.  This exception is because an EISA adapter can have its MMIO
decoding disabled with ECU (EISA Configuration Utility) and therefore
not available with the resource allocation infrastructure we implement,
while port I/O is always readily available as it uses slot-specific
addressing, directly mapped to the slot an option card has been placed
in and handled with our EISA bus support core.  Conversely a kernel that
supports modern systems which may not have I/O transactions implemented
for PCIe will usually not be expected to handle legacy EISA systems.

The change of the default will make it easier for people, including but
not limited to distribution packagers, to make a working choice for the
driver.

Update the option description accordingly and while at it replace the
potentially ambiguous PIO acronym with IOP for "port I/O" vs "I/O ports"
according to our nomenclature used elsewhere.
Signed-off-by: default avatarMaciej W. Rozycki <macro@orcam.me.uk>
Fixes: e89a2cfb ("[TC] defxx: TURBOchannel support")
Cc: stable@vger.kernel.org # v2.6.21+
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f626ca68
...@@ -40,17 +40,20 @@ config DEFXX ...@@ -40,17 +40,20 @@ config DEFXX
config DEFXX_MMIO config DEFXX_MMIO
bool bool
prompt "Use MMIO instead of PIO" if PCI || EISA prompt "Use MMIO instead of IOP" if PCI || EISA
depends on DEFXX depends on DEFXX
default n if PCI || EISA default n if EISA
default y default y
help help
This instructs the driver to use EISA or PCI memory-mapped I/O This instructs the driver to use EISA or PCI memory-mapped I/O
(MMIO) as appropriate instead of programmed I/O ports (PIO). (MMIO) as appropriate instead of programmed I/O ports (IOP).
Enabling this gives an improvement in processing time in parts Enabling this gives an improvement in processing time in parts
of the driver, but it may cause problems with EISA (DEFEA) of the driver, but it requires a memory window to be configured
adapters. TURBOchannel does not have the concept of I/O ports, for EISA (DEFEA) adapters that may not always be available.
so MMIO is always used for these (DEFTA) adapters. Conversely some PCIe host bridges do not support IOP, so MMIO
may be required to access PCI (DEFPA) adapters on downstream PCI
buses with some systems. TURBOchannel does not have the concept
of I/O ports, so MMIO is always used for these (DEFTA) adapters.
If unsure, say N. If unsure, say N.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment