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

Lukas Wunner lukas at wunner.de
Wed Jun 8 16:47:27 UTC 2016


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.

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



More information about the Nouveau mailing list