diff options
author | Rahul Sharma <rahul.sharma@samsung.com> | 2014-06-23 01:32:23 -0400 |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2014-06-24 10:44:30 -0400 |
commit | 5c0f4829e187f4d43f5ea5cd72cec343ddcdf594 (patch) | |
tree | 6b1e0d30019dce39cb15240e8e424a3885785434 /drivers/gpu | |
parent | 381be025ac1a6dc8efebdf146ced0d4a6007f77b (diff) |
drm/exynos: allow multiple layer updates per vsync for mixer
Allowing only one layer update per vsync can cause issues
while there are update available for both layers. There is
a good amount of possibility to loose updates if we allow
single update per vsync.
Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_mixer.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c index d35950121fc4..6773b03fd921 100644 --- a/drivers/gpu/drm/exynos/exynos_mixer.c +++ b/drivers/gpu/drm/exynos/exynos_mixer.c | |||
@@ -511,13 +511,8 @@ static void vp_video_buffer(struct mixer_context *ctx, int win) | |||
511 | static void mixer_layer_update(struct mixer_context *ctx) | 511 | static void mixer_layer_update(struct mixer_context *ctx) |
512 | { | 512 | { |
513 | struct mixer_resources *res = &ctx->mixer_res; | 513 | struct mixer_resources *res = &ctx->mixer_res; |
514 | u32 val; | ||
515 | |||
516 | val = mixer_reg_read(res, MXR_CFG); | ||
517 | 514 | ||
518 | /* allow one update per vsync only */ | 515 | mixer_reg_writemask(res, MXR_CFG, ~0, MXR_CFG_LAYER_UPDATE); |
519 | if (!(val & MXR_CFG_LAYER_UPDATE_COUNT_MASK)) | ||
520 | mixer_reg_writemask(res, MXR_CFG, ~0, MXR_CFG_LAYER_UPDATE); | ||
521 | } | 516 | } |
522 | 517 | ||
523 | static void mixer_graph_buffer(struct mixer_context *ctx, int win) | 518 | static void mixer_graph_buffer(struct mixer_context *ctx, int win) |