[Intel-gfx] [PATCH 15/21] drm/omap: Nuke close hooks
Daniel Vetter
daniel at ffwll.ch
Sun Jan 10 23:10:47 PST 2016
On Mon, Jan 11, 2016 at 02:03:34AM +0200, Laurent Pinchart wrote:
> Hi Daniel,
>
> Thank you for the patch.
>
> On Friday 08 January 2016 21:36:47 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.
> >
> > Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > Cc: Tomi Valkeinen <tomi.valkeinen at ti.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> > ---
> > drivers/gpu/drm/omapdrm/omap_drv.c | 29 -----------------------------
> > 1 file changed, 29 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
> > b/drivers/gpu/drm/omapdrm/omap_drv.c index dfafdb602ad2..e8b5080f6e2d
> > 100644
> > --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> > +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> > @@ -787,33 +787,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);
> > -}
> > -
>
> You can also nuke the following code from omap_atomic_commit():
>
> /* 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);
>
> and the priv->commit.events field in omap_drv.h (don't forget the structure
> kerneldoc).
Oh this is really good, since hunting for related code I noticed that omap
doesn't send out the vblank event when the fpriv disappeared. So found
even more code to remove. I didn't find any kerneldoc though.
-Daniel
>
> > static const struct vm_operations_struct omap_gem_vm_ops = {
> > .fault = omap_gem_fault,
> > .open = drm_gem_vm_open,
> > @@ -838,8 +811,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,
>
> --
> Regards,
>
> Laurent Pinchart
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list