Lines Matching refs:drm
126 int imx_drm_encoder_parse_of(struct drm_device *drm, in imx_drm_encoder_parse_of() argument
129 uint32_t crtc_mask = drm_of_find_possible_crtcs(drm, np); in imx_drm_encoder_parse_of()
199 struct drm_device *drm; in imx_drm_bind() local
202 drm = drm_dev_alloc(&imx_drm_driver, dev); in imx_drm_bind()
203 if (IS_ERR(drm)) in imx_drm_bind()
204 return PTR_ERR(drm); in imx_drm_bind()
215 drm->irq_enabled = true; in imx_drm_bind()
222 drm->mode_config.min_width = 1; in imx_drm_bind()
223 drm->mode_config.min_height = 1; in imx_drm_bind()
224 drm->mode_config.max_width = 4096; in imx_drm_bind()
225 drm->mode_config.max_height = 4096; in imx_drm_bind()
226 drm->mode_config.funcs = &imx_drm_mode_config_funcs; in imx_drm_bind()
227 drm->mode_config.helper_private = &imx_drm_mode_config_helpers; in imx_drm_bind()
228 drm->mode_config.allow_fb_modifiers = true; in imx_drm_bind()
229 drm->mode_config.normalize_zpos = true; in imx_drm_bind()
231 drm_mode_config_init(drm); in imx_drm_bind()
233 ret = drm_vblank_init(drm, MAX_CRTC); in imx_drm_bind()
237 dev_set_drvdata(dev, drm); in imx_drm_bind()
240 ret = component_bind_all(dev, drm); in imx_drm_bind()
244 drm_mode_config_reset(drm); in imx_drm_bind()
256 drm_kms_helper_poll_init(drm); in imx_drm_bind()
258 ret = drm_dev_register(drm, 0); in imx_drm_bind()
262 drm_fbdev_generic_setup(drm, legacyfb_depth); in imx_drm_bind()
267 drm_kms_helper_poll_fini(drm); in imx_drm_bind()
268 component_unbind_all(drm->dev, drm); in imx_drm_bind()
270 drm_mode_config_cleanup(drm); in imx_drm_bind()
271 drm_dev_put(drm); in imx_drm_bind()
278 struct drm_device *drm = dev_get_drvdata(dev); in imx_drm_unbind() local
280 drm_dev_unregister(drm); in imx_drm_unbind()
282 drm_kms_helper_poll_fini(drm); in imx_drm_unbind()
284 drm_mode_config_cleanup(drm); in imx_drm_unbind()
286 component_unbind_all(drm->dev, drm); in imx_drm_unbind()
289 drm_dev_put(drm); in imx_drm_unbind()