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()
208 if (malidp_set_and_wait_config_valid(drm) < 0) { in malidp_atomic_commit_hw_done()
214 if (!malidp_set_and_wait_config_valid(drm)) in malidp_atomic_commit_hw_done()
222 spin_lock_irq(&drm->event_lock); in malidp_atomic_commit_hw_done()
225 spin_unlock_irq(&drm->event_lock); in malidp_atomic_commit_hw_done()
232 struct drm_device *drm = state->dev; in malidp_atomic_commit_tail() local
233 struct malidp_drm *malidp = drm->dev_private; in malidp_atomic_commit_tail()
238 pm_runtime_get_sync(drm->dev); in malidp_atomic_commit_tail()
247 drm_atomic_helper_commit_modeset_disables(drm, state); in malidp_atomic_commit_tail()
255 drm_atomic_helper_commit_planes(drm, state, DRM_PLANE_COMMIT_ACTIVE_ONLY); in malidp_atomic_commit_tail()
257 malidp_mw_atomic_commit(drm, state); in malidp_atomic_commit_tail()
259 drm_atomic_helper_commit_modeset_enables(drm, state); in malidp_atomic_commit_tail()
263 pm_runtime_put(drm->dev); in malidp_atomic_commit_tail()
265 drm_atomic_helper_cleanup_planes(drm, state); in malidp_atomic_commit_tail()
389 static int malidp_init(struct drm_device *drm) in malidp_init() argument
392 struct malidp_drm *malidp = drm->dev_private; in malidp_init()
395 drm_mode_config_init(drm); in malidp_init()
397 drm->mode_config.min_width = hwdev->min_line_size; in malidp_init()
398 drm->mode_config.min_height = hwdev->min_line_size; in malidp_init()
399 drm->mode_config.max_width = hwdev->max_line_size; in malidp_init()
400 drm->mode_config.max_height = hwdev->max_line_size; in malidp_init()
401 drm->mode_config.funcs = &malidp_mode_config_funcs; in malidp_init()
402 drm->mode_config.helper_private = &malidp_mode_config_helpers; in malidp_init()
403 drm->mode_config.allow_fb_modifiers = true; in malidp_init()
405 ret = malidp_crtc_init(drm); in malidp_init()
409 ret = malidp_mw_connector_init(drm); in malidp_init()
416 drm_mode_config_cleanup(drm); in malidp_init()
420 static void malidp_fini(struct drm_device *drm) in malidp_fini() argument
422 drm_mode_config_cleanup(drm); in malidp_fini()
428 struct drm_device *drm = dev_get_drvdata(&pdev->dev); in malidp_irq_init() local
429 struct malidp_drm *malidp = drm->dev_private; in malidp_irq_init()
444 ret = malidp_de_irq_init(drm, irq_de); in malidp_irq_init()
448 ret = malidp_se_irq_init(drm, irq_se); in malidp_irq_init()
460 struct drm_device *drm, in malidp_dumb_create() argument
463 struct malidp_drm *malidp = drm->dev_private; in malidp_dumb_create()
469 return drm_gem_cma_dumb_create_internal(file_priv, drm, args); in malidp_dumb_create()
508 struct drm_device *drm = m->private; in malidp_show_stats() local
509 struct malidp_drm *malidp = drm->dev_private; in malidp_show_stats()
531 struct drm_device *drm = m->private; in malidp_debugfs_write() local
532 struct malidp_drm *malidp = drm->dev_private; in malidp_debugfs_write()
662 struct drm_device *drm = dev_get_drvdata(dev); in core_id_show() local
663 struct malidp_drm *malidp = drm->dev_private; in core_id_show()
689 struct drm_device *drm = dev_get_drvdata(dev); in malidp_runtime_pm_suspend() local
690 struct malidp_drm *malidp = drm->dev_private; in malidp_runtime_pm_suspend()
708 struct drm_device *drm = dev_get_drvdata(dev); in malidp_runtime_pm_resume() local
709 struct malidp_drm *malidp = drm->dev_private; in malidp_runtime_pm_resume()
725 struct drm_device *drm; in malidp_bind() local
773 drm = drm_dev_alloc(&malidp_driver, dev); in malidp_bind()
774 if (IS_ERR(drm)) { in malidp_bind()
775 ret = PTR_ERR(drm); in malidp_bind()
779 drm->dev_private = malidp; in malidp_bind()
780 dev_set_drvdata(dev, drm); in malidp_bind()
835 ret = malidp_init(drm); in malidp_bind()
846 ret = component_bind_all(dev, drm); in malidp_bind()
855 WARN_ON(drm->mode_config.num_encoder > 2); in malidp_bind()
856 list_for_each_entry(encoder, &drm->mode_config.encoder_list, head) { in malidp_bind()
858 (1 << drm->mode_config.num_encoder) - 1; in malidp_bind()
865 drm->irq_enabled = true; in malidp_bind()
867 ret = drm_vblank_init(drm, drm->mode_config.num_crtc); in malidp_bind()
875 drm_mode_config_reset(drm); in malidp_bind()
877 drm_kms_helper_poll_init(drm); in malidp_bind()
879 ret = drm_dev_register(drm, 0); in malidp_bind()
883 drm_fbdev_generic_setup(drm, 32); in malidp_bind()
888 drm_kms_helper_poll_fini(drm); in malidp_bind()
893 drm->irq_enabled = false; in malidp_bind()
895 drm_atomic_helper_shutdown(drm); in malidp_bind()
896 component_unbind_all(dev, drm); in malidp_bind()
902 malidp_fini(drm); in malidp_bind()
909 drm->dev_private = NULL; in malidp_bind()
911 drm_dev_put(drm); in malidp_bind()
920 struct drm_device *drm = dev_get_drvdata(dev); in malidp_unbind() local
921 struct malidp_drm *malidp = drm->dev_private; in malidp_unbind()
924 drm_dev_unregister(drm); in malidp_unbind()
925 drm_kms_helper_poll_fini(drm); in malidp_unbind()
930 drm->irq_enabled = false; in malidp_unbind()
931 drm_atomic_helper_shutdown(drm); in malidp_unbind()
932 component_unbind_all(dev, drm); in malidp_unbind()
936 malidp_fini(drm); in malidp_unbind()
942 drm->dev_private = NULL; in malidp_unbind()
944 drm_dev_put(drm); in malidp_unbind()
988 struct drm_device *drm = dev_get_drvdata(dev); in malidp_pm_suspend() local
990 return drm_mode_config_helper_suspend(drm); in malidp_pm_suspend()
995 struct drm_device *drm = dev_get_drvdata(dev); in malidp_pm_resume() local
997 drm_mode_config_helper_resume(drm); in malidp_pm_resume()