Lines Matching full:dw
81 struct dw_pcie dw; member
87 #define to_rcar_gen4_pcie(_dw) container_of(_dw, struct rcar_gen4_pcie, dw)
90 static int rcar_gen4_pcie_link_up(struct dw_pcie *dw) in rcar_gen4_pcie_link_up() argument
92 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_link_up()
105 static int rcar_gen4_pcie_speed_change(struct dw_pcie *dw) in rcar_gen4_pcie_speed_change() argument
110 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL); in rcar_gen4_pcie_speed_change()
112 dw_pcie_writel_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL, val); in rcar_gen4_pcie_speed_change()
114 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL); in rcar_gen4_pcie_speed_change()
116 dw_pcie_writel_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL, val); in rcar_gen4_pcie_speed_change()
119 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL); in rcar_gen4_pcie_speed_change()
132 static int rcar_gen4_pcie_start_link(struct dw_pcie *dw) in rcar_gen4_pcie_start_link() argument
134 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_start_link()
147 changes = min_not_zero(dw->max_link_speed, RCAR_MAX_LINK_SPEED) - 1; in rcar_gen4_pcie_start_link()
158 if (rcar_gen4_pcie_speed_change(dw)) in rcar_gen4_pcie_start_link()
165 static void rcar_gen4_pcie_stop_link(struct dw_pcie *dw) in rcar_gen4_pcie_stop_link() argument
167 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_stop_link()
175 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_common_init() local
179 ret = clk_bulk_prepare_enable(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_init()
181 dev_err(dw->dev, "Enabling core clocks failed\n"); in rcar_gen4_pcie_common_init()
185 if (!reset_control_status(dw->core_rsts[DW_PCIE_PWR_RST].rstc)) in rcar_gen4_pcie_common_init()
186 reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_init()
198 if (dw->num_lanes < 4) in rcar_gen4_pcie_common_init()
203 ret = reset_control_deassert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_init()
213 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_init()
220 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_common_deinit() local
222 reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_deinit()
223 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_deinit()
228 struct device *dev = rcar->dw.dev; in rcar_gen4_pcie_prepare()
243 struct device *dev = rcar->dw.dev; in rcar_gen4_pcie_unprepare()
276 rcar->dw.ops = &dw_pcie_ops; in rcar_gen4_pcie_alloc()
277 rcar->dw.dev = dev; in rcar_gen4_pcie_alloc()
279 rcar->dw.edma.mf = EDMA_MF_EDMA_UNROLL; in rcar_gen4_pcie_alloc()
280 dw_pcie_cap_set(&rcar->dw, REQ_RES); in rcar_gen4_pcie_alloc()
289 struct dw_pcie *dw = to_dw_pcie_from_pp(pp); in rcar_gen4_pcie_host_init() local
290 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_host_init()
294 gpiod_set_value_cansleep(dw->pe_rst, 1); in rcar_gen4_pcie_host_init()
306 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_0, 0x0); in rcar_gen4_pcie_host_init()
307 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_1, 0x0); in rcar_gen4_pcie_host_init()
316 gpiod_set_value_cansleep(dw->pe_rst, 0); in rcar_gen4_pcie_host_init()
323 struct dw_pcie *dw = to_dw_pcie_from_pp(pp); in rcar_gen4_pcie_host_deinit() local
324 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_host_deinit()
326 gpiod_set_value_cansleep(dw->pe_rst, 1); in rcar_gen4_pcie_host_deinit()
337 struct dw_pcie_rp *pp = &rcar->dw.pp; in rcar_gen4_add_dw_pcie_rp()
350 dw_pcie_host_deinit(&rcar->dw.pp); in rcar_gen4_remove_dw_pcie_rp()
356 struct dw_pcie *dw = to_dw_pcie_from_ep(ep); in rcar_gen4_pcie_ep_pre_init() local
357 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_ep_pre_init()
385 struct dw_pcie *dw = to_dw_pcie_from_ep(ep); in rcar_gen4_pcie_ep_raise_irq() local
393 dev_err(dw->dev, "Unknown IRQ type\n"); in rcar_gen4_pcie_ep_raise_irq()
439 struct dw_pcie_ep *ep = &rcar->dw.ep; in rcar_gen4_add_dw_pcie_ep()
440 struct device *dev = rcar->dw.dev; in rcar_gen4_add_dw_pcie_ep()
468 dw_pcie_ep_deinit(&rcar->dw.ep); in rcar_gen4_remove_dw_pcie_ep()
564 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_additional_common_init() local
567 val = dw_pcie_readl_dbi(dw, PCIE_PORT_LANE_SKEW); in rcar_gen4_pcie_additional_common_init()
569 if (dw->num_lanes < 4) in rcar_gen4_pcie_additional_common_init()
571 dw_pcie_writel_dbi(dw, PCIE_PORT_LANE_SKEW, val); in rcar_gen4_pcie_additional_common_init()
598 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_reg_test_bit() local
600 if (dw_pcie_readl_dbi(dw, offset) & mask) in rcar_gen4_pcie_reg_test_bit()
615 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_download_phy_firmware() local
621 ret = request_firmware(&fw, RCAR_GEN4_PCIE_FIRMWARE_NAME, dw->dev); in rcar_gen4_pcie_download_phy_firmware()
623 dev_err(dw->dev, "Failed to load firmware (%s): %d\n", in rcar_gen4_pcie_download_phy_firmware()
632 dw_pcie_writel_dbi(dw, PRTLGC89, RCAR_GEN4_PCIE_FIRMWARE_BASE_ADDR + i); in rcar_gen4_pcie_download_phy_firmware()
633 dw_pcie_writel_dbi(dw, PRTLGC90, data); in rcar_gen4_pcie_download_phy_firmware()
649 dw_pcie_writel_dbi(dw, PRTLGC89, check_addr[i]); in rcar_gen4_pcie_download_phy_firmware()
670 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_ltssm_control() local
682 val = dw_pcie_readl_dbi(dw, PCIE_PORT_FORCE); in rcar_gen4_pcie_ltssm_control()
684 dw_pcie_writel_dbi(dw, PCIE_PORT_FORCE, val); in rcar_gen4_pcie_ltssm_control()