coreboot-kgpe-d16/src/include/device
Tim Wawrzynczak 8c93feda7f device: Add support for PCIe Resizable BARs
Section 7.8.6 of the PCIe spec (rev 4) indicates that some devices can
indicates support for "Resizable BARs" via a PCIe extended capability.

When support this capability is indicated by the device, the size of
each BAR is determined in a different way than the normal "moving
bits" method. Instead, a pair of capability and control registers is
allocated in config space for each BAR, which can be used to both
indicate the different sizes the device is capable of supporting for
the BAR (powers-of-2 number of bits from 20 [1 MiB] to 63 [8 EiB]), and
to also inform the device of the size that the allocator actually
reserved for the MMIO range.

This patch adds a Kconfig for a mainboard to select if it knows that it
will have a device that requires this support during PCI enumeration.
If so, there is a corresponding Kconfig to indicate the maximum number
of bits of address space to hand out to devices this way (again, limited
by what devices can support and each individual system may want to
support, but just like above, this number can range from 20 to 63) If
the device can support more bits than this Kconfig, the resource request
is truncated to the number indicated by this Kconfig.

BUG=b:214443809
TEST=compile (device with this capability not available yet),
also verify that no changes are seen in resource allocation for
google/brya0 before and after this change.

Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: I14fcbe0ef09fdc7f6061bcf7439d1160d3bc4abf
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61215
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2022-02-16 20:19:07 +00:00
..
dram arch/x86: Refactor the SMBIOS type 17 write function 2021-11-11 09:10:10 +00:00
azalia.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
azalia_device.h device/azalia_device: Drop unused function parameter 2021-11-11 22:45:04 +00:00
cardbus.h
device.h SMBIOS/SCONFIG: Allow devtree-defined Type 41 entries 2021-11-04 10:25:09 +00:00
gpio.h device + util/sconfig: introduce new device gpio 2020-12-28 17:47:04 +00:00
i2c.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
i2c_bus.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
i2c_simple.h src/acpi to src/lib: Fix spelling errors 2021-10-05 18:06:39 +00:00
mmio.h device/mmio: Make buffer_to_fifo32() take a const buffer 2021-09-20 12:07:51 +00:00
path.h src/device: Remove DEVICE_PATH_ESPI & DEVICE_PATH_LPC 2021-07-14 20:24:12 +00:00
pci.h pciexp_device: Rewrite LTR configuration 2021-03-15 06:04:38 +00:00
pci_def.h device: Add support for PCIe Resizable BARs 2022-02-16 20:19:07 +00:00
pci_ehci.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
pci_ids.h soc/intel/alderlake: Correct Alder Lake M/N ESPI device ID 2022-02-16 15:38:34 +00:00
pci_mmio_cfg.h pci_mmio_cfg: Rename pcicfg to pci_map_bus 2021-11-29 03:20:54 +00:00
pci_ops.h device: Switch pci_dev_is_wake_source to take pci_devfn_t 2021-05-03 16:28:42 +00:00
pci_rom.h device/pci_rom: Add vga_oprom_preload 2021-11-15 16:16:02 +00:00
pci_type.h soc/intel/*: drop UART pad configuration from common code 2021-03-12 08:48:03 +00:00
pciexp.h device: Add pciexp_find_next_extended_cap function 2022-02-10 12:48:00 +00:00
pcix.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
pnp.h device/pnp: Always provide pnp_unset_and_set_config 2021-06-10 05:38:13 +00:00
pnp_def.h device/pnp: add register PNP_IO4 2020-12-28 21:01:08 +00:00
pnp_ops.h src: Include <arch/io.h> when appropriate 2020-10-26 06:44:40 +00:00
pnp_type.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
resource.h device: Add support for PCIe Resizable BARs 2022-02-16 20:19:07 +00:00
smbus.h device/smbus_host: Declare common early SMBus prototypes 2020-06-22 11:53:31 +00:00
smbus_def.h
smbus_host.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
soundwire.h device/mipi: Move to drivers/mipi 2021-08-26 15:18:45 +00:00
spi.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
usbc_mux.h device/include: Fix potential build error 2021-11-03 08:24:15 +00:00
xhci.h device/xhci: Add helper method to iterate over xhci_supported_protocl 2020-07-12 17:01:24 +00:00