Symbol: ipu_crtc
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
150
struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
152
enable_irq(ipu_crtc->irq);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
159
struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
161
disable_irq_nosync(ipu_crtc->irq);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
176
struct ipu_crtc *ipu_crtc = dev_id;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
177
struct drm_crtc *crtc = &ipu_crtc->base;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
183
if (ipu_crtc->event) {
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
184
for (i = 0; i < ARRAY_SIZE(ipu_crtc->plane); i++) {
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
185
struct ipu_plane *plane = ipu_crtc->plane[i];
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
194
if (i == ARRAY_SIZE(ipu_crtc->plane)) {
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
196
drm_crtc_send_vblank_event(crtc, ipu_crtc->event);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
197
ipu_crtc->event = NULL;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
210
struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
216
ret = ipu_di_adjust_videomode(ipu_crtc->di, &vm);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
252
struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
255
ipu_crtc->event = crtc->state->event;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
265
struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
271
dev_dbg(ipu_crtc->dev, "%s: mode->hdisplay: %d\n", __func__,
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
273
dev_dbg(ipu_crtc->dev, "%s: mode->vdisplay: %d\n", __func__,
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
281
dev_dbg(ipu_crtc->dev, "%s: attached to encoder types 0x%lx\n",
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
310
dev_warn(ipu_crtc->dev, "8-pixel align hactive %d -> %d\n",
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
317
ipu_dc_init_sync(ipu_crtc->dc, ipu_crtc->di,
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
320
ipu_di_init_sync_panel(ipu_crtc->di, &sig_cfg);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
335
struct ipu_crtc *ipu_crtc = ptr;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
337
if (!IS_ERR_OR_NULL(ipu_crtc->dc))
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
338
ipu_dc_put(ipu_crtc->dc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
339
if (!IS_ERR_OR_NULL(ipu_crtc->di))
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
340
ipu_di_put(ipu_crtc->di);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
343
static int ipu_get_resources(struct drm_device *dev, struct ipu_crtc *ipu_crtc,
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
346
struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
349
ipu_crtc->dc = ipu_dc_get(ipu, pdata->dc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
350
if (IS_ERR(ipu_crtc->dc))
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
351
return PTR_ERR(ipu_crtc->dc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
353
ret = drmm_add_action_or_reset(dev, ipu_put_resources, ipu_crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
357
ipu_crtc->di = ipu_di_get(ipu, pdata->di);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
358
if (IS_ERR(ipu_crtc->di))
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
359
return PTR_ERR(ipu_crtc->di);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
370
struct ipu_crtc *ipu_crtc;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
382
ipu_crtc = drmm_crtc_alloc_with_planes(drm, struct ipu_crtc, base,
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
385
if (IS_ERR(ipu_crtc))
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
386
return PTR_ERR(ipu_crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
388
ipu_crtc->dev = dev;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
389
ipu_crtc->plane[0] = primary_plane;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
391
crtc = &ipu_crtc->base;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
395
ret = ipu_get_resources(drm, ipu_crtc, pdata);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
397
dev_err(ipu_crtc->dev, "getting resources failed with %d.\n",
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
404
ipu_crtc->plane[1] = ipu_plane_init(drm, ipu, pdata->dma[1],
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
406
drm_crtc_mask(&ipu_crtc->base),
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
408
if (IS_ERR(ipu_crtc->plane[1]))
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
409
ipu_crtc->plane[1] = NULL;
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
412
ipu_crtc->irq = ipu_plane_irq(ipu_crtc->plane[0]);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
413
ret = devm_request_irq(ipu_crtc->dev, ipu_crtc->irq, ipu_irq_handler,
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
414
IRQF_NO_AUTOEN, "imx_drm", ipu_crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
416
dev_err(ipu_crtc->dev, "irq request failed with %d.\n", ret);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
44
static inline struct ipu_crtc *to_ipu_crtc(struct drm_crtc *crtc)
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
46
return container_of(crtc, struct ipu_crtc, base);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
52
struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
53
struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
57
ipu_dc_enable_channel(ipu_crtc->dc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
58
ipu_di_enable(ipu_crtc->di);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
61
static void ipu_crtc_disable_planes(struct ipu_crtc *ipu_crtc,
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
69
if (plane == &ipu_crtc->plane[0]->base)
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
71
if (ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base)
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
76
ipu_plane_disable(ipu_crtc->plane[1], true);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
78
ipu_plane_disable(ipu_crtc->plane[0], true);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
86
struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
87
struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
89
ipu_dc_disable_channel(ipu_crtc->dc);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
90
ipu_di_disable(ipu_crtc->di);
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
96
ipu_crtc_disable_planes(ipu_crtc, old_crtc_state);