• Home
  • Raw
  • Download

Lines Matching refs:pcie_port

95 static int cvmx_pcie_rc_initialize(int pcie_port);
107 static inline uint64_t cvmx_pcie_get_io_base_address(int pcie_port) in cvmx_pcie_get_io_base_address() argument
116 pcie_addr.io.port = pcie_port; in cvmx_pcie_get_io_base_address()
128 static inline uint64_t cvmx_pcie_get_io_size(int pcie_port) in cvmx_pcie_get_io_size() argument
141 static inline uint64_t cvmx_pcie_get_mem_base_address(int pcie_port) in cvmx_pcie_get_mem_base_address() argument
148 pcie_addr.mem.subdid = 3 + pcie_port; in cvmx_pcie_get_mem_base_address()
160 static inline uint64_t cvmx_pcie_get_mem_size(int pcie_port) in cvmx_pcie_get_mem_size() argument
174 static uint32_t cvmx_pcie_cfgx_read(int pcie_port, uint32_t cfg_offset) in cvmx_pcie_cfgx_read() argument
180 cvmx_write_csr(CVMX_PESCX_CFG_RD(pcie_port), pescx_cfg_rd.u64); in cvmx_pcie_cfgx_read()
181 pescx_cfg_rd.u64 = cvmx_read_csr(CVMX_PESCX_CFG_RD(pcie_port)); in cvmx_pcie_cfgx_read()
187 cvmx_write_csr(CVMX_PEMX_CFG_RD(pcie_port), pemx_cfg_rd.u64); in cvmx_pcie_cfgx_read()
188 pemx_cfg_rd.u64 = cvmx_read_csr(CVMX_PEMX_CFG_RD(pcie_port)); in cvmx_pcie_cfgx_read()
201 static void cvmx_pcie_cfgx_write(int pcie_port, uint32_t cfg_offset, in cvmx_pcie_cfgx_write() argument
209 cvmx_write_csr(CVMX_PESCX_CFG_WR(pcie_port), pescx_cfg_wr.u64); in cvmx_pcie_cfgx_write()
215 cvmx_write_csr(CVMX_PEMX_CFG_WR(pcie_port), pemx_cfg_wr.u64); in cvmx_pcie_cfgx_write()
230 static inline uint64_t __cvmx_pcie_build_config_addr(int pcie_port, int bus, in __cvmx_pcie_build_config_addr() argument
237 cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG006(pcie_port)); in __cvmx_pcie_build_config_addr()
247 pcie_addr.config.port = pcie_port; in __cvmx_pcie_build_config_addr()
267 static uint8_t cvmx_pcie_config_read8(int pcie_port, int bus, int dev, in cvmx_pcie_config_read8() argument
271 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read8()
289 static uint16_t cvmx_pcie_config_read16(int pcie_port, int bus, int dev, in cvmx_pcie_config_read16() argument
293 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read16()
311 static uint32_t cvmx_pcie_config_read32(int pcie_port, int bus, int dev, in cvmx_pcie_config_read32() argument
315 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read32()
332 static void cvmx_pcie_config_write8(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write8() argument
336 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write8()
351 static void cvmx_pcie_config_write16(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write16() argument
355 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write16()
370 static void cvmx_pcie_config_write32(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write32() argument
374 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write32()
384 static void __cvmx_pcie_rc_initialize_config_space(int pcie_port) in __cvmx_pcie_rc_initialize_config_space() argument
404 pciercx_cfg030.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG030(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
427 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG030(pcie_port), pciercx_cfg030.u32); in __cvmx_pcie_rc_initialize_config_space()
443 if (pcie_port) in __cvmx_pcie_rc_initialize_config_space()
458 prt_cfg.u64 = cvmx_read_csr(CVMX_DPI_SLI_PRTX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
463 cvmx_write_csr(CVMX_DPI_SLI_PRTX_CFG(pcie_port), prt_cfg.u64); in __cvmx_pcie_rc_initialize_config_space()
465 sli_s2m_portx_ctl.u64 = cvmx_read_csr(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
467 cvmx_write_csr(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port), sli_s2m_portx_ctl.u64); in __cvmx_pcie_rc_initialize_config_space()
471 pciercx_cfg070.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG070(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
474 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG070(pcie_port), pciercx_cfg070.u32); in __cvmx_pcie_rc_initialize_config_space()
482 pciercx_cfg001.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG001(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
487 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG001(pcie_port), pciercx_cfg001.u32); in __cvmx_pcie_rc_initialize_config_space()
491 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG066(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
493 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG069(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
497 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
499 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG032(pcie_port), pciercx_cfg032.u32); in __cvmx_pcie_rc_initialize_config_space()
514 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG006(pcie_port), pciercx_cfg006.u32); in __cvmx_pcie_rc_initialize_config_space()
525 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG008(pcie_port), pciercx_cfg008.u32); in __cvmx_pcie_rc_initialize_config_space()
534 pciercx_cfg009.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG009(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
535 pciercx_cfg010.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG010(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
536 pciercx_cfg011.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG011(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
541 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG009(pcie_port), pciercx_cfg009.u32); in __cvmx_pcie_rc_initialize_config_space()
542 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG010(pcie_port), pciercx_cfg010.u32); in __cvmx_pcie_rc_initialize_config_space()
543 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG011(pcie_port), pciercx_cfg011.u32); in __cvmx_pcie_rc_initialize_config_space()
549 pciercx_cfg035.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG035(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
554 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG035(pcie_port), pciercx_cfg035.u32); in __cvmx_pcie_rc_initialize_config_space()
560 pciercx_cfg075.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG075(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
564 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG075(pcie_port), pciercx_cfg075.u32); in __cvmx_pcie_rc_initialize_config_space()
570 pciercx_cfg034.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG034(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
574 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG034(pcie_port), pciercx_cfg034.u32); in __cvmx_pcie_rc_initialize_config_space()
586 static int __cvmx_pcie_rc_initialize_link_gen1(int pcie_port) in __cvmx_pcie_rc_initialize_link_gen1() argument
595 pciercx_cfg452.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG452(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
596 pescx_ctl_status.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
603 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG452(pcie_port), pciercx_cfg452.u32); in __cvmx_pcie_rc_initialize_link_gen1()
612 pciercx_cfg455.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG455(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
614 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG455(pcie_port), pciercx_cfg455.u32); in __cvmx_pcie_rc_initialize_link_gen1()
618 if (OCTEON_IS_MODEL(OCTEON_CN52XX) && (pcie_port == 1)) { in __cvmx_pcie_rc_initialize_link_gen1()
620 cvmx_write_csr(CVMX_PESCX_CTL_STATUS(pcie_port), pescx_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen1()
624 pescx_ctl_status.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
626 cvmx_write_csr(CVMX_PESCX_CTL_STATUS(pcie_port), pescx_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen1()
639 cvmx_dprintf("PCIe: Port %d link timeout\n", pcie_port); in __cvmx_pcie_rc_initialize_link_gen1()
643 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
657 pciercx_cfg448.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
672 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), pciercx_cfg448.u32); in __cvmx_pcie_rc_initialize_link_gen1()
693 static int __cvmx_pcie_rc_initialize_gen1(int pcie_port) in __cvmx_pcie_rc_initialize_gen1() argument
715 if ((pcie_port == 0) && !npei_ctl_status.s.host_mode) { in __cvmx_pcie_rc_initialize_gen1()
716 cvmx_dprintf("PCIe: Port %d in endpoint mode\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
726 if ((pcie_port == 1) && npei_dbg_data.cn52xx.qlm0_link_width) { in __cvmx_pcie_rc_initialize_gen1()
758 if (pcie_port == 0) { in __cvmx_pcie_rc_initialize_gen1()
789 if (pcie_port) in __cvmx_pcie_rc_initialize_gen1()
801 if (pcie_port) in __cvmx_pcie_rc_initialize_gen1()
808 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen1()
832 pescx_ctl_status2.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
834 cvmx_write_csr(CVMX_PESCX_CTL_STATUS2(pcie_port), pescx_ctl_status2.u64); in __cvmx_pcie_rc_initialize_gen1()
838 if (CVMX_WAIT_FOR_FIELD64(CVMX_PESCX_CTL_STATUS2(pcie_port), in __cvmx_pcie_rc_initialize_gen1()
840 cvmx_dprintf("PCIe: Port %d isn't clocked, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
850 pescx_ctl_status2.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
852 cvmx_dprintf("PCIe: Port %d stuck in reset, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
861 pescx_bist_status2.u64 = cvmx_read_csr(CVMX_PESCX_BIST_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
864 pcie_port); in __cvmx_pcie_rc_initialize_gen1()
869 pescx_bist_status.u64 = cvmx_read_csr(CVMX_PESCX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
872 pcie_port, CAST64(pescx_bist_status.u64)); in __cvmx_pcie_rc_initialize_gen1()
875 __cvmx_pcie_rc_initialize_config_space(pcie_port); in __cvmx_pcie_rc_initialize_gen1()
878 if (__cvmx_pcie_rc_initialize_link_gen1(pcie_port)) { in __cvmx_pcie_rc_initialize_gen1()
880 pcie_port); in __cvmx_pcie_rc_initialize_gen1()
892 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in __cvmx_pcie_rc_initialize_gen1()
906 for (i = 12 + pcie_port * 4; i < 16 + pcie_port * 4; i++) { in __cvmx_pcie_rc_initialize_gen1()
917 cvmx_write_csr(CVMX_PESCX_P2P_BARX_START(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen1()
918 cvmx_write_csr(CVMX_PESCX_P2P_BARX_END(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen1()
922 cvmx_write_csr(CVMX_PESCX_P2N_BAR0_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen1()
925 cvmx_write_csr(CVMX_PESCX_P2N_BAR1_START(pcie_port), CVMX_PCIE_BAR1_RC_BASE); in __cvmx_pcie_rc_initialize_gen1()
933 base = pcie_port ? 16 : 0; in __cvmx_pcie_rc_initialize_gen1()
955 cvmx_write_csr(CVMX_PESCX_P2N_BAR2_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen1()
966 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen1()
1012 uint64_t write_address = (cvmx_pcie_get_mem_base_address(pcie_port) + 0x100000) | (1ull<<63); in __cvmx_pcie_rc_initialize_gen1()
1031 cvmx_write_csr(CVMX_PEXP_NPEI_DBG_SELECT, (pcie_port) ? 0xd7fc : 0xcffc); in __cvmx_pcie_rc_initialize_gen1()
1046 cvmx_write_csr(CVMX_PEXP_NPEI_DBG_SELECT, (pcie_port) ? 0xd00f : 0xc80f); in __cvmx_pcie_rc_initialize_gen1()
1053 …vmx_dprintf("PCIe: Port %d aligning TLP counters as workaround to maintain ordering\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
1068 (pcie_port == 1)) in __cvmx_pcie_rc_initialize_gen1()
1076 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
1077 cvmx_dprintf("PCIe: Port %d link active, %d lanes\n", pcie_port, pciercx_cfg032.s.nlw); in __cvmx_pcie_rc_initialize_gen1()
1091 static int __cvmx_pcie_rc_initialize_link_gen2(int pcie_port) in __cvmx_pcie_rc_initialize_link_gen2() argument
1099 pem_ctl_status.u64 = cvmx_read_csr(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1101 cvmx_write_csr(CVMX_PEMX_CTL_STATUS(pcie_port), pem_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen2()
1109 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1120 pciercx_cfg448.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1135 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), pciercx_cfg448.u32); in __cvmx_pcie_rc_initialize_link_gen2()
1149 static int __cvmx_pcie_rc_initialize_gen2(int pcie_port) in __cvmx_pcie_rc_initialize_gen2() argument
1175 qlmx_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1178 pr_notice("PCIe: Port %d is disabled, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1187 pr_notice("PCIe: Port %d is SRIO, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1190 pr_notice("PCIe: Port %d is SGMII, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1193 pr_notice("PCIe: Port %d is XAUI, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1201 pr_notice("PCIe: Port %d is unknown, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1205 sriox_status_reg.u64 = cvmx_read_csr(CVMX_SRIOX_STATUS_REG(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1207 pr_notice("PCIe: Port %d is SRIO, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1217 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1218 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1219 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1220 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1221 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1222 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1223 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1224 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1225 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1226 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1227 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1228 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1229 cvmx_helper_qlm_jtag_update(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1233 mio_rst_ctl.u64 = cvmx_read_csr(CVMX_MIO_RST_CTLX(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1235 pr_notice("PCIe: Port %d in endpoint mode.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1241 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1258 if (pcie_port) in __cvmx_pcie_rc_initialize_gen2()
1270 if (pcie_port) in __cvmx_pcie_rc_initialize_gen2()
1277 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1295 …if (CVMX_WAIT_FOR_FIELD64(CVMX_MIO_RST_CTLX(pcie_port), union cvmx_mio_rst_ctlx, rst_done, ==, 1, … in __cvmx_pcie_rc_initialize_gen2()
1296 pr_notice("PCIe: Port %d stuck in reset, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1301 pemx_bist_status.u64 = cvmx_read_csr(CVMX_PEMX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1303 pr_notice("PCIe: BIST FAILED for port %d (0x%016llx)\n", pcie_port, CAST64(pemx_bist_status.u64)); in __cvmx_pcie_rc_initialize_gen2()
1304 pemx_bist_status2.u64 = cvmx_read_csr(CVMX_PEMX_BIST_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1309 …pr_notice("PCIe: BIST2 FAILED for port %d (0x%016llx)\n", pcie_port, CAST64(pemx_bist_status2.u64)… in __cvmx_pcie_rc_initialize_gen2()
1312 __cvmx_pcie_rc_initialize_config_space(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1315 pciercx_cfg515.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG515(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1317 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG515(pcie_port), pciercx_cfg515.u32); in __cvmx_pcie_rc_initialize_gen2()
1320 if (__cvmx_pcie_rc_initialize_link_gen2(pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1327 pciercx_cfg031.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG031(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1329 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG031(pcie_port), pciercx_cfg031.u32); in __cvmx_pcie_rc_initialize_gen2()
1330 if (__cvmx_pcie_rc_initialize_link_gen2(pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1331 pr_notice("PCIe: Link timeout on port %d, probably the slot is empty\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1344 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in __cvmx_pcie_rc_initialize_gen2()
1360 for (i = 12 + pcie_port * 4; i < 16 + pcie_port * 4; i++) { in __cvmx_pcie_rc_initialize_gen2()
1372 cvmx_write_csr(CVMX_PEMX_P2P_BARX_START(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen2()
1373 cvmx_write_csr(CVMX_PEMX_P2P_BARX_END(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen2()
1377 cvmx_write_csr(CVMX_PEMX_P2N_BAR0_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen2()
1385 cvmx_write_csr(CVMX_PEMX_P2N_BAR2_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen2()
1394 pemx_bar_ctl.u64 = cvmx_read_csr(CVMX_PEMX_BAR_CTL(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1399 cvmx_write_csr(CVMX_PEMX_BAR_CTL(pcie_port), pemx_bar_ctl.u64); in __cvmx_pcie_rc_initialize_gen2()
1400 sli_ctl_portx.u64 = cvmx_read_csr(CVMX_PEXP_SLI_CTL_PORTX(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1405 cvmx_write_csr(CVMX_PEXP_SLI_CTL_PORTX(pcie_port), sli_ctl_portx.u64); in __cvmx_pcie_rc_initialize_gen2()
1408 cvmx_write_csr(CVMX_PEMX_P2N_BAR1_START(pcie_port), CVMX_PCIE_BAR1_RC_BASE); in __cvmx_pcie_rc_initialize_gen2()
1417 cvmx_write_csr(CVMX_PEMX_BAR1_INDEXX(i, pcie_port), bar1_index.u64); in __cvmx_pcie_rc_initialize_gen2()
1426 pemx_ctl_status.u64 = cvmx_read_csr(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1428 cvmx_write_csr(CVMX_PEMX_CTL_STATUS(pcie_port), pemx_ctl_status.u64); in __cvmx_pcie_rc_initialize_gen2()
1431 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1432 …pr_notice("PCIe: Port %d link active, %d lanes, speed gen%d\n", pcie_port, pciercx_cfg032.s.nlw, p… in __cvmx_pcie_rc_initialize_gen2()
1444 static int cvmx_pcie_rc_initialize(int pcie_port) in cvmx_pcie_rc_initialize() argument
1448 result = __cvmx_pcie_rc_initialize_gen1(pcie_port); in cvmx_pcie_rc_initialize()
1450 result = __cvmx_pcie_rc_initialize_gen2(pcie_port); in cvmx_pcie_rc_initialize()
1540 static int octeon_pcie_read_config(unsigned int pcie_port, struct pci_bus *bus, in octeon_pcie_read_config() argument
1553 BUG_ON(pcie_port >= ARRAY_SIZE(enable_pcie_bus_num_war)); in octeon_pcie_read_config()
1559 if (enable_pcie_bus_num_war[pcie_port]) in octeon_pcie_read_config()
1563 pciercx_cfg006.u32 = cvmx_pcie_cfgx_read(pcie_port, in octeon_pcie_read_config()
1564 CVMX_PCIERCX_CFG006(pcie_port)); in octeon_pcie_read_config()
1569 cvmx_pcie_cfgx_write(pcie_port, in octeon_pcie_read_config()
1570 CVMX_PCIERCX_CFG006(pcie_port), in octeon_pcie_read_config()
1671 " size=%d ", pcie_port, bus_number, devfn, reg, size); in octeon_pcie_read_config()
1675 *val = cvmx_pcie_config_read32(pcie_port, bus_number, in octeon_pcie_read_config()
1679 *val = cvmx_pcie_config_read16(pcie_port, bus_number, in octeon_pcie_read_config()
1683 *val = cvmx_pcie_config_read8(pcie_port, bus_number, in octeon_pcie_read_config()
1733 static int octeon_pcie_write_config(unsigned int pcie_port, struct pci_bus *bus, in octeon_pcie_write_config() argument
1739 BUG_ON(pcie_port >= ARRAY_SIZE(enable_pcie_bus_num_war)); in octeon_pcie_write_config()
1741 if ((bus->parent == NULL) && (enable_pcie_bus_num_war[pcie_port])) in octeon_pcie_write_config()
1745 " reg=0x%03x size=%d val=%08x\n", pcie_port, bus_number, devfn, in octeon_pcie_write_config()
1751 cvmx_pcie_config_write32(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()
1755 cvmx_pcie_config_write16(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()
1759 cvmx_pcie_config_write8(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()