[Intel-gfx] [PATCH] drm/omap: Nuke close hooks
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jan 13 15:07:43 PST 2016
Hi Daniel,
Thank you for the patch.
On Wednesday 13 January 2016 12:05:14 Daniel Vetter wrote:
> Again since the core takes care of this we can remove them. While at
> it also remove the postclose hook, it's empty.
>
> v2: Laurent pointed me at even more code to delete.
>
> v3: Remove unused flags (Tomi).
>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Cc: Tomi Valkeinen <tomi.valkeinen at ti.com>
> Acked-by: Daniel Stone <daniels at collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/omap_crtc.c | 13 +-----------
> drivers/gpu/drm/omapdrm/omap_drv.c | 42 ----------------------------------
> drivers/gpu/drm/omapdrm/omap_drv.h | 1 -
> 3 files changed, 1 insertion(+), 55 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c
> b/drivers/gpu/drm/omapdrm/omap_crtc.c index 2ed0754ed19e..d38fcbcc43a8
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_crtc.c
> +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
> @@ -269,18 +269,7 @@ static void omap_crtc_complete_page_flip(struct
> drm_crtc *crtc) return;
>
> spin_lock_irqsave(&dev->event_lock, flags);
> -
> - list_del(&event->base.link);
> -
> - /*
> - * Queue the event for delivery if it's still linked to a file
> - * handle, otherwise just destroy it.
> - */
> - if (event->base.file_priv)
> - drm_crtc_send_vblank_event(crtc, event);
> - else
> - event->base.destroy(&event->base);
> -
> + drm_crtc_send_vblank_event(crtc, event);
> spin_unlock_irqrestore(&dev->event_lock, flags);
> }
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
> b/drivers/gpu/drm/omapdrm/omap_drv.c index dfafdb602ad2..33370f42e4d7
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -142,7 +142,6 @@ static int omap_atomic_commit(struct drm_device *dev,
> {
> struct omap_drm_private *priv = dev->dev_private;
> struct omap_atomic_state_commit *commit;
> - unsigned long flags;
> unsigned int i;
> int ret;
>
> @@ -175,17 +174,6 @@ static int omap_atomic_commit(struct drm_device *dev,
> priv->commit.pending |= commit->crtcs;
> spin_unlock(&priv->commit.lock);
>
> - /* Keep track of all CRTC events to unlink them in preclose(). */
> - spin_lock_irqsave(&dev->event_lock, flags);
> - for (i = 0; i < dev->mode_config.num_crtc; ++i) {
> - struct drm_crtc_state *cstate = state->crtc_states[i];
> -
> - if (cstate && cstate->event)
> - list_add_tail(&cstate->event->base.link,
> - &priv->commit.events);
> - }
> - spin_unlock_irqrestore(&dev->event_lock, flags);
> -
> /* Swap the state, this is the point of no return. */
> drm_atomic_helper_swap_state(dev, state);
>
> @@ -673,7 +661,6 @@ static int dev_load(struct drm_device *dev, unsigned
> long flags) priv->wq = alloc_ordered_workqueue("omapdrm", 0);
> init_waitqueue_head(&priv->commit.wait);
> spin_lock_init(&priv->commit.lock);
> - INIT_LIST_HEAD(&priv->commit.events);
>
> spin_lock_init(&priv->list_lock);
> INIT_LIST_HEAD(&priv->obj_list);
> @@ -787,33 +774,6 @@ static void dev_lastclose(struct drm_device *dev)
> }
> }
>
> -static void dev_preclose(struct drm_device *dev, struct drm_file *file)
> -{
> - struct omap_drm_private *priv = dev->dev_private;
> - struct drm_pending_event *event;
> - unsigned long flags;
> -
> - DBG("preclose: dev=%p", dev);
> -
> - /*
> - * Unlink all pending CRTC events to make sure they won't be queued up
> - * by a pending asynchronous commit.
> - */
> - spin_lock_irqsave(&dev->event_lock, flags);
> - list_for_each_entry(event, &priv->commit.events, link) {
> - if (event->file_priv == file) {
> - file->event_space += event->event->length;
> - event->file_priv = NULL;
> - }
> - }
> - spin_unlock_irqrestore(&dev->event_lock, flags);
> -}
> -
> -static void dev_postclose(struct drm_device *dev, struct drm_file *file)
> -{
> - DBG("postclose: dev=%p, file=%p", dev, file);
> -}
> -
> static const struct vm_operations_struct omap_gem_vm_ops = {
> .fault = omap_gem_fault,
> .open = drm_gem_vm_open,
> @@ -838,8 +798,6 @@ static struct drm_driver omap_drm_driver = {
> .unload = dev_unload,
> .open = dev_open,
> .lastclose = dev_lastclose,
> - .preclose = dev_preclose,
> - .postclose = dev_postclose,
> .set_busid = drm_platform_set_busid,
> .get_vblank_counter = drm_vblank_no_hw_counter,
> .enable_vblank = omap_irq_enable_vblank,
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h
> b/drivers/gpu/drm/omapdrm/omap_drv.h index 9e0030731c37..c23cbe6fe9e4
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.h
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.h
> @@ -106,7 +106,6 @@ struct omap_drm_private {
>
> /* atomic commit */
> struct {
> - struct list_head events;
> wait_queue_head_t wait;
> u32 pending;
> spinlock_t lock; /* Protects commit.pending */
--
Regards,
Laurent Pinchart
More information about the Intel-gfx
mailing list