/Linux-v6.6/drivers/pci/controller/dwc/ |
D | pcie-tegra194.c | 299 static inline void appl_writel(struct tegra_pcie_dw *pcie, const u32 value, in appl_writel() argument 302 writel_relaxed(value, pcie->appl_base + reg); in appl_writel() 305 static inline u32 appl_readl(struct tegra_pcie_dw *pcie, const u32 reg) in appl_readl() argument 307 return readl_relaxed(pcie->appl_base + reg); in appl_readl() 314 static void tegra_pcie_icc_set(struct tegra_pcie_dw *pcie) in tegra_pcie_icc_set() argument 316 struct dw_pcie *pci = &pcie->pci; in tegra_pcie_icc_set() 319 val = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKSTA); in tegra_pcie_icc_set() 326 if (icc_set_bw(pcie->icc_path, MBps_to_icc(val), 0)) in tegra_pcie_icc_set() 327 dev_err(pcie->dev, "can't set bw[%u]\n", val); in tegra_pcie_icc_set() 332 clk_set_rate(pcie->core_clk, pcie_gen_freq[speed]); in tegra_pcie_icc_set() [all …]
|
D | pcie-intel-gw.c | 84 static inline void pcie_app_wr(struct intel_pcie *pcie, u32 ofs, u32 val) in pcie_app_wr() argument 86 writel(val, pcie->app_base + ofs); in pcie_app_wr() 89 static void pcie_app_wr_mask(struct intel_pcie *pcie, u32 ofs, in pcie_app_wr_mask() argument 92 pcie_update_bits(pcie->app_base, ofs, mask, val); in pcie_app_wr_mask() 95 static inline u32 pcie_rc_cfg_rd(struct intel_pcie *pcie, u32 ofs) in pcie_rc_cfg_rd() argument 97 return dw_pcie_readl_dbi(&pcie->pci, ofs); in pcie_rc_cfg_rd() 100 static inline void pcie_rc_cfg_wr(struct intel_pcie *pcie, u32 ofs, u32 val) in pcie_rc_cfg_wr() argument 102 dw_pcie_writel_dbi(&pcie->pci, ofs, val); in pcie_rc_cfg_wr() 105 static void pcie_rc_cfg_wr_mask(struct intel_pcie *pcie, u32 ofs, in pcie_rc_cfg_wr_mask() argument 108 pcie_update_bits(pcie->pci.dbi_base, ofs, mask, val); in pcie_rc_cfg_wr_mask() [all …]
|
D | pcie-visconti.c | 97 static void visconti_ulreg_writel(struct visconti_pcie *pcie, u32 val, u32 reg) in visconti_ulreg_writel() argument 99 writel_relaxed(val, pcie->ulreg_base + reg); in visconti_ulreg_writel() 102 static u32 visconti_ulreg_readl(struct visconti_pcie *pcie, u32 reg) in visconti_ulreg_readl() argument 104 return readl_relaxed(pcie->ulreg_base + reg); in visconti_ulreg_readl() 108 static void visconti_smu_writel(struct visconti_pcie *pcie, u32 val, u32 reg) in visconti_smu_writel() argument 110 writel_relaxed(val, pcie->smu_base + reg); in visconti_smu_writel() 114 static void visconti_mpu_writel(struct visconti_pcie *pcie, u32 val, u32 reg) in visconti_mpu_writel() argument 116 writel_relaxed(val, pcie->mpu_base + reg); in visconti_mpu_writel() 119 static u32 visconti_mpu_readl(struct visconti_pcie *pcie, u32 reg) in visconti_mpu_readl() argument 121 return readl_relaxed(pcie->mpu_base + reg); in visconti_mpu_readl() [all …]
|
D | pcie-uniphier.c | 75 static void uniphier_pcie_ltssm_enable(struct uniphier_pcie *pcie, in uniphier_pcie_ltssm_enable() argument 80 val = readl(pcie->base + PCL_APP_READY_CTRL); in uniphier_pcie_ltssm_enable() 85 writel(val, pcie->base + PCL_APP_READY_CTRL); in uniphier_pcie_ltssm_enable() 88 static void uniphier_pcie_init_rc(struct uniphier_pcie *pcie) in uniphier_pcie_init_rc() argument 93 val = readl(pcie->base + PCL_MODE); in uniphier_pcie_init_rc() 96 writel(val, pcie->base + PCL_MODE); in uniphier_pcie_init_rc() 99 val = readl(pcie->base + PCL_APP_PM0); in uniphier_pcie_init_rc() 101 writel(val, pcie->base + PCL_APP_PM0); in uniphier_pcie_init_rc() 104 val = readl(pcie->base + PCL_PINCTRL0); in uniphier_pcie_init_rc() 109 writel(val, pcie->base + PCL_PINCTRL0); in uniphier_pcie_init_rc() [all …]
|
D | pcie-qcom.c | 218 int (*get_resources)(struct qcom_pcie *pcie); 219 int (*init)(struct qcom_pcie *pcie); 220 int (*post_init)(struct qcom_pcie *pcie); 221 void (*deinit)(struct qcom_pcie *pcie); 222 void (*ltssm_enable)(struct qcom_pcie *pcie); 223 int (*config_sid)(struct qcom_pcie *pcie); 246 static void qcom_ep_reset_assert(struct qcom_pcie *pcie) in qcom_ep_reset_assert() argument 248 gpiod_set_value_cansleep(pcie->reset, 1); in qcom_ep_reset_assert() 252 static void qcom_ep_reset_deassert(struct qcom_pcie *pcie) in qcom_ep_reset_deassert() argument 256 gpiod_set_value_cansleep(pcie->reset, 0); in qcom_ep_reset_deassert() [all …]
|
D | pcie-keembay.c | 72 static void keembay_ep_reset_assert(struct keembay_pcie *pcie) in keembay_ep_reset_assert() argument 74 gpiod_set_value_cansleep(pcie->reset, 1); in keembay_ep_reset_assert() 78 static void keembay_ep_reset_deassert(struct keembay_pcie *pcie) in keembay_ep_reset_deassert() argument 88 gpiod_set_value_cansleep(pcie->reset, 0); in keembay_ep_reset_deassert() 92 static void keembay_pcie_ltssm_set(struct keembay_pcie *pcie, bool enable) in keembay_pcie_ltssm_set() argument 96 val = readl(pcie->apb_base + PCIE_REGS_PCIE_APP_CNTRL); in keembay_pcie_ltssm_set() 101 writel(val, pcie->apb_base + PCIE_REGS_PCIE_APP_CNTRL); in keembay_pcie_ltssm_set() 106 struct keembay_pcie *pcie = dev_get_drvdata(pci->dev); in keembay_pcie_link_up() local 109 val = readl(pcie->apb_base + PCIE_REGS_PCIE_SII_PM_STATE); in keembay_pcie_link_up() 116 struct keembay_pcie *pcie = dev_get_drvdata(pci->dev); in keembay_pcie_start_link() local [all …]
|
D | pci-layerscape.c | 52 #define ls_pcie_pf_readl_addr(addr) ls_pcie_pf_readl(pcie, addr) 55 static bool ls_pcie_is_bridge(struct ls_pcie *pcie) in ls_pcie_is_bridge() argument 57 struct dw_pcie *pci = pcie->pci; in ls_pcie_is_bridge() 67 static void ls_pcie_clear_multifunction(struct ls_pcie *pcie) in ls_pcie_clear_multifunction() argument 69 struct dw_pcie *pci = pcie->pci; in ls_pcie_clear_multifunction() 75 static void ls_pcie_drop_msg_tlp(struct ls_pcie *pcie) in ls_pcie_drop_msg_tlp() argument 78 struct dw_pcie *pci = pcie->pci; in ls_pcie_drop_msg_tlp() 86 static void ls_pcie_fix_error_response(struct ls_pcie *pcie) in ls_pcie_fix_error_response() argument 88 struct dw_pcie *pci = pcie->pci; in ls_pcie_fix_error_response() 93 static u32 ls_pcie_pf_readl(struct ls_pcie *pcie, u32 off) in ls_pcie_pf_readl() argument [all …]
|
D | Makefile | 2 obj-$(CONFIG_PCIE_DW) += pcie-designware.o 3 obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o 4 obj-$(CONFIG_PCIE_DW_EP) += pcie-designware-ep.o 5 obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o 6 obj-$(CONFIG_PCIE_BT1) += pcie-bt1.o 9 obj-$(CONFIG_PCIE_FU740) += pcie-fu740.o 11 obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o 15 obj-$(CONFIG_PCIE_QCOM) += pcie-qcom.o 16 obj-$(CONFIG_PCIE_QCOM_EP) += pcie-qcom-ep.o 17 obj-$(CONFIG_PCIE_ARMADA_8K) += pcie-armada8k.o [all …]
|
/Linux-v6.6/drivers/pci/controller/ |
D | pci-aardvark.c | 293 static inline void advk_writel(struct advk_pcie *pcie, u32 val, u64 reg) in advk_writel() argument 295 writel(val, pcie->base + reg); in advk_writel() 298 static inline u32 advk_readl(struct advk_pcie *pcie, u64 reg) in advk_readl() argument 300 return readl(pcie->base + reg); in advk_readl() 303 static u8 advk_pcie_ltssm_state(struct advk_pcie *pcie) in advk_pcie_ltssm_state() argument 308 val = advk_readl(pcie, CFG_REG); in advk_pcie_ltssm_state() 313 static inline bool advk_pcie_link_up(struct advk_pcie *pcie) in advk_pcie_link_up() argument 316 u8 ltssm_state = advk_pcie_ltssm_state(pcie); in advk_pcie_link_up() 320 static inline bool advk_pcie_link_active(struct advk_pcie *pcie) in advk_pcie_link_active() argument 330 u8 ltssm_state = advk_pcie_ltssm_state(pcie); in advk_pcie_link_active() [all …]
|
D | pcie-altera.c | 44 #define S10_RP_CFG_ADDR(pcie, reg) \ argument 45 (((pcie)->hip_base) + (reg) + (1 << 20)) 46 #define S10_RP_SECONDARY(pcie) \ argument 47 readb(S10_RP_CFG_ADDR(pcie, PCI_SECONDARY_BUS)) 59 #define TLP_CFG_DW0(pcie, cfg) \ argument 62 #define TLP_CFG_DW1(pcie, tag, be) \ argument 63 (((TLP_REQ_ID(pcie->root_bus_nr, RP_DEVFN)) << 16) | (tag << 8) | (be)) 98 int (*tlp_read_pkt)(struct altera_pcie *pcie, u32 *value); 99 void (*tlp_write_pkt)(struct altera_pcie *pcie, u32 *headers, 101 bool (*get_link_status)(struct altera_pcie *pcie); [all …]
|
D | pcie-xilinx-nwl.c | 176 static inline u32 nwl_bridge_readl(struct nwl_pcie *pcie, u32 off) in nwl_bridge_readl() argument 178 return readl(pcie->breg_base + off); in nwl_bridge_readl() 181 static inline void nwl_bridge_writel(struct nwl_pcie *pcie, u32 val, u32 off) in nwl_bridge_writel() argument 183 writel(val, pcie->breg_base + off); in nwl_bridge_writel() 186 static bool nwl_pcie_link_up(struct nwl_pcie *pcie) in nwl_pcie_link_up() argument 188 if (readl(pcie->pcireg_base + PS_LINKUP_OFFSET) & PCIE_PHY_LINKUP_BIT) in nwl_pcie_link_up() 193 static bool nwl_phy_link_up(struct nwl_pcie *pcie) in nwl_phy_link_up() argument 195 if (readl(pcie->pcireg_base + PS_LINKUP_OFFSET) & PHY_RDY_LINKUP_BIT) in nwl_phy_link_up() 200 static int nwl_wait_for_link(struct nwl_pcie *pcie) in nwl_wait_for_link() argument 202 struct device *dev = pcie->dev; in nwl_wait_for_link() [all …]
|
D | pcie-mediatek-gen3.c | 199 struct mtk_gen3_pcie *pcie = bus->sysdata; in mtk_pcie_config_tlp_header() local 208 writel_relaxed(val, pcie->base + PCIE_CFGNUM_REG); in mtk_pcie_config_tlp_header() 214 struct mtk_gen3_pcie *pcie = bus->sysdata; in mtk_pcie_map_bus() local 216 return pcie->base + PCIE_CFG_OFFSET_ADDR + where; in mtk_pcie_map_bus() 244 static int mtk_pcie_set_trans_table(struct mtk_gen3_pcie *pcie, in mtk_pcie_set_trans_table() argument 254 dev_err(pcie->dev, "not enough translate table for addr: %#llx, limited to [%d]\n", in mtk_pcie_set_trans_table() 259 table = pcie->base + PCIE_TRANS_TABLE_BASE_REG + in mtk_pcie_set_trans_table() 281 static void mtk_pcie_enable_msi(struct mtk_gen3_pcie *pcie) in mtk_pcie_enable_msi() argument 287 struct mtk_msi_set *msi_set = &pcie->msi_sets[i]; in mtk_pcie_enable_msi() 289 msi_set->base = pcie->base + PCIE_MSI_SET_BASE_REG + in mtk_pcie_enable_msi() [all …]
|
D | pci-tegra.c | 362 struct tegra_pcie *pcie; member 375 static inline void afi_writel(struct tegra_pcie *pcie, u32 value, in afi_writel() argument 378 writel(value, pcie->afi + offset); in afi_writel() 381 static inline u32 afi_readl(struct tegra_pcie *pcie, unsigned long offset) in afi_readl() argument 383 return readl(pcie->afi + offset); in afi_readl() 386 static inline void pads_writel(struct tegra_pcie *pcie, u32 value, in pads_writel() argument 389 writel(value, pcie->pads + offset); in pads_writel() 392 static inline u32 pads_readl(struct tegra_pcie *pcie, unsigned long offset) in pads_readl() argument 394 return readl(pcie->pads + offset); in pads_readl() 429 struct tegra_pcie *pcie = bus->sysdata; in tegra_pcie_map_bus() local [all …]
|
D | pcie-iproc.c | 400 struct iproc_pcie *pcie = bus->sysdata; in iproc_data() local 401 return pcie; in iproc_data() 409 static inline u16 iproc_pcie_reg_offset(struct iproc_pcie *pcie, in iproc_pcie_reg_offset() argument 412 return pcie->reg_offsets[reg]; in iproc_pcie_reg_offset() 415 static inline u32 iproc_pcie_read_reg(struct iproc_pcie *pcie, in iproc_pcie_read_reg() argument 418 u16 offset = iproc_pcie_reg_offset(pcie, reg); in iproc_pcie_read_reg() 423 return readl(pcie->base + offset); in iproc_pcie_read_reg() 426 static inline void iproc_pcie_write_reg(struct iproc_pcie *pcie, in iproc_pcie_write_reg() argument 429 u16 offset = iproc_pcie_reg_offset(pcie, reg); in iproc_pcie_write_reg() 434 writel(val, pcie->base + offset); in iproc_pcie_write_reg() [all …]
|
D | pcie-brcmstb.c | 181 #define IDX_ADDR(pcie) (pcie->reg_offsets[EXT_CFG_INDEX]) argument 182 #define DATA_ADDR(pcie) (pcie->reg_offsets[EXT_CFG_DATA]) argument 183 #define PCIE_RGR1_SW_INIT_1(pcie) (pcie->reg_offsets[RGR1_SW_INIT_1]) argument 221 void (*perst_set)(struct brcm_pcie *pcie, u32 val); 222 void (*bridge_sw_init_set)(struct brcm_pcie *pcie, u32 val); 265 void (*perst_set)(struct brcm_pcie *pcie, u32 val); 266 void (*bridge_sw_init_set)(struct brcm_pcie *pcie, u32 val); 271 static inline bool is_bmips(const struct brcm_pcie *pcie) in is_bmips() argument 273 return pcie->type == BCM7435 || pcie->type == BCM7425; in is_bmips() 342 static int brcm_pcie_set_ssc(struct brcm_pcie *pcie) in brcm_pcie_set_ssc() argument [all …]
|
D | pcie-rcar-host.c | 46 struct rcar_pcie pcie; member 94 static u32 rcar_read_conf(struct rcar_pcie *pcie, int where) in rcar_read_conf() argument 97 u32 val = rcar_pci_read_reg(pcie, where & ~3); in rcar_read_conf() 119 static int rcar_pci_write_reg_workaround(struct rcar_pcie *pcie, u32 val, in rcar_pci_write_reg_workaround() argument 126 : "+r"(error):"r"(val), "r"(pcie->base + reg) : "memory"); in rcar_pci_write_reg_workaround() 128 rcar_pci_write_reg(pcie, val, reg); in rcar_pci_write_reg_workaround() 133 static int rcar_pci_read_reg_workaround(struct rcar_pcie *pcie, u32 *val, in rcar_pci_read_reg_workaround() argument 140 : "+r"(error), "=r"(*val) : "r"(pcie->base + reg) : "memory"); in rcar_pci_read_reg_workaround() 145 *val = rcar_pci_read_reg(pcie, reg); in rcar_pci_read_reg_workaround() 155 struct rcar_pcie *pcie = &host->pcie; in rcar_pcie_config_access() local [all …]
|
D | pcie-xilinx.c | 113 static inline u32 pcie_read(struct xilinx_pcie *pcie, u32 reg) in pcie_read() argument 115 return readl(pcie->reg_base + reg); in pcie_read() 118 static inline void pcie_write(struct xilinx_pcie *pcie, u32 val, u32 reg) in pcie_write() argument 120 writel(val, pcie->reg_base + reg); in pcie_write() 123 static inline bool xilinx_pcie_link_up(struct xilinx_pcie *pcie) in xilinx_pcie_link_up() argument 125 return (pcie_read(pcie, XILINX_PCIE_REG_PSCR) & in xilinx_pcie_link_up() 133 static void xilinx_pcie_clear_err_interrupts(struct xilinx_pcie *pcie) in xilinx_pcie_clear_err_interrupts() argument 135 struct device *dev = pcie->dev; in xilinx_pcie_clear_err_interrupts() 136 unsigned long val = pcie_read(pcie, XILINX_PCIE_REG_RPEFR); in xilinx_pcie_clear_err_interrupts() 141 pcie_write(pcie, XILINX_PCIE_RPEFR_ALL_MASK, in xilinx_pcie_clear_err_interrupts() [all …]
|
D | pcie-mt7621.c | 81 struct mt7621_pcie *pcie; member 105 static inline u32 pcie_read(struct mt7621_pcie *pcie, u32 reg) in pcie_read() argument 107 return readl_relaxed(pcie->base + reg); in pcie_read() 110 static inline void pcie_write(struct mt7621_pcie *pcie, u32 val, u32 reg) in pcie_write() argument 112 writel_relaxed(val, pcie->base + reg); in pcie_write() 129 struct mt7621_pcie *pcie = bus->sysdata; in mt7621_pcie_map_bus() local 133 writel_relaxed(address, pcie->base + RALINK_PCI_CONFIG_ADDR); in mt7621_pcie_map_bus() 135 return pcie->base + RALINK_PCI_CONFIG_DATA + (where & 3); in mt7621_pcie_map_bus() 144 static u32 read_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg) in read_config() argument 148 pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR); in read_config() [all …]
|
D | pcie-rcar-ep.c | 23 struct rcar_pcie pcie; member 33 static void rcar_pcie_ep_hw_init(struct rcar_pcie *pcie) in rcar_pcie_ep_hw_init() argument 37 rcar_pci_write_reg(pcie, 0, PCIETCTLR); in rcar_pcie_ep_hw_init() 40 rcar_pci_write_reg(pcie, 0, PCIEMSR); in rcar_pcie_ep_hw_init() 43 rcar_rmw32(pcie, REXPCAP(0), 0xff, PCI_CAP_ID_EXP); in rcar_pcie_ep_hw_init() 44 rcar_rmw32(pcie, REXPCAP(PCI_EXP_FLAGS), in rcar_pcie_ep_hw_init() 46 rcar_rmw32(pcie, RCONF(PCI_HEADER_TYPE), 0x7f, in rcar_pcie_ep_hw_init() 50 rcar_rmw32(pcie, REXPCAP(PCI_EXP_SLTCAP), PCI_EXP_SLTCAP_PSN, 0); in rcar_pcie_ep_hw_init() 52 val = rcar_pci_read_reg(pcie, EXPCAP(1)); in rcar_pcie_ep_hw_init() 55 rcar_pci_write_reg(pcie, val, EXPCAP(1)); in rcar_pcie_ep_hw_init() [all …]
|
/Linux-v6.6/drivers/pci/controller/mobiveil/ |
D | pcie-mobiveil-host.c | 50 struct mobiveil_pcie *pcie = bus->sysdata; in mobiveil_pcie_map_bus() local 51 struct mobiveil_root_port *rp = &pcie->rp; in mobiveil_pcie_map_bus() 59 return pcie->csr_axi_slave_base + where; in mobiveil_pcie_map_bus() 71 mobiveil_csr_writel(pcie, value, PAB_AXI_AMAP_PEX_WIN_L(WIN_NUM_0)); in mobiveil_pcie_map_bus() 85 struct mobiveil_pcie *pcie = irq_desc_get_handler_data(desc); in mobiveil_pcie_isr() local 86 struct device *dev = &pcie->pdev->dev; in mobiveil_pcie_isr() 87 struct mobiveil_root_port *rp = &pcie->rp; in mobiveil_pcie_isr() 102 val = mobiveil_csr_readl(pcie, PAB_INTP_AMBA_MISC_STAT); in mobiveil_pcie_isr() 103 mask = mobiveil_csr_readl(pcie, PAB_INTP_AMBA_MISC_ENB); in mobiveil_pcie_isr() 108 shifted_status = mobiveil_csr_readl(pcie, in mobiveil_pcie_isr() [all …]
|
D | pcie-mobiveil.c | 28 static void mobiveil_pcie_sel_page(struct mobiveil_pcie *pcie, u8 pg_idx) in mobiveil_pcie_sel_page() argument 32 val = readl(pcie->csr_axi_slave_base + PAB_CTRL); in mobiveil_pcie_sel_page() 36 writel(val, pcie->csr_axi_slave_base + PAB_CTRL); in mobiveil_pcie_sel_page() 39 static void __iomem *mobiveil_pcie_comp_addr(struct mobiveil_pcie *pcie, in mobiveil_pcie_comp_addr() argument 44 mobiveil_pcie_sel_page(pcie, 0); in mobiveil_pcie_comp_addr() 45 return pcie->csr_axi_slave_base + off; in mobiveil_pcie_comp_addr() 48 mobiveil_pcie_sel_page(pcie, OFFSET_TO_PAGE_IDX(off)); in mobiveil_pcie_comp_addr() 49 return pcie->csr_axi_slave_base + OFFSET_TO_PAGE_ADDR(off); in mobiveil_pcie_comp_addr() 99 u32 mobiveil_csr_read(struct mobiveil_pcie *pcie, u32 off, size_t size) in mobiveil_csr_read() argument 105 addr = mobiveil_pcie_comp_addr(pcie, off); in mobiveil_csr_read() [all …]
|
D | pcie-layerscape-gen4.c | 45 static inline u32 ls_g4_pcie_pf_readl(struct ls_g4_pcie *pcie, u32 off) in ls_g4_pcie_pf_readl() argument 47 return ioread32(pcie->pci.csr_axi_slave_base + PCIE_PF_OFF + off); in ls_g4_pcie_pf_readl() 50 static inline void ls_g4_pcie_pf_writel(struct ls_g4_pcie *pcie, in ls_g4_pcie_pf_writel() argument 53 iowrite32(val, pcie->pci.csr_axi_slave_base + PCIE_PF_OFF + off); in ls_g4_pcie_pf_writel() 58 struct ls_g4_pcie *pcie = to_ls_g4_pcie(pci); in ls_g4_pcie_link_up() local 61 state = ls_g4_pcie_pf_readl(pcie, PCIE_PF_DBG); in ls_g4_pcie_link_up() 70 static void ls_g4_pcie_disable_interrupt(struct ls_g4_pcie *pcie) in ls_g4_pcie_disable_interrupt() argument 72 struct mobiveil_pcie *mv_pci = &pcie->pci; in ls_g4_pcie_disable_interrupt() 77 static void ls_g4_pcie_enable_interrupt(struct ls_g4_pcie *pcie) in ls_g4_pcie_enable_interrupt() argument 79 struct mobiveil_pcie *mv_pci = &pcie->pci; in ls_g4_pcie_enable_interrupt() [all …]
|
/Linux-v6.6/drivers/pci/controller/cadence/ |
D | pcie-cadence.c | 11 void cdns_pcie_detect_quiet_min_delay_set(struct cdns_pcie *pcie) in cdns_pcie_detect_quiet_min_delay_set() argument 19 ltssm_control_cap = cdns_pcie_readl(pcie, CDNS_PCIE_LTSSM_CONTROL_CAP); in cdns_pcie_detect_quiet_min_delay_set() 24 cdns_pcie_writel(pcie, CDNS_PCIE_LTSSM_CONTROL_CAP, ltssm_control_cap); in cdns_pcie_detect_quiet_min_delay_set() 27 void cdns_pcie_set_outbound_region(struct cdns_pcie *pcie, u8 busnr, u8 fn, in cdns_pcie_set_outbound_region() argument 47 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_PCI_ADDR0(r), addr0); in cdns_pcie_set_outbound_region() 48 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_PCI_ADDR1(r), addr1); in cdns_pcie_set_outbound_region() 76 if (pcie->is_rc) { in cdns_pcie_set_outbound_region() 89 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_DESC0(r), desc0); in cdns_pcie_set_outbound_region() 90 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_DESC1(r), desc1); in cdns_pcie_set_outbound_region() 93 if (pcie->ops->cpu_addr_fixup) in cdns_pcie_set_outbound_region() [all …]
|
D | pcie-cadence-host.c | 33 struct cdns_pcie *pcie = &rc->pcie; in cdns_pci_map_bus() local 46 return pcie->reg_base + (where & 0xfff); in cdns_pci_map_bus() 49 if (!(cdns_pcie_readl(pcie, CDNS_PCIE_LM_BASE) & 0x1)) in cdns_pci_map_bus() 52 cdns_pcie_writel(pcie, CDNS_PCIE_AT_LINKDOWN, 0x0); in cdns_pci_map_bus() 58 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_PCI_ADDR0(0), addr0); in cdns_pci_map_bus() 71 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_DESC0(0), desc0); in cdns_pci_map_bus() 82 static int cdns_pcie_host_training_complete(struct cdns_pcie *pcie) in cdns_pcie_host_training_complete() argument 91 lnk_stat = cdns_pcie_rp_readw(pcie, pcie_cap_off + PCI_EXP_LNKSTA); in cdns_pcie_host_training_complete() 103 static int cdns_pcie_host_wait_for_link(struct cdns_pcie *pcie) in cdns_pcie_host_wait_for_link() argument 105 struct device *dev = pcie->dev; in cdns_pcie_host_wait_for_link() [all …]
|
D | pcie-cadence-ep.c | 19 static u8 cdns_pcie_get_fn_from_vfn(struct cdns_pcie *pcie, u8 fn, u8 vfn) in cdns_pcie_get_fn_from_vfn() argument 27 first_vf_offset = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_SRIOV_VF_OFFSET); in cdns_pcie_get_fn_from_vfn() 28 stride = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_SRIOV_VF_STRIDE); in cdns_pcie_get_fn_from_vfn() 39 struct cdns_pcie *pcie = &ep->pcie; in cdns_pcie_ep_write_header() local 47 cdns_pcie_ep_fn_writew(pcie, fn, reg, hdr->deviceid); in cdns_pcie_ep_write_header() 51 cdns_pcie_ep_fn_writew(pcie, fn, PCI_DEVICE_ID, hdr->deviceid); in cdns_pcie_ep_write_header() 52 cdns_pcie_ep_fn_writeb(pcie, fn, PCI_REVISION_ID, hdr->revid); in cdns_pcie_ep_write_header() 53 cdns_pcie_ep_fn_writeb(pcie, fn, PCI_CLASS_PROG, hdr->progif_code); in cdns_pcie_ep_write_header() 54 cdns_pcie_ep_fn_writew(pcie, fn, PCI_CLASS_DEVICE, in cdns_pcie_ep_write_header() 56 cdns_pcie_ep_fn_writeb(pcie, fn, PCI_CACHE_LINE_SIZE, in cdns_pcie_ep_write_header() [all …]
|