Symbol: mdp4_crtc
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
100
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
106
event = mdp4_crtc->event;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
108
mdp4_crtc->event = NULL;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
109
DBG("%s: send event: %p", mdp4_crtc->name, event);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
117
struct mdp4_crtc *mdp4_crtc =
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
118
container_of(work, struct mdp4_crtc, unref_cursor_work);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
119
struct mdp4_kms *mdp4_kms = get_kms(&mdp4_crtc->base);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
153
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
159
mixer_cfg = mixercfg(mixer_cfg, mdp4_crtc->mixer,
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
169
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
172
int i, ovlp = mdp4_crtc->ovlp;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
217
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
219
enum mdp4_dma dma = mdp4_crtc->dma;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
220
int ovlp = mdp4_crtc->ovlp;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
229
mdp4_crtc->name, DRM_MODE_ARG(mode));
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
260
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
264
DBG("%s", mdp4_crtc->name);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
266
if (WARN_ON(!mdp4_crtc->enabled))
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
272
mdp_irq_unregister(&mdp4_kms->base, &mdp4_crtc->err);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
276
WARN_ON(mdp4_crtc->event);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
283
mdp4_crtc->enabled = false;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
289
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
292
DBG("%s", mdp4_crtc->name);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
294
if (WARN_ON(mdp4_crtc->enabled))
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
302
mdp_irq_register(&mdp4_kms->base, &mdp4_crtc->err);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
306
mdp4_crtc->enabled = true;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
312
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
313
DBG("%s: check", mdp4_crtc->name);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
321
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
322
DBG("%s: begin", mdp4_crtc->name);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
328
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
332
DBG("%s: event: %p", mdp4_crtc->name, crtc->state->event);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
334
WARN_ON(mdp4_crtc->event);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
337
mdp4_crtc->event = crtc->state->event;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
356
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
359
enum mdp4_dma dma = mdp4_crtc->dma;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
362
spin_lock_irqsave(&mdp4_crtc->cursor.lock, flags);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
363
if (mdp4_crtc->cursor.stale) {
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
364
struct drm_gem_object *next_bo = mdp4_crtc->cursor.next_bo;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
365
struct drm_gem_object *prev_bo = mdp4_crtc->cursor.scanout_bo;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
366
uint64_t iova = mdp4_crtc->cursor.next_iova;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
375
MDP4_DMA_CURSOR_SIZE_WIDTH(mdp4_crtc->cursor.width) |
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
376
MDP4_DMA_CURSOR_SIZE_HEIGHT(mdp4_crtc->cursor.height));
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
389
drm_flip_work_queue(&mdp4_crtc->unref_cursor_work, prev_bo);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
391
mdp4_crtc->cursor.scanout_bo = next_bo;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
392
mdp4_crtc->cursor.stale = false;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
396
MDP4_DMA_CURSOR_POS_X(mdp4_crtc->cursor.x) |
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
397
MDP4_DMA_CURSOR_POS_Y(mdp4_crtc->cursor.y));
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
399
spin_unlock_irqrestore(&mdp4_crtc->cursor.lock, flags);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
406
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
436
spin_lock_irqsave(&mdp4_crtc->cursor.lock, flags);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
437
old_bo = mdp4_crtc->cursor.next_bo;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
438
mdp4_crtc->cursor.next_bo = cursor_bo;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
439
mdp4_crtc->cursor.next_iova = iova;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
440
mdp4_crtc->cursor.width = width;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
441
mdp4_crtc->cursor.height = height;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
442
mdp4_crtc->cursor.stale = true;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
443
spin_unlock_irqrestore(&mdp4_crtc->cursor.lock, flags);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
447
drm_flip_work_queue(&mdp4_crtc->unref_cursor_work, old_bo);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
461
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
464
spin_lock_irqsave(&mdp4_crtc->cursor.lock, flags);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
465
mdp4_crtc->cursor.x = x;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
466
mdp4_crtc->cursor.y = y;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
467
spin_unlock_irqrestore(&mdp4_crtc->cursor.lock, flags);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
498
struct mdp4_crtc *mdp4_crtc = container_of(irq, struct mdp4_crtc, vblank);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
499
struct drm_crtc *crtc = &mdp4_crtc->base;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
503
mdp_irq_unregister(&get_kms(crtc)->base, &mdp4_crtc->vblank);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
505
pending = atomic_xchg(&mdp4_crtc->pending, 0);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
513
drm_flip_work_commit(&mdp4_crtc->unref_cursor_work, priv->kms->wq);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
519
struct mdp4_crtc *mdp4_crtc = container_of(irq, struct mdp4_crtc, err);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
520
struct drm_crtc *crtc = &mdp4_crtc->base;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
521
DBG("%s: error: %08x", mdp4_crtc->name, irqstatus);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
528
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
539
mdp4_crtc->flushed_mask),
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
542
dev_warn(dev->dev, "vblank time out, crtc=%s\n", mdp4_crtc->base.name);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
544
mdp4_crtc->flushed_mask = 0;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
551
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
552
return mdp4_crtc->vblank.irqmask;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
558
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
561
mdp4_write(mdp4_kms, REG_MDP4_DMA_CONFIG(mdp4_crtc->dma), config);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
567
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
573
switch (mdp4_crtc->dma) {
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
596
mdp4_crtc->mixer = mixer;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
60
#define to_mdp4_crtc(x) container_of(x, struct mdp4_crtc, base)
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
600
DBG("%s: intf_sel=%08x", mdp4_crtc->name, intf_sel);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
620
struct mdp4_crtc *mdp4_crtc = ptr;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
622
drm_flip_work_cleanup(&mdp4_crtc->unref_cursor_work);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
631
struct mdp4_crtc *mdp4_crtc;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
634
mdp4_crtc = drmm_crtc_alloc_with_planes(dev, struct mdp4_crtc, base,
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
637
if (IS_ERR(mdp4_crtc))
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
638
return ERR_CAST(mdp4_crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
640
crtc = &mdp4_crtc->base;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
642
mdp4_crtc->ovlp = ovlp_id;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
643
mdp4_crtc->dma = dma_id;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
645
mdp4_crtc->vblank.irqmask = dma2irq(mdp4_crtc->dma);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
646
mdp4_crtc->vblank.irq = mdp4_crtc_vblank_irq;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
648
mdp4_crtc->err.irqmask = dma2err(mdp4_crtc->dma);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
649
mdp4_crtc->err.irq = mdp4_crtc_err_irq;
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
651
snprintf(mdp4_crtc->name, sizeof(mdp4_crtc->name), "%s:%d",
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
654
spin_lock_init(&mdp4_crtc->cursor.lock);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
656
drm_flip_work_init(&mdp4_crtc->unref_cursor_work,
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
658
ret = drmm_add_action_or_reset(dev, mdp4_crtc_flip_cleanup, mdp4_crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
70
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
72
atomic_or(pending, &mdp4_crtc->pending);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
73
mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
78
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
88
flush |= ovlp2flush(mdp4_crtc->ovlp);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
90
DBG("%s: flush=%08x", mdp4_crtc->name, flush);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
92
mdp4_crtc->flushed_mask = flush;