Skip to content

Commit

Permalink
drm/exynos: fixed overlay updating time at page flip.
Browse files Browse the repository at this point in the history
buffer addess is set to shadow register and then applied to
real register at vsync front porch time.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
Inki Dae authored and Dave Airlie committed Oct 18, 2011
1 parent 19c8b83 commit 8e9cc6a
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 4 deletions.
4 changes: 3 additions & 1 deletion drivers/gpu/drm/exynos/exynos_drm_crtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ struct exynos_drm_crtc {
unsigned int pipe;
};

void exynos_drm_crtc_apply(struct drm_crtc *crtc)
static void exynos_drm_crtc_apply(struct drm_crtc *crtc)
{
struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
struct exynos_drm_overlay *overlay = &exynos_crtc->overlay;
Expand Down Expand Up @@ -279,6 +279,8 @@ static int exynos_drm_crtc_page_flip(struct drm_crtc *crtc,
goto out;
}

exynos_drm_crtc_apply(crtc);

dev_priv->pageflip_event = true;
}
out:
Expand Down
1 change: 0 additions & 1 deletion drivers/gpu/drm/exynos/exynos_drm_crtc.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@

struct exynos_drm_overlay *get_exynos_drm_overlay(struct drm_device *dev,
struct drm_crtc *crtc);
void exynos_drm_crtc_apply(struct drm_crtc *crtc);
int exynos_drm_crtc_create(struct drm_device *dev, unsigned int nr);
int exynos_drm_crtc_enable_vblank(struct drm_device *dev, int crtc);
void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int crtc);
Expand Down
2 changes: 0 additions & 2 deletions drivers/gpu/drm/exynos/exynos_drm_fimd.c
Original file line number Diff line number Diff line change
Expand Up @@ -500,8 +500,6 @@ static void fimd_finish_pageflip(struct drm_device *drm_dev, int crtc)

spin_lock_irqsave(&drm_dev->event_lock, flags);

exynos_drm_crtc_apply(dev_priv->crtc[crtc]);

list_for_each_entry_safe(e, t, &dev_priv->pageflip_event_list,
base.link) {
do_gettimeofday(&now);
Expand Down

0 comments on commit 8e9cc6a

Please sign in to comment.