Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PCI: Rename CRS Completion Status to RRS

PCIe r6.0 changed the abbreviation for "Configuration Request Retry Status"
Completion Status from "CRS" to "RRS" and uses the terminology of
"Configuration RRS Software Visibility" instead of "CRS Software
Visibility".

Align the Linux usage with the r6.0 spec language. No functional change
intended.

It's confusing to make this change, but I think "RRS" *is* a better
abbreviation because it was easy to interpret "CRS" as "Completion Retry
Status", which really didn't make any sense.

Link: https://lore.kernel.org/r/20240827234848.4429-4-helgaas@kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

+86 -84
+5 -5
drivers/bcma/driver_pci_host.c
··· 334 334 } 335 335 336 336 /* If the root port is capable of returning Config Request 337 - * Retry Status (CRS) Completion Status to software then 337 + * Retry Status (RRS) Completion Status to software then 338 338 * enable the feature. 339 339 */ 340 340 static void bcma_core_pci_enable_crs(struct bcma_drv_pci *pc) ··· 348 348 NULL); 349 349 root_cap = cap_ptr + PCI_EXP_RTCAP; 350 350 bcma_extpci_read_config(pc, 0, 0, root_cap, &val16, sizeof(u16)); 351 - if (val16 & BCMA_CORE_PCI_RC_CRS_VISIBILITY) { 352 - /* Enable CRS software visibility */ 351 + if (val16 & BCMA_CORE_PCI_RC_RRS_VISIBILITY) { 352 + /* Enable Configuration RRS Software Visibility */ 353 353 root_ctrl = cap_ptr + PCI_EXP_RTCTL; 354 - val16 = PCI_EXP_RTCTL_CRSSVE; 354 + val16 = PCI_EXP_RTCTL_RRS_SVE; 355 355 bcma_extpci_read_config(pc, 0, 0, root_ctrl, &val16, 356 356 sizeof(u16)); 357 357 ··· 360 360 * 100 ms wait time from the end of Reset. If the device is 361 361 * not done with its internal initialization, it must at 362 362 * least return a completion TLP, with a completion status 363 - * of "Configuration Request Retry Status (CRS)". The root 363 + * of "Configuration Request Retry Status (RRS)". The root 364 364 * complex must complete the request to the host by returning 365 365 * a read-data value of 0001h for the Vendor ID field and 366 366 * all 1s for any additional bytes included in the request.
+9 -9
drivers/pci/controller/dwc/pcie-tegra194.c
··· 183 183 #define GEN3_EQ_CONTROL_OFF_FB_MODE_MASK GENMASK(3, 0) 184 184 185 185 #define PORT_LOGIC_AMBA_ERROR_RESPONSE_DEFAULT 0x8D0 186 - #define AMBA_ERROR_RESPONSE_CRS_SHIFT 3 187 - #define AMBA_ERROR_RESPONSE_CRS_MASK GENMASK(1, 0) 188 - #define AMBA_ERROR_RESPONSE_CRS_OKAY 0 189 - #define AMBA_ERROR_RESPONSE_CRS_OKAY_FFFFFFFF 1 190 - #define AMBA_ERROR_RESPONSE_CRS_OKAY_FFFF0001 2 186 + #define AMBA_ERROR_RESPONSE_RRS_SHIFT 3 187 + #define AMBA_ERROR_RESPONSE_RRS_MASK GENMASK(1, 0) 188 + #define AMBA_ERROR_RESPONSE_RRS_OKAY 0 189 + #define AMBA_ERROR_RESPONSE_RRS_OKAY_FFFFFFFF 1 190 + #define AMBA_ERROR_RESPONSE_RRS_OKAY_FFFF0001 2 191 191 192 192 #define MSIX_ADDR_MATCH_LOW_OFF 0x940 193 193 #define MSIX_ADDR_MATCH_LOW_OFF_EN BIT(0) ··· 907 907 908 908 dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_0, 0); 909 909 910 - /* Enable as 0xFFFF0001 response for CRS */ 910 + /* Enable as 0xFFFF0001 response for RRS */ 911 911 val = dw_pcie_readl_dbi(pci, PORT_LOGIC_AMBA_ERROR_RESPONSE_DEFAULT); 912 - val &= ~(AMBA_ERROR_RESPONSE_CRS_MASK << AMBA_ERROR_RESPONSE_CRS_SHIFT); 913 - val |= (AMBA_ERROR_RESPONSE_CRS_OKAY_FFFF0001 << 914 - AMBA_ERROR_RESPONSE_CRS_SHIFT); 912 + val &= ~(AMBA_ERROR_RESPONSE_RRS_MASK << AMBA_ERROR_RESPONSE_RRS_SHIFT); 913 + val |= (AMBA_ERROR_RESPONSE_RRS_OKAY_FFFF0001 << 914 + AMBA_ERROR_RESPONSE_RRS_SHIFT); 915 915 dw_pcie_writel_dbi(pci, PORT_LOGIC_AMBA_ERROR_RESPONSE_DEFAULT, val); 916 916 917 917 /* Clear Slot Clock Configuration bit if SRNS configuration */
+32 -32
drivers/pci/controller/pci-aardvark.c
··· 50 50 #define PIO_COMPLETION_STATUS_MASK GENMASK(9, 7) 51 51 #define PIO_COMPLETION_STATUS_OK 0 52 52 #define PIO_COMPLETION_STATUS_UR 1 53 - #define PIO_COMPLETION_STATUS_CRS 2 53 + #define PIO_COMPLETION_STATUS_RRS 2 54 54 #define PIO_COMPLETION_STATUS_CA 4 55 55 #define PIO_NON_POSTED_REQ BIT(10) 56 56 #define PIO_ERR_STATUS BIT(11) ··· 262 262 263 263 #define MSI_IRQ_NUM 32 264 264 265 - #define CFG_RD_CRS_VAL 0xffff0001 265 + #define CFG_RD_RRS_VAL 0xffff0001 266 266 267 267 struct advk_pcie { 268 268 struct platform_device *pdev; ··· 649 649 advk_pcie_train_link(pcie); 650 650 } 651 651 652 - static int advk_pcie_check_pio_status(struct advk_pcie *pcie, bool allow_crs, u32 *val) 652 + static int advk_pcie_check_pio_status(struct advk_pcie *pcie, bool allow_rrs, u32 *val) 653 653 { 654 654 struct device *dev = &pcie->pdev->dev; 655 655 u32 reg; ··· 669 669 * 2) value Unsupported Request(1) of COMPLETION_STATUS(bit9:7) only 670 670 * means a PIO write error, and for PIO read it is successful with 671 671 * a read value of 0xFFFFFFFF. 672 - * 3) value Completion Retry Status(CRS) of COMPLETION_STATUS(bit9:7) 672 + * 3) value Config Request Retry Status(RRS) of COMPLETION_STATUS(bit9:7) 673 673 * only means a PIO write error, and for PIO read it is successful 674 674 * with a read value of 0xFFFF0001. 675 675 * 4) value Completer Abort (CA) of COMPLETION_STATUS(bit9:7) means ··· 694 694 strcomp_status = "UR"; 695 695 ret = -EOPNOTSUPP; 696 696 break; 697 - case PIO_COMPLETION_STATUS_CRS: 698 - if (allow_crs && val) { 699 - /* PCIe r4.0, sec 2.3.2, says: 700 - * If CRS Software Visibility is enabled: 697 + case PIO_COMPLETION_STATUS_RRS: 698 + if (allow_rrs && val) { 699 + /* PCIe r6.0, sec 2.3.2, says: 700 + * If Configuration RRS Software Visibility is enabled: 701 701 * For a Configuration Read Request that includes both 702 702 * bytes of the Vendor ID field of a device Function's 703 703 * Configuration Space Header, the Root Complex must ··· 706 706 * all '1's for any additional bytes included in the 707 707 * request. 708 708 * 709 - * So CRS in this case is not an error status. 709 + * So RRS in this case is not an error status. 710 710 */ 711 - *val = CFG_RD_CRS_VAL; 711 + *val = CFG_RD_RRS_VAL; 712 712 strcomp_status = NULL; 713 713 ret = 0; 714 714 break; 715 715 } 716 - /* PCIe r4.0, sec 2.3.2, says: 717 - * If CRS Software Visibility is not enabled, the Root Complex 716 + /* PCIe r6.0, sec 2.3.2, says: 717 + * If RRS Software Visibility is not enabled, the Root Complex 718 718 * must re-issue the Configuration Request as a new Request. 719 - * If CRS Software Visibility is enabled: For a Configuration 719 + * If RRS Software Visibility is enabled: For a Configuration 720 720 * Write Request or for any other Configuration Read Request, 721 721 * the Root Complex must re-issue the Configuration Request as 722 722 * a new Request. 723 723 * A Root Complex implementation may choose to limit the number 724 - * of Configuration Request/CRS Completion Status loops before 724 + * of Configuration Request/RRS Completion Status loops before 725 725 * determining that something is wrong with the target of the 726 726 * Request and taking appropriate action, e.g., complete the 727 727 * Request to the host as a failed transaction. ··· 729 729 * So return -EAGAIN and caller (pci-aardvark.c driver) will 730 730 * re-issue request again up to the PIO_RETRY_CNT retries. 731 731 */ 732 - strcomp_status = "CRS"; 732 + strcomp_status = "RRS"; 733 733 ret = -EAGAIN; 734 734 break; 735 735 case PIO_COMPLETION_STATUS_CA: ··· 920 920 921 921 case PCI_EXP_RTCTL: { 922 922 u16 rootctl = le16_to_cpu(bridge->pcie_conf.rootctl); 923 - /* Only emulation of PMEIE and CRSSVE bits is provided */ 924 - rootctl &= PCI_EXP_RTCTL_PMEIE | PCI_EXP_RTCTL_CRSSVE; 923 + /* Only emulation of PMEIE and RRS_SVE bits is provided */ 924 + rootctl &= PCI_EXP_RTCTL_PMEIE | PCI_EXP_RTCTL_RRS_SVE; 925 925 bridge->pcie_conf.rootctl = cpu_to_le16(rootctl); 926 926 break; 927 927 } ··· 1075 1075 bridge->pcie_conf.slotsta = cpu_to_le16(PCI_EXP_SLTSTA_PDS); 1076 1076 1077 1077 /* Indicates supports for Completion Retry Status */ 1078 - bridge->pcie_conf.rootcap = cpu_to_le16(PCI_EXP_RTCAP_CRSVIS); 1078 + bridge->pcie_conf.rootcap = cpu_to_le16(PCI_EXP_RTCAP_RRS_SV); 1079 1079 1080 1080 bridge->subsystem_vendor_id = advk_readl(pcie, PCIE_CORE_SSDEV_ID_REG) & 0xffff; 1081 1081 bridge->subsystem_id = advk_readl(pcie, PCIE_CORE_SSDEV_ID_REG) >> 16; ··· 1141 1141 { 1142 1142 struct advk_pcie *pcie = bus->sysdata; 1143 1143 int retry_count; 1144 - bool allow_crs; 1144 + bool allow_rrs; 1145 1145 u32 reg; 1146 1146 int ret; 1147 1147 ··· 1153 1153 size, val); 1154 1154 1155 1155 /* 1156 - * Completion Retry Status is possible to return only when reading 1157 - * both bytes from PCI_VENDOR_ID at once and CRSSVE flag on Root 1158 - * Port is enabled. 1156 + * Configuration Request Retry Status (RRS) is possible to return 1157 + * only when reading both bytes from PCI_VENDOR_ID at once and 1158 + * RRS_SVE flag on Root Port is enabled. 1159 1159 */ 1160 - allow_crs = (where == PCI_VENDOR_ID) && (size >= 2) && 1160 + allow_rrs = (where == PCI_VENDOR_ID) && (size >= 2) && 1161 1161 (le16_to_cpu(pcie->bridge.pcie_conf.rootctl) & 1162 - PCI_EXP_RTCTL_CRSSVE); 1162 + PCI_EXP_RTCTL_RRS_SVE); 1163 1163 1164 1164 if (advk_pcie_pio_is_running(pcie)) 1165 - goto try_crs; 1165 + goto try_rrs; 1166 1166 1167 1167 /* Program the control register */ 1168 1168 reg = advk_readl(pcie, PIO_CTRL); ··· 1189 1189 1190 1190 ret = advk_pcie_wait_pio(pcie); 1191 1191 if (ret < 0) 1192 - goto try_crs; 1192 + goto try_rrs; 1193 1193 1194 1194 retry_count += ret; 1195 1195 1196 1196 /* Check PIO status and get the read result */ 1197 - ret = advk_pcie_check_pio_status(pcie, allow_crs, val); 1197 + ret = advk_pcie_check_pio_status(pcie, allow_rrs, val); 1198 1198 } while (ret == -EAGAIN && retry_count < PIO_RETRY_CNT); 1199 1199 1200 1200 if (ret < 0) ··· 1207 1207 1208 1208 return PCIBIOS_SUCCESSFUL; 1209 1209 1210 - try_crs: 1210 + try_rrs: 1211 1211 /* 1212 - * If it is possible, return Completion Retry Status so that caller 1213 - * tries to issue the request again instead of failing. 1212 + * If it is possible, return Configuration Request Retry Status so 1213 + * that caller tries to issue the request again instead of failing. 1214 1214 */ 1215 - if (allow_crs) { 1216 - *val = CFG_RD_CRS_VAL; 1215 + if (allow_rrs) { 1216 + *val = CFG_RD_RRS_VAL; 1217 1217 return PCIBIOS_SUCCESSFUL; 1218 1218 } 1219 1219
+3 -3
drivers/pci/controller/pci-xgene.c
··· 171 171 172 172 /* 173 173 * The v1 controller has a bug in its Configuration Request Retry 174 - * Status (CRS) logic: when CRS Software Visibility is enabled and 174 + * Status (RRS) logic: when RRS Software Visibility is enabled and 175 175 * we read the Vendor and Device ID of a non-existent device, the 176 176 * controller fabricates return data of 0xFFFF0001 ("device exists 177 177 * but is not ready") instead of 0xFFFFFFFF (PCI_ERROR_RESPONSE) 178 178 * ("device does not exist"). This causes the PCI core to retry 179 179 * the read until it times out. Avoid this by not claiming to 180 - * support CRS SV. 180 + * support RRS SV. 181 181 */ 182 182 if (pci_is_root_bus(bus) && (port->version == XGENE_PCIE_IP_VER_1) && 183 183 ((where & ~0x3) == XGENE_V1_PCI_EXP_CAP + PCI_EXP_RTCTL)) 184 - *val &= ~(PCI_EXP_RTCAP_CRSVIS << 16); 184 + *val &= ~(PCI_EXP_RTCAP_RRS_SV << 16); 185 185 186 186 if (size <= 2) 187 187 *val = (*val >> (8 * (where & 3))) & ((1 << (size * 8)) - 1);
+9 -9
drivers/pci/controller/pcie-iproc.c
··· 54 54 55 55 #define CFG_RD_SUCCESS 0 56 56 #define CFG_RD_UR 1 57 - #define CFG_RD_CRS 2 57 + #define CFG_RD_RRS 2 58 58 #define CFG_RD_CA 3 59 59 #define CFG_RETRY_STATUS 0xffff0001 60 60 #define CFG_RETRY_STATUS_TIMEOUT_US 500000 /* 500 milliseconds */ ··· 485 485 u32 status; 486 486 487 487 /* 488 - * As per PCIe spec r3.1, sec 2.3.2, CRS Software Visibility only 488 + * As per PCIe r6.0, sec 2.3.2, Config RRS Software Visibility only 489 489 * affects config reads of the Vendor ID. For config writes or any 490 490 * other config reads, the Root may automatically reissue the 491 491 * configuration request again as a new request. 492 492 * 493 493 * For config reads, this hardware returns CFG_RETRY_STATUS data 494 - * when it receives a CRS completion, regardless of the address of 495 - * the read or the CRS Software Visibility Enable bit. As a 494 + * when it receives a RRS completion, regardless of the address of 495 + * the read or the RRS Software Visibility Enable bit. As a 496 496 * partial workaround for this, we retry in software any read that 497 497 * returns CFG_RETRY_STATUS. 498 498 * 499 499 * Note that a non-Vendor ID config register may have a value of 500 500 * CFG_RETRY_STATUS. If we read that, we can't distinguish it from 501 - * a CRS completion, so we will incorrectly retry the read and 501 + * a RRS completion, so we will incorrectly retry the read and 502 502 * eventually return the wrong data (0xffffffff). 503 503 */ 504 504 data = readl(cfg_data_p); 505 505 while (data == CFG_RETRY_STATUS && timeout--) { 506 506 /* 507 - * CRS state is set in CFG_RD status register 507 + * RRS state is set in CFG_RD status register 508 508 * This will handle the case where CFG_RETRY_STATUS is 509 509 * valid config data. 510 510 */ 511 511 status = iproc_pcie_read_reg(pcie, IPROC_PCIE_CFG_RD_STATUS); 512 - if (status != CFG_RD_CRS) 512 + if (status != CFG_RD_RRS) 513 513 return data; 514 514 515 515 udelay(1); ··· 556 556 break; 557 557 558 558 case IPROC_PCI_EXP_CAP + PCI_EXP_RTCTL: 559 - /* Don't advertise CRS SV support */ 560 - *val &= ~(PCI_EXP_RTCAP_CRSVIS << 16); 559 + /* Don't advertise RRS SV support */ 560 + *val &= ~(PCI_EXP_RTCAP_RRS_SV << 16); 561 561 break; 562 562 563 563 default:
+2 -2
drivers/pci/pci-bridge-emul.c
··· 257 257 */ 258 258 .rw = (PCI_EXP_RTCTL_SECEE | PCI_EXP_RTCTL_SENFEE | 259 259 PCI_EXP_RTCTL_SEFEE | PCI_EXP_RTCTL_PMEIE | 260 - PCI_EXP_RTCTL_CRSSVE), 261 - .ro = PCI_EXP_RTCAP_CRSVIS << 16, 260 + PCI_EXP_RTCTL_RRS_SVE), 261 + .ro = PCI_EXP_RTCAP_RRS_SV << 16, 262 262 }, 263 263 264 264 [PCI_EXP_RTSTA / 4] = {
+2 -2
drivers/pci/pci.c
··· 1320 1320 return -ENOTTY; 1321 1321 } 1322 1322 1323 - if (root && root->config_crs_sv) { 1323 + if (root && root->config_rrs_sv) { 1324 1324 pci_read_config_dword(dev, PCI_VENDOR_ID, &id); 1325 - if (!pci_bus_crs_vendor_id(id)) 1325 + if (!pci_bus_rrs_vendor_id(id)) 1326 1326 break; 1327 1327 } else { 1328 1328 pci_read_config_dword(dev, PCI_COMMAND, &id);
+4 -4
drivers/pci/pci.h
··· 139 139 void pci_bridge_d3_update(struct pci_dev *dev); 140 140 int pci_bridge_wait_for_secondary_bus(struct pci_dev *dev, char *reset_type); 141 141 142 - static inline bool pci_bus_crs_vendor_id(u32 l) 142 + static inline bool pci_bus_rrs_vendor_id(u32 l) 143 143 { 144 144 return (l & 0xffff) == PCI_VENDOR_ID_PCI_SIG; 145 145 } ··· 295 295 296 296 int pci_configure_extended_tags(struct pci_dev *dev, void *ign); 297 297 bool pci_bus_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *pl, 298 - int crs_timeout); 298 + int rrs_timeout); 299 299 bool pci_bus_generic_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *pl, 300 - int crs_timeout); 301 - int pci_idt_bus_quirk(struct pci_bus *bus, int devfn, u32 *pl, int crs_timeout); 300 + int rrs_timeout); 301 + int pci_idt_bus_quirk(struct pci_bus *bus, int devfn, u32 *pl, int rrs_timeout); 302 302 303 303 int pci_setup_device(struct pci_dev *dev); 304 304 int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
+14 -14
drivers/pci/probe.c
··· 1203 1203 } 1204 1204 EXPORT_SYMBOL(pci_add_new_bus); 1205 1205 1206 - static void pci_enable_crs(struct pci_dev *pdev) 1206 + static void pci_enable_rrs_sv(struct pci_dev *pdev) 1207 1207 { 1208 1208 u16 root_cap = 0; 1209 1209 1210 - /* Enable CRS Software Visibility if supported */ 1210 + /* Enable Configuration RRS Software Visibility if supported */ 1211 1211 pcie_capability_read_word(pdev, PCI_EXP_RTCAP, &root_cap); 1212 - if (root_cap & PCI_EXP_RTCAP_CRSVIS) { 1212 + if (root_cap & PCI_EXP_RTCAP_RRS_SV) { 1213 1213 pcie_capability_set_word(pdev, PCI_EXP_RTCTL, 1214 - PCI_EXP_RTCTL_CRSSVE); 1215 - pdev->config_crs_sv = 1; 1214 + PCI_EXP_RTCTL_RRS_SVE); 1215 + pdev->config_rrs_sv = 1; 1216 1216 } 1217 1217 } 1218 1218 ··· 1328 1328 pci_write_config_word(dev, PCI_BRIDGE_CONTROL, 1329 1329 bctl & ~PCI_BRIDGE_CTL_MASTER_ABORT); 1330 1330 1331 - pci_enable_crs(dev); 1331 + pci_enable_rrs_sv(dev); 1332 1332 1333 1333 if ((secondary || subordinate) && !pcibios_assign_all_busses() && 1334 1334 !is_cardbus && !broken) { ··· 2345 2345 } 2346 2346 EXPORT_SYMBOL(pci_alloc_dev); 2347 2347 2348 - static bool pci_bus_wait_crs(struct pci_bus *bus, int devfn, u32 *l, 2348 + static bool pci_bus_wait_rrs(struct pci_bus *bus, int devfn, u32 *l, 2349 2349 int timeout) 2350 2350 { 2351 2351 int delay = 1; 2352 2352 2353 - if (!pci_bus_crs_vendor_id(*l)) 2354 - return true; /* not a CRS completion */ 2353 + if (!pci_bus_rrs_vendor_id(*l)) 2354 + return true; /* not a Configuration RRS completion */ 2355 2355 2356 2356 if (!timeout) 2357 - return false; /* CRS, but caller doesn't want to wait */ 2357 + return false; /* RRS, but caller doesn't want to wait */ 2358 2358 2359 2359 /* 2360 2360 * We got the reserved Vendor ID that indicates a completion with 2361 - * Configuration Request Retry Status (CRS). Retry until we get a 2361 + * Configuration Request Retry Status (RRS). Retry until we get a 2362 2362 * valid Vendor ID or we time out. 2363 2363 */ 2364 - while (pci_bus_crs_vendor_id(*l)) { 2364 + while (pci_bus_rrs_vendor_id(*l)) { 2365 2365 if (delay > timeout) { 2366 2366 pr_warn("pci %04x:%02x:%02x.%d: not ready after %dms; giving up\n", 2367 2367 pci_domain_nr(bus), bus->number, ··· 2400 2400 *l == 0x0000ffff || *l == 0xffff0000) 2401 2401 return false; 2402 2402 2403 - if (pci_bus_crs_vendor_id(*l)) 2404 - return pci_bus_wait_crs(bus, devfn, l, timeout); 2403 + if (pci_bus_rrs_vendor_id(*l)) 2404 + return pci_bus_wait_rrs(bus, devfn, l, timeout); 2405 2405 2406 2406 return true; 2407 2407 }
+1 -1
include/linux/bcma/bcma_driver_pci.h
··· 203 203 #define BCMA_CORE_PCI_MDIO_RXCTRL0 0x840 204 204 205 205 /* PCIE Root Capability Register bits (Host mode only) */ 206 - #define BCMA_CORE_PCI_RC_CRS_VISIBILITY 0x0001 206 + #define BCMA_CORE_PCI_RC_RRS_VISIBILITY 0x0001 207 207 208 208 struct bcma_drv_pci; 209 209 struct bcma_bus;
+1 -1
include/linux/pci.h
··· 371 371 can be generated */ 372 372 unsigned int pme_poll:1; /* Poll device's PME status bit */ 373 373 unsigned int pinned:1; /* Whether this dev is pinned */ 374 - unsigned int config_crs_sv:1; /* Config CRS software visibility */ 374 + unsigned int config_rrs_sv:1; /* Config RRS software visibility */ 375 375 unsigned int imm_ready:1; /* Supports Immediate Readiness */ 376 376 unsigned int d1_support:1; /* Low power state D1 is supported */ 377 377 unsigned int d2_support:1; /* Low power state D2 is supported */
+4 -2
include/uapi/linux/pci_regs.h
··· 634 634 #define PCI_EXP_RTCTL_SENFEE 0x0002 /* System Error on Non-Fatal Error */ 635 635 #define PCI_EXP_RTCTL_SEFEE 0x0004 /* System Error on Fatal Error */ 636 636 #define PCI_EXP_RTCTL_PMEIE 0x0008 /* PME Interrupt Enable */ 637 - #define PCI_EXP_RTCTL_CRSSVE 0x0010 /* CRS Software Visibility Enable */ 637 + #define PCI_EXP_RTCTL_RRS_SVE 0x0010 /* Config RRS Software Visibility Enable */ 638 + #define PCI_EXP_RTCTL_CRSSVE PCI_EXP_RTCTL_RRS_SVE /* compatibility */ 638 639 #define PCI_EXP_RTCAP 0x1e /* Root Capabilities */ 639 - #define PCI_EXP_RTCAP_CRSVIS 0x0001 /* CRS Software Visibility capability */ 640 + #define PCI_EXP_RTCAP_RRS_SV 0x0001 /* Config RRS Software Visibility */ 641 + #define PCI_EXP_RTCAP_CRSVIS PCI_EXP_RTCAP_RRS_SV /* compatibility */ 640 642 #define PCI_EXP_RTSTA 0x20 /* Root Status */ 641 643 #define PCI_EXP_RTSTA_PME_RQ_ID 0x0000ffff /* PME Requester ID */ 642 644 #define PCI_EXP_RTSTA_PME 0x00010000 /* PME status */