PCI: Update "pci=resource_alignment" documentation

Some uio based PCI drivers, e.g., uio_cif, do not work if the assigned PCI
memory resources are not page aligned.  By using the kernel option
"pci=resource_alignment=<align>@<bus>:<slot>.<func>" it is possible to
request page alignment for memory resources of devices.

However, this is cumbersome when using several devices, and the
bus/slot/func addresses may change if devices are added to or removed from
the system.

Extend the "pci=resource_alignment" option so we can specify the relevant
devices via PCI vendor, device, subvendor, and subdevice IDs.  The
specification of the devices via IDs is indicated by a leading string
"pci:" as argument to "pci=resource_alignment".

The format of the specification is
  pci:<vendor>:<device>[:<subvendor>:<subdevice>]

Examples:
  pci=resource_alignment=4096@pci:8086:9c22:103c:198f
  pci=resource_alignment=pci:8086:9c22       # defaults to PAGE_SIZE align

[bhelgaas: changelog, use actual vendor/device IDs in examples]
Signed-off-by: Mathias Koehrer <mathias.koehrer@etas.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
Mathias Koehrer 2016-08-09 10:33:31 +02:00 committed by Bjorn Helgaas
parent 29b4817d40
commit 8b078c6032

View File

@ -3032,6 +3032,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
PAGE_SIZE is used as alignment. PAGE_SIZE is used as alignment.
PCI-PCI bridge can be specified, if resource PCI-PCI bridge can be specified, if resource
windows need to be expanded. windows need to be expanded.
To specify the alignment for several
instances of a device, the PCI vendor,
device, subvendor, and subdevice may be
specified, e.g., 4096@pci:8086:9c22:103c:198f
ecrc= Enable/disable PCIe ECRC (transaction layer ecrc= Enable/disable PCIe ECRC (transaction layer
end-to-end CRC checking). end-to-end CRC checking).
bios: Use BIOS/firmware settings. This is the bios: Use BIOS/firmware settings. This is the