[Nouveau] [PATCH v2 00/15] Runtime pm ref leak bonanza

Daniel Vetter daniel at ffwll.ch
Thu Jun 9 06:50:32 UTC 2016


On Wed, Jun 08, 2016 at 06:47:27PM +0200, Lukas Wunner wrote:
> Second iteration of my endeavour to rid nouveau, radeon and amdgpu of
> runtime pm ref leaks.
> 
> Patches 1 to 8 are identical to v1.
> 
> Patch 9 of v1 modified the DRM core to turn off all CRTCs on driver
> unload. Based on feedback by Daniel Vetter, I've replaced this with
> a helper to turn off all CRTCs, which is called by nouveau, radeon
> and amdgpu on unload. In other words, this is now opt-in.
> So patch 9 of v1 is replaced with new patches 9 to 12.
> 
> A by-product of patch 9 is a helper which turns off a *single* CRTC.
> This is open coded in three other places in the DRM tree and patches
> 13 to 15 refactor those to use the new helper.

Yeah I think this makes much more sense. Please poke amd/nouveau folks for
reviews/acks, then I can merge.
-Daniel

> 
> To ease reviewing, I've pushed this series to GitHub:
> https://github.com/l1k/linux/commits/drm_runpm_fixes_v2
> 
> The discussion on v1 is archived here:
> https://lists.freedesktop.org/archives/dri-devel/2016-May/thread.html#108278
> 
> Thanks,
> 
> Lukas
> 
> Lukas Wunner (15):
>   drm/nouveau: Don't leak runtime pm ref on driver unload
>   drm/nouveau: Forbid runtime pm on driver unload
>   drm/radeon: Don't leak runtime pm ref on driver unload
>   drm/radeon: Don't leak runtime pm ref on driver load
>   drm/radeon: Forbid runtime pm on driver unload
>   drm/amdgpu: Don't leak runtime pm ref on driver unload
>   drm/amdgpu: Don't leak runtime pm ref on driver load
>   drm/amdgpu: Forbid runtime pm on driver unload
>   drm: Add helpers to turn off CRTCs
>   drm/nouveau: Turn off CRTCs on driver unload
>   drm/radeon: Turn off CRTCs on driver unload
>   drm/amdgpu: Turn off CRTCs on driver unload
>   drm: Use helper to turn off CRTC
>   drm/i2c/ch7006: Use helper to turn off CRTC
>   drm/nouveau/dispnv04: Use helper to turn off CRTC
> 
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |  1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    | 12 +++++--
>  drivers/gpu/drm/drm_crtc.c                 | 53 ++++++++++++++++++++++++++----
>  drivers/gpu/drm/i2c/ch7006_drv.c           |  9 ++---
>  drivers/gpu/drm/nouveau/dispnv04/disp.c    | 10 ------
>  drivers/gpu/drm/nouveau/dispnv04/tvnv17.c  |  9 ++---
>  drivers/gpu/drm/nouveau/nouveau_display.c  |  1 +
>  drivers/gpu/drm/nouveau/nouveau_drm.c      |  6 +++-
>  drivers/gpu/drm/radeon/radeon_device.c     |  4 +++
>  drivers/gpu/drm/radeon/radeon_display.c    |  1 +
>  drivers/gpu/drm/radeon/radeon_kms.c        |  5 ++-
>  include/drm/drm_crtc.h                     |  2 ++
>  12 files changed, 77 insertions(+), 36 deletions(-)
> 
> -- 
> 2.8.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Nouveau mailing list