Lines Matching +full:max +full:- +full:link +full:- +full:speed
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
5 * Copyright 1997--1999 Martin Mares <[email protected]>
18 * The HyperTransport I/O Link Specification
25 * Conventional PCI and PCI-X Mode 1 devices have 256 bytes of
26 * configuration space. PCI-X Mode 2 and PCIe devices have 4096 bytes of
50 #define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */
59 #define PCI_STATUS_FAST_BACK 0x80 /* Accept fast-back to back */
83 #define PCI_HEADER_TYPE_MFD 0x80 /* Multi-Function Device (possible) */
124 /* 0x35-0x3b are reserved */
130 /* Header type 1 (PCI-to-PCI bridges) */
158 /* 0x35-0x3b is reserved */
160 /* 0x3c-0x3d are same as for htype 0 */
191 /* 0x3c-0x3d are same as for htype 0 */
199 #define PCI_CB_BRIDGE_CTL_16BIT_INT 0x80 /* Enable interrupt for 16-bit cards */
205 #define PCI_CB_LEGACY_MODE_BASE 0x44 /* 16-bit PC Card legacy mode base address (ExCa) */
206 /* 0x48-0x7f reserved */
217 #define PCI_CAP_ID_PCIX 0x07 /* PCI-X */
219 #define PCI_CAP_ID_VNDR 0x09 /* Vendor-Specific */
222 #define PCI_CAP_ID_SHPC 0x0C /* PCI Standard Hot-Plug Controller */
224 #define PCI_CAP_ID_AGP3 0x0E /* AGP Target PCI-PCI bridge */
227 #define PCI_CAP_ID_MSIX 0x11 /* MSI-X */
256 #define PCI_PM_CTRL_NO_SOFT_RESET 0x0008 /* No reset for D3hot->D0 */
272 #define PCI_AGP_STATUS_RQ_MASK 0xff000000 /* Maximum number of requests - 1 */
274 #define PCI_AGP_STATUS_64BIT 0x0020 /* 64-bit addressing supported */
283 #define PCI_AGP_COMMAND_64BIT 0x0020 /* Allow processing of 64-bit addresses */
295 #define PCI_VPD_DATA 4 /* 32-bits of data returned here */
311 #define PCI_MSI_FLAGS_64BIT 0x0080 /* 64-bit addresses allowed */
312 #define PCI_MSI_FLAGS_MASKBIT 0x0100 /* Per-vector masking capable */
316 #define PCI_MSI_DATA_32 0x08 /* 16 bits of data for 32-bit devices */
317 #define PCI_MSI_MASK_32 0x0c /* Mask bits register for 32-bit devices */
318 #define PCI_MSI_PENDING_32 0x10 /* Pending intrs for 32-bit devices */
319 #define PCI_MSI_DATA_64 0x0c /* 16 bits of data for 64-bit devices */
320 #define PCI_MSI_MASK_64 0x10 /* Mask bits register for 64-bit devices */
321 #define PCI_MSI_PENDING_64 0x14 /* Pending intrs for 64-bit devices */
323 /* MSI-X registers (in MSI-X capability) */
327 #define PCI_MSIX_FLAGS_ENABLE 0x8000 /* MSI-X enable */
337 /* MSI-X Table entry format (in memory mapped by a BAR) */
354 #define PCI_CHSWP_EXT 0x40 /* ENUM# status - extraction */
355 #define PCI_CHSWP_INS 0x80 /* ENUM# status - insertion */
383 /* 0-5 map to BARs 0-5 respectively */
389 /* 9-14 map to VF BARs 0-5 respectively */
392 #define PCI_EA_BEI_RESERVED 15 /* Reserved - Treat like ENI */
395 #define PCI_EA_P_MEM 0x00 /* Non-Prefetch Memory */
399 #define PCI_EA_P_VF_MEM 0x04 /* VF Non-Prefetch Memory */
400 #define PCI_EA_P_BRIDGE_MEM 0x05 /* Bridge Non-Prefetch Memory */
403 /* 0x08-0xfc reserved */
412 #define PCI_EA_IS_64 0x00000002 /* 64-bit field flag */
413 #define PCI_EA_FIELD_MASK 0xfffffffc /* For Base & Max Offset */
415 /* PCI-X registers (Type 0 (non-bridge) devices) */
424 #define PCI_X_CMD_MAX_READ 0x000c /* Max Memory Read Byte Count */
425 /* Max # of outstanding split transactions */
426 #define PCI_X_CMD_SPLIT_1 0x0000 /* Max 1 */
427 #define PCI_X_CMD_SPLIT_2 0x0010 /* Max 2 */
428 #define PCI_X_CMD_SPLIT_3 0x0020 /* Max 3 */
429 #define PCI_X_CMD_SPLIT_4 0x0030 /* Max 4 */
430 #define PCI_X_CMD_SPLIT_8 0x0040 /* Max 8 */
431 #define PCI_X_CMD_SPLIT_12 0x0050 /* Max 12 */
432 #define PCI_X_CMD_SPLIT_16 0x0060 /* Max 16 */
433 #define PCI_X_CMD_SPLIT_32 0x0070 /* Max 32 */
434 #define PCI_X_CMD_MAX_SPLIT 0x0070 /* Max Outstanding Split Transactions */
436 #define PCI_X_STATUS 4 /* PCI-X capabilities */
439 #define PCI_X_STATUS_64BIT 0x00010000 /* 64-bit device */
444 #define PCI_X_STATUS_MAX_READ 0x00600000 /* Designed Max Memory Read Count */
445 #define PCI_X_STATUS_MAX_SPLIT 0x03800000 /* Designed Max Outstanding Split Transactions */
446 #define PCI_X_STATUS_MAX_CUM 0x1c000000 /* Designed Max Cumulative Read Size */
455 /* PCI-X registers (Type 1 (bridge) devices) */
461 #define PCI_X_SSTATUS_VERS 0x3000 /* PCI-X Capability Version */
483 #define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCIe to PCI/PCI-X Bridge */
484 #define PCI_EXP_TYPE_PCIE_BRIDGE 0x8 /* PCI/PCI-X to PCIe Bridge */
498 #define PCI_EXP_DEVCAP_RBER 0x00008000 /* Role-Based Error Reporting */
504 #define PCI_EXP_DEVCTL_NFERE 0x0002 /* Non-Fatal Error Reporting Enable */
529 #define PCI_EXP_DEVSTA_NFED 0x0002 /* Non-Fatal Error Detected */
534 #define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V1 12 /* v1 endpoints without link end here */
535 #define PCI_EXP_LNKCAP 0x0c /* Link Capabilities */
536 #define PCI_EXP_LNKCAP_SLS 0x0000000f /* Max Link Speed (prior to PCIe r3.0: Supported Link Speeds…
543 #define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
551 #define PCI_EXP_LNKCAP_DLLLARC 0x00100000 /* Data Link Layer Link Active Reporting Capable */
552 #define PCI_EXP_LNKCAP_LBNC 0x00200000 /* Link Bandwidth Notification Capability */
554 #define PCI_EXP_LNKCTL 0x10 /* Link Control */
559 #define PCI_EXP_LNKCTL_LD 0x0010 /* Link Disable */
560 #define PCI_EXP_LNKCTL_RL 0x0020 /* Retrain Link */
565 #define PCI_EXP_LNKCTL_LBMIE 0x0400 /* Link Bandwidth Management Interrupt Enable */
566 #define PCI_EXP_LNKCTL_LABIE 0x0800 /* Link Autonomous Bandwidth Interrupt Enable */
567 #define PCI_EXP_LNKSTA 0x12 /* Link Status */
568 #define PCI_EXP_LNKSTA_CLS 0x000f /* Current Link Speed */
569 #define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 /* Current Link Speed 2.5GT/s */
570 #define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */
571 #define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 /* Current Link Speed 8.0GT/s */
572 #define PCI_EXP_LNKSTA_CLS_16_0GB 0x0004 /* Current Link Speed 16.0GT/s */
573 #define PCI_EXP_LNKSTA_CLS_32_0GB 0x0005 /* Current Link Speed 32.0GT/s */
574 #define PCI_EXP_LNKSTA_CLS_64_0GB 0x0006 /* Current Link Speed 64.0GT/s */
575 #define PCI_EXP_LNKSTA_NLW 0x03f0 /* Negotiated Link Width */
576 #define PCI_EXP_LNKSTA_NLW_X1 0x0010 /* Current Link Width x1 */
577 #define PCI_EXP_LNKSTA_NLW_X2 0x0020 /* Current Link Width x2 */
578 #define PCI_EXP_LNKSTA_NLW_X4 0x0040 /* Current Link Width x4 */
579 #define PCI_EXP_LNKSTA_NLW_X8 0x0080 /* Current Link Width x8 */
580 #define PCI_EXP_LNKSTA_NLW_SHIFT 4 /* start of NLW mask in link status */
581 #define PCI_EXP_LNKSTA_LT 0x0800 /* Link Training */
583 #define PCI_EXP_LNKSTA_DLLLA 0x2000 /* Data Link Layer Link Active */
584 #define PCI_EXP_LNKSTA_LBMS 0x4000 /* Link Bandwidth Management Status */
585 #define PCI_EXP_LNKSTA_LABS 0x8000 /* Link Autonomous Bandwidth Status */
586 #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V1 20 /* v1 endpoints with link end here */
593 #define PCI_EXP_SLTCAP_HPS 0x00000020 /* Hot-Plug Surprise */
594 #define PCI_EXP_SLTCAP_HPC 0x00000040 /* Hot-Plug Capable */
606 #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */
620 #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */
622 #define PCI_EXP_SLTCTL_IBPD_DISABLE 0x4000 /* In-band PD disable */
632 #define PCI_EXP_SLTSTA_DLLSC 0x0100 /* Data Link Layer State Changed */
635 #define PCI_EXP_RTCTL_SENFEE 0x0002 /* System Error on Non-Fatal Error */
649 * Link Capabilities 2, Link Status 2, Link Control 2,
657 #define PCI_EXP_DEVCAP2_ARI 0x00000020 /* Alternative Routing-ID */
666 #define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
667 #define PCI_EXP_DEVCAP2_EE_PREFIX 0x00200000 /* End-End TLP Prefix */
668 #define PCI_EXP_DEVCAP2_EE_PREFIX_MAX 0x00c00000 /* Max End-End TLP Prefixes */
672 #define PCI_EXP_DEVCTL2_ARI 0x0020 /* Alternative Routing-ID */
682 #define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V2 0x2c /* end of v2 EPs w/o link */
683 #define PCI_EXP_LNKCAP2 0x2c /* Link Capabilities 2 */
684 #define PCI_EXP_LNKCAP2_SLS 0x000000fe /* Supported Link Speeds Vector */
685 #define PCI_EXP_LNKCAP2_SLS_2_5GB 0x00000002 /* Supported Speed 2.5GT/s */
686 #define PCI_EXP_LNKCAP2_SLS_5_0GB 0x00000004 /* Supported Speed 5GT/s */
687 #define PCI_EXP_LNKCAP2_SLS_8_0GB 0x00000008 /* Supported Speed 8GT/s */
688 #define PCI_EXP_LNKCAP2_SLS_16_0GB 0x00000010 /* Supported Speed 16GT/s */
689 #define PCI_EXP_LNKCAP2_SLS_32_0GB 0x00000020 /* Supported Speed 32GT/s */
690 #define PCI_EXP_LNKCAP2_SLS_64_0GB 0x00000040 /* Supported Speed 64GT/s */
692 #define PCI_EXP_LNKCTL2 0x30 /* Link Control 2 */
694 #define PCI_EXP_LNKCTL2_TLS_2_5GT 0x0001 /* Supported Speed 2.5GT/s */
695 #define PCI_EXP_LNKCTL2_TLS_5_0GT 0x0002 /* Supported Speed 5GT/s */
696 #define PCI_EXP_LNKCTL2_TLS_8_0GT 0x0003 /* Supported Speed 8GT/s */
697 #define PCI_EXP_LNKCTL2_TLS_16_0GT 0x0004 /* Supported Speed 16GT/s */
698 #define PCI_EXP_LNKCTL2_TLS_32_0GT 0x0005 /* Supported Speed 32GT/s */
699 #define PCI_EXP_LNKCTL2_TLS_64_0GT 0x0006 /* Supported Speed 64GT/s */
702 #define PCI_EXP_LNKCTL2_HASD 0x0020 /* HW Autonomous Speed Disable */
703 #define PCI_EXP_LNKSTA2 0x32 /* Link Status 2 */
705 #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 0x32 /* end of v2 EPs w/ link */
707 #define PCI_EXP_SLTCAP2_IBPD 0x00000001 /* In-band PD Disable Supported */
711 /* Extended Capabilities (PCI-X 2.0 and Express) */
720 #define PCI_EXT_CAP_ID_RCLD 0x05 /* Root Complex Link Declaration */
721 #define PCI_EXT_CAP_ID_RCILC 0x06 /* Root Complex Internal Link Control */
723 #define PCI_EXT_CAP_ID_MFVC 0x08 /* Multi-Function VC Capability */
726 #define PCI_EXT_CAP_ID_VNDR 0x0B /* Vendor-Specific */
727 #define PCI_EXT_CAP_ID_CAC 0x0C /* Config Access - obsolete */
746 #define PCI_EXT_CAP_ID_DVSEC 0x23 /* Designated Vendor-Specific */
747 #define PCI_EXT_CAP_ID_DLF 0x25 /* Data Link Feature */
760 #define PCI_ERR_UNC_DLP 0x00000010 /* Data Link Protocol */
786 #define PCI_ERR_COR_ADV_NFAT 0x00002000 /* Advisory Non-Fatal */
801 #define PCI_ERR_ROOT_CMD_NONFATAL_EN 0x00000002 /* Non-Fatal Err Reporting Enable */
809 #define PCI_ERR_ROOT_NONFATAL_RCV 0x00000020 /* Non-Fatal Received */
867 /* Vendor-Specific (VSEC, PCI_EXT_CAP_ID_VNDR) */
868 #define PCI_VNDR_HEADER 4 /* Vendor-Specific Header */
882 #define HT_CAPTYPE_SLAVE 0x00 /* Slave/Primary link configuration */
883 #define HT_CAPTYPE_HOST 0x20 /* Host/Secondary link configuration */
907 /* Alternative Routing-ID Interpretation */
921 #define PCI_ATS_MAX_QDEP 32 /* Max Invalidate Queue Depth */
938 #define PCI_PRI_MAX_REQ 0x08 /* PRI max reqs supported */
939 #define PCI_PRI_ALLOC_REQ 0x0c /* PRI max reqs allowed */
954 #define PCI_SRIOV_CAP 0x04 /* SR-IOV Capabilities */
957 #define PCI_SRIOV_CTRL 0x08 /* SR-IOV Control */
963 #define PCI_SRIOV_STATUS 0x0a /* SR-IOV Status */
968 #define PCI_SRIOV_FUNC_LINK 0x12 /* Function Dependency Link */
990 #define PCI_LTR_NOSNOOP_VALUE 0x03ff0000 /* Max No-Snoop Latency Value */
991 #define PCI_LTR_NOSNOOP_SCALE 0x1c000000 /* Scale for Max Value */
1009 #define PCI_SATA_REGS_MASK 0xF /* location - BAR#/inline */
1026 #define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
1043 #define PCI_TPH_LOC_MSIX 0x00000400 /* In MSI-X */
1109 #define PCI_L1SS_CAP_PCIPM_L1_2 0x00000001 /* PCI-PM L1.2 Supported */
1110 #define PCI_L1SS_CAP_PCIPM_L1_1 0x00000002 /* PCI-PM L1.1 Supported */
1118 #define PCI_L1SS_CTL1_PCIPM_L1_2 0x00000001 /* PCI-PM L1.2 Enable */
1119 #define PCI_L1SS_CTL1_PCIPM_L1_1 0x00000002 /* PCI-PM L1.1 Enable */
1131 /* Designated Vendor-Specific (DVSEC, PCI_EXT_CAP_ID_DVSEC) */
1132 #define PCI_DVSEC_HEADER1 0x4 /* Designated Vendor-Specific Header1 */
1136 #define PCI_DVSEC_HEADER2 0x8 /* Designated Vendor-Specific Header2 */
1139 /* Data Link Feature */
1141 #define PCI_DLF_EXCHANGE_ENABLE 0x80000000 /* Data Link Feature Exchange Enable */
1200 /* DOE Data Object - note not actually registers */
1211 /* Compute Express Link (CXL r3.1, sec 8.1.5) */