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
236 cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG006(pcie_port)); in __cvmx_pcie_build_config_addr()
241 cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_build_config_addr()
251 pcie_addr.config.port = pcie_port; in __cvmx_pcie_build_config_addr()
271 static uint8_t cvmx_pcie_config_read8(int pcie_port, int bus, int dev, in cvmx_pcie_config_read8() argument
275 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read8()
293 static uint16_t cvmx_pcie_config_read16(int pcie_port, int bus, int dev, in cvmx_pcie_config_read16() argument
297 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read16()
315 static uint32_t cvmx_pcie_config_read32(int pcie_port, int bus, int dev, in cvmx_pcie_config_read32() argument
319 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_read32()
336 static void cvmx_pcie_config_write8(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write8() argument
340 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write8()
355 static void cvmx_pcie_config_write16(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write16() argument
359 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write16()
374 static void cvmx_pcie_config_write32(int pcie_port, int bus, int dev, int fn, in cvmx_pcie_config_write32() argument
378 __cvmx_pcie_build_config_addr(pcie_port, bus, dev, fn, reg); in cvmx_pcie_config_write32()
388 static void __cvmx_pcie_rc_initialize_config_space(int pcie_port) in __cvmx_pcie_rc_initialize_config_space() argument
408 pciercx_cfg030.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG030(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
431 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG030(pcie_port), pciercx_cfg030.u32); in __cvmx_pcie_rc_initialize_config_space()
447 if (pcie_port) in __cvmx_pcie_rc_initialize_config_space()
462 prt_cfg.u64 = cvmx_read_csr(CVMX_DPI_SLI_PRTX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
467 cvmx_write_csr(CVMX_DPI_SLI_PRTX_CFG(pcie_port), prt_cfg.u64); in __cvmx_pcie_rc_initialize_config_space()
469 sli_s2m_portx_ctl.u64 = cvmx_read_csr(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
471 cvmx_write_csr(CVMX_PEXP_SLI_S2M_PORTX_CTL(pcie_port), sli_s2m_portx_ctl.u64); in __cvmx_pcie_rc_initialize_config_space()
475 pciercx_cfg070.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG070(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
478 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG070(pcie_port), pciercx_cfg070.u32); in __cvmx_pcie_rc_initialize_config_space()
486 pciercx_cfg001.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG001(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
491 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG001(pcie_port), pciercx_cfg001.u32); in __cvmx_pcie_rc_initialize_config_space()
495 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG066(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
497 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG069(pcie_port), 0); in __cvmx_pcie_rc_initialize_config_space()
501 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
503 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG032(pcie_port), pciercx_cfg032.u32); in __cvmx_pcie_rc_initialize_config_space()
518 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG006(pcie_port), pciercx_cfg006.u32); in __cvmx_pcie_rc_initialize_config_space()
529 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG008(pcie_port), pciercx_cfg008.u32); in __cvmx_pcie_rc_initialize_config_space()
538 pciercx_cfg009.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG009(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
539 pciercx_cfg010.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG010(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
540 pciercx_cfg011.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG011(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
545 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG009(pcie_port), pciercx_cfg009.u32); in __cvmx_pcie_rc_initialize_config_space()
546 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG010(pcie_port), pciercx_cfg010.u32); in __cvmx_pcie_rc_initialize_config_space()
547 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG011(pcie_port), pciercx_cfg011.u32); in __cvmx_pcie_rc_initialize_config_space()
553 pciercx_cfg035.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG035(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
558 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG035(pcie_port), pciercx_cfg035.u32); in __cvmx_pcie_rc_initialize_config_space()
564 pciercx_cfg075.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG075(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
568 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG075(pcie_port), pciercx_cfg075.u32); in __cvmx_pcie_rc_initialize_config_space()
574 pciercx_cfg034.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG034(pcie_port)); in __cvmx_pcie_rc_initialize_config_space()
578 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG034(pcie_port), pciercx_cfg034.u32); in __cvmx_pcie_rc_initialize_config_space()
590 static int __cvmx_pcie_rc_initialize_link_gen1(int pcie_port) in __cvmx_pcie_rc_initialize_link_gen1() argument
599 pciercx_cfg452.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG452(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
600 pescx_ctl_status.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
607 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG452(pcie_port), pciercx_cfg452.u32); in __cvmx_pcie_rc_initialize_link_gen1()
616 pciercx_cfg455.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG455(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
618 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG455(pcie_port), pciercx_cfg455.u32); in __cvmx_pcie_rc_initialize_link_gen1()
622 if (OCTEON_IS_MODEL(OCTEON_CN52XX) && (pcie_port == 1)) { 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()
628 pescx_ctl_status.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
630 cvmx_write_csr(CVMX_PESCX_CTL_STATUS(pcie_port), pescx_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen1()
643 cvmx_dprintf("PCIe: Port %d link timeout\n", pcie_port); in __cvmx_pcie_rc_initialize_link_gen1()
647 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
661 pciercx_cfg448.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen1()
676 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), pciercx_cfg448.u32); in __cvmx_pcie_rc_initialize_link_gen1()
697 static int __cvmx_pcie_rc_initialize_gen1(int pcie_port) in __cvmx_pcie_rc_initialize_gen1() argument
719 if ((pcie_port == 0) && !npei_ctl_status.s.host_mode) { in __cvmx_pcie_rc_initialize_gen1()
720 cvmx_dprintf("PCIe: Port %d in endpoint mode\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
730 if ((pcie_port == 1) && npei_dbg_data.cn52xx.qlm0_link_width) { in __cvmx_pcie_rc_initialize_gen1()
762 if (pcie_port == 0) { in __cvmx_pcie_rc_initialize_gen1()
793 if (pcie_port) in __cvmx_pcie_rc_initialize_gen1()
805 if (pcie_port) in __cvmx_pcie_rc_initialize_gen1()
812 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen1()
836 pescx_ctl_status2.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
838 cvmx_write_csr(CVMX_PESCX_CTL_STATUS2(pcie_port), pescx_ctl_status2.u64); in __cvmx_pcie_rc_initialize_gen1()
842 if (CVMX_WAIT_FOR_FIELD64(CVMX_PESCX_CTL_STATUS2(pcie_port), in __cvmx_pcie_rc_initialize_gen1()
844 cvmx_dprintf("PCIe: Port %d isn't clocked, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
854 pescx_ctl_status2.u64 = cvmx_read_csr(CVMX_PESCX_CTL_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
856 cvmx_dprintf("PCIe: Port %d stuck in reset, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
865 pescx_bist_status2.u64 = cvmx_read_csr(CVMX_PESCX_BIST_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
868 pcie_port); in __cvmx_pcie_rc_initialize_gen1()
873 pescx_bist_status.u64 = cvmx_read_csr(CVMX_PESCX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
876 pcie_port, CAST64(pescx_bist_status.u64)); in __cvmx_pcie_rc_initialize_gen1()
879 __cvmx_pcie_rc_initialize_config_space(pcie_port); in __cvmx_pcie_rc_initialize_gen1()
882 if (__cvmx_pcie_rc_initialize_link_gen1(pcie_port)) { in __cvmx_pcie_rc_initialize_gen1()
884 pcie_port); in __cvmx_pcie_rc_initialize_gen1()
896 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in __cvmx_pcie_rc_initialize_gen1()
910 for (i = 12 + pcie_port * 4; i < 16 + pcie_port * 4; i++) { in __cvmx_pcie_rc_initialize_gen1()
921 cvmx_write_csr(CVMX_PESCX_P2P_BARX_START(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen1()
922 cvmx_write_csr(CVMX_PESCX_P2P_BARX_END(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen1()
926 cvmx_write_csr(CVMX_PESCX_P2N_BAR0_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen1()
929 cvmx_write_csr(CVMX_PESCX_P2N_BAR1_START(pcie_port), CVMX_PCIE_BAR1_RC_BASE); in __cvmx_pcie_rc_initialize_gen1()
937 base = pcie_port ? 16 : 0; in __cvmx_pcie_rc_initialize_gen1()
959 cvmx_write_csr(CVMX_PESCX_P2N_BAR2_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen1()
970 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen1()
1016 uint64_t write_address = (cvmx_pcie_get_mem_base_address(pcie_port) + 0x100000) | (1ull<<63); in __cvmx_pcie_rc_initialize_gen1()
1035 cvmx_write_csr(CVMX_PEXP_NPEI_DBG_SELECT, (pcie_port) ? 0xd7fc : 0xcffc); in __cvmx_pcie_rc_initialize_gen1()
1050 cvmx_write_csr(CVMX_PEXP_NPEI_DBG_SELECT, (pcie_port) ? 0xd00f : 0xc80f); in __cvmx_pcie_rc_initialize_gen1()
1057 …vmx_dprintf("PCIe: Port %d aligning TLP counters as workaround to maintain ordering\n", pcie_port); in __cvmx_pcie_rc_initialize_gen1()
1072 (pcie_port == 1)) in __cvmx_pcie_rc_initialize_gen1()
1080 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen1()
1081 cvmx_dprintf("PCIe: Port %d link active, %d lanes\n", pcie_port, pciercx_cfg032.s.nlw); in __cvmx_pcie_rc_initialize_gen1()
1095 static int __cvmx_pcie_rc_initialize_link_gen2(int pcie_port) in __cvmx_pcie_rc_initialize_link_gen2() argument
1103 pem_ctl_status.u64 = cvmx_read_csr(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1105 cvmx_write_csr(CVMX_PEMX_CTL_STATUS(pcie_port), pem_ctl_status.u64); in __cvmx_pcie_rc_initialize_link_gen2()
1113 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1124 pciercx_cfg448.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG448(pcie_port)); in __cvmx_pcie_rc_initialize_link_gen2()
1139 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG448(pcie_port), pciercx_cfg448.u32); in __cvmx_pcie_rc_initialize_link_gen2()
1153 static int __cvmx_pcie_rc_initialize_gen2(int pcie_port) in __cvmx_pcie_rc_initialize_gen2() argument
1179 qlmx_cfg.u64 = cvmx_read_csr(CVMX_MIO_QLMX_CFG(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1182 pr_notice("PCIe: Port %d is disabled, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1191 pr_notice("PCIe: Port %d is SRIO, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1194 pr_notice("PCIe: Port %d is SGMII, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1197 pr_notice("PCIe: Port %d is XAUI, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1205 pr_notice("PCIe: Port %d is unknown, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1209 sriox_status_reg.u64 = cvmx_read_csr(CVMX_SRIOX_STATUS_REG(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1211 pr_notice("PCIe: Port %d is SRIO, skipping.\n", pcie_port); 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_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1228 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1229 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1230 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 85); in __cvmx_pcie_rc_initialize_gen2()
1231 cvmx_helper_qlm_jtag_shift(pcie_port, 1, 1); in __cvmx_pcie_rc_initialize_gen2()
1232 cvmx_helper_qlm_jtag_shift_zeros(pcie_port, 300-86); in __cvmx_pcie_rc_initialize_gen2()
1233 cvmx_helper_qlm_jtag_update(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1237 mio_rst_ctl.u64 = cvmx_read_csr(CVMX_MIO_RST_CTLX(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1239 pr_notice("PCIe: Port %d in endpoint mode.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1245 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1262 if (pcie_port) in __cvmx_pcie_rc_initialize_gen2()
1274 if (pcie_port) in __cvmx_pcie_rc_initialize_gen2()
1281 if (pcie_port) { in __cvmx_pcie_rc_initialize_gen2()
1299 …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()
1300 pr_notice("PCIe: Port %d stuck in reset, skipping.\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1305 pemx_bist_status.u64 = cvmx_read_csr(CVMX_PEMX_BIST_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1307 pr_notice("PCIe: BIST FAILED for port %d (0x%016llx)\n", pcie_port, CAST64(pemx_bist_status.u64)); in __cvmx_pcie_rc_initialize_gen2()
1308 pemx_bist_status2.u64 = cvmx_read_csr(CVMX_PEMX_BIST_STATUS2(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1313 …pr_notice("PCIe: BIST2 FAILED for port %d (0x%016llx)\n", pcie_port, CAST64(pemx_bist_status2.u64)… in __cvmx_pcie_rc_initialize_gen2()
1316 __cvmx_pcie_rc_initialize_config_space(pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1319 pciercx_cfg515.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG515(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1321 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG515(pcie_port), pciercx_cfg515.u32); in __cvmx_pcie_rc_initialize_gen2()
1324 if (__cvmx_pcie_rc_initialize_link_gen2(pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1331 pciercx_cfg031.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG031(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1333 cvmx_pcie_cfgx_write(pcie_port, CVMX_PCIERCX_CFG031(pcie_port), pciercx_cfg031.u32); in __cvmx_pcie_rc_initialize_gen2()
1334 if (__cvmx_pcie_rc_initialize_link_gen2(pcie_port)) { in __cvmx_pcie_rc_initialize_gen2()
1335 pr_notice("PCIe: Link timeout on port %d, probably the slot is empty\n", pcie_port); in __cvmx_pcie_rc_initialize_gen2()
1348 mem_access_subid.s.port = pcie_port; /* Port the request is sent to. */ in __cvmx_pcie_rc_initialize_gen2()
1364 for (i = 12 + pcie_port * 4; i < 16 + pcie_port * 4; i++) { in __cvmx_pcie_rc_initialize_gen2()
1376 cvmx_write_csr(CVMX_PEMX_P2P_BARX_START(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen2()
1377 cvmx_write_csr(CVMX_PEMX_P2P_BARX_END(i, pcie_port), -1); in __cvmx_pcie_rc_initialize_gen2()
1381 cvmx_write_csr(CVMX_PEMX_P2N_BAR0_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen2()
1389 cvmx_write_csr(CVMX_PEMX_P2N_BAR2_START(pcie_port), 0); in __cvmx_pcie_rc_initialize_gen2()
1398 pemx_bar_ctl.u64 = cvmx_read_csr(CVMX_PEMX_BAR_CTL(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1403 cvmx_write_csr(CVMX_PEMX_BAR_CTL(pcie_port), pemx_bar_ctl.u64); in __cvmx_pcie_rc_initialize_gen2()
1404 sli_ctl_portx.u64 = cvmx_read_csr(CVMX_PEXP_SLI_CTL_PORTX(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1409 cvmx_write_csr(CVMX_PEXP_SLI_CTL_PORTX(pcie_port), sli_ctl_portx.u64); in __cvmx_pcie_rc_initialize_gen2()
1412 cvmx_write_csr(CVMX_PEMX_P2N_BAR1_START(pcie_port), CVMX_PCIE_BAR1_RC_BASE); in __cvmx_pcie_rc_initialize_gen2()
1421 cvmx_write_csr(CVMX_PEMX_BAR1_INDEXX(i, pcie_port), bar1_index.u64); in __cvmx_pcie_rc_initialize_gen2()
1430 pemx_ctl_status.u64 = cvmx_read_csr(CVMX_PEMX_CTL_STATUS(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1432 cvmx_write_csr(CVMX_PEMX_CTL_STATUS(pcie_port), pemx_ctl_status.u64); in __cvmx_pcie_rc_initialize_gen2()
1435 pciercx_cfg032.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); in __cvmx_pcie_rc_initialize_gen2()
1436 …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()
1448 static int cvmx_pcie_rc_initialize(int pcie_port) in cvmx_pcie_rc_initialize() argument
1452 result = __cvmx_pcie_rc_initialize_gen1(pcie_port); in cvmx_pcie_rc_initialize()
1454 result = __cvmx_pcie_rc_initialize_gen2(pcie_port); in cvmx_pcie_rc_initialize()
1543 static int octeon_pcie_read_config(unsigned int pcie_port, struct pci_bus *bus, in octeon_pcie_read_config() argument
1556 BUG_ON(pcie_port >= ARRAY_SIZE(enable_pcie_bus_num_war)); in octeon_pcie_read_config()
1562 if (enable_pcie_bus_num_war[pcie_port]) in octeon_pcie_read_config()
1566 pciercx_cfg006.u32 = cvmx_pcie_cfgx_read(pcie_port, in octeon_pcie_read_config()
1567 CVMX_PCIERCX_CFG006(pcie_port)); in octeon_pcie_read_config()
1572 cvmx_pcie_cfgx_write(pcie_port, in octeon_pcie_read_config()
1573 CVMX_PCIERCX_CFG006(pcie_port), in octeon_pcie_read_config()
1674 " size=%d ", pcie_port, bus_number, devfn, reg, size); in octeon_pcie_read_config()
1678 *val = cvmx_pcie_config_read32(pcie_port, bus_number, in octeon_pcie_read_config()
1682 *val = cvmx_pcie_config_read16(pcie_port, bus_number, in octeon_pcie_read_config()
1686 *val = cvmx_pcie_config_read8(pcie_port, bus_number, in octeon_pcie_read_config()
1736 static int octeon_pcie_write_config(unsigned int pcie_port, struct pci_bus *bus, in octeon_pcie_write_config() argument
1742 BUG_ON(pcie_port >= ARRAY_SIZE(enable_pcie_bus_num_war)); in octeon_pcie_write_config()
1744 if ((bus->parent == NULL) && (enable_pcie_bus_num_war[pcie_port])) in octeon_pcie_write_config()
1748 " reg=0x%03x size=%d val=%08x\n", pcie_port, bus_number, devfn, in octeon_pcie_write_config()
1754 cvmx_pcie_config_write32(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()
1758 cvmx_pcie_config_write16(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()
1762 cvmx_pcie_config_write8(pcie_port, bus_number, devfn >> 3, in octeon_pcie_write_config()