[Intel-gfx] [PATCH 1/5] drm/shmob: Nuke preclose hook
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sun Jan 10 16:00:36 PST 2016
Hi Daniel,
Thank you for the patch.
On Sunday 10 January 2016 23:26:06 Daniel Vetter wrote:
> Again since the drm core takes care of event unlinking/disarming this
> is now just needless code.
>
> v2: Fixup misplaced hunk.
>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
This looks good to me assuming that the mechanism works in the core, which
looks like magic to me at the moment :-) After closing the "[PATCH] drm: Clean
up pending events in the core" discussion (and assuming the conclusion is that
is works),
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 20 --------------------
> drivers/gpu/drm/shmobile/shmob_drm_crtc.h | 2 --
> drivers/gpu/drm/shmobile/shmob_drm_drv.c | 8 --------
> 3 files changed, 30 deletions(-)
>
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
> b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c index
> b80802f55143..de7959a60774 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
> @@ -438,26 +438,6 @@ static const struct drm_crtc_helper_funcs
> crtc_helper_funcs = { .mode_set_base = shmob_drm_crtc_mode_set_base,
> };
>
> -void shmob_drm_crtc_cancel_page_flip(struct shmob_drm_crtc *scrtc,
> - struct drm_file *file)
> -{
> - struct drm_pending_vblank_event *event;
> - struct drm_device *dev = scrtc->crtc.dev;
> - unsigned long flags;
> -
> - /* Destroy the pending vertical blanking event associated with the
> - * pending page flip, if any, and disable vertical blanking interrupts.
> - */
> - spin_lock_irqsave(&dev->event_lock, flags);
> - event = scrtc->event;
> - if (event && event->base.file_priv == file) {
> - scrtc->event = NULL;
> - event->base.destroy(&event->base);
> - drm_vblank_put(dev, 0);
> - }
> - spin_unlock_irqrestore(&dev->event_lock, flags);
> -}
> -
> void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc)
> {
> struct drm_pending_vblank_event *event;
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h
> b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h index
> eddad6dcc88a..38ed4ff8aaf2 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h
> @@ -47,8 +47,6 @@ struct shmob_drm_connector {
>
> int shmob_drm_crtc_create(struct shmob_drm_device *sdev);
> void shmob_drm_crtc_enable_vblank(struct shmob_drm_device *sdev, bool
> enable); -void shmob_drm_crtc_cancel_page_flip(struct shmob_drm_crtc
> *scrtc, - struct drm_file *file);
> void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc);
> void shmob_drm_crtc_suspend(struct shmob_drm_crtc *scrtc);
> void shmob_drm_crtc_resume(struct shmob_drm_crtc *scrtc);
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> b/drivers/gpu/drm/shmobile/shmob_drm_drv.c index 04e66e3751b4..7700ff172079
> 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -200,13 +200,6 @@ done:
> return ret;
> }
>
> -static void shmob_drm_preclose(struct drm_device *dev, struct drm_file
> *file) -{
> - struct shmob_drm_device *sdev = dev->dev_private;
> -
> - shmob_drm_crtc_cancel_page_flip(&sdev->crtc, file);
> -}
> -
> static irqreturn_t shmob_drm_irq(int irq, void *arg)
> {
> struct drm_device *dev = arg;
> @@ -266,7 +259,6 @@ static struct drm_driver shmob_drm_driver = {
>
> | DRIVER_PRIME,
>
> .load = shmob_drm_load,
> .unload = shmob_drm_unload,
> - .preclose = shmob_drm_preclose,
> .set_busid = drm_platform_set_busid,
> .irq_handler = shmob_drm_irq,
> .get_vblank_counter = drm_vblank_no_hw_counter,
--
Regards,
Laurent Pinchart
More information about the Intel-gfx
mailing list