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 bool 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()
207 if (dw->num_lanes < 4) in rcar_gen4_pcie_common_init()
212 ret = reset_control_deassert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_init()
226 reset_control_status(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_init()
235 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_init()
242 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_common_deinit() local
244 reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc); in rcar_gen4_pcie_common_deinit()
245 clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks); in rcar_gen4_pcie_common_deinit()
250 struct device *dev = rcar->dw.dev; in rcar_gen4_pcie_prepare()
265 struct device *dev = rcar->dw.dev; in rcar_gen4_pcie_unprepare()
298 rcar->dw.ops = &dw_pcie_ops; in rcar_gen4_pcie_alloc()
299 rcar->dw.dev = dev; in rcar_gen4_pcie_alloc()
301 rcar->dw.edma.mf = EDMA_MF_EDMA_UNROLL; in rcar_gen4_pcie_alloc()
302 dw_pcie_cap_set(&rcar->dw, REQ_RES); in rcar_gen4_pcie_alloc()
311 struct dw_pcie *dw = to_dw_pcie_from_pp(pp); in rcar_gen4_pcie_host_init() local
312 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_host_init()
316 gpiod_set_value_cansleep(dw->pe_rst, 1); in rcar_gen4_pcie_host_init()
328 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_0, 0x0); in rcar_gen4_pcie_host_init()
329 dw_pcie_writel_dbi2(dw, PCI_BASE_ADDRESS_1, 0x0); in rcar_gen4_pcie_host_init()
338 gpiod_set_value_cansleep(dw->pe_rst, 0); in rcar_gen4_pcie_host_init()
345 struct dw_pcie *dw = to_dw_pcie_from_pp(pp); in rcar_gen4_pcie_host_deinit() local
346 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_host_deinit()
348 gpiod_set_value_cansleep(dw->pe_rst, 1); in rcar_gen4_pcie_host_deinit()
359 struct dw_pcie_rp *pp = &rcar->dw.pp; in rcar_gen4_add_dw_pcie_rp()
372 dw_pcie_host_deinit(&rcar->dw.pp); in rcar_gen4_remove_dw_pcie_rp()
378 struct dw_pcie *dw = to_dw_pcie_from_ep(ep); in rcar_gen4_pcie_ep_pre_init() local
379 struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw); in rcar_gen4_pcie_ep_pre_init()
407 struct dw_pcie *dw = to_dw_pcie_from_ep(ep); in rcar_gen4_pcie_ep_raise_irq() local
415 dev_err(dw->dev, "Unknown IRQ type\n"); in rcar_gen4_pcie_ep_raise_irq()
460 struct dw_pcie_ep *ep = &rcar->dw.ep; in rcar_gen4_add_dw_pcie_ep()
461 struct device *dev = rcar->dw.dev; in rcar_gen4_add_dw_pcie_ep()
489 dw_pcie_ep_deinit(&rcar->dw.ep); in rcar_gen4_remove_dw_pcie_ep()
585 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_additional_common_init() local
588 val = dw_pcie_readl_dbi(dw, PCIE_PORT_LANE_SKEW); in rcar_gen4_pcie_additional_common_init()
590 if (dw->num_lanes < 4) in rcar_gen4_pcie_additional_common_init()
592 dw_pcie_writel_dbi(dw, PCIE_PORT_LANE_SKEW, val); in rcar_gen4_pcie_additional_common_init()
619 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_reg_test_bit() local
621 if (dw_pcie_readl_dbi(dw, offset) & mask) in rcar_gen4_pcie_reg_test_bit()
636 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_download_phy_firmware() local
642 ret = request_firmware(&fw, RCAR_GEN4_PCIE_FIRMWARE_NAME, dw->dev); in rcar_gen4_pcie_download_phy_firmware()
644 dev_err(dw->dev, "Failed to load firmware (%s): %d\n", in rcar_gen4_pcie_download_phy_firmware()
653 dw_pcie_writel_dbi(dw, PRTLGC89, RCAR_GEN4_PCIE_FIRMWARE_BASE_ADDR + i); in rcar_gen4_pcie_download_phy_firmware()
654 dw_pcie_writel_dbi(dw, PRTLGC90, data); in rcar_gen4_pcie_download_phy_firmware()
670 dw_pcie_writel_dbi(dw, PRTLGC89, check_addr[i]); in rcar_gen4_pcie_download_phy_firmware()
691 struct dw_pcie *dw = &rcar->dw; in rcar_gen4_pcie_ltssm_control() local
703 val = dw_pcie_readl_dbi(dw, PCIE_PORT_FORCE); in rcar_gen4_pcie_ltssm_control()
705 dw_pcie_writel_dbi(dw, PCIE_PORT_FORCE, val); in rcar_gen4_pcie_ltssm_control()