mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
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: Prathyush K <prathyush.k@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
8137a2e21a
commit
0703397039
@ -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 = {
|
||||
.dpms = fimd_dpms,
|
||||
.apply = fimd_apply,
|
||||
.commit = fimd_commit,
|
||||
.enable_vblank = fimd_enable_vblank,
|
||||
.disable_vblank = fimd_disable_vblank,
|
||||
.wait_for_vblank = fimd_wait_for_vblank,
|
||||
};
|
||||
|
||||
static void fimd_win_mode_set(struct device *dev,
|
||||
@ -593,22 +605,10 @@ static void fimd_win_disable(struct device *dev, int zpos)
|
||||
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 = {
|
||||
.mode_set = fimd_win_mode_set,
|
||||
.commit = fimd_win_commit,
|
||||
.disable = fimd_win_disable,
|
||||
.wait_for_vblank = fimd_wait_for_vblank,
|
||||
};
|
||||
|
||||
static struct exynos_drm_manager fimd_manager = {
|
||||
|
Loading…
Reference in New Issue
Block a user