Commit Graph

147 Commits

Author SHA1 Message Date
msaitoh
20025a8603 Add Precision Time Management (PTM) ECN. 2016-05-11 05:12:57 +00:00
msaitoh
389a184aab - Add the Auto Slot Power Limit Disable bit in Slot Control register and
the Completion Timeout Prefix/Header Log Capable bit in the AER capability
  and control register (ECN: Downstream Port Containment (DPC)).
- Add the Poisoned TLP Egress Block bit (ECN: Enhanced DPC).
- Update Link Capabilities 2 register and Link Control 3 register (ECN:
  Separate Refclk Independent SSC Architecture (SRIS))
- ECN: Readiness Notifications (RN)
- Add the Retimer Presence Detect Supported bit in the Link Capabilities 2
  register and the Retimer Presence Detected bit in the Link Status 2 register
  (ECN: Extension Devices)
2015-11-18 04:24:02 +00:00
msaitoh
30cc026319 - ARI's function group is not bit 32-24 but 22-20.
- Add the Structure Length field in AF capability register.
- Add Enhanced Allocation extended capability ID (ECN: Enhanced Allocation (EA)
  for Memory and I/O Resources).
- Add LN System CLS (ECN: Lightweight Notification (LN) Protocol).
- Add ST Upper and Lower bit definitions (ECN: TLP Processiong Hints).
- Add the Global Invalidate bit in the ATS capability register and the PRG
  Response PASID Required bit in the Page Request status register (ECN: PASID
  Translation)
- Decode ASPM support bit more (ECN: ASPM Optionally)
- Use __BITS()
2015-11-17 18:26:50 +00:00
msaitoh
9931e08a9f No functional change:
- Add comments.
 - Remove obsolete comment.
 - Move definitions to better location.
 - Rename bit definition.
 - KNF.
 - Indent.
2015-11-17 17:51:42 +00:00
msaitoh
addef40090 Define PCIE_XCAP_{VER,TYPE}(x) and use them. 2015-11-16 09:10:58 +00:00
msaitoh
9ec2b1dc37 Fix register offset to print HyperTransport registers correctly. 2015-11-13 03:56:44 +00:00
msaitoh
d40faa45fb - Restore pci_subr.c rev. 1.135's change in pci_conf_print_caplist().
As wrote in the comment, HyperTransport capability appears multiple times.
  pci_conf_cap() reruns only the first entry, so it can't be used here.
- Try to decode HyperTransport capability. Currently, the capability type
  of each HyperTransport capability is printed and only the MSI Mapping
  capability is decoded.
- Style change.
2015-11-12 12:17:59 +00:00
msaitoh
64e5a67309 - Move PCI_INTRSTR_LEN from pcireg.h to pcivar.h.
- In PCI-X cap, print 2nd bus's PCI-X mode, error protection type, Max clock
   frequency and Max clock period.
 - In SATA cap, print register location correctly.
 - In Virtual Channel cap, print reference clock with "ns".
 - In Root Complex Link Declaration, print Link Entry number.
2015-10-30 20:03:45 +00:00
msaitoh
7a80439de2 Fix compile error... 2015-10-21 15:01:01 +00:00
msaitoh
00735cfb34 Decode SATA Capability and Multicast Extendeded Capability. 2015-10-21 12:54:59 +00:00
joerg
887bca8d3c Fix format string. 2015-10-03 15:22:14 +00:00
msaitoh
2c52906dd1 Fix a bug that the TPH ST Table is wrongly decoded. Found by llvm. 2015-10-02 07:04:17 +00:00
msaitoh
605f564f52 PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
  if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
  Currently the following extended capabilities are decoded:
   - Advanced Error Reporting
   - Virtual Channel
   - Device Serial Number
   - Power Budgeting
   - Root Complex Link Declaration
   - Root Complex Event Collector Association
   - Access Control Services
   - Alternative Routing-ID Interpretation
   - Address Translation Services
   - Single Root IO Virtualization
   - Page Request
   - TPH Requester
   - Latency Tolerance Reporting
   - Secondary PCI Express
   - Process Address Space ID
   - LN Requester
   - L1 PM Substates
  The following extended capabilities are not decoded yet:
   - Root Complex Internal Link Control
   - Multi-Function Virtual Channel
   - RCRB Header
   - Vendor Unique
   - Configuration Access Correction
   - Multiple Root IO Virtualization
   - Multicast
   - Resizable BAR
   - Dynamic Power Allocation
   - Protocol Multiplexing
   - Downstream Port Containment
   - Precision Time Management
   - M-PCIe
   - Function Reading Status Queueing
   - Readiness Time Reporting
   - Designated Vendor-Specific
2015-10-02 05:22:49 +00:00
msaitoh
122c565fcd Add NVMe. 2015-07-27 15:46:03 +00:00
msaitoh
6712ad7081 Add PCIe CRS Software Visibility bit. 2014-11-24 07:53:43 +00:00
msaitoh
75d11a50a3 - Cleanup pci_conf_print_caplist. Use table. The reason why it loops twice
is that some capabilities appear multiple times (e.g. HyperTransport cap).
- Print the specification revision of Power Management and AGP not in
  the capability list part but in the detail part.
2014-10-23 13:44:37 +00:00
msaitoh
7ba909f296 Fix a bug that the specification revision of the Power Management function
was incorrectly printed in the output of capability "list".
The value is also printed in the detail output and it has no bug.
2014-10-23 13:40:15 +00:00
msaitoh
cab18f482b Fix typo in comment. 2014-10-23 09:59:56 +00:00
msaitoh
b44ce84a74 s/genric/generic/ 2014-10-06 08:00:57 +00:00
msaitoh
35474d457d - Add some PCI subclass and interfaces.
- The interface of PCI_SUBCLASS_BRIDGE_RACEWAY is not decoded yet.
- Fix typo in a message.
- Add comment.
- Modify comment.
2014-10-06 07:15:56 +00:00
msaitoh
2151ba81dd Always print the Slot implemented bit in the PCIe Capabilities
Register using with onoff().
2014-09-22 13:01:44 +00:00
christos
9eaee4f495 Merge the 3 copies of devlist2h.awk that deal with 16 bit key and value
pairs to the compressed one that matt wrote.
2014-09-21 14:30:22 +00:00
matt
b4985db0e5 Don't use class or typename as a variable name. 2014-09-05 05:29:16 +00:00
msaitoh
34662ef23f Add IOMMU and the Root Complex Event Collector. 2014-06-09 11:08:05 +00:00
msaitoh
58836705c1 - Remove some obsoleted comments.
- KNF.
2014-05-30 05:04:21 +00:00
msaitoh
486f844f78 - Add PCI-X capability stuff.
- remove extra ':' in pci_conf_print_pcie_cap()
- Add comments.
2014-05-30 03:42:38 +00:00
msaitoh
63fbbc0246 Print "range: not set" if the decode window isn't set. 2014-05-27 16:50:31 +00:00
msaitoh
11bc96b558 - Add some register definition for MSI and MSI-X
- print MSI-X capability
2014-05-27 16:26:15 +00:00
njoly
b8e866a463 Do not crash if subclassp == NULL, seen while attaching rstx(4) which
match PCI_CLASS_UNDEFINED class.
2014-05-25 14:56:46 +00:00
msaitoh
5c30443e21 Print some PCI Capabilities:
- Vendor specific (ID:0x09)
- Debugport (ID:0x0a)
- Subsystem (ID:0x0d)
- PCI Advanced Features (ID:0x13)
2014-05-24 18:06:21 +00:00
msaitoh
dee612baf5 - Decode the programming interface field in the Class Code register and print
it.
- Print the cache line size in bytes.
- Print the Link Status 2 register itself.
- Some bits were not printed if the bit is 0. Always print them using with
  onoff() macro.
- Print more bits.
- KNF.
- Use macro.
- Add comments.
2014-05-24 15:20:32 +00:00
msaitoh
35f9bbcf48 - Fix calculation of supported max payload size in PCIe device capability
register.
- Fix for PCIE_SLCSR_DLLSCE flag.
- invert PCIE_SLCSR_PCC
2014-05-24 15:09:31 +00:00
msaitoh
310e8863ad No functional change:
- KNF
- Sort in PCI capability ID order.
- Add comments.
2014-05-23 19:31:23 +00:00
msaitoh
3b80c7044f - Add some register definitions (subclass, power management, etc.)
- Print some information (subclass, power management)
- Use macro.
2014-05-23 18:32:13 +00:00
msaitoh
ad8cb99d83 PME# clock is not bit 2 but bit 3. Use the macro! 2014-05-23 17:54:08 +00:00
msaitoh
f5758d3410 Use onoff() macro. 2014-05-15 06:58:19 +00:00
msaitoh
6d52f90365 Print 32bit I/O region flag and 64bit memory region flag. 2014-05-13 18:07:24 +00:00
msaitoh
9cf6f0064c Print the range of I/O, non-prefechable memory and prefechable memory. 2014-05-12 23:01:40 +00:00
msaitoh
4360fe3dc7 Use macro. 2014-05-12 11:51:35 +00:00
msaitoh
569ea4de99 Fix newline problem which was added in previous commit. 2014-05-12 11:27:31 +00:00
msaitoh
97e85871e2 Print the CRS Software Visibility Enable bit and the Crosslink Supported bit. 2014-05-09 14:51:26 +00:00
msaitoh
58e9d85563 One more Gb/s -> GT/s fix. 2013-08-05 07:53:31 +00:00
msaitoh
1a2c729863 - Print PCIe 2.0 or higher capability registers.
- Print Link related registers only if the device is PCI Express Endpoint,
  Legacy PCI Express Endpoint or Root Port of PCI Express Root Complex.
- Don't print Root related registers if the device is Root Complex
  Integrated Endpoint and print if the device is Root Complex Event Collector.
- Not Gb/s but GT/s.
2013-04-21 23:54:44 +00:00
msaitoh
956c0afde5 - Add some PCIe 2.0 or higher capability register definitions.
- Rename some registers.
- Add comments.
- Indent.
2013-04-21 23:46:06 +00:00
msaitoh
4184db8f84 Delete "PCI_" from PCIX and PICE capability registers. 2013-04-21 19:59:39 +00:00
msaitoh
8306713d99 Don't check whether PCIe Slot Control Register is all 0 or not.
For example, 82801I PCI Express Port #1 (devid 0x2940) is really
Root Port and it has the Root Control Register and the default
value is 0 (the document say so and really 0 (Tested with my
machine)).
2013-04-17 08:07:40 +00:00
msaitoh
9a1bc2611b - Add slot related registers
- Add root port related registers
- Fix the definition of PCI_PCIE_SLCAP_PSN
- Cleanup
2013-04-17 06:31:15 +00:00
msaitoh
94b93e5a0d Add PCI_CAP_SUBVENDOR (= 0x0d). 2013-04-17 04:36:27 +00:00
msaitoh
853aaa5112 Decode some PCIe capability register bits. 2013-04-16 15:50:57 +00:00
msaitoh
dfde2ffecb Use macro. 2013-04-16 14:34:34 +00:00