Daniel Vetter
2017-Mar-08 14:12 UTC
[Nouveau] [PATCH 14/24] drm/nouveau: Merge pre/postclose hooks
Again no apparent explanation for the split except hysterical raisins. Merging them also makes it a bit more obviuos what's going on wrt the runtime pm refdancing. Cc: Ben Skeggs <bskeggs at redhat.com> Cc: nouveau at lists.freedesktop.org Signed-off-by: Daniel Vetter <daniel.vetter at intel.com> --- drivers/gpu/drm/nouveau/nouveau_drm.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index f0bb7606eb8b..0e26be017de7 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -881,7 +881,7 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv) } static void -nouveau_drm_preclose(struct drm_device *dev, struct drm_file *fpriv) +nouveau_drm_postclose(struct drm_device *dev, struct drm_file *fpriv) { struct nouveau_cli *cli = nouveau_cli(fpriv); struct nouveau_drm *drm = nouveau_drm(dev); @@ -897,12 +897,6 @@ nouveau_drm_preclose(struct drm_device *dev, struct drm_file *fpriv) list_del(&cli->head); mutex_unlock(&drm->client.mutex); -} - -static void -nouveau_drm_postclose(struct drm_device *dev, struct drm_file *fpriv) -{ - struct nouveau_cli *cli = nouveau_cli(fpriv); nouveau_cli_fini(cli); kfree(cli); pm_runtime_mark_last_busy(dev->dev); @@ -974,7 +968,6 @@ driver_stub = { .load = nouveau_drm_load, .unload = nouveau_drm_unload, .open = nouveau_drm_open, - .preclose = nouveau_drm_preclose, .postclose = nouveau_drm_postclose, .lastclose = nouveau_vga_lastclose, -- 2.11.0
Sean Paul
2017-Mar-13 19:07 UTC
[Nouveau] [PATCH 14/24] drm/nouveau: Merge pre/postclose hooks
On Wed, Mar 08, 2017 at 03:12:47PM +0100, Daniel Vetter wrote:> Again no apparent explanation for the split except hysterical raisins. > Merging them also makes it a bit more obviuos what's going on wrt the > runtime pm refdancing.Yeah, holding the pm reference from preclose to postclose had me a little nervous. However, it seems like the reference is just needed for nouveau_abi16_fini() and nouveau_cli_fini(), as opposed to being needed while drm_release() is active. Reviewed-by: Sean Paul <seanpaul at chromium.org>> > Cc: Ben Skeggs <bskeggs at redhat.com> > Cc: nouveau at lists.freedesktop.org > Signed-off-by: Daniel Vetter <daniel.vetter at intel.com> > --- > drivers/gpu/drm/nouveau/nouveau_drm.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c > index f0bb7606eb8b..0e26be017de7 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c > @@ -881,7 +881,7 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv) > } > > static void > -nouveau_drm_preclose(struct drm_device *dev, struct drm_file *fpriv) > +nouveau_drm_postclose(struct drm_device *dev, struct drm_file *fpriv) > { > struct nouveau_cli *cli = nouveau_cli(fpriv); > struct nouveau_drm *drm = nouveau_drm(dev); > @@ -897,12 +897,6 @@ nouveau_drm_preclose(struct drm_device *dev, struct drm_file *fpriv) > list_del(&cli->head); > mutex_unlock(&drm->client.mutex); > > -} > - > -static void > -nouveau_drm_postclose(struct drm_device *dev, struct drm_file *fpriv) > -{ > - struct nouveau_cli *cli = nouveau_cli(fpriv); > nouveau_cli_fini(cli); > kfree(cli); > pm_runtime_mark_last_busy(dev->dev); > @@ -974,7 +968,6 @@ driver_stub = { > .load = nouveau_drm_load, > .unload = nouveau_drm_unload, > .open = nouveau_drm_open, > - .preclose = nouveau_drm_preclose, > .postclose = nouveau_drm_postclose, > .lastclose = nouveau_vga_lastclose, > > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Reasonably Related Threads
- [PATCH RESEND 1/4] drm/nouveau: Merge pre/postclose hooks
- [PATCH] drm/nouveau: split nouveau_drm_postclose back in pre/postclose
- [regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
- [PATCH 0/3] drm/nouveau: fix a use-after-free in postclose()
- [PATCH 08/13] drm/nouveau: drop DRM_AUTH from DRM_RENDER_ALLOW ioctls