| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Patch by Philip Brown.
|
|
|
|
|
|
|
|
|
|
| |
lspci incorrectly tests bit 4, not bit 0, for "CRS Software Visibility" in
the Root Capabilities register, so it shows "RootCap: CRSVisible-" even for
devices that do support Software Visibility.
Use the correct definition for PCI_EXP_RTCAP_CRSVIS.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
| |
Bridges can implement interrupt pins, so decode this information. See
PCI-to-PCI Bridge spec r1.2, sec 3.2.5.17.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Device name of a PCI or PCI Express device under OS may be exported via
ACPI _DSM function with function index 7.
This allows to connect a described PCI device in the platform documentation
or as labeled on the chassis with PCI devices shown via lspci.
The kernel already exports this string through sysfs under a PCI device through
the "label" sysfs attribute.
This patch reads the device name if available and shows it to the user.
Real world examples:
Device Name: "USB HS EHCI Controller #2 #3"
Device Name: "USB HS EHCI Controller #1"
Device Name: "SATA Controller #1"
Device Name: "Onboard LAN #1"
Device Name: "Onboard LAN #2"
Device Name: "Onboard Video (PILOT-3)"
Compare with PCI Firmware Spec v3.1 chapter 4.6.7 and
ACPI spec v5.0 chapter 9.14.1
The DeviceName is not shown by default, but starting from first verbose
parameter (-v).
V2: - Free label string if allocated
- Enhance changelog
Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: linux-pci@vger.kernel.org
|
|
|
|
|
|
| |
This fixes building pciutils on Haiku.
Signed-off-by: François Revol <revol@free.fr>
|
|
|
|
| |
Thanks to John Spencer for bringing this to attention.
|
|
|
|
| |
Suggested by John Spencer.
|
|
|
|
| |
Patch by Robert Elliott from HP.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Based on a patch by Zheng Huai Cheng <zhenghch@linux.vnet.ibm.com>.
|
|
|
|
|
|
|
| |
Per PCIe spec r3.0, Table 7-16, the Retrain Link bit is writable but
always returns 0 when read, so decoding it gives no useful information.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
|
|
|
| |
The PCIe spec (r3.0, Table 7-16) says the Read Completion Boundary is valid
for Root Ports, Endpoints, and Bridges. I only added decoding for PCIe-to-
PCI/PCI-X bridges because the RCB of a Bridge indicates the RCB of the
upstream Root Port, so I don't think it makes sense for PCI-to-PCIe
bridges.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
|
|
|
| |
The PCI_EXP_TYPE_PCI_BRIDGE type is a PCIe to PCI/PCI-X bridge, so be a bit
more complete in the comment and printed device type. Also, per PCIe spec
r3.0, Table 7-14, the PCIe Device Control "Bridge Configuration Retry
Enable" bit only applies to PCIe-to-PCI/PCI-X bridges; it does not apply to
PCI-to-PCIe bridges.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
|
| |
The PCIe Device Capabilities and Control bits related to Function
Level Reset are valid only for Endpoints, so only decode them in
that case.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
|
| |
The PCIe Device Capabilities "Endpoint L0s Acceptable Latency" and
"Endpoint L1 Acceptable Latency" are defined only for Endpoint functions,
so don't display them unless this is an endpoint.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The PCIe Link Capabilities "L0s Exit Latency" is the latency to exit
L0s, not L0, so label it "L0s" instead of "L0". This matches the
way we label the Device Capabilities "Endpoint L0s Acceptable Latency"
field as "Latency L0s". This also adds "Exit" to the description to
help distinguish it from the "Acceptable Latency" fields in the
Device Capabilities register.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
|
| |
Root Complex Integrated Endpoints and Root Complex Event Collectors do not
have links and are not permitted to implement Link or Link 2 registers,
per PCIe spec r3.0, sec 1.3.2.3. Decoding them is useless and misleading.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
| |
|
|
|
|
| |
Based on data contributed by David Box.
|
|
|
|
|
|
|
| |
Expose available L1 substate capabilities that can enable lower power
consumption when a PCIe Link is idle.
Signed-off-by: David Box <david.e.box@linux.intel.com>
|
|
|
|
|
|
|
|
|
| |
The ASPM Support field in Link Capabilities is two bits, and all four
possible encodings are defined as of PCIe spec r3.0. Previously, lspci
only decoded values 1, 2, and 3. This adds 0, so lspci will show "ASPM
not supported" instead of "ASPM unknown".
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
|
| |
CardBus bridges can have capabilities, but the CAP_PTR register is at a
different location. This one has Power Management:
CardBus bridge: O2 Micro, Inc. OZ711SP1 Memory CardBus Controller (rev 01)
+ Capabilities: [a0] Power Management version 2
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It was implemented only for reading modules.pcimap, but it turned out
that it is necessary for libkmod, too, so we have switched to a common
implementation.
|
| |
|
|
|
|
|
|
|
| |
The "install" target manages one set of files, and the "install-pcilib"
target manages a different set. They both install the pci library though
so if you try to run `make -j install install-pcilib`, things randomly
fail. So split out the commonly installed files into a dedicated target.
|
|
|
|
|
|
| |
When using targets like "i686-pc-freebsd7.1", the configure script fails
to match for the freebsd target because it only expects "freebsd". Add
a glob to match all freebsd targets.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
With modutils built upon libkmod, modules.pcimap does not exist
any longer.
|
| |
|
|
|
|
| |
This will be needed to support libkmod.
|
|
|
|
|
| |
Previously, pci_open() sometimes crashed with ID list names
shorter than 3 characters.
|
| |
|
| |
|
|
|
|
|
|
|
| |
DEVCAP2 and DEVCTL2 capabilities contain information whether LTR and OBFF
are supported and enabled. Make sure this is displayed to user as well.
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
On a PCI Express multi-function device associated with an upstream
port, all bits of the Link Control 2 register are currently reserved
on functions > 0.
The Selectable De-emphasis field is reserved on all but downstream
ports.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
|
|
|
|
|
|
|
| |
I think there is a bug displaying the virtual channel status bits
"NegoPending" and "InProgress". The wrong offset is being used.
Signed-off-by: John L. Burr <jlburr@cadence.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Zero is a valid address in I/O space, so display it and it's associated
size when IO is enabled in the PCI command register.
From arch/powerpc/kernel/pci-common.c:
/* Here, we are a bit different than memory as typically IO space
* starting at low addresses -is- valid. What we do instead [is] that
* we consider as unassigned anything that doesn't have IO enabled
* in the PCI command register, and that's it.
*/
Signed-off-by: Aaron Sierra <asierra@xes-inc.com>
|
| |
|
| |
|