ipu_crtc 44 drivers/gpu/drm/imx/ipuv3-crtc.c static inline struct ipu_crtc *to_ipu_crtc(struct drm_crtc *crtc) ipu_crtc 46 drivers/gpu/drm/imx/ipuv3-crtc.c return container_of(crtc, struct ipu_crtc, base); ipu_crtc 52 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc 53 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); ipu_crtc 57 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_dc_enable_channel(ipu_crtc->dc); ipu_crtc 58 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_di_enable(ipu_crtc->di); ipu_crtc 61 drivers/gpu/drm/imx/ipuv3-crtc.c static void ipu_crtc_disable_planes(struct ipu_crtc *ipu_crtc, ipu_crtc 69 drivers/gpu/drm/imx/ipuv3-crtc.c if (plane == &ipu_crtc->plane[0]->base) ipu_crtc 71 drivers/gpu/drm/imx/ipuv3-crtc.c if (&ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base) ipu_crtc 76 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_plane_disable(ipu_crtc->plane[1], true); ipu_crtc 78 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_plane_disable(ipu_crtc->plane[0], true); ipu_crtc 84 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc 85 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); ipu_crtc 87 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_dc_disable_channel(ipu_crtc->dc); ipu_crtc 88 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_di_disable(ipu_crtc->di); ipu_crtc 94 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc_disable_planes(ipu_crtc, old_crtc_state); ipu_crtc 153 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc 155 drivers/gpu/drm/imx/ipuv3-crtc.c enable_irq(ipu_crtc->irq); ipu_crtc 162 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc 164 drivers/gpu/drm/imx/ipuv3-crtc.c disable_irq_nosync(ipu_crtc->irq); ipu_crtc 180 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = dev_id; ipu_crtc 181 drivers/gpu/drm/imx/ipuv3-crtc.c struct drm_crtc *crtc = &ipu_crtc->base; ipu_crtc 187 drivers/gpu/drm/imx/ipuv3-crtc.c if (ipu_crtc->event) { ipu_crtc 188 drivers/gpu/drm/imx/ipuv3-crtc.c for (i = 0; i < ARRAY_SIZE(ipu_crtc->plane); i++) { ipu_crtc 189 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_plane *plane = ipu_crtc->plane[i]; ipu_crtc 198 drivers/gpu/drm/imx/ipuv3-crtc.c if (i == ARRAY_SIZE(ipu_crtc->plane)) { ipu_crtc 200 drivers/gpu/drm/imx/ipuv3-crtc.c drm_crtc_send_vblank_event(crtc, ipu_crtc->event); ipu_crtc 201 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->event = NULL; ipu_crtc 214 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc 220 drivers/gpu/drm/imx/ipuv3-crtc.c ret = ipu_di_adjust_videomode(ipu_crtc->di, &vm); ipu_crtc 254 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc 257 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->event = crtc->state->event; ipu_crtc 267 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc); ipu_crtc 273 drivers/gpu/drm/imx/ipuv3-crtc.c dev_dbg(ipu_crtc->dev, "%s: mode->hdisplay: %d\n", __func__, ipu_crtc 275 drivers/gpu/drm/imx/ipuv3-crtc.c dev_dbg(ipu_crtc->dev, "%s: mode->vdisplay: %d\n", __func__, ipu_crtc 283 drivers/gpu/drm/imx/ipuv3-crtc.c dev_dbg(ipu_crtc->dev, "%s: attached to encoder types 0x%lx\n", ipu_crtc 310 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_dc_init_sync(ipu_crtc->dc, ipu_crtc->di, ipu_crtc 313 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_di_init_sync_panel(ipu_crtc->di, &sig_cfg); ipu_crtc 326 drivers/gpu/drm/imx/ipuv3-crtc.c static void ipu_put_resources(struct ipu_crtc *ipu_crtc) ipu_crtc 328 drivers/gpu/drm/imx/ipuv3-crtc.c if (!IS_ERR_OR_NULL(ipu_crtc->dc)) ipu_crtc 329 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_dc_put(ipu_crtc->dc); ipu_crtc 330 drivers/gpu/drm/imx/ipuv3-crtc.c if (!IS_ERR_OR_NULL(ipu_crtc->di)) ipu_crtc 331 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_di_put(ipu_crtc->di); ipu_crtc 334 drivers/gpu/drm/imx/ipuv3-crtc.c static int ipu_get_resources(struct ipu_crtc *ipu_crtc, ipu_crtc 337 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); ipu_crtc 340 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->dc = ipu_dc_get(ipu, pdata->dc); ipu_crtc 341 drivers/gpu/drm/imx/ipuv3-crtc.c if (IS_ERR(ipu_crtc->dc)) { ipu_crtc 342 drivers/gpu/drm/imx/ipuv3-crtc.c ret = PTR_ERR(ipu_crtc->dc); ipu_crtc 346 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->di = ipu_di_get(ipu, pdata->di); ipu_crtc 347 drivers/gpu/drm/imx/ipuv3-crtc.c if (IS_ERR(ipu_crtc->di)) { ipu_crtc 348 drivers/gpu/drm/imx/ipuv3-crtc.c ret = PTR_ERR(ipu_crtc->di); ipu_crtc 354 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_put_resources(ipu_crtc); ipu_crtc 359 drivers/gpu/drm/imx/ipuv3-crtc.c static int ipu_crtc_init(struct ipu_crtc *ipu_crtc, ipu_crtc 362 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); ipu_crtc 363 drivers/gpu/drm/imx/ipuv3-crtc.c struct drm_crtc *crtc = &ipu_crtc->base; ipu_crtc 367 drivers/gpu/drm/imx/ipuv3-crtc.c ret = ipu_get_resources(ipu_crtc, pdata); ipu_crtc 369 drivers/gpu/drm/imx/ipuv3-crtc.c dev_err(ipu_crtc->dev, "getting resources failed with %d.\n", ipu_crtc 376 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->plane[0] = ipu_plane_init(drm, ipu, pdata->dma[0], dp, 0, ipu_crtc 378 drivers/gpu/drm/imx/ipuv3-crtc.c if (IS_ERR(ipu_crtc->plane[0])) { ipu_crtc 379 drivers/gpu/drm/imx/ipuv3-crtc.c ret = PTR_ERR(ipu_crtc->plane[0]); ipu_crtc 385 drivers/gpu/drm/imx/ipuv3-crtc.c drm_crtc_init_with_planes(drm, crtc, &ipu_crtc->plane[0]->base, NULL, ipu_crtc 388 drivers/gpu/drm/imx/ipuv3-crtc.c ret = ipu_plane_get_resources(ipu_crtc->plane[0]); ipu_crtc 390 drivers/gpu/drm/imx/ipuv3-crtc.c dev_err(ipu_crtc->dev, "getting plane 0 resources failed with %d.\n", ipu_crtc 397 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->plane[1] = ipu_plane_init(drm, ipu, pdata->dma[1], ipu_crtc 399 drivers/gpu/drm/imx/ipuv3-crtc.c drm_crtc_mask(&ipu_crtc->base), ipu_crtc 401 drivers/gpu/drm/imx/ipuv3-crtc.c if (IS_ERR(ipu_crtc->plane[1])) { ipu_crtc 402 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->plane[1] = NULL; ipu_crtc 404 drivers/gpu/drm/imx/ipuv3-crtc.c ret = ipu_plane_get_resources(ipu_crtc->plane[1]); ipu_crtc 406 drivers/gpu/drm/imx/ipuv3-crtc.c dev_err(ipu_crtc->dev, "getting plane 1 " ipu_crtc 413 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->irq = ipu_plane_irq(ipu_crtc->plane[0]); ipu_crtc 414 drivers/gpu/drm/imx/ipuv3-crtc.c ret = devm_request_irq(ipu_crtc->dev, ipu_crtc->irq, ipu_irq_handler, 0, ipu_crtc 415 drivers/gpu/drm/imx/ipuv3-crtc.c "imx_drm", ipu_crtc); ipu_crtc 417 drivers/gpu/drm/imx/ipuv3-crtc.c dev_err(ipu_crtc->dev, "irq request failed with %d.\n", ret); ipu_crtc 421 drivers/gpu/drm/imx/ipuv3-crtc.c disable_irq(ipu_crtc->irq); ipu_crtc 426 drivers/gpu/drm/imx/ipuv3-crtc.c if (ipu_crtc->plane[1]) ipu_crtc 427 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_plane_put_resources(ipu_crtc->plane[1]); ipu_crtc 429 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_plane_put_resources(ipu_crtc->plane[0]); ipu_crtc 431 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_put_resources(ipu_crtc); ipu_crtc 440 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc; ipu_crtc 443 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc = devm_kzalloc(dev, sizeof(*ipu_crtc), GFP_KERNEL); ipu_crtc 444 drivers/gpu/drm/imx/ipuv3-crtc.c if (!ipu_crtc) ipu_crtc 447 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_crtc->dev = dev; ipu_crtc 449 drivers/gpu/drm/imx/ipuv3-crtc.c ret = ipu_crtc_init(ipu_crtc, pdata, drm); ipu_crtc 453 drivers/gpu/drm/imx/ipuv3-crtc.c dev_set_drvdata(dev, ipu_crtc); ipu_crtc 461 drivers/gpu/drm/imx/ipuv3-crtc.c struct ipu_crtc *ipu_crtc = dev_get_drvdata(dev); ipu_crtc 463 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_put_resources(ipu_crtc); ipu_crtc 464 drivers/gpu/drm/imx/ipuv3-crtc.c if (ipu_crtc->plane[1]) ipu_crtc 465 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_plane_put_resources(ipu_crtc->plane[1]); ipu_crtc 466 drivers/gpu/drm/imx/ipuv3-crtc.c ipu_plane_put_resources(ipu_crtc->plane[0]);