Lines Matching refs:drm
49 struct drm_device *drm = private->drm; in mtk_atomic_complete() local
51 drm_atomic_helper_wait_for_fences(drm, state, false); in mtk_atomic_complete()
67 drm_atomic_helper_commit_modeset_disables(drm, state); in mtk_atomic_complete()
68 drm_atomic_helper_commit_modeset_enables(drm, state); in mtk_atomic_complete()
69 drm_atomic_helper_commit_planes(drm, state, in mtk_atomic_complete()
72 drm_atomic_helper_wait_for_vblanks(drm, state); in mtk_atomic_complete()
74 drm_atomic_helper_cleanup_planes(drm, state); in mtk_atomic_complete()
86 static int mtk_atomic_commit(struct drm_device *drm, in mtk_atomic_commit() argument
90 struct mtk_drm_private *private = drm->dev_private; in mtk_atomic_commit()
93 ret = drm_atomic_helper_prepare_planes(drm, state); in mtk_atomic_commit()
103 drm_atomic_helper_cleanup_planes(drm, state); in mtk_atomic_commit()
206 static int mtk_drm_kms_init(struct drm_device *drm) in mtk_drm_kms_init() argument
208 struct mtk_drm_private *private = drm->dev_private; in mtk_drm_kms_init()
219 dev_err(drm->dev, "Waiting for disp-mutex device %pOF\n", in mtk_drm_kms_init()
226 drm_mode_config_init(drm); in mtk_drm_kms_init()
228 drm->mode_config.min_width = 64; in mtk_drm_kms_init()
229 drm->mode_config.min_height = 64; in mtk_drm_kms_init()
236 drm->mode_config.max_width = 4096; in mtk_drm_kms_init()
237 drm->mode_config.max_height = 4096; in mtk_drm_kms_init()
238 drm->mode_config.funcs = &mtk_drm_mode_config_funcs; in mtk_drm_kms_init()
240 ret = component_bind_all(drm->dev, drm); in mtk_drm_kms_init()
249 ret = mtk_drm_crtc_create(drm, private->data->main_path, in mtk_drm_kms_init()
254 ret = mtk_drm_crtc_create(drm, private->data->ext_path, in mtk_drm_kms_init()
259 ret = mtk_drm_crtc_create(drm, private->data->third_path, in mtk_drm_kms_init()
270 dev_err(drm->dev, "Need at least one OVL device\n"); in mtk_drm_kms_init()
284 devm_kzalloc(drm->dev, sizeof(*dma_dev->dma_parms), in mtk_drm_kms_init()
303 drm->irq_enabled = true; in mtk_drm_kms_init()
304 ret = drm_vblank_init(drm, MAX_CRTC); in mtk_drm_kms_init()
308 drm_kms_helper_poll_init(drm); in mtk_drm_kms_init()
309 drm_mode_config_reset(drm); in mtk_drm_kms_init()
317 component_unbind_all(drm->dev, drm); in mtk_drm_kms_init()
319 drm_mode_config_cleanup(drm); in mtk_drm_kms_init()
324 static void mtk_drm_kms_deinit(struct drm_device *drm) in mtk_drm_kms_deinit() argument
326 struct mtk_drm_private *private = drm->dev_private; in mtk_drm_kms_deinit()
328 drm_kms_helper_poll_fini(drm); in mtk_drm_kms_deinit()
329 drm_atomic_helper_shutdown(drm); in mtk_drm_kms_deinit()
334 component_unbind_all(drm->dev, drm); in mtk_drm_kms_deinit()
335 drm_mode_config_cleanup(drm); in mtk_drm_kms_deinit()
393 struct drm_device *drm; in mtk_drm_bind() local
396 drm = drm_dev_alloc(&mtk_drm_driver, dev); in mtk_drm_bind()
397 if (IS_ERR(drm)) in mtk_drm_bind()
398 return PTR_ERR(drm); in mtk_drm_bind()
400 drm->dev_private = private; in mtk_drm_bind()
401 private->drm = drm; in mtk_drm_bind()
403 ret = mtk_drm_kms_init(drm); in mtk_drm_bind()
407 ret = drm_dev_register(drm, 0); in mtk_drm_bind()
411 ret = drm_fbdev_generic_setup(drm, 32); in mtk_drm_bind()
418 mtk_drm_kms_deinit(drm); in mtk_drm_bind()
420 drm_dev_put(drm); in mtk_drm_bind()
428 drm_dev_unregister(private->drm); in mtk_drm_unbind()
429 mtk_drm_kms_deinit(private->drm); in mtk_drm_unbind()
430 drm_dev_put(private->drm); in mtk_drm_unbind()
432 private->drm = NULL; in mtk_drm_unbind()
620 struct drm_device *drm = private->drm; in mtk_drm_sys_suspend() local
623 ret = drm_mode_config_helper_suspend(drm); in mtk_drm_sys_suspend()
632 struct drm_device *drm = private->drm; in mtk_drm_sys_resume() local
635 ret = drm_mode_config_helper_resume(drm); in mtk_drm_sys_resume()