Lines Matching refs:drm
245 struct drm_device *drm; in exynos_drm_bind() local
249 drm = drm_dev_alloc(&exynos_drm_driver, dev); in exynos_drm_bind()
250 if (IS_ERR(drm)) in exynos_drm_bind()
251 return PTR_ERR(drm); in exynos_drm_bind()
262 dev_set_drvdata(dev, drm); in exynos_drm_bind()
263 drm->dev_private = (void *)private; in exynos_drm_bind()
265 drm_mode_config_init(drm); in exynos_drm_bind()
267 exynos_drm_mode_config_init(drm); in exynos_drm_bind()
271 list_for_each_entry(encoder, &drm->mode_config.encoder_list, head) in exynos_drm_bind()
274 list_for_each_entry(encoder, &drm->mode_config.encoder_list, head) in exynos_drm_bind()
278 ret = component_bind_all(drm->dev, drm); in exynos_drm_bind()
282 ret = drm_vblank_init(drm, drm->mode_config.num_crtc); in exynos_drm_bind()
286 drm_mode_config_reset(drm); in exynos_drm_bind()
289 drm_kms_helper_poll_init(drm); in exynos_drm_bind()
291 ret = exynos_drm_fbdev_init(drm); in exynos_drm_bind()
296 ret = drm_dev_register(drm, 0); in exynos_drm_bind()
303 exynos_drm_fbdev_fini(drm); in exynos_drm_bind()
305 drm_kms_helper_poll_fini(drm); in exynos_drm_bind()
307 component_unbind_all(drm->dev, drm); in exynos_drm_bind()
309 drm_mode_config_cleanup(drm); in exynos_drm_bind()
310 exynos_drm_cleanup_dma(drm); in exynos_drm_bind()
313 drm_dev_put(drm); in exynos_drm_bind()
320 struct drm_device *drm = dev_get_drvdata(dev); in exynos_drm_unbind() local
322 drm_dev_unregister(drm); in exynos_drm_unbind()
324 exynos_drm_fbdev_fini(drm); in exynos_drm_unbind()
325 drm_kms_helper_poll_fini(drm); in exynos_drm_unbind()
327 component_unbind_all(drm->dev, drm); in exynos_drm_unbind()
328 drm_mode_config_cleanup(drm); in exynos_drm_unbind()
329 exynos_drm_cleanup_dma(drm); in exynos_drm_unbind()
331 kfree(drm->dev_private); in exynos_drm_unbind()
332 drm->dev_private = NULL; in exynos_drm_unbind()
335 drm_dev_put(drm); in exynos_drm_unbind()