Lines Matching full:drm
25 #include <drm/clients/drm_client_setup.h>
26 #include <drm/drm_atomic_helper.h>
27 #include <drm/drm_crtc.h>
28 #include <drm/drm_debugfs.h>
29 #include <drm/drm_drv.h>
30 #include <drm/drm_fbdev_dma.h>
31 #include <drm/drm_gem_dma_helper.h>
32 #include <drm/drm_gem_framebuffer_helper.h>
33 #include <drm/drm_modeset_helper.h>
34 #include <drm/drm_module.h>
35 #include <drm/drm_of.h>
36 #include <drm/drm_probe_helper.h>
37 #include <drm/drm_vblank.h>
100 static int hdlcd_load(struct drm_device *drm, unsigned long flags) in hdlcd_load() argument
102 struct hdlcd_drm_private *hdlcd = drm_to_hdlcd_priv(drm); in hdlcd_load()
103 struct platform_device *pdev = to_platform_device(drm->dev); in hdlcd_load()
107 hdlcd->clk = devm_clk_get(drm->dev, "pxlclk"); in hdlcd_load()
136 ret = of_reserved_mem_device_init(drm->dev); in hdlcd_load()
140 ret = dma_set_mask_and_coherent(drm->dev, DMA_BIT_MASK(32)); in hdlcd_load()
144 ret = hdlcd_setup_crtc(drm); in hdlcd_load()
166 of_reserved_mem_device_release(drm->dev); in hdlcd_load()
177 static int hdlcd_setup_mode_config(struct drm_device *drm) in hdlcd_setup_mode_config() argument
181 ret = drmm_mode_config_init(drm); in hdlcd_setup_mode_config()
185 drm->mode_config.min_width = 0; in hdlcd_setup_mode_config()
186 drm->mode_config.min_height = 0; in hdlcd_setup_mode_config()
187 drm->mode_config.max_width = HDLCD_MAX_XRES; in hdlcd_setup_mode_config()
188 drm->mode_config.max_height = HDLCD_MAX_YRES; in hdlcd_setup_mode_config()
189 drm->mode_config.funcs = &hdlcd_mode_config_funcs; in hdlcd_setup_mode_config()
198 struct drm_device *drm = entry->dev; in hdlcd_show_underrun_count() local
199 struct hdlcd_drm_private *hdlcd = drm_to_hdlcd_priv(drm); in hdlcd_show_underrun_count()
211 struct drm_device *drm = entry->dev; in hdlcd_show_pxlclock() local
212 struct hdlcd_drm_private *hdlcd = drm_to_hdlcd_priv(drm); in hdlcd_show_pxlclock()
235 .desc = "ARM HDLCD Controller DRM",
242 struct drm_device *drm; in hdlcd_drm_bind() local
250 drm = &hdlcd->base; in hdlcd_drm_bind()
252 dev_set_drvdata(dev, drm); in hdlcd_drm_bind()
254 ret = hdlcd_setup_mode_config(drm); in hdlcd_drm_bind()
258 ret = hdlcd_load(drm, 0); in hdlcd_drm_bind()
265 ret = component_bind_all(dev, drm); in hdlcd_drm_bind()
277 ret = drm_vblank_init(drm, drm->mode_config.num_crtc); in hdlcd_drm_bind()
292 drm_mode_config_reset(drm); in hdlcd_drm_bind()
293 drm_kms_helper_poll_init(drm); in hdlcd_drm_bind()
296 drm_debugfs_add_files(drm, hdlcd_debugfs_list, ARRAY_SIZE(hdlcd_debugfs_list)); in hdlcd_drm_bind()
299 ret = drm_dev_register(drm, 0); in hdlcd_drm_bind()
303 drm_client_setup(drm, NULL); 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()
326 struct drm_device *drm = dev_get_drvdata(dev); in hdlcd_drm_unbind() local
327 struct hdlcd_drm_private *hdlcd = drm_to_hdlcd_priv(drm); in hdlcd_drm_unbind()
329 drm_dev_unregister(drm); in hdlcd_drm_unbind()
330 drm_kms_helper_poll_fini(drm); in hdlcd_drm_unbind()
331 component_unbind_all(dev, drm); in hdlcd_drm_unbind()
335 drm_atomic_helper_shutdown(drm); in hdlcd_drm_unbind()
389 struct drm_device *drm = dev_get_drvdata(dev); in hdlcd_pm_suspend() local
391 return drm_mode_config_helper_suspend(drm); in hdlcd_pm_suspend()
396 struct drm_device *drm = dev_get_drvdata(dev); in hdlcd_pm_resume() local
398 drm_mode_config_helper_resume(drm); in hdlcd_pm_resume()
419 MODULE_DESCRIPTION("ARM HDLCD DRM driver");