[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