Lines Matching refs:drm
43 struct drm_device *drm = lcdif->drm; in lcdif_attach_bridge() local
47 bridge = devm_drm_of_get_bridge(drm->dev, drm->dev->of_node, 0, 0); in lcdif_attach_bridge()
53 return dev_err_probe(drm->dev, ret, "Failed to attach bridge\n"); in lcdif_attach_bridge()
62 struct drm_device *drm = data; in lcdif_irq_handler() local
63 struct lcdif_drm_private *lcdif = drm->dev_private; in lcdif_irq_handler()
81 static int lcdif_load(struct drm_device *drm) in lcdif_load() argument
83 struct platform_device *pdev = to_platform_device(drm->dev); in lcdif_load()
92 lcdif->drm = drm; in lcdif_load()
93 drm->dev_private = lcdif; in lcdif_load()
96 lcdif->base = devm_ioremap_resource(drm->dev, res); in lcdif_load()
100 lcdif->clk = devm_clk_get(drm->dev, "pix"); in lcdif_load()
104 lcdif->clk_axi = devm_clk_get(drm->dev, "axi"); in lcdif_load()
108 lcdif->clk_disp_axi = devm_clk_get(drm->dev, "disp_axi"); in lcdif_load()
112 platform_set_drvdata(pdev, drm); in lcdif_load()
114 ret = dma_set_mask_and_coherent(drm->dev, DMA_BIT_MASK(36)); in lcdif_load()
119 drm_mode_config_init(drm); in lcdif_load()
123 dev_err(drm->dev, "Failed to initialize KMS pipeline\n"); in lcdif_load()
127 ret = drm_vblank_init(drm, drm->mode_config.num_crtc); in lcdif_load()
129 dev_err(drm->dev, "Failed to initialise vblank\n"); in lcdif_load()
138 return dev_err_probe(drm->dev, ret, "Cannot connect bridge\n"); in lcdif_load()
140 drm->mode_config.min_width = LCDIF_MIN_XRES; in lcdif_load()
141 drm->mode_config.min_height = LCDIF_MIN_YRES; in lcdif_load()
142 drm->mode_config.max_width = LCDIF_MAX_XRES; in lcdif_load()
143 drm->mode_config.max_height = LCDIF_MAX_YRES; in lcdif_load()
144 drm->mode_config.funcs = &lcdif_mode_config_funcs; in lcdif_load()
145 drm->mode_config.helper_private = &lcdif_mode_config_helpers; in lcdif_load()
147 drm_mode_config_reset(drm); in lcdif_load()
154 ret = devm_request_irq(drm->dev, lcdif->irq, lcdif_irq_handler, 0, in lcdif_load()
155 drm->driver->name, drm); in lcdif_load()
157 dev_err(drm->dev, "Failed to install IRQ handler\n"); in lcdif_load()
161 drm_kms_helper_poll_init(drm); in lcdif_load()
163 drm_helper_hpd_irq_event(drm); in lcdif_load()
165 pm_runtime_enable(drm->dev); in lcdif_load()
170 static void lcdif_unload(struct drm_device *drm) in lcdif_unload() argument
172 struct lcdif_drm_private *lcdif = drm->dev_private; in lcdif_unload()
174 pm_runtime_get_sync(drm->dev); in lcdif_unload()
178 drm_kms_helper_poll_fini(drm); in lcdif_unload()
179 drm_mode_config_cleanup(drm); in lcdif_unload()
181 pm_runtime_put_sync(drm->dev); in lcdif_unload()
182 pm_runtime_disable(drm->dev); in lcdif_unload()
184 drm->dev_private = NULL; in lcdif_unload()
208 struct drm_device *drm; in lcdif_probe() local
211 drm = drm_dev_alloc(&lcdif_driver, &pdev->dev); in lcdif_probe()
212 if (IS_ERR(drm)) in lcdif_probe()
213 return PTR_ERR(drm); in lcdif_probe()
215 ret = lcdif_load(drm); in lcdif_probe()
219 ret = drm_dev_register(drm, 0); in lcdif_probe()
223 drm_fbdev_generic_setup(drm, 32); in lcdif_probe()
228 lcdif_unload(drm); in lcdif_probe()
230 drm_dev_put(drm); in lcdif_probe()
237 struct drm_device *drm = platform_get_drvdata(pdev); in lcdif_remove() local
239 drm_dev_unregister(drm); in lcdif_remove()
240 drm_atomic_helper_shutdown(drm); in lcdif_remove()
241 lcdif_unload(drm); in lcdif_remove()
242 drm_dev_put(drm); in lcdif_remove()
249 struct drm_device *drm = platform_get_drvdata(pdev); in lcdif_shutdown() local
251 drm_atomic_helper_shutdown(drm); in lcdif_shutdown()
256 struct drm_device *drm = dev_get_drvdata(dev); in lcdif_rpm_suspend() local
257 struct lcdif_drm_private *lcdif = drm->dev_private; in lcdif_rpm_suspend()
271 struct drm_device *drm = dev_get_drvdata(dev); in lcdif_rpm_resume() local
272 struct lcdif_drm_private *lcdif = drm->dev_private; in lcdif_rpm_resume()
286 struct drm_device *drm = dev_get_drvdata(dev); in lcdif_suspend() local
289 ret = drm_mode_config_helper_suspend(drm); in lcdif_suspend()
298 struct drm_device *drm = dev_get_drvdata(dev); in lcdif_resume() local
302 return drm_mode_config_helper_resume(drm); in lcdif_resume()