mdp5_crtc 63 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c #define to_mdp5_crtc(x) container_of(x, struct mdp5_crtc, base) mdp5_crtc 75 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 77 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c atomic_or(pending, &mdp5_crtc->pending); mdp5_crtc 78 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp_irq_register(&get_kms(crtc)->base, &mdp5_crtc->vblank); mdp5_crtc 83 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 84 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c reinit_completion(&mdp5_crtc->pp_completion); mdp5_crtc 138 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 145 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c event = mdp5_crtc->event; mdp5_crtc 147 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->event = NULL; mdp5_crtc 163 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = mdp5_crtc 164 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c container_of(work, struct mdp5_crtc, unref_cursor_work); mdp5_crtc 165 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_kms *mdp5_kms = get_kms(&mdp5_crtc->base); mdp5_crtc 174 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 177 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c drm_flip_work_cleanup(&mdp5_crtc->unref_cursor_work); mdp5_crtc 179 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c kfree(mdp5_crtc); mdp5_crtc 212 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 237 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_lock_irqsave(&mdp5_crtc->lm_lock, flags); mdp5_crtc 359 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_unlock_irqrestore(&mdp5_crtc->lm_lock, flags); mdp5_crtc 364 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 385 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_lock_irqsave(&mdp5_crtc->lm_lock, flags); mdp5_crtc 408 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_unlock_irqrestore(&mdp5_crtc->lm_lock, flags); mdp5_crtc 414 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 422 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (WARN_ON(!mdp5_crtc->enabled)) mdp5_crtc 429 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp_irq_unregister(&mdp5_kms->base, &mdp5_crtc->pp_done); mdp5_crtc 431 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp_irq_unregister(&mdp5_kms->base, &mdp5_crtc->err); mdp5_crtc 435 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c WARN_ON(mdp5_crtc->event); mdp5_crtc 442 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->enabled = false; mdp5_crtc 460 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 467 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (WARN_ON(mdp5_crtc->enabled)) mdp5_crtc 472 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (mdp5_crtc->lm_cursor_enabled) { mdp5_crtc 477 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (mdp5_crtc->cursor.iova) { mdp5_crtc 480 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_lock_irqsave(&mdp5_crtc->cursor.lock, flags); mdp5_crtc 482 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_unlock_irqrestore(&mdp5_crtc->cursor.lock, flags); mdp5_crtc 497 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp_irq_register(&mdp5_kms->base, &mdp5_crtc->err); mdp5_crtc 500 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp_irq_register(&mdp5_kms->base, &mdp5_crtc->pp_done); mdp5_crtc 502 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->enabled = true; mdp5_crtc 706 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 713 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c WARN_ON(mdp5_crtc->event); mdp5_crtc 716 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->event = crtc->state->event; mdp5_crtc 740 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->flushed_mask = crtc_flush_all(crtc); mdp5_crtc 743 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->vblank.irqmask = mdp5_cstate->vblank_irqmask; mdp5_crtc 744 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->err.irqmask = mdp5_cstate->err_irqmask; mdp5_crtc 745 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->pp_done.irqmask = mdp5_cstate->pp_done_irqmask; mdp5_crtc 752 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 775 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (mdp5_crtc->cursor.x >= 0) mdp5_crtc 776 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c *roi_w = min(mdp5_crtc->cursor.width, xres - mdp5_crtc 777 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.x); mdp5_crtc 779 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c *roi_w = mdp5_crtc->cursor.width - abs(mdp5_crtc->cursor.x); mdp5_crtc 780 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (mdp5_crtc->cursor.y >= 0) mdp5_crtc 781 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c *roi_h = min(mdp5_crtc->cursor.height, yres - mdp5_crtc 782 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.y); mdp5_crtc 784 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c *roi_h = mdp5_crtc->cursor.height - abs(mdp5_crtc->cursor.y); mdp5_crtc 791 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 799 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c assert_spin_locked(&mdp5_crtc->cursor.lock); mdp5_crtc 803 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c x = mdp5_crtc->cursor.x; mdp5_crtc 804 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c y = mdp5_crtc->cursor.y; mdp5_crtc 805 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c width = mdp5_crtc->cursor.width; mdp5_crtc 806 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c height = mdp5_crtc->cursor.height; mdp5_crtc 817 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (mdp5_crtc->cursor.x < 0) { mdp5_crtc 818 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c src_x = abs(mdp5_crtc->cursor.x); mdp5_crtc 823 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (mdp5_crtc->cursor.y < 0) { mdp5_crtc 824 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c src_y = abs(mdp5_crtc->cursor.y); mdp5_crtc 848 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.iova); mdp5_crtc 859 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 873 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (!mdp5_crtc->lm_cursor_enabled) { mdp5_crtc 895 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.iova = 0; mdp5_crtc 905 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c &mdp5_crtc->cursor.iova); mdp5_crtc 911 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_lock_irqsave(&mdp5_crtc->cursor.lock, flags); mdp5_crtc 912 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c old_bo = mdp5_crtc->cursor.scanout_bo; mdp5_crtc 914 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.scanout_bo = cursor_bo; mdp5_crtc 915 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.width = width; mdp5_crtc 916 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.height = height; mdp5_crtc 920 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_unlock_irqrestore(&mdp5_crtc->cursor.lock, flags); mdp5_crtc 935 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c drm_flip_work_queue(&mdp5_crtc->unref_cursor_work, old_bo); mdp5_crtc 945 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 953 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (!mdp5_crtc->lm_cursor_enabled) { mdp5_crtc 968 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.x = x = max(x, -(int)mdp5_crtc->cursor.width); mdp5_crtc 969 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->cursor.y = y = max(y, -(int)mdp5_crtc->cursor.height); mdp5_crtc 975 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_lock_irqsave(&mdp5_crtc->cursor.lock, flags); mdp5_crtc 977 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_unlock_irqrestore(&mdp5_crtc->cursor.lock, flags); mdp5_crtc 1073 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = container_of(irq, struct mdp5_crtc, vblank); mdp5_crtc 1074 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct drm_crtc *crtc = &mdp5_crtc->base; mdp5_crtc 1078 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp_irq_unregister(&get_kms(crtc)->base, &mdp5_crtc->vblank); mdp5_crtc 1080 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c pending = atomic_xchg(&mdp5_crtc->pending, 0); mdp5_crtc 1087 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c drm_flip_work_commit(&mdp5_crtc->unref_cursor_work, priv->wq); mdp5_crtc 1092 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = container_of(irq, struct mdp5_crtc, err); mdp5_crtc 1094 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c DBG("%s: error: %08x", mdp5_crtc->base.name, irqstatus); mdp5_crtc 1099 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = container_of(irq, struct mdp5_crtc, mdp5_crtc 1102 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c complete(&mdp5_crtc->pp_completion); mdp5_crtc 1108 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 1112 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c ret = wait_for_completion_timeout(&mdp5_crtc->pp_completion, mdp5_crtc 1122 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 1137 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->flushed_mask) == 0), mdp5_crtc 1140 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c dev_warn(dev->dev, "vblank time out, crtc=%d\n", mdp5_crtc->id); mdp5_crtc 1142 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->flushed_mask = 0; mdp5_crtc 1149 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); mdp5_crtc 1150 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c return mdp5_crtc->vblank.irqmask; mdp5_crtc 1212 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c struct mdp5_crtc *mdp5_crtc; mdp5_crtc 1214 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc = kzalloc(sizeof(*mdp5_crtc), GFP_KERNEL); mdp5_crtc 1215 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c if (!mdp5_crtc) mdp5_crtc 1218 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c crtc = &mdp5_crtc->base; mdp5_crtc 1220 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->id = id; mdp5_crtc 1222 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_lock_init(&mdp5_crtc->lm_lock); mdp5_crtc 1223 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c spin_lock_init(&mdp5_crtc->cursor.lock); mdp5_crtc 1224 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c init_completion(&mdp5_crtc->pp_completion); mdp5_crtc 1226 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->vblank.irq = mdp5_crtc_vblank_irq; mdp5_crtc 1227 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->err.irq = mdp5_crtc_err_irq; mdp5_crtc 1228 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->pp_done.irq = mdp5_crtc_pp_done_irq; mdp5_crtc 1230 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c mdp5_crtc->lm_cursor_enabled = cursor_plane ? false : true; mdp5_crtc 1235 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c drm_flip_work_init(&mdp5_crtc->unref_cursor_work,