Lines Matching refs:mcde

113 	struct mcde *mcde = data;  in mcde_irq()  local
116 val = readl(mcde->regs + MCDE_MISERR); in mcde_irq()
118 mcde_display_irq(mcde); in mcde_irq()
121 dev_info(mcde->dev, "some error IRQ\n"); in mcde_irq()
122 writel(val, mcde->regs + MCDE_RISERR); in mcde_irq()
130 struct mcde *mcde = to_mcde(drm); in mcde_modeset_init() local
141 if (!mcde->bridge) { in mcde_modeset_init()
161 mcde->dpi_output = true; in mcde_modeset_init()
162 mcde->bridge = bridge; in mcde_modeset_init()
163 mcde->flow_mode = MCDE_DPI_FORMATTER_FLOW; in mcde_modeset_init()
188 ret = drm_simple_display_pipe_attach_bridge(&mcde->pipe, in mcde_modeset_init()
189 mcde->bridge); in mcde_modeset_init()
271 struct mcde *mcde; in mcde_probe() local
278 mcde = devm_drm_dev_alloc(dev, &mcde_drm_driver, struct mcde, drm); in mcde_probe()
279 if (IS_ERR(mcde)) in mcde_probe()
280 return PTR_ERR(mcde); in mcde_probe()
281 drm = &mcde->drm; in mcde_probe()
282 mcde->dev = dev; in mcde_probe()
286 mcde->epod = devm_regulator_get(dev, "epod"); in mcde_probe()
287 if (IS_ERR(mcde->epod)) { in mcde_probe()
288 ret = PTR_ERR(mcde->epod); in mcde_probe()
292 ret = regulator_enable(mcde->epod); in mcde_probe()
297 mcde->vana = devm_regulator_get(dev, "vana"); in mcde_probe()
298 if (IS_ERR(mcde->vana)) { in mcde_probe()
299 ret = PTR_ERR(mcde->vana); in mcde_probe()
303 ret = regulator_enable(mcde->vana); in mcde_probe()
314 mcde->mcde_clk = devm_clk_get(dev, "mcde"); in mcde_probe()
315 if (IS_ERR(mcde->mcde_clk)) { in mcde_probe()
317 ret = PTR_ERR(mcde->mcde_clk); in mcde_probe()
320 ret = clk_prepare_enable(mcde->mcde_clk); in mcde_probe()
325 dev_info(dev, "MCDE clk rate %lu Hz\n", clk_get_rate(mcde->mcde_clk)); in mcde_probe()
327 mcde->lcd_clk = devm_clk_get(dev, "lcd"); in mcde_probe()
328 if (IS_ERR(mcde->lcd_clk)) { in mcde_probe()
330 ret = PTR_ERR(mcde->lcd_clk); in mcde_probe()
333 mcde->hdmi_clk = devm_clk_get(dev, "hdmi"); in mcde_probe()
334 if (IS_ERR(mcde->hdmi_clk)) { in mcde_probe()
336 ret = PTR_ERR(mcde->hdmi_clk); in mcde_probe()
340 mcde->regs = devm_platform_ioremap_resource(pdev, 0); in mcde_probe()
341 if (IS_ERR(mcde->regs)) { in mcde_probe()
353 ret = devm_request_irq(dev, irq, mcde_irq, 0, "mcde", mcde); in mcde_probe()
365 pid = readl(mcde->regs + MCDE_PID); in mcde_probe()
382 mcde_display_disable_irqs(mcde); in mcde_probe()
383 writel(0, mcde->regs + MCDE_IMSCERR); in mcde_probe()
384 writel(0xFFFFFFFF, mcde->regs + MCDE_RISERR); in mcde_probe()
418 ret = regulator_disable(mcde->epod); in mcde_probe()
434 clk_disable_unprepare(mcde->mcde_clk); in mcde_probe()
435 regulator_disable(mcde->vana); in mcde_probe()
442 clk_disable_unprepare(mcde->mcde_clk); in mcde_probe()
444 regulator_disable(mcde->vana); in mcde_probe()
446 regulator_disable(mcde->epod); in mcde_probe()
454 struct mcde *mcde = to_mcde(drm); in mcde_remove() local
457 clk_disable_unprepare(mcde->mcde_clk); in mcde_remove()
458 regulator_disable(mcde->vana); in mcde_remove()
459 regulator_disable(mcde->epod); in mcde_remove()