Lines Matching refs:dw

52 	struct dw_pcie dw;
57 #define to_rcar_gen4_pcie(_dw) container_of(_dw, struct rcar_gen4_pcie, dw)
81 static int rcar_gen4_pcie_link_up(struct dw_pcie *dw)
83 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
96 static int rcar_gen4_pcie_speed_change(struct dw_pcie *dw)
101 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL);
103 dw_pcie_writel_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL, val);
105 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL);
107 dw_pcie_writel_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL, val);
110 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL);
123 static int rcar_gen4_pcie_start_link(struct dw_pcie *dw)
125 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
134 changes = min_not_zero(dw->link_gen, RCAR_MAX_LINK_SPEED) - 1;
145 if (rcar_gen4_pcie_speed_change(dw))
152 static void rcar_gen4_pcie_stop_link(struct dw_pcie *dw)
154 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
161 struct dw_pcie *dw = &rcar->dw;
165 ret = clk_bulk_prepare_enable(DW_PCIE_NUM_CORE_CLKS, dw->core_clks);
167 dev_err(dw->dev, "Enabling core clocks failed\n");
171 if (!reset_control_status(dw->core_rsts[DW_PCIE_PWR_RST].rstc))
172 reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc);
184 if (dw->num_lanes < 4)
189 ret = reset_control_deassert(dw->core_rsts[DW_PCIE_PWR_RST].rstc);
196 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks);
203 struct dw_pcie *dw = &rcar->dw;
205 reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc);
206 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks);
211 struct device *dev = rcar->dw.dev;
226 struct device *dev = rcar->dw.dev;
255 rcar->dw.ops = &dw_pcie_ops;
256 rcar->dw.dev = dev;
258 dw_pcie_cap_set(&rcar->dw, EDMA_UNROLL);
259 dw_pcie_cap_set(&rcar->dw, REQ_RES);
268 struct dw_pcie *dw = to_dw_pcie_from_pp(pp);
269 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
273 gpiod_set_value_cansleep(dw->pe_rst, 1);
285 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_0, 0x0);
286 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_1, 0x0);
295 gpiod_set_value_cansleep(dw->pe_rst, 0);
302 struct dw_pcie *dw = to_dw_pcie_from_pp(pp);
303 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
305 gpiod_set_value_cansleep(dw->pe_rst, 1);
316 struct dw_pcie_rp *pp = &rcar->dw.pp;
329 dw_pcie_host_deinit(&rcar->dw.pp);
335 struct dw_pcie *dw = to_dw_pcie_from_ep(ep);
336 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
357 struct dw_pcie *dw = to_dw_pcie_from_ep(ep);
358 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
367 struct dw_pcie *dw = to_dw_pcie_from_ep(ep);
375 dev_err(dw->dev, "Unknown IRQ type\n");
422 struct dw_pcie_ep *ep = &rcar->dw.ep;
434 dw_pcie_ep_exit(&rcar->dw.ep);