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]);