Lines Matching refs:drm
138 int imx_drm_encoder_parse_of(struct drm_device *drm, in imx_drm_encoder_parse_of() argument
141 uint32_t crtc_mask = drm_of_find_possible_crtcs(drm, np); in imx_drm_encoder_parse_of()
215 struct drm_device *drm; in imx_drm_bind() local
218 drm = drm_dev_alloc(&imx_drm_driver, dev); in imx_drm_bind()
219 if (IS_ERR(drm)) in imx_drm_bind()
220 return PTR_ERR(drm); in imx_drm_bind()
231 drm->irq_enabled = true; in imx_drm_bind()
238 drm->mode_config.min_width = 1; in imx_drm_bind()
239 drm->mode_config.min_height = 1; in imx_drm_bind()
240 drm->mode_config.max_width = 4096; in imx_drm_bind()
241 drm->mode_config.max_height = 4096; in imx_drm_bind()
242 drm->mode_config.funcs = &imx_drm_mode_config_funcs; in imx_drm_bind()
243 drm->mode_config.helper_private = &imx_drm_mode_config_helpers; in imx_drm_bind()
244 drm->mode_config.allow_fb_modifiers = true; in imx_drm_bind()
246 drm_mode_config_init(drm); in imx_drm_bind()
248 ret = drm_vblank_init(drm, MAX_CRTC); in imx_drm_bind()
252 dev_set_drvdata(dev, drm); in imx_drm_bind()
255 ret = component_bind_all(dev, drm); in imx_drm_bind()
259 drm_mode_config_reset(drm); in imx_drm_bind()
271 ret = drm_fb_cma_fbdev_init(drm, legacyfb_depth, MAX_CRTC); in imx_drm_bind()
276 drm_kms_helper_poll_init(drm); in imx_drm_bind()
278 ret = drm_dev_register(drm, 0); in imx_drm_bind()
285 drm_kms_helper_poll_fini(drm); in imx_drm_bind()
287 drm_fb_cma_fbdev_fini(drm); in imx_drm_bind()
290 component_unbind_all(drm->dev, drm); in imx_drm_bind()
292 drm_mode_config_cleanup(drm); in imx_drm_bind()
293 drm_dev_put(drm); in imx_drm_bind()
300 struct drm_device *drm = dev_get_drvdata(dev); in imx_drm_unbind() local
302 drm_dev_unregister(drm); in imx_drm_unbind()
304 drm_kms_helper_poll_fini(drm); in imx_drm_unbind()
306 drm_fb_cma_fbdev_fini(drm); in imx_drm_unbind()
308 drm_mode_config_cleanup(drm); in imx_drm_unbind()
310 component_unbind_all(drm->dev, drm); in imx_drm_unbind()
313 drm_dev_put(drm); in imx_drm_unbind()