Lines Matching full:dw
52 struct dw_pcie dw; member
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) in rcar_gen4_pcie_link_up() argument
83 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_link_up()
96 static int rcar_gen4_pcie_speed_change(struct dw_pcie *dw) in rcar_gen4_pcie_speed_change() argument
101 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL); in rcar_gen4_pcie_speed_change()
103 dw_pcie_writel_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL, val); in rcar_gen4_pcie_speed_change()
105 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL); in rcar_gen4_pcie_speed_change()
107 dw_pcie_writel_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL, val); in rcar_gen4_pcie_speed_change()
110 val = dw_pcie_readl_dbi(dw, PCIE_LINK_WIDTH_SPEED_CONTROL); in rcar_gen4_pcie_speed_change()
123 static int rcar_gen4_pcie_start_link(struct dw_pcie *dw) in rcar_gen4_pcie_start_link() argument
125 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_start_link()
134 changes = min_not_zero(dw->link_gen, RCAR_MAX_LINK_SPEED) - 1; in rcar_gen4_pcie_start_link()
145 if (rcar_gen4_pcie_speed_change(dw)) in rcar_gen4_pcie_start_link()
152 static void rcar_gen4_pcie_stop_link(struct dw_pcie *dw) in rcar_gen4_pcie_stop_link() argument
154 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_stop_link()
161 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_common_init() local
165 ret = clk_bulk_prepare_enable(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_init()
167 dev_err(dw->dev, "Enabling core clocks failed\n"); in rcar_gen4_pcie_common_init()
171 if (!reset_control_status(dw->core_rsts[DW_PCIE_PWR_RST].rstc)) in rcar_gen4_pcie_common_init()
172 reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_init()
184 if (dw->num_lanes < 4) in rcar_gen4_pcie_common_init()
189 ret = reset_control_deassert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_init()
196 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_init()
203 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_common_deinit() local
205 reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_deinit()
206 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_deinit()
211 struct device *dev = rcar->dw.dev; in rcar_gen4_pcie_prepare()
226 struct device *dev = rcar->dw.dev; in rcar_gen4_pcie_unprepare()
255 rcar->dw.ops = &dw_pcie_ops; in rcar_gen4_pcie_alloc()
256 rcar->dw.dev = dev; in rcar_gen4_pcie_alloc()
258 dw_pcie_cap_set(&rcar->dw, EDMA_UNROLL); in rcar_gen4_pcie_alloc()
259 dw_pcie_cap_set(&rcar->dw, REQ_RES); in rcar_gen4_pcie_alloc()
268 struct dw_pcie *dw = to_dw_pcie_from_pp(pp); in rcar_gen4_pcie_host_init() local
269 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_host_init()
273 gpiod_set_value_cansleep(dw->pe_rst, 1); in rcar_gen4_pcie_host_init()
285 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_0, 0x0); in rcar_gen4_pcie_host_init()
286 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_1, 0x0); in rcar_gen4_pcie_host_init()
295 gpiod_set_value_cansleep(dw->pe_rst, 0); in rcar_gen4_pcie_host_init()
302 struct dw_pcie *dw = to_dw_pcie_from_pp(pp); in rcar_gen4_pcie_host_deinit() local
303 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_host_deinit()
305 gpiod_set_value_cansleep(dw->pe_rst, 1); in rcar_gen4_pcie_host_deinit()
316 struct dw_pcie_rp *pp = &rcar->dw.pp; in rcar_gen4_add_dw_pcie_rp()
329 dw_pcie_host_deinit(&rcar->dw.pp); in rcar_gen4_remove_dw_pcie_rp()
335 struct dw_pcie *dw = to_dw_pcie_from_ep(ep); in rcar_gen4_pcie_ep_pre_init() local
336 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_ep_pre_init()
357 struct dw_pcie *dw = to_dw_pcie_from_ep(ep); in rcar_gen4_pcie_ep_deinit() local
358 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_ep_deinit()
367 struct dw_pcie *dw = to_dw_pcie_from_ep(ep); in rcar_gen4_pcie_ep_raise_irq() local
375 dev_err(dw->dev, "Unknown IRQ type\n"); in rcar_gen4_pcie_ep_raise_irq()
420 struct dw_pcie_ep *ep = &rcar->dw.ep; in rcar_gen4_add_dw_pcie_ep()
432 dw_pcie_ep_exit(&rcar->dw.ep); in rcar_gen4_remove_dw_pcie_ep()