提交 b46355f0 编写于 作者: S Shawn Guo 提交者: Greg Kroah-Hartman

imx-drm: ipuv3-plane: remove function ipu_plane_dpms()

All those ipu_*_put() calls in ipu_plane_dpms() are unnecessary,
because the only occurrence of ipu_plane_dpms() with 'mode' not being
DRM_MODE_DPMS_ON is in function ipu_disable_plane(), which already
has a ipu_plane_put_resources() call to put those ipu resources right
after ipu_plane_dpms().

So with those redundant ipu_*_put() calls removed from ipu_plane_dpms(),
the only left code in the function is ipu_plane_enable|disable().  Thus,
we can just call ipu_plane_enable|disable() as needed directly and
remove the ipu_plane_dpms() function completely.
Suggested-by: NPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 13e55e49
......@@ -259,29 +259,6 @@ void ipu_plane_disable(struct ipu_plane *ipu_plane)
ipu_dp_disable(ipu_plane->ipu);
}
static void ipu_plane_dpms(struct ipu_plane *ipu_plane, int mode)
{
bool enable;
DRM_DEBUG_KMS("mode = %d", mode);
enable = (mode == DRM_MODE_DPMS_ON);
if (enable == ipu_plane->enabled)
return;
if (enable) {
ipu_plane_enable(ipu_plane);
} else {
ipu_plane_disable(ipu_plane);
ipu_idmac_put(ipu_plane->ipu_ch);
ipu_dmfc_put(ipu_plane->dmfc);
if (ipu_plane->dp)
ipu_dp_put(ipu_plane->dp);
}
}
/*
* drm_plane API
*/
......@@ -315,7 +292,8 @@ static int ipu_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
plane->crtc, crtc);
plane->crtc = crtc;
ipu_plane_dpms(ipu_plane, DRM_MODE_DPMS_ON);
if (!ipu_plane->enabled)
ipu_plane_enable(ipu_plane);
return 0;
}
......@@ -326,7 +304,8 @@ static int ipu_disable_plane(struct drm_plane *plane)
DRM_DEBUG_KMS("[%d] %s\n", __LINE__, __func__);
ipu_plane_dpms(ipu_plane, DRM_MODE_DPMS_OFF);
if (ipu_plane->enabled)
ipu_plane_disable(ipu_plane);
ipu_plane_put_resources(ipu_plane);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册