Lines Matching full:drm

24 #include <drm/drm_aperture.h>
25 #include <drm/drm_atomic_helper.h>
26 #include <drm/drm_crtc.h>
27 #include <drm/drm_debugfs.h>
28 #include <drm/drm_drv.h>
29 #include <drm/drm_fb_helper.h>
30 #include <drm/drm_gem_dma_helper.h>
31 #include <drm/drm_gem_framebuffer_helper.h>
32 #include <drm/drm_modeset_helper.h>
33 #include <drm/drm_module.h>
34 #include <drm/drm_of.h>
35 #include <drm/drm_probe_helper.h>
36 #include <drm/drm_vblank.h>
99 static int hdlcd_load(struct drm_device *drm, unsigned long flags) in hdlcd_load() argument
101 struct hdlcd_drm_private *hdlcd = drm->dev_private; in hdlcd_load()
102 struct platform_device *pdev = to_platform_device(drm->dev); in hdlcd_load()
107 hdlcd->clk = devm_clk_get(drm->dev, "pxlclk"); in hdlcd_load()
119 hdlcd->mmio = devm_ioremap_resource(drm->dev, res); in hdlcd_load()
137 ret = of_reserved_mem_device_init(drm->dev); in hdlcd_load()
141 ret = dma_set_mask_and_coherent(drm->dev, DMA_BIT_MASK(32)); in hdlcd_load()
145 ret = hdlcd_setup_crtc(drm); in hdlcd_load()
167 of_reserved_mem_device_release(drm->dev); in hdlcd_load()
178 static void hdlcd_setup_mode_config(struct drm_device *drm) in hdlcd_setup_mode_config() argument
180 drm_mode_config_init(drm); in hdlcd_setup_mode_config()
181 drm->mode_config.min_width = 0; in hdlcd_setup_mode_config()
182 drm->mode_config.min_height = 0; in hdlcd_setup_mode_config()
183 drm->mode_config.max_width = HDLCD_MAX_XRES; in hdlcd_setup_mode_config()
184 drm->mode_config.max_height = HDLCD_MAX_YRES; in hdlcd_setup_mode_config()
185 drm->mode_config.funcs = &hdlcd_mode_config_funcs; in hdlcd_setup_mode_config()
192 struct drm_device *drm = node->minor->dev; in hdlcd_show_underrun_count() local
193 struct hdlcd_drm_private *hdlcd = drm->dev_private; in hdlcd_show_underrun_count()
205 struct drm_device *drm = node->minor->dev; in hdlcd_show_pxlclock() local
206 struct hdlcd_drm_private *hdlcd = drm->dev_private; in hdlcd_show_pxlclock()
238 .desc = "ARM HDLCD Controller DRM",
246 struct drm_device *drm; in hdlcd_drm_bind() local
254 drm = drm_dev_alloc(&hdlcd_driver, dev); in hdlcd_drm_bind()
255 if (IS_ERR(drm)) in hdlcd_drm_bind()
256 return PTR_ERR(drm); in hdlcd_drm_bind()
258 drm->dev_private = hdlcd; in hdlcd_drm_bind()
259 dev_set_drvdata(dev, drm); in hdlcd_drm_bind()
261 hdlcd_setup_mode_config(drm); in hdlcd_drm_bind()
262 ret = hdlcd_load(drm, 0); in hdlcd_drm_bind()
269 ret = component_bind_all(dev, drm); in hdlcd_drm_bind()
281 ret = drm_vblank_init(drm, drm->mode_config.num_crtc); in hdlcd_drm_bind()
296 drm_mode_config_reset(drm); in hdlcd_drm_bind()
297 drm_kms_helper_poll_init(drm); in hdlcd_drm_bind()
299 ret = drm_dev_register(drm, 0); in hdlcd_drm_bind()
303 drm_fbdev_generic_setup(drm, 32); in hdlcd_drm_bind()
308 drm_kms_helper_poll_fini(drm); in hdlcd_drm_bind()
310 pm_runtime_disable(drm->dev); in hdlcd_drm_bind()
312 drm_atomic_helper_shutdown(drm); in hdlcd_drm_bind()
313 component_unbind_all(dev, drm); in hdlcd_drm_bind()
318 of_reserved_mem_device_release(drm->dev); in hdlcd_drm_bind()
320 drm_mode_config_cleanup(drm); in hdlcd_drm_bind()
322 drm_dev_put(drm); in hdlcd_drm_bind()
329 struct drm_device *drm = dev_get_drvdata(dev); in hdlcd_drm_unbind() local
330 struct hdlcd_drm_private *hdlcd = drm->dev_private; in hdlcd_drm_unbind()
332 drm_dev_unregister(drm); in hdlcd_drm_unbind()
333 drm_kms_helper_poll_fini(drm); in hdlcd_drm_unbind()
334 component_unbind_all(dev, drm); in hdlcd_drm_unbind()
338 drm_atomic_helper_shutdown(drm); in hdlcd_drm_unbind()
344 drm_mode_config_cleanup(drm); in hdlcd_drm_unbind()
345 drm->dev_private = NULL; in hdlcd_drm_unbind()
347 drm_dev_put(drm); in hdlcd_drm_unbind()
391 struct drm_device *drm = dev_get_drvdata(dev); in hdlcd_pm_suspend() local
393 return drm_mode_config_helper_suspend(drm); in hdlcd_pm_suspend()
398 struct drm_device *drm = dev_get_drvdata(dev); in hdlcd_pm_resume() local
400 drm_mode_config_helper_resume(drm); in hdlcd_pm_resume()
420 MODULE_DESCRIPTION("ARM HDLCD DRM driver");