Lines Matching refs:pcie_port
95 static int cvmx_pcie_rc_initialize(int pcie_port);
105 static inline uint64_t cvmx_pcie_get_io_base_address(int pcie_port) in cvmx_pcie_get_io_base_address() argument
114 pcie_addr.io.port = pcie_port; in cvmx_pcie_get_io_base_address()
126 static inline uint64_t cvmx_pcie_get_io_size(int pcie_port) in cvmx_pcie_get_io_size() argument
139 static inline uint64_t cvmx_pcie_get_mem_base_address(int pcie_port) in cvmx_pcie_get_mem_base_address() argument
146 pcie_addr.mem.subdid = 3 + pcie_port; in cvmx_pcie_get_mem_base_address()
158 static inline uint64_t cvmx_pcie_get_mem_size(int pcie_port) in cvmx_pcie_get_mem_size() argument
172 static uint32_t cvmx_pcie_cfgx_read(int pcie_port, uint32_t cfg_offset) in cvmx_pcie_cfgx_read() argument
178 cvmx_write_csr(CVMX_PESCX_CFG_RD(pcie_port), pescx_cfg_rd.u64); in cvmx_pcie_cfgx_read()
179 pescx_cfg_rd.u64 = cvmx_read_csr(CVMX_PESCX_CFG_RD(pcie_port)); in cvmx_pcie_cfgx_read()
185 cvmx_write_csr(CVMX_PEMX_CFG_RD(pcie_port), pemx_cfg_rd.u64); in cvmx_pcie_cfgx_read()
186 pemx_cfg_rd.u64 = cvmx_read_csr(CVMX_PEMX_CFG_RD(pcie_port)); in cvmx_pcie_cfgx_read()
199 static void cvmx_pcie_cfgx_write(int pcie_port, uint32_t cfg_offset, in cvmx_pcie_cfgx_write() argument
207 cvmx_write_csr(CVMX_PESCX_CFG_WR(pcie_port), pescx_cfg_wr.u64); in cvmx_pcie_cfgx_write()
213 cvmx_write_csr(CVMX_PEMX_CFG_WR(pcie_port), pemx_cfg_wr.u64); in cvmx_pcie_cfgx_write()
228 static inline uint64_t __cvmx_pcie_build_config_addr(int pcie_port, int bus, in __cvmx_pcie_build_config_addr() argument
235 cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG006(pcie_port)); in __cvmx_pcie_build_config_addr()
245 pcie_addr.config.port = pcie_port; in __cvmx_pcie_build_config_addr()
265 static uint8_t cvmx_pcie_config_read8(int pcie_port, int bus, int dev, in cvmx_pcie_config_read8() argument
269 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read8()
287 static uint16_t cvmx_pcie_config_read16(int pcie_port, int bus, int dev, in cvmx_pcie_config_read16() argument
291 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read16()
309 static uint32_t cvmx_pcie_config_read32(int pcie_port, int bus, int dev, in cvmx_pcie_config_read32() argument
313 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read32()
330 static void cvmx_pcie_config_write8(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write8() argument
334 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write8()
349 static void cvmx_pcie_config_write16(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write16() argument
353 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write16()
368 static void cvmx_pcie_config_write32(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write32() argument
372 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write32()
382 static void __cvmx_pcie_rc_initialize_config_space(int pcie_port) in __cvmx_pcie_rc_initialize_config_space() argument
402 pciercx_cfg030.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG030(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
425 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG030(pcie_port), pciercx_cfg030.u32); in __cvmx_pcie_rc_initialize_config_space()
441 if (pcie_port) in __cvmx_pcie_rc_initialize_config_space()
456 prt_cfg.u64 = cvmx_read_csr(CVMX_DPI_SLI_PRTX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
461 cvmx_write_csr(CVMX_DPI_SLI_PRTX_CFG(pcie_port), prt_cfg.u64); in __cvmx_pcie_rc_initialize_config_space()
463 sli_s2m_portx_ctl.u64 = cvmx_read_csr(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
465 cvmx_write_csr(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port), sli_s2m_portx_ctl.u64); in __cvmx_pcie_rc_initialize_config_space()
469 pciercx_cfg070.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG070(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
472 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG070(pcie_port), pciercx_cfg070.u32); in __cvmx_pcie_rc_initialize_config_space()
480 pciercx_cfg001.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG001(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
485 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG001(pcie_port), pciercx_cfg001.u32); in __cvmx_pcie_rc_initialize_config_space()
489 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG066(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
491 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG069(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
495 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
497 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG032(pcie_port), pciercx_cfg032.u32); in __cvmx_pcie_rc_initialize_config_space()
512 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG006(pcie_port), pciercx_cfg006.u32); in __cvmx_pcie_rc_initialize_config_space()
523 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG008(pcie_port), pciercx_cfg008.u32); in __cvmx_pcie_rc_initialize_config_space()
532 pciercx_cfg009.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG009(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
533 pciercx_cfg010.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG010(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
534 pciercx_cfg011.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG011(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
539 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG009(pcie_port), pciercx_cfg009.u32); in __cvmx_pcie_rc_initialize_config_space()
540 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG010(pcie_port), pciercx_cfg010.u32); in __cvmx_pcie_rc_initialize_config_space()
541 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG011(pcie_port), pciercx_cfg011.u32); in __cvmx_pcie_rc_initialize_config_space()
547 pciercx_cfg035.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG035(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
552 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG035(pcie_port), pciercx_cfg035.u32); in __cvmx_pcie_rc_initialize_config_space()
558 pciercx_cfg075.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG075(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
562 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG075(pcie_port), pciercx_cfg075.u32); in __cvmx_pcie_rc_initialize_config_space()
568 pciercx_cfg034.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG034(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
572 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG034(pcie_port), pciercx_cfg034.u32); in __cvmx_pcie_rc_initialize_config_space()
584 static int __cvmx_pcie_rc_initialize_link_gen1(int pcie_port) in __cvmx_pcie_rc_initialize_link_gen1() argument
593 pciercx_cfg452.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG452(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
594 pescx_ctl_status.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
601 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG452(pcie_port), pciercx_cfg452.u32); in __cvmx_pcie_rc_initialize_link_gen1()
610 pciercx_cfg455.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG455(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
612 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG455(pcie_port), pciercx_cfg455.u32); in __cvmx_pcie_rc_initialize_link_gen1()
616 if (OCTEON_IS_MODEL(OCTEON_CN52XX) && (pcie_port == 1)) { in __cvmx_pcie_rc_initialize_link_gen1()
618 cvmx_write_csr(CVMX_PESCX_CTL_STATUS(pcie_port), pescx_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen1()
622 pescx_ctl_status.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
624 cvmx_write_csr(CVMX_PESCX_CTL_STATUS(pcie_port), pescx_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen1()
637 cvmx_dprintf("PCIe: Port %d link timeout\n", pcie_port); in __cvmx_pcie_rc_initialize_link_gen1()
641 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
655 pciercx_cfg448.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
670 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), pciercx_cfg448.u32); in __cvmx_pcie_rc_initialize_link_gen1()
691 static int __cvmx_pcie_rc_initialize_gen1(int pcie_port) in __cvmx_pcie_rc_initialize_gen1() argument
713 if ((pcie_port == 0) && !npei_ctl_status.s.host_mode) { in __cvmx_pcie_rc_initialize_gen1()
714 cvmx_dprintf("PCIe: Port %d in endpoint mode\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
724 if ((pcie_port == 1) && npei_dbg_data.cn52xx.qlm0_link_width) { in __cvmx_pcie_rc_initialize_gen1()
756 if (pcie_port == 0) { in __cvmx_pcie_rc_initialize_gen1()
787 if (pcie_port) in __cvmx_pcie_rc_initialize_gen1()
799 if (pcie_port) in __cvmx_pcie_rc_initialize_gen1()
806 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen1()
830 pescx_ctl_status2.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
832 cvmx_write_csr(CVMX_PESCX_CTL_STATUS2(pcie_port), pescx_ctl_status2.u64); in __cvmx_pcie_rc_initialize_gen1()
836 if (CVMX_WAIT_FOR_FIELD64(CVMX_PESCX_CTL_STATUS2(pcie_port), in __cvmx_pcie_rc_initialize_gen1()
838 cvmx_dprintf("PCIe: Port %d isn't clocked, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
848 pescx_ctl_status2.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
850 cvmx_dprintf("PCIe: Port %d stuck in reset, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
859 pescx_bist_status2.u64 = cvmx_read_csr(CVMX_PESCX_BIST_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
862 pcie_port); in __cvmx_pcie_rc_initialize_gen1()
867 pescx_bist_status.u64 = cvmx_read_csr(CVMX_PESCX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
870 pcie_port, CAST64(pescx_bist_status.u64)); in __cvmx_pcie_rc_initialize_gen1()
873 __cvmx_pcie_rc_initialize_config_space(pcie_port); in __cvmx_pcie_rc_initialize_gen1()
876 if (__cvmx_pcie_rc_initialize_link_gen1(pcie_port)) { in __cvmx_pcie_rc_initialize_gen1()
878 pcie_port); in __cvmx_pcie_rc_initialize_gen1()
890 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in __cvmx_pcie_rc_initialize_gen1()
904 for (i = 12 + pcie_port * 4; i < 16 + pcie_port * 4; i++) { in __cvmx_pcie_rc_initialize_gen1()
915 cvmx_write_csr(CVMX_PESCX_P2P_BARX_START(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen1()
916 cvmx_write_csr(CVMX_PESCX_P2P_BARX_END(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen1()
920 cvmx_write_csr(CVMX_PESCX_P2N_BAR0_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen1()
923 cvmx_write_csr(CVMX_PESCX_P2N_BAR1_START(pcie_port), CVMX_PCIE_BAR1_RC_BASE); in __cvmx_pcie_rc_initialize_gen1()
931 base = pcie_port ? 16 : 0; in __cvmx_pcie_rc_initialize_gen1()
953 cvmx_write_csr(CVMX_PESCX_P2N_BAR2_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen1()
964 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen1()
1010 uint64_t write_address = (cvmx_pcie_get_mem_base_address(pcie_port) + 0x100000) | (1ull<<63); in __cvmx_pcie_rc_initialize_gen1()
1029 cvmx_write_csr(CVMX_PEXP_NPEI_DBG_SELECT, (pcie_port) ? 0xd7fc : 0xcffc); in __cvmx_pcie_rc_initialize_gen1()
1044 cvmx_write_csr(CVMX_PEXP_NPEI_DBG_SELECT, (pcie_port) ? 0xd00f : 0xc80f); in __cvmx_pcie_rc_initialize_gen1()
1051 …vmx_dprintf("PCIe: Port %d aligning TLP counters as workaround to maintain ordering\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
1066 (pcie_port == 1)) in __cvmx_pcie_rc_initialize_gen1()
1074 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
1075 cvmx_dprintf("PCIe: Port %d link active, %d lanes\n", pcie_port, pciercx_cfg032.s.nlw); in __cvmx_pcie_rc_initialize_gen1()
1089 static int __cvmx_pcie_rc_initialize_link_gen2(int pcie_port) in __cvmx_pcie_rc_initialize_link_gen2() argument
1097 pem_ctl_status.u64 = cvmx_read_csr(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1099 cvmx_write_csr(CVMX_PEMX_CTL_STATUS(pcie_port), pem_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen2()
1107 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1118 pciercx_cfg448.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1133 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), pciercx_cfg448.u32); in __cvmx_pcie_rc_initialize_link_gen2()
1147 static int __cvmx_pcie_rc_initialize_gen2(int pcie_port) in __cvmx_pcie_rc_initialize_gen2() argument
1173 qlmx_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1176 pr_notice("PCIe: Port %d is disabled, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1185 pr_notice("PCIe: Port %d is SRIO, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1188 pr_notice("PCIe: Port %d is SGMII, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1191 pr_notice("PCIe: Port %d is XAUI, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1199 pr_notice("PCIe: Port %d is unknown, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1203 sriox_status_reg.u64 = cvmx_read_csr(CVMX_SRIOX_STATUS_REG(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1205 pr_notice("PCIe: Port %d is SRIO, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1215 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1216 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1217 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1218 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1219 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1220 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1221 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1222 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1223 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1224 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1225 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1226 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1227 cvmx_helper_qlm_jtag_update(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1231 mio_rst_ctl.u64 = cvmx_read_csr(CVMX_MIO_RST_CTLX(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1233 pr_notice("PCIe: Port %d in endpoint mode.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1239 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1256 if (pcie_port) in __cvmx_pcie_rc_initialize_gen2()
1268 if (pcie_port) in __cvmx_pcie_rc_initialize_gen2()
1275 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1293 …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()
1294 pr_notice("PCIe: Port %d stuck in reset, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1299 pemx_bist_status.u64 = cvmx_read_csr(CVMX_PEMX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1301 pr_notice("PCIe: BIST FAILED for port %d (0x%016llx)\n", pcie_port, CAST64(pemx_bist_status.u64)); in __cvmx_pcie_rc_initialize_gen2()
1302 pemx_bist_status2.u64 = cvmx_read_csr(CVMX_PEMX_BIST_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1307 …pr_notice("PCIe: BIST2 FAILED for port %d (0x%016llx)\n", pcie_port, CAST64(pemx_bist_status2.u64)… in __cvmx_pcie_rc_initialize_gen2()
1310 __cvmx_pcie_rc_initialize_config_space(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1313 pciercx_cfg515.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG515(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1315 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG515(pcie_port), pciercx_cfg515.u32); in __cvmx_pcie_rc_initialize_gen2()
1318 if (__cvmx_pcie_rc_initialize_link_gen2(pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1325 pciercx_cfg031.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG031(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1327 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG031(pcie_port), pciercx_cfg031.u32); in __cvmx_pcie_rc_initialize_gen2()
1328 if (__cvmx_pcie_rc_initialize_link_gen2(pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1329 pr_notice("PCIe: Link timeout on port %d, probably the slot is empty\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1342 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in __cvmx_pcie_rc_initialize_gen2()
1358 for (i = 12 + pcie_port * 4; i < 16 + pcie_port * 4; i++) { in __cvmx_pcie_rc_initialize_gen2()
1370 cvmx_write_csr(CVMX_PEMX_P2P_BARX_START(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen2()
1371 cvmx_write_csr(CVMX_PEMX_P2P_BARX_END(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen2()
1375 cvmx_write_csr(CVMX_PEMX_P2N_BAR0_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen2()
1383 cvmx_write_csr(CVMX_PEMX_P2N_BAR2_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen2()
1392 pemx_bar_ctl.u64 = cvmx_read_csr(CVMX_PEMX_BAR_CTL(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1397 cvmx_write_csr(CVMX_PEMX_BAR_CTL(pcie_port), pemx_bar_ctl.u64); in __cvmx_pcie_rc_initialize_gen2()
1398 sli_ctl_portx.u64 = cvmx_read_csr(CVMX_PEXP_SLI_CTL_PORTX(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1403 cvmx_write_csr(CVMX_PEXP_SLI_CTL_PORTX(pcie_port), sli_ctl_portx.u64); in __cvmx_pcie_rc_initialize_gen2()
1406 cvmx_write_csr(CVMX_PEMX_P2N_BAR1_START(pcie_port), CVMX_PCIE_BAR1_RC_BASE); in __cvmx_pcie_rc_initialize_gen2()
1415 cvmx_write_csr(CVMX_PEMX_BAR1_INDEXX(i, pcie_port), bar1_index.u64); in __cvmx_pcie_rc_initialize_gen2()
1424 pemx_ctl_status.u64 = cvmx_read_csr(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1426 cvmx_write_csr(CVMX_PEMX_CTL_STATUS(pcie_port), pemx_ctl_status.u64); in __cvmx_pcie_rc_initialize_gen2()
1429 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1430 …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()
1442 static int cvmx_pcie_rc_initialize(int pcie_port) in cvmx_pcie_rc_initialize() argument
1446 result = __cvmx_pcie_rc_initialize_gen1(pcie_port); in cvmx_pcie_rc_initialize()
1448 result = __cvmx_pcie_rc_initialize_gen2(pcie_port); in cvmx_pcie_rc_initialize()
1537 static int octeon_pcie_read_config(unsigned int pcie_port, struct pci_bus *bus, in octeon_pcie_read_config() argument
1550 BUG_ON(pcie_port >= ARRAY_SIZE(enable_pcie_bus_num_war)); in octeon_pcie_read_config()
1556 if (enable_pcie_bus_num_war[pcie_port]) in octeon_pcie_read_config()
1560 pciercx_cfg006.u32 = cvmx_pcie_cfgx_read(pcie_port, in octeon_pcie_read_config()
1561 CVMX_PCIERCX_CFG006(pcie_port)); in octeon_pcie_read_config()
1566 cvmx_pcie_cfgx_write(pcie_port, in octeon_pcie_read_config()
1567 CVMX_PCIERCX_CFG006(pcie_port), in octeon_pcie_read_config()
1668 " size=%d ", pcie_port, bus_number, devfn, reg, size); in octeon_pcie_read_config()
1672 *val = cvmx_pcie_config_read32(pcie_port, bus_number, in octeon_pcie_read_config()
1676 *val = cvmx_pcie_config_read16(pcie_port, bus_number, in octeon_pcie_read_config()
1680 *val = cvmx_pcie_config_read8(pcie_port, bus_number, in octeon_pcie_read_config()
1730 static int octeon_pcie_write_config(unsigned int pcie_port, struct pci_bus *bus, in octeon_pcie_write_config() argument
1736 BUG_ON(pcie_port >= ARRAY_SIZE(enable_pcie_bus_num_war)); in octeon_pcie_write_config()
1738 if ((bus->parent == NULL) && (enable_pcie_bus_num_war[pcie_port])) in octeon_pcie_write_config()
1742 " reg=0x%03x size=%d val=%08x\n", pcie_port, bus_number, devfn, in octeon_pcie_write_config()
1748 cvmx_pcie_config_write32(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()
1752 cvmx_pcie_config_write16(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()
1756 cvmx_pcie_config_write8(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()