Lines Matching refs:drm
169 static int malidp_set_and_wait_config_valid(struct drm_device *drm) in malidp_set_and_wait_config_valid() argument
171 struct malidp_drm *malidp = drm->dev_private; in malidp_set_and_wait_config_valid()
191 struct drm_device *drm = state->dev; in malidp_atomic_commit_hw_done() local
192 struct malidp_drm *malidp = drm->dev_private; in malidp_atomic_commit_hw_done()
207 if (malidp_set_and_wait_config_valid(drm) < 0) in malidp_atomic_commit_hw_done()
211 spin_lock_irq(&drm->event_lock); in malidp_atomic_commit_hw_done()
214 spin_unlock_irq(&drm->event_lock); in malidp_atomic_commit_hw_done()
221 struct drm_device *drm = state->dev; in malidp_atomic_commit_tail() local
222 struct malidp_drm *malidp = drm->dev_private; in malidp_atomic_commit_tail()
227 pm_runtime_get_sync(drm->dev); in malidp_atomic_commit_tail()
236 drm_atomic_helper_commit_modeset_disables(drm, state); in malidp_atomic_commit_tail()
244 drm_atomic_helper_commit_planes(drm, state, DRM_PLANE_COMMIT_ACTIVE_ONLY); in malidp_atomic_commit_tail()
246 malidp_mw_atomic_commit(drm, state); in malidp_atomic_commit_tail()
248 drm_atomic_helper_commit_modeset_enables(drm, state); in malidp_atomic_commit_tail()
252 pm_runtime_put(drm->dev); in malidp_atomic_commit_tail()
254 drm_atomic_helper_cleanup_planes(drm, state); in malidp_atomic_commit_tail()
268 static int malidp_init(struct drm_device *drm) in malidp_init() argument
271 struct malidp_drm *malidp = drm->dev_private; in malidp_init()
274 drm_mode_config_init(drm); in malidp_init()
276 drm->mode_config.min_width = hwdev->min_line_size; in malidp_init()
277 drm->mode_config.min_height = hwdev->min_line_size; in malidp_init()
278 drm->mode_config.max_width = hwdev->max_line_size; in malidp_init()
279 drm->mode_config.max_height = hwdev->max_line_size; in malidp_init()
280 drm->mode_config.funcs = &malidp_mode_config_funcs; in malidp_init()
281 drm->mode_config.helper_private = &malidp_mode_config_helpers; in malidp_init()
283 ret = malidp_crtc_init(drm); in malidp_init()
287 ret = malidp_mw_connector_init(drm); in malidp_init()
294 drm_mode_config_cleanup(drm); in malidp_init()
298 static void malidp_fini(struct drm_device *drm) in malidp_fini() argument
300 drm_mode_config_cleanup(drm); in malidp_fini()
306 struct drm_device *drm = dev_get_drvdata(&pdev->dev); in malidp_irq_init() local
307 struct malidp_drm *malidp = drm->dev_private; in malidp_irq_init()
322 ret = malidp_de_irq_init(drm, irq_de); in malidp_irq_init()
326 ret = malidp_se_irq_init(drm, irq_se); in malidp_irq_init()
338 struct drm_device *drm, in malidp_dumb_create() argument
341 struct malidp_drm *malidp = drm->dev_private; in malidp_dumb_create()
347 return drm_gem_cma_dumb_create_internal(file_priv, drm, args); in malidp_dumb_create()
386 struct drm_device *drm = m->private; in malidp_show_stats() local
387 struct malidp_drm *malidp = drm->dev_private; in malidp_show_stats()
409 struct drm_device *drm = m->private; in malidp_debugfs_write() local
410 struct malidp_drm *malidp = drm->dev_private; in malidp_debugfs_write()
551 struct drm_device *drm = dev_get_drvdata(dev); in core_id_show() local
552 struct malidp_drm *malidp = drm->dev_private; in core_id_show()
578 struct drm_device *drm = dev_get_drvdata(dev); in malidp_runtime_pm_suspend() local
579 struct malidp_drm *malidp = drm->dev_private; in malidp_runtime_pm_suspend()
597 struct drm_device *drm = dev_get_drvdata(dev); in malidp_runtime_pm_resume() local
598 struct malidp_drm *malidp = drm->dev_private; in malidp_runtime_pm_resume()
614 struct drm_device *drm; in malidp_bind() local
662 drm = drm_dev_alloc(&malidp_driver, dev); in malidp_bind()
663 if (IS_ERR(drm)) { in malidp_bind()
664 ret = PTR_ERR(drm); in malidp_bind()
668 drm->dev_private = malidp; in malidp_bind()
669 dev_set_drvdata(dev, drm); in malidp_bind()
724 ret = malidp_init(drm); in malidp_bind()
735 ret = component_bind_all(dev, drm); in malidp_bind()
744 WARN_ON(drm->mode_config.num_encoder > 2); in malidp_bind()
745 list_for_each_entry(encoder, &drm->mode_config.encoder_list, head) { in malidp_bind()
747 (1 << drm->mode_config.num_encoder) - 1; in malidp_bind()
754 drm->irq_enabled = true; in malidp_bind()
756 ret = drm_vblank_init(drm, drm->mode_config.num_crtc); in malidp_bind()
764 drm_mode_config_reset(drm); in malidp_bind()
766 ret = drm_fb_cma_fbdev_init(drm, 32, 0); in malidp_bind()
770 drm_kms_helper_poll_init(drm); in malidp_bind()
772 ret = drm_dev_register(drm, 0); in malidp_bind()
779 drm_fb_cma_fbdev_fini(drm); in malidp_bind()
780 drm_kms_helper_poll_fini(drm); in malidp_bind()
786 drm->irq_enabled = false; in malidp_bind()
788 drm_atomic_helper_shutdown(drm); in malidp_bind()
789 component_unbind_all(dev, drm); in malidp_bind()
795 malidp_fini(drm); in malidp_bind()
802 drm->dev_private = NULL; in malidp_bind()
804 drm_dev_put(drm); in malidp_bind()
813 struct drm_device *drm = dev_get_drvdata(dev); in malidp_unbind() local
814 struct malidp_drm *malidp = drm->dev_private; in malidp_unbind()
817 drm_dev_unregister(drm); in malidp_unbind()
818 drm_fb_cma_fbdev_fini(drm); in malidp_unbind()
819 drm_kms_helper_poll_fini(drm); in malidp_unbind()
824 drm->irq_enabled = false; in malidp_unbind()
825 drm_atomic_helper_shutdown(drm); in malidp_unbind()
826 component_unbind_all(dev, drm); in malidp_unbind()
830 malidp_fini(drm); in malidp_unbind()
836 drm->dev_private = NULL; in malidp_unbind()
838 drm_dev_put(drm); in malidp_unbind()
882 struct drm_device *drm = dev_get_drvdata(dev); in malidp_pm_suspend() local
884 return drm_mode_config_helper_suspend(drm); in malidp_pm_suspend()
889 struct drm_device *drm = dev_get_drvdata(dev); in malidp_pm_resume() local
891 drm_mode_config_helper_resume(drm); in malidp_pm_resume()