PCIEXP_PLUGIN_SUPPORT: Change dependency on PCI access

Some PCI-e capability registers are located starting from
0x100, these are not accessible using the conventional
PCI IO config operations at 0xcf8/0xcfc, unless PCI_CFG_EXT_IO
was selected.

Thus any feature that calls pciexp_find_extended_cap()
depends on either MMCONF_SUPPORT_DEFAULT or PCI_CFG_EXT_IO
being enabled on the platform.

In theory there can be system without MMCONF_SUPPORT, but
with complete PCI Express configuration space available
using PCI_CFG_EXT_IO. Do not use explicit PCI MMCONF
operations here, but rely on the default PCI access
method to be able to access all of the configuration space.

While at it, convert to IS_ENABLED() everywhere in the source
and organize Kconfig file better.

Change-Id: Ica6e16d2fb2adc532e644c4b2c47806490235715
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/17546
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Kyösti Mälkki
2016-11-20 20:39:56 +02:00
parent df96a702ba
commit 91bfa8e7ea
2 changed files with 31 additions and 44 deletions

View File

@@ -227,11 +227,6 @@ config PCIX_PLUGIN_SUPPORT
depends on PCI
default y
config PCIEXP_PLUGIN_SUPPORT
bool
depends on PCI
default y
config CARDBUS_PLUGIN_SUPPORT
bool
depends on PCI
@@ -242,10 +237,16 @@ config AZALIA_PLUGIN_SUPPORT
depends on PCI
default n
config PCIEXP_PLUGIN_SUPPORT
bool
depends on PCI
default y
if PCIEXP_PLUGIN_SUPPORT
config PCIEXP_COMMON_CLOCK
prompt "Enable PCIe Common Clock"
bool
depends on PCIEXP_PLUGIN_SUPPORT
default n
help
Detect and enable Common Clock on PCIe links.
@@ -253,7 +254,6 @@ config PCIEXP_COMMON_CLOCK
config PCIEXP_ASPM
prompt "Enable PCIe ASPM"
bool
depends on PCIEXP_PLUGIN_SUPPORT
default n
help
Detect and enable ASPM on PCIe links.
@@ -261,11 +261,20 @@ config PCIEXP_ASPM
config PCIEXP_CLK_PM
prompt "Enable PCIe Clock Power Management"
bool
depends on PCIEXP_PLUGIN_SUPPORT
default n
help
Detect and enable Clock Power Management on PCIe.
config PCIEXP_L1_SUB_STATE
prompt "Enable PCIe ASPM L1 SubState"
bool
depends on (MMCONF_SUPPORT_DEFAULT || PCI_IO_CFG_EXT)
default n
help
Detect and enable ASPM on PCIe links.
endif # PCIEXP_PLUGIN_SUPPORT
config EARLY_PCI_BRIDGE
bool "Early PCI bridge"
depends on PCI
@@ -278,14 +287,6 @@ config EARLY_PCI_BRIDGE
This option enables static configuration for a single pre-defined
PCI bridge function on bus 0.
config PCIEXP_L1_SUB_STATE
prompt "Enable PCIe ASPM L1 SubState"
bool
depends on PCIEXP_PLUGIN_SUPPORT && MMCONF_SUPPORT
default n
help
Detect and enable ASPM on PCIe links.
if EARLY_PCI_BRIDGE
config EARLY_PCI_BRIDGE_DEVICE