提交 07033970 编写于 作者: P Prathyush K 提交者: Inki Dae

drm/exynos: move fimd wait_for_vblank to manager_ops

The wait for vblank callback is moved from overlay_ops to
manager_ops for fimd.
Signed-off-by: NPrathyush K <prathyush.k@samsung.com>
Signed-off-by: NInki Dae <inki.dae@samsung.com>
上级 8137a2e2
...@@ -308,12 +308,24 @@ static void fimd_disable_vblank(struct device *dev) ...@@ -308,12 +308,24 @@ static void fimd_disable_vblank(struct device *dev)
} }
} }
static void fimd_wait_for_vblank(struct device *dev)
{
struct fimd_context *ctx = get_fimd_context(dev);
int ret;
ret = wait_for((__raw_readl(ctx->regs + VIDCON1) &
VIDCON1_VSTATUS_VSYNC), 50);
if (ret < 0)
DRM_DEBUG_KMS("vblank wait timed out.\n");
}
static struct exynos_drm_manager_ops fimd_manager_ops = { static struct exynos_drm_manager_ops fimd_manager_ops = {
.dpms = fimd_dpms, .dpms = fimd_dpms,
.apply = fimd_apply, .apply = fimd_apply,
.commit = fimd_commit, .commit = fimd_commit,
.enable_vblank = fimd_enable_vblank, .enable_vblank = fimd_enable_vblank,
.disable_vblank = fimd_disable_vblank, .disable_vblank = fimd_disable_vblank,
.wait_for_vblank = fimd_wait_for_vblank,
}; };
static void fimd_win_mode_set(struct device *dev, static void fimd_win_mode_set(struct device *dev,
...@@ -593,22 +605,10 @@ static void fimd_win_disable(struct device *dev, int zpos) ...@@ -593,22 +605,10 @@ static void fimd_win_disable(struct device *dev, int zpos)
win_data->enabled = false; win_data->enabled = false;
} }
static void fimd_wait_for_vblank(struct device *dev)
{
struct fimd_context *ctx = get_fimd_context(dev);
int ret;
ret = wait_for((__raw_readl(ctx->regs + VIDCON1) &
VIDCON1_VSTATUS_VSYNC), 50);
if (ret < 0)
DRM_DEBUG_KMS("vblank wait timed out.\n");
}
static struct exynos_drm_overlay_ops fimd_overlay_ops = { static struct exynos_drm_overlay_ops fimd_overlay_ops = {
.mode_set = fimd_win_mode_set, .mode_set = fimd_win_mode_set,
.commit = fimd_win_commit, .commit = fimd_win_commit,
.disable = fimd_win_disable, .disable = fimd_win_disable,
.wait_for_vblank = fimd_wait_for_vblank,
}; };
static struct exynos_drm_manager fimd_manager = { static struct exynos_drm_manager fimd_manager = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册