mirror of https://gitee.com/openkylin/linux.git
drm/tegra: Stop cancelling page flip events
The core takes care of that now. v2: Fixup misplaced hunk. Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Terje Bergström <tbergstrom@nvidia.com> Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1453756616-28942-12-git-send-email-daniel.vetter@ffwll.ch
This commit is contained in:
parent
e37fb79db7
commit
0417d424ac
|
@ -988,23 +988,6 @@ static void tegra_dc_finish_page_flip(struct tegra_dc *dc)
|
||||||
spin_unlock_irqrestore(&drm->event_lock, flags);
|
spin_unlock_irqrestore(&drm->event_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tegra_dc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file)
|
|
||||||
{
|
|
||||||
struct tegra_dc *dc = to_tegra_dc(crtc);
|
|
||||||
struct drm_device *drm = crtc->dev;
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&drm->event_lock, flags);
|
|
||||||
|
|
||||||
if (dc->event && dc->event->base.file_priv == file) {
|
|
||||||
dc->event->base.destroy(&dc->event->base);
|
|
||||||
drm_crtc_vblank_put(crtc);
|
|
||||||
dc->event = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
spin_unlock_irqrestore(&drm->event_lock, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void tegra_dc_destroy(struct drm_crtc *crtc)
|
static void tegra_dc_destroy(struct drm_crtc *crtc)
|
||||||
{
|
{
|
||||||
drm_crtc_cleanup(crtc);
|
drm_crtc_cleanup(crtc);
|
||||||
|
|
|
@ -860,9 +860,6 @@ static void tegra_drm_preclose(struct drm_device *drm, struct drm_file *file)
|
||||||
struct tegra_drm_context *context, *tmp;
|
struct tegra_drm_context *context, *tmp;
|
||||||
struct drm_crtc *crtc;
|
struct drm_crtc *crtc;
|
||||||
|
|
||||||
list_for_each_entry(crtc, &drm->mode_config.crtc_list, head)
|
|
||||||
tegra_dc_cancel_page_flip(crtc, file);
|
|
||||||
|
|
||||||
list_for_each_entry_safe(context, tmp, &fpriv->contexts, list)
|
list_for_each_entry_safe(context, tmp, &fpriv->contexts, list)
|
||||||
tegra_drm_context_free(context);
|
tegra_drm_context_free(context);
|
||||||
|
|
||||||
|
|
|
@ -195,7 +195,6 @@ struct tegra_dc_window {
|
||||||
u32 tegra_dc_get_vblank_counter(struct tegra_dc *dc);
|
u32 tegra_dc_get_vblank_counter(struct tegra_dc *dc);
|
||||||
void tegra_dc_enable_vblank(struct tegra_dc *dc);
|
void tegra_dc_enable_vblank(struct tegra_dc *dc);
|
||||||
void tegra_dc_disable_vblank(struct tegra_dc *dc);
|
void tegra_dc_disable_vblank(struct tegra_dc *dc);
|
||||||
void tegra_dc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
|
|
||||||
void tegra_dc_commit(struct tegra_dc *dc);
|
void tegra_dc_commit(struct tegra_dc *dc);
|
||||||
int tegra_dc_state_setup_clock(struct tegra_dc *dc,
|
int tegra_dc_state_setup_clock(struct tegra_dc *dc,
|
||||||
struct drm_crtc_state *crtc_state,
|
struct drm_crtc_state *crtc_state,
|
||||||
|
|
Loading…
Reference in New Issue