Lines Matching refs:pcie_port

78 static uint32_t __cvmx_pcie_config_read32(int node, int pcie_port, int bus, int dev, int func,
89 uint64_t cvmx_pcie_get_io_base_address(int pcie_port) in cvmx_pcie_get_io_base_address() argument
98 pcie_addr.io.node = (pcie_port >> 4) & 0x3; in cvmx_pcie_get_io_base_address()
100 pcie_addr.io.port = (pcie_port & 0x3); in cvmx_pcie_get_io_base_address()
112 uint64_t cvmx_pcie_get_io_size(int pcie_port) in cvmx_pcie_get_io_size() argument
125 uint64_t cvmx_pcie_get_mem_base_address(int pcie_port) in cvmx_pcie_get_mem_base_address() argument
133 pcie_addr.mem.subdid = 3 + (pcie_port & 0x3); in cvmx_pcie_get_mem_base_address()
134 pcie_addr.mem.node = (pcie_port >> 4) & 0x3; in cvmx_pcie_get_mem_base_address()
146 uint64_t cvmx_pcie_get_mem_size(int pcie_port) in cvmx_pcie_get_mem_size() argument
159 static int __cvmx_pcie_get_qlm(int node, int pcie_port) in __cvmx_pcie_get_qlm() argument
166 switch (pcie_port) { in __cvmx_pcie_get_qlm()
210 printf("Invalid %d PCIe port\n", pcie_port); in __cvmx_pcie_get_qlm()
217 switch (pcie_port) { in __cvmx_pcie_get_qlm()
259 printf("Invalid %d PCIe port\n", pcie_port); in __cvmx_pcie_get_qlm()
266 switch (pcie_port) { in __cvmx_pcie_get_qlm()
295 switch (pcie_port) { in __cvmx_pcie_get_qlm()
322 static void __cvmx_pcie_rc_initialize_config_space(int node, int pcie_port) in __cvmx_pcie_rc_initialize_config_space() argument
331 pciercx_cfg030.u32 = CVMX_PCIE_CFGX_READ(pcie_port, in __cvmx_pcie_rc_initialize_config_space()
332 CVMX_PCIERCX_CFG030(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
350 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG030(pcie_port), in __cvmx_pcie_rc_initialize_config_space()
365 prt_cfg.u64 = CVMX_READ_CSR(CVMX_DPI_SLI_PRTX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
370 CVMX_WRITE_CSR(CVMX_DPI_SLI_PRTX_CFG(pcie_port), prt_cfg.u64); in __cvmx_pcie_rc_initialize_config_space()
372 sli_s2m_portx_ctl.u64 = CVMX_READ_CSR(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
376 CVMX_WRITE_CSR(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port), sli_s2m_portx_ctl.u64); in __cvmx_pcie_rc_initialize_config_space()
382 pciercx_cfg070.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG070(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
385 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG070(pcie_port), pciercx_cfg070.u32); in __cvmx_pcie_rc_initialize_config_space()
395 pciercx_cfg001.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG001(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
400 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG001(pcie_port), pciercx_cfg001.u32); in __cvmx_pcie_rc_initialize_config_space()
405 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG066(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
407 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG069(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
413 pciercx_cfg032.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
415 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG032(pcie_port), pciercx_cfg032.u32); in __cvmx_pcie_rc_initialize_config_space()
432 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG006(pcie_port), pciercx_cfg006.u32); in __cvmx_pcie_rc_initialize_config_space()
444 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG008(pcie_port), pciercx_cfg008.u32); in __cvmx_pcie_rc_initialize_config_space()
456 pciercx_cfg009.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG009(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
457 pciercx_cfg010.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG010(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
458 pciercx_cfg011.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG011(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
463 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG009(pcie_port), pciercx_cfg009.u32); in __cvmx_pcie_rc_initialize_config_space()
464 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG010(pcie_port), pciercx_cfg010.u32); in __cvmx_pcie_rc_initialize_config_space()
465 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG011(pcie_port), pciercx_cfg011.u32); in __cvmx_pcie_rc_initialize_config_space()
473 pciercx_cfg035.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG035(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
478 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG035(pcie_port), pciercx_cfg035.u32); in __cvmx_pcie_rc_initialize_config_space()
486 pciercx_cfg075.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG075(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
490 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG075(pcie_port), pciercx_cfg075.u32); in __cvmx_pcie_rc_initialize_config_space()
498 pciercx_cfg034.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG034(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
502 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG034(pcie_port), pciercx_cfg034.u32); in __cvmx_pcie_rc_initialize_config_space()
507 int qlm = __cvmx_pcie_get_qlm(node, pcie_port); in __cvmx_pcie_rc_initialize_config_space()
525 pem_cfg.u64 = CVMX_READ_CSR(CVMX_PEMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
527 CVMX_WRITE_CSR(CVMX_PEMX_CFG(pcie_port), pem_cfg.u64); in __cvmx_pcie_rc_initialize_config_space()
530 cfg040.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG040(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
532 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG040(pcie_port), cfg040.u32); in __cvmx_pcie_rc_initialize_config_space()
535 pem_cfg.u64 = CVMX_READ_CSR(CVMX_PEMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
537 CVMX_WRITE_CSR(CVMX_PEMX_CFG(pcie_port), pem_cfg.u64); in __cvmx_pcie_rc_initialize_config_space()
540 cfg040.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG040(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
542 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG040(pcie_port), cfg040.u32); in __cvmx_pcie_rc_initialize_config_space()
545 pem_cfg.u64 = CVMX_READ_CSR(CVMX_PEMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
547 CVMX_WRITE_CSR(CVMX_PEMX_CFG(pcie_port), pem_cfg.u64); in __cvmx_pcie_rc_initialize_config_space()
550 cfg040.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG040(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
552 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG040(pcie_port), cfg040.u32); in __cvmx_pcie_rc_initialize_config_space()
559 pem_cfg.u64 = CVMX_READ_CSR(CVMX_PEMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
560 cfg452.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG452(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
565 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG452(pcie_port), cfg452.u32); in __cvmx_pcie_rc_initialize_config_space()
568 cfg031.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG031(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
570 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG031(pcie_port), cfg031.u32); in __cvmx_pcie_rc_initialize_config_space()
573 cfg554.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG554(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
574 cfg554.s.prv = pcie_preset_vec[pcie_port]; in __cvmx_pcie_rc_initialize_config_space()
575 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG554(pcie_port), cfg554.u32); in __cvmx_pcie_rc_initialize_config_space()
577 cfg554.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG554(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
579 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG554(pcie_port), cfg554.u32); in __cvmx_pcie_rc_initialize_config_space()
582 cfg089.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG089(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
587 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG089(pcie_port), cfg089.u32); in __cvmx_pcie_rc_initialize_config_space()
588 cfg090.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG090(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
593 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG090(pcie_port), cfg090.u32); in __cvmx_pcie_rc_initialize_config_space()
594 cfg091.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG091(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
599 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG091(pcie_port), cfg091.u32); in __cvmx_pcie_rc_initialize_config_space()
600 cfg092.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG092(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
605 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG092(pcie_port), cfg092.u32); in __cvmx_pcie_rc_initialize_config_space()
650 static void __cvmx_pcie_config_pemon(int node, int pcie_port, bool direction) in __cvmx_pcie_config_pemon() argument
654 pemon.u64 = CVMX_READ_CSR(CVMX_PEMX_ON(pcie_port)); in __cvmx_pcie_config_pemon()
656 CVMX_WRITE_CSR(CVMX_PEMX_ON(pcie_port), pemon.u64); in __cvmx_pcie_config_pemon()
657 pemon.u64 = CVMX_READ_CSR(CVMX_PEMX_ON(pcie_port)); in __cvmx_pcie_config_pemon()
667 static void __cvmx_pcie_gser_phy_config(int node, int pcie_port, int qlm) in __cvmx_pcie_gser_phy_config() argument
679 pem_cfg.u64 = CVMX_READ_CSR(CVMX_PEMX_CFG(pcie_port)); in __cvmx_pcie_gser_phy_config()
697 pem_cfg.u64 = CVMX_READ_CSR(CVMX_PEMX_CFG(pcie_port)); in __cvmx_pcie_gser_phy_config()
756 static int __cvmx_pcie_rc_get_ltssm_state(int node, int pcie_port) in __cvmx_pcie_rc_get_ltssm_state() argument
760 if (OCTEON_IS_MODEL(OCTEON_CN73XX) && pcie_port == 0) { in __cvmx_pcie_rc_get_ltssm_state()
774 CVMX_WRITE_CSR(CVMX_DTX_PEMX_SELX(0, pcie_port), 0); in __cvmx_pcie_rc_get_ltssm_state()
775 CVMX_READ_CSR(CVMX_DTX_PEMX_SELX(0, pcie_port)); in __cvmx_pcie_rc_get_ltssm_state()
776 CVMX_WRITE_CSR(CVMX_DTX_PEMX_ENAX(0, pcie_port), 0xfffffffffull); in __cvmx_pcie_rc_get_ltssm_state()
777 CVMX_READ_CSR(CVMX_DTX_PEMX_ENAX(0, pcie_port)); in __cvmx_pcie_rc_get_ltssm_state()
780 debug = CVMX_READ_CSR(CVMX_DTX_PEMX_DATX(0, pcie_port)); in __cvmx_pcie_rc_get_ltssm_state()
783 CVMX_WRITE_CSR(CVMX_DTX_PEMX_ENAX(0, pcie_port), 0); in __cvmx_pcie_rc_get_ltssm_state()
784 CVMX_READ_CSR(CVMX_DTX_PEMX_ENAX(0, pcie_port)); in __cvmx_pcie_rc_get_ltssm_state()
895 static uint32_t cvmx_pcie_config_read32_retry(int node, int pcie_port, int bus, int dev, int func, in cvmx_pcie_config_read32_retry() argument
907 val = __cvmx_pcie_config_read32(node, pcie_port, bus, dev, func, reg, 0); in cvmx_pcie_config_read32_retry()
917 node, pcie_port); in cvmx_pcie_config_read32_retry()
933 static int __cvmx_pcie_rc_initialize_link_gen2(int node, int pcie_port) in __cvmx_pcie_rc_initialize_link_gen2() argument
942 if (CVMX_WAIT_FOR_FIELD64_NODE(node, CVMX_PEMX_ON(pcie_port), cvmx_pemx_on_t, in __cvmx_pcie_rc_initialize_link_gen2()
944 printf("%d:PCIe: Port %d PEM not on, skipping\n", node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2()
950 pem_ctl_status.u64 = CVMX_READ_CSR(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
952 CVMX_WRITE_CSR(CVMX_PEMX_CTL_STATUS(pcie_port), pem_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen2()
961 pciercx_cfg032.u32 = CVMX_PCIE_CFGX_READ(pcie_port, in __cvmx_pcie_rc_initialize_link_gen2()
962 CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
971 pciercx_cfg448.u32 = CVMX_PCIE_CFGX_READ(pcie_port, in __cvmx_pcie_rc_initialize_link_gen2()
972 CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
987 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), in __cvmx_pcie_rc_initialize_link_gen2()
993 extern int octeon_pcie_get_qlm_from_fdt(int numa_node, int pcie_port);
995 static int __cvmx_pcie_check_pcie_port(int node, int pcie_port, enum cvmx_qlm_mode mode) in __cvmx_pcie_check_pcie_port() argument
999 printf("%d:PCIe: Port %d is SRIO, skipping.\n", node, pcie_port); in __cvmx_pcie_check_pcie_port()
1002 printf("%d:PCIe: Port %d is SGMII, skipping.\n", node, pcie_port); in __cvmx_pcie_check_pcie_port()
1005 printf("%d:PCIe: Port %d is XAUI, skipping.\n", node, pcie_port); in __cvmx_pcie_check_pcie_port()
1008 printf("%d:PCIe: Port %d is ILK, skipping.\n", node, pcie_port); in __cvmx_pcie_check_pcie_port()
1016 node, pcie_port); in __cvmx_pcie_check_pcie_port()
1022 static int __cvmx_pcie_check_qlm_mode(int node, int pcie_port, int qlm) in __cvmx_pcie_check_qlm_mode() argument
1031 if (cvmx_qlm_get_dlm_mode(1, pcie_port) == in __cvmx_pcie_check_qlm_mode()
1034 pcie_port); in __cvmx_pcie_check_qlm_mode()
1043 qlm = 3 - (pcie_port * 2); in __cvmx_pcie_check_qlm_mode()
1051 qlm = pcie_port; in __cvmx_pcie_check_qlm_mode()
1054 qlm = pcie_port; in __cvmx_pcie_check_qlm_mode()
1066 __cvmx_pcie_check_pcie_port(node, pcie_port, mode); in __cvmx_pcie_check_qlm_mode()
1071 static void __cvmx_pcie_sli_config(int node, int pcie_port) in __cvmx_pcie_sli_config() argument
1089 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in __cvmx_pcie_sli_config()
1104 for (i = 12 + pcie_port * 4; i < 16 + pcie_port * 4; i++) { in __cvmx_pcie_sli_config()
1118 CVMX_WRITE_CSR(CVMX_PEMX_P2P_BARX_START(i, pcie_port), -1); in __cvmx_pcie_sli_config()
1119 CVMX_WRITE_CSR(CVMX_PEMX_P2P_BARX_END(i, pcie_port), -1); in __cvmx_pcie_sli_config()
1124 CVMX_WRITE_CSR(CVMX_PEMX_P2N_BAR0_START(pcie_port), 0); in __cvmx_pcie_sli_config()
1130 CVMX_WRITE_CSR(CVMX_PEMX_P2N_BAR2_START(pcie_port), 0); in __cvmx_pcie_sli_config()
1137 pemx_bar_ctl.u64 = CVMX_READ_CSR(CVMX_PEMX_BAR_CTL(pcie_port)); in __cvmx_pcie_sli_config()
1142 CVMX_WRITE_CSR(CVMX_PEMX_BAR_CTL(pcie_port), pemx_bar_ctl.u64); in __cvmx_pcie_sli_config()
1143 sli_ctl_portx.u64 = CVMX_READ_CSR(CVMX_PEXP_SLI_CTL_PORTX(pcie_port)); in __cvmx_pcie_sli_config()
1148 CVMX_WRITE_CSR(CVMX_PEXP_SLI_CTL_PORTX(pcie_port), sli_ctl_portx.u64); in __cvmx_pcie_sli_config()
1151 CVMX_WRITE_CSR(CVMX_PEMX_P2N_BAR1_START(pcie_port), in __cvmx_pcie_sli_config()
1161 CVMX_WRITE_CSR(CVMX_PEMX_BAR1_INDEXX(i, pcie_port), in __cvmx_pcie_sli_config()
1168 pemx_ctl_status.u64 = CVMX_READ_CSR(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_sli_config()
1170 CVMX_WRITE_CSR(CVMX_PEMX_CTL_STATUS(pcie_port), pemx_ctl_status.u64); in __cvmx_pcie_sli_config()
1190 static int __cvmx_pcie_rc_initialize_gen2(int pcie_port) in __cvmx_pcie_rc_initialize_gen2() argument
1201 int node = (pcie_port >> 4) & 0x3; in __cvmx_pcie_rc_initialize_gen2()
1203 pcie_port &= 0x3; in __cvmx_pcie_rc_initialize_gen2()
1205 if (pcie_port >= CVMX_PCIE_PORTS) { in __cvmx_pcie_rc_initialize_gen2()
1210 if (__cvmx_pcie_check_qlm_mode(node, pcie_port, qlm)) in __cvmx_pcie_rc_initialize_gen2()
1217 ciu_soft_prst_reg = CVMX_RST_SOFT_PRSTX(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1218 rst_ctl_reg = CVMX_RST_CTLX(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1220 ciu_soft_prst_reg = (pcie_port) ? CVMX_CIU_SOFT_PRST1 : CVMX_CIU_SOFT_PRST; in __cvmx_pcie_rc_initialize_gen2()
1221 rst_ctl_reg = CVMX_MIO_RST_CTLX(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1229 if (OCTEON_IS_MODEL(OCTEON_CN70XX) && pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1234 printf("PCIe: Port %d in 1x4 mode.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1240 printf("%d:PCIe: Port %d in endpoint mode.\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1248 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1296 int qlm = __cvmx_pcie_get_qlm(0, pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1317 if (mode == CVMX_QLM_MODE_PCIE && pcie_port == 0) in __cvmx_pcie_rc_initialize_gen2()
1328 printf("%d:PCIe: Port %d stuck in reset, skipping.\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1333 pemx_bist_status.u64 = CVMX_READ_CSR(CVMX_PEMX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1335 printf("%d:PCIe: BIST FAILED for port %d (0x%016llx)\n", node, pcie_port, in __cvmx_pcie_rc_initialize_gen2()
1337 pemx_bist_status2.u64 = CVMX_READ_CSR(CVMX_PEMX_BIST_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1348 node, pcie_port, CAST64(pemx_bist_status2.u64)); in __cvmx_pcie_rc_initialize_gen2()
1352 __cvmx_pcie_rc_initialize_config_space(node, pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1355 pciercx_cfg515.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG515(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1357 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG515(pcie_port), pciercx_cfg515.u32); in __cvmx_pcie_rc_initialize_gen2()
1360 if (__cvmx_pcie_rc_initialize_link_gen2(node, pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1366 pciercx_cfg031.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG031(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1368 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG031(pcie_port), pciercx_cfg031.u32); in __cvmx_pcie_rc_initialize_gen2()
1369 if (__cvmx_pcie_rc_initialize_link_gen2(node, pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1371 pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1376 __cvmx_pcie_sli_config(node, pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1379 pciercx_cfg032.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1380 printf("PCIe: Port %d link active, %d lanes, speed gen%d\n", pcie_port, in __cvmx_pcie_rc_initialize_gen2()
1383 pcie_link_initialized[node][pcie_port] = true; in __cvmx_pcie_rc_initialize_gen2()
1398 static int __cvmx_pcie_rc_initialize_link_gen2_v3(int node, int pcie_port) in __cvmx_pcie_rc_initialize_link_gen2_v3() argument
1421 if (CVMX_WAIT_FOR_FIELD64_NODE(node, CVMX_PEMX_ON(pcie_port), cvmx_pemx_on_t, pemoor, ==, 1, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1423 printf("N%d:PCIe: Port %d PEM not on, skipping\n", node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1429 ltssm_history[0] = __cvmx_pcie_rc_get_ltssm_state(node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1432 pciercx_cfg031.u32 = CVMX_PCIE_CFGX_READ(pcie_port, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1433 CVMX_PCIERCX_CFG031(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1440 node, pcie_port, max_width, max_gen); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1445 printf("N%d.PCIe%d: Enabling the link\n", node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1447 pem_ctl_status.u64 = CVMX_READ_CSR(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1449 CVMX_WRITE_CSR(CVMX_PEMX_CTL_STATUS(pcie_port), pem_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1455 __cvmx_pcie_sli_config(node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1464 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG068(pcie_port), -1); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1468 printf("N%d.PCIe%d: Waiting for link\n", node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1478 pciercx_cfg032.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1488 ltssm_state = __cvmx_pcie_rc_get_ltssm_state(node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1508 pcie_port, CVMX_PCIERCX_CFG068(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1518 node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1528 CVMX_PCIE_CFGX_WRITE(pcie_port, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1529 CVMX_PCIERCX_CFG068(pcie_port), in __cvmx_pcie_rc_initialize_link_gen2_v3()
1533 node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1546 node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1553 node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1570 printf("N%d.PCIe%d: LTSSM History\n", node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1576 printf("N%d.PCIe%d: %s\n", node, pcie_port, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1582 ltssm_state = __cvmx_pcie_rc_get_ltssm_state(node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1585 node, pcie_port, pciercx_cfg032.s.dlla ? "active" : "down", in __cvmx_pcie_rc_initialize_link_gen2_v3()
1596 printf("N%d.PCIe%d: Link negotiated %d lanes, speed gen%d\n", node, pcie_port, neg_width, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1600 pciercx_cfg006.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG006(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1607 printf("N%d.PCIe%d: Reading Bus %d device max speed and width\n", node, pcie_port, bus); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1619 cap = cvmx_pcie_config_read32_retry(node, pcie_port, bus, 0, 0, 0x34); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1628 cap = cvmx_pcie_config_read32_retry(node, pcie_port, bus, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1637 node, pcie_port, cap_next); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1640 cap = cvmx_pcie_config_read32_retry(node, pcie_port, bus, 0, 0, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1648 pcie_port, dev_width, dev_gen); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1675 node, pcie_port, neg_width, desired_width); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1682 pcie_port, neg_gen, desired_gen); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1690 node, pcie_port, neg_gen, desired_gen); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1693 CVMX_PCIE_CFGX_READ(pcie_port, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1694 CVMX_PCIERCX_CFG515(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1696 CVMX_PCIE_CFGX_WRITE(pcie_port, in __cvmx_pcie_rc_initialize_link_gen2_v3()
1697 CVMX_PCIERCX_CFG515(pcie_port), in __cvmx_pcie_rc_initialize_link_gen2_v3()
1705 node, pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1711 CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG068(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1715 pcie_port); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1729 pciercx_cfg448.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1744 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), pciercx_cfg448.u32); in __cvmx_pcie_rc_initialize_link_gen2_v3()
1749 static int __cvmx_pcie_rc_initialize_gen2_v3(int pcie_port) in __cvmx_pcie_rc_initialize_gen2_v3() argument
1762 int node = (pcie_port >> 4) & 0x3; in __cvmx_pcie_rc_initialize_gen2_v3()
1768 pcie_port &= 0x3; in __cvmx_pcie_rc_initialize_gen2_v3()
1771 pcie_link_initialized[node][pcie_port] = false; in __cvmx_pcie_rc_initialize_gen2_v3()
1777 printf("N%d:PCIE%d: Starting link retry %d\n", node, pcie_port, in __cvmx_pcie_rc_initialize_gen2_v3()
1780 if (pcie_port >= CVMX_PCIE_PORTS) { in __cvmx_pcie_rc_initialize_gen2_v3()
1782 printf("Invalid PCIe%d port\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1787 qlm = __cvmx_pcie_get_qlm(node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1793 if (__cvmx_pcie_check_pcie_port(node, pcie_port, mode)) in __cvmx_pcie_rc_initialize_gen2_v3()
1796 rst_soft_prst_reg = CVMX_RST_SOFT_PRSTX(pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1797 rst_ctl.u64 = CVMX_READ_CSR(CVMX_RST_CTLX(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1800 CVMX_WRITE_CSR(CVMX_DTX_PEMX_SELX(0, pcie_port), 0x17); in __cvmx_pcie_rc_initialize_gen2_v3()
1801 CVMX_WRITE_CSR(CVMX_DTX_PEMX_SELX(1, pcie_port), 0); in __cvmx_pcie_rc_initialize_gen2_v3()
1806 node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1820 __cvmx_pcie_config_pemon(node, pcie_port, 0); in __cvmx_pcie_rc_initialize_gen2_v3()
1833 __cvmx_pcie_gser_phy_config(node, pcie_port, qlm); in __cvmx_pcie_rc_initialize_gen2_v3()
1837 __cvmx_pcie_config_pemon(node, pcie_port, 1); in __cvmx_pcie_rc_initialize_gen2_v3()
1850 pemx_cfg.u64 = csr_rd(CVMX_PEMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1873 if (CVMX_WAIT_FOR_FIELD64_NODE(node, CVMX_RST_CTLX(pcie_port), in __cvmx_pcie_rc_initialize_gen2_v3()
1876 printf("N%d:PCIE: Port %d stuck in reset, skipping.\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1881 pemx_bist_status.u64 = CVMX_READ_CSR(CVMX_PEMX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1883 printf("N%d:PCIE: BIST FAILED for port %d (0x%016llx)\n", node, pcie_port, in __cvmx_pcie_rc_initialize_gen2_v3()
1888 printf("N%d:PCIE%d Initialize Config Space\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1890 __cvmx_pcie_rc_initialize_config_space(node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1893 pciercx_cfg515.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG515(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1895 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG515(pcie_port), pciercx_cfg515.u32); in __cvmx_pcie_rc_initialize_gen2_v3()
1904 CVMX_PCIE_CFGX_READ(pcie_port, in __cvmx_pcie_rc_initialize_gen2_v3()
1905 CVMX_PCIERCX_CFG031(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1915 printf("N%d:PCIE%d: Dropping speed to gen2\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1918 CVMX_PCIE_CFGX_WRITE(pcie_port, in __cvmx_pcie_rc_initialize_gen2_v3()
1919 CVMX_PCIERCX_CFG031(pcie_port), in __cvmx_pcie_rc_initialize_gen2_v3()
1924 pcie_port, CVMX_PCIERCX_CFG040(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1926 CVMX_PCIE_CFGX_WRITE(pcie_port, in __cvmx_pcie_rc_initialize_gen2_v3()
1927 CVMX_PCIERCX_CFG040(pcie_port), in __cvmx_pcie_rc_initialize_gen2_v3()
1933 result = __cvmx_pcie_rc_initialize_link_gen2_v3(node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1936 printf("N%d:PCIE%d: Link does not need a retry\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1944 node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1948 pcie_port, in __cvmx_pcie_rc_initialize_gen2_v3()
1949 CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1956 printf("N%d.PCIE%d: Link requested a retry\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1960 int ltssm_state = __cvmx_pcie_rc_get_ltssm_state(node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1963 node, pcie_port, cvmx_pcie_get_ltssm_string(ltssm_state)); in __cvmx_pcie_rc_initialize_gen2_v3()
1969 pciercx_cfg032.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1976 printf("N%d:PCIE%d: Disabling equalization for GEN1 Link\n", node, pcie_port); in __cvmx_pcie_rc_initialize_gen2_v3()
1978 pciercx_cfg548.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG548(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1980 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG548(pcie_port), pciercx_cfg548.u32); in __cvmx_pcie_rc_initialize_gen2_v3()
1984 pciercx_cfg038.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG038(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1987 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG038(pcie_port), pciercx_cfg038.u32); in __cvmx_pcie_rc_initialize_gen2_v3()
1990 pciercx_cfg548.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG548(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1992 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIERCX_CFG548(pcie_port), pciercx_cfg548.u32); in __cvmx_pcie_rc_initialize_gen2_v3()
1998 pciercx_cfg032.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen2_v3()
1999 printf("N%d:PCIe: Port %d link active, %d lanes, speed gen%d\n", node, pcie_port, in __cvmx_pcie_rc_initialize_gen2_v3()
2002 pcie_link_initialized[node][pcie_port] = true; in __cvmx_pcie_rc_initialize_gen2_v3()
2013 int cvmx_pcie_rc_initialize(int pcie_port) in cvmx_pcie_rc_initialize() argument
2018 result = __cvmx_pcie_rc_initialize_gen2(pcie_port); in cvmx_pcie_rc_initialize()
2020 result = __cvmx_pcie_rc_initialize_gen2_v3(pcie_port); in cvmx_pcie_rc_initialize()
2023 cvmx_error_enable_group(CVMX_ERROR_GROUP_PCI, pcie_port); in cvmx_pcie_rc_initialize()
2034 int cvmx_pcie_rc_shutdown(int pcie_port) in cvmx_pcie_rc_shutdown() argument
2041 if (!cvmx_pcie_is_host_mode(pcie_port)) in cvmx_pcie_rc_shutdown()
2044 node = (pcie_port >> 4) & 0x3; in cvmx_pcie_rc_shutdown()
2045 pcie_port &= 0x3; in cvmx_pcie_rc_shutdown()
2046 cvmx_error_disable_group(CVMX_ERROR_GROUP_PCI, pcie_port); in cvmx_pcie_rc_shutdown()
2048 if (CVMX_WAIT_FOR_FIELD64_NODE(node, CVMX_PEMX_CPL_LUT_VALID(pcie_port), in cvmx_pcie_rc_shutdown()
2051 debug("PCIe: Port %d shutdown timeout\n", pcie_port); in cvmx_pcie_rc_shutdown()
2054 ciu_soft_prst_reg = CVMX_RST_SOFT_PRSTX(pcie_port); in cvmx_pcie_rc_shutdown()
2056 ciu_soft_prst_reg = (pcie_port) ? CVMX_CIU_SOFT_PRST1 : in cvmx_pcie_rc_shutdown()
2122 uint8_t cvmx_pcie_config_read8(int pcie_port, int bus, int dev, int fn, int reg) in cvmx_pcie_config_read8() argument
2125 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_config_read8()
2127 pcie_port &= 0x3; in cvmx_pcie_config_read8()
2128 address = __cvmx_pcie_build_config_addr(node, pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read8()
2146 uint16_t cvmx_pcie_config_read16(int pcie_port, int bus, int dev, int fn, int reg) in cvmx_pcie_config_read16() argument
2149 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_config_read16()
2151 pcie_port &= 0x3; in cvmx_pcie_config_read16()
2152 address = __cvmx_pcie_build_config_addr(node, pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read16()
2159 static uint32_t __cvmx_pcie_config_read32(int node, int pcie_port, int bus, int dev, int func, in __cvmx_pcie_config_read32() argument
2164 address = __cvmx_pcie_build_config_addr(node, pcie_port, bus, dev, func, reg); in __cvmx_pcie_config_read32()
2166 if (address && pcie_link_initialized[node][pcie_port]) in __cvmx_pcie_config_read32()
2188 uint32_t cvmx_pcie_config_read32(int pcie_port, int bus, int dev, int fn, int reg) in cvmx_pcie_config_read32() argument
2190 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_config_read32()
2192 pcie_port &= 0x3; in cvmx_pcie_config_read32()
2193 return __cvmx_pcie_config_read32(node, pcie_port, bus, dev, fn, reg, in cvmx_pcie_config_read32()
2194 pcie_link_initialized[node][pcie_port]); in cvmx_pcie_config_read32()
2207 void cvmx_pcie_config_write8(int pcie_port, int bus, int dev, int fn, int reg, uint8_t val) in cvmx_pcie_config_write8() argument
2210 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_config_write8()
2212 pcie_port &= 0x3; in cvmx_pcie_config_write8()
2213 address = __cvmx_pcie_build_config_addr(node, pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write8()
2228 void cvmx_pcie_config_write16(int pcie_port, int bus, int dev, int fn, int reg, uint16_t val) in cvmx_pcie_config_write16() argument
2231 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_config_write16()
2233 pcie_port &= 0x3; in cvmx_pcie_config_write16()
2234 address = __cvmx_pcie_build_config_addr(node, pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write16()
2249 void cvmx_pcie_config_write32(int pcie_port, int bus, int dev, int fn, int reg, uint32_t val) in cvmx_pcie_config_write32() argument
2252 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_config_write32()
2254 pcie_port &= 0x3; in cvmx_pcie_config_write32()
2255 address = __cvmx_pcie_build_config_addr(node, pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write32()
2269 uint32_t cvmx_pcie_cfgx_read(int pcie_port, uint32_t cfg_offset) in cvmx_pcie_cfgx_read() argument
2271 return cvmx_pcie_cfgx_read_node(0, pcie_port, cfg_offset); in cvmx_pcie_cfgx_read()
2274 uint32_t cvmx_pcie_cfgx_read_node(int node, int pcie_port, uint32_t cfg_offset) in cvmx_pcie_cfgx_read_node() argument
2280 CVMX_WRITE_CSR(CVMX_PEMX_CFG_RD(pcie_port), pemx_cfg_rd.u64); in cvmx_pcie_cfgx_read_node()
2281 pemx_cfg_rd.u64 = CVMX_READ_CSR(CVMX_PEMX_CFG_RD(pcie_port)); in cvmx_pcie_cfgx_read_node()
2294 void cvmx_pcie_cfgx_write(int pcie_port, uint32_t cfg_offset, uint32_t val) in cvmx_pcie_cfgx_write() argument
2296 cvmx_pcie_cfgx_write_node(0, pcie_port, cfg_offset, val); in cvmx_pcie_cfgx_write()
2299 void cvmx_pcie_cfgx_write_node(int node, int pcie_port, uint32_t cfg_offset, uint32_t val) in cvmx_pcie_cfgx_write_node() argument
2306 CVMX_WRITE_CSR(CVMX_PEMX_CFG_WR(pcie_port), pemx_cfg_wr.u64); in cvmx_pcie_cfgx_write_node()
2309 extern int cvmx_pcie_is_host_mode(int pcie_port);
2318 int cvmx_pcie_ep_initialize(int pcie_port) in cvmx_pcie_ep_initialize() argument
2320 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_ep_initialize()
2322 if (cvmx_pcie_is_host_mode(pcie_port)) in cvmx_pcie_ep_initialize()
2325 pcie_port &= 0x3; in cvmx_pcie_ep_initialize()
2331 if (pcie_port) { in cvmx_pcie_ep_initialize()
2351 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIEEPX_CFG001(pcie_port), 0x6); in cvmx_pcie_ep_initialize()
2360 pcieepx_cfg030.u32 = CVMX_PCIE_CFGX_READ(pcie_port, CVMX_PCIEEPX_CFG030(pcie_port)); in cvmx_pcie_ep_initialize()
2369 CVMX_PCIE_CFGX_WRITE(pcie_port, CVMX_PCIEEPX_CFG030(pcie_port), pcieepx_cfg030.u32); in cvmx_pcie_ep_initialize()
2381 prt_cfg.u64 = CVMX_READ_CSR(CVMX_DPI_SLI_PRTX_CFG(pcie_port)); in cvmx_pcie_ep_initialize()
2386 CVMX_WRITE_CSR(CVMX_DPI_SLI_PRTX_CFG(pcie_port), prt_cfg.u64); in cvmx_pcie_ep_initialize()
2388 sli_s2m_portx_ctl.u64 = CVMX_READ_CSR(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port)); in cvmx_pcie_ep_initialize()
2392 CVMX_WRITE_CSR(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port), sli_s2m_portx_ctl.u64); in cvmx_pcie_ep_initialize()
2398 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in cvmx_pcie_ep_initialize()
2409 CVMX_WRITE_CSR(CVMX_PEXP_SLI_MEM_ACCESS_SUBIDX(12 + pcie_port * 4), mem_access_subid.u64); in cvmx_pcie_ep_initialize()
2423 void cvmx_pcie_wait_for_pending(int pcie_port) in cvmx_pcie_wait_for_pending() argument
2431 if (pcie_port) { in cvmx_pcie_wait_for_pending()
2445 c = (pcie_port) ? sli_data_out_cnt.s.p1_ucnt : in cvmx_pcie_wait_for_pending()
2464 int cvmx_pcie_is_host_mode(int pcie_port) in cvmx_pcie_is_host_mode() argument
2466 int node = (pcie_port >> 4) & 0x3; in cvmx_pcie_is_host_mode()
2469 pcie_port &= 0x3; in cvmx_pcie_is_host_mode()
2473 strap.u64 = CVMX_READ_CSR(CVMX_PEMX_STRAP(pcie_port)); in cvmx_pcie_is_host_mode()
2478 rst_ctl.u64 = csr_rd(CVMX_RST_CTLX(pcie_port)); in cvmx_pcie_is_host_mode()
2482 mio_rst_ctl.u64 = csr_rd(CVMX_MIO_RST_CTLX(pcie_port)); in cvmx_pcie_is_host_mode()