Lines Matching full:drm
3 * Freescale i.MX drm driver
16 #include <drm/clients/drm_client_setup.h>
17 #include <drm/drm_atomic.h>
18 #include <drm/drm_atomic_helper.h>
19 #include <drm/drm_drv.h>
20 #include <drm/drm_fbdev_dma.h>
21 #include <drm/drm_gem_dma_helper.h>
22 #include <drm/drm_gem_framebuffer_helper.h>
23 #include <drm/drm_managed.h>
24 #include <drm/drm_of.h>
25 #include <drm/drm_probe_helper.h>
26 #include <drm/drm_vblank.h>
28 #include "imx-drm.h"
91 * The flip done wait is only strictly required by imx-drm if a deferred in imx_drm_atomic_commit_tail()
113 int imx_drm_encoder_parse_of(struct drm_device *drm, in imx_drm_encoder_parse_of() argument
116 uint32_t crtc_mask = drm_of_find_possible_crtcs(drm, np); in imx_drm_encoder_parse_of()
141 struct drm_device *drm, in imx_drm_dumb_create() argument
149 ret = drm_gem_dma_dumb_create(file_priv, drm, args); in imx_drm_dumb_create()
164 .name = "imx-drm",
165 .desc = "i.MX DRM graphics",
193 struct drm_device *drm; in imx_drm_bind() local
196 drm = drm_dev_alloc(&imx_drm_driver, dev); in imx_drm_bind()
197 if (IS_ERR(drm)) in imx_drm_bind()
198 return PTR_ERR(drm); in imx_drm_bind()
205 drm->mode_config.min_width = 1; in imx_drm_bind()
206 drm->mode_config.min_height = 1; in imx_drm_bind()
207 drm->mode_config.max_width = 4096; in imx_drm_bind()
208 drm->mode_config.max_height = 4096; in imx_drm_bind()
209 drm->mode_config.funcs = &imx_drm_mode_config_funcs; in imx_drm_bind()
210 drm->mode_config.helper_private = &imx_drm_mode_config_helpers; in imx_drm_bind()
211 drm->mode_config.normalize_zpos = true; in imx_drm_bind()
213 ret = drmm_mode_config_init(drm); in imx_drm_bind()
217 ret = drm_vblank_init(drm, MAX_CRTC); in imx_drm_bind()
221 dev_set_drvdata(dev, drm); in imx_drm_bind()
224 ret = component_bind_all(dev, drm); in imx_drm_bind()
228 drm_mode_config_reset(drm); in imx_drm_bind()
240 drm_kms_helper_poll_init(drm); in imx_drm_bind()
242 ret = drm_dev_register(drm, 0); in imx_drm_bind()
246 drm_client_setup_with_color_mode(drm, legacyfb_depth); in imx_drm_bind()
251 drm_kms_helper_poll_fini(drm); in imx_drm_bind()
252 component_unbind_all(drm->dev, drm); in imx_drm_bind()
255 drm_dev_put(drm); in imx_drm_bind()
262 struct drm_device *drm = dev_get_drvdata(dev); in imx_drm_unbind() local
264 drm_dev_unregister(drm); in imx_drm_unbind()
266 drm_kms_helper_poll_fini(drm); in imx_drm_unbind()
267 drm_atomic_helper_shutdown(drm); in imx_drm_unbind()
269 component_unbind_all(drm->dev, drm); in imx_drm_unbind()
271 drm_dev_put(drm); in imx_drm_unbind()
330 .name = "imx-drm",
357 MODULE_DESCRIPTION("i.MX drm driver core");