diff options
author | Dave Airlie <airlied@redhat.com> | 2016-07-14 21:01:37 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-07-14 21:01:37 -0400 |
commit | 6c181c82106e12dced317e93a7a396cbb8c64f75 (patch) | |
tree | 95f81eaf5fa9e5539411f5d9690b31c7c0c20044 /drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | |
parent | 1640142b3d900cd7e5bc593d130a84f9187d9819 (diff) | |
parent | 01d3434a565ada5ca084c68ec1e087ada5a7b157 (diff) |
Merge tag 'topic/drm-misc-2016-07-14' of git://anongit.freedesktop.org/drm-intel into drm-next
I recovered dri-devel backlog from my vacation, more misc stuff:
- of_put_node fixes from Peter Chen (not all yet)
- more patches from Gustavo to use kms-native drm_crtc_vblank_* funcs
- docs sphinxification from Lukas Wunner
- bunch of fixes all over from Dan Carpenter
- more follow up work from Chris register/unregister rework in various
places
- vgem dma-buf export (for writing testcases)
- small things all over from tons of different people
* tag 'topic/drm-misc-2016-07-14' of git://anongit.freedesktop.org/drm-intel: (52 commits)
drm: Don't overwrite user ioctl arg unless requested
dma-buf/sync_file: improve Kconfig description for Sync Files
MAINTAINERS: add entry for the Sync File Framework
drm: Resurrect atomic rmfb code
drm/vgem: Use PAGE_KERNEL in place of x86-specific PAGE_KERNEL_IO
qxl: silence uninitialized variable warning
qxl: check for kmap failures
vga_switcheroo: Sphinxify docs
drm: Restore double clflush on the last partial cacheline
gpu: drm: rockchip_drm_drv: add missing of_node_put after calling of_parse_phandle
gpu: drm: sti_vtg: add missing of_node_put after calling of_parse_phandle
gpu: drm: sti_hqvdp: add missing of_node_put after calling of_parse_phandle
gpu: drm: sti_vdo: add missing of_node_put after calling of_parse_phandle
gpu: drm: sti_compositor: add missing of_node_put after calling of_parse_phandle
drm/tilcdc: use drm_crtc_handle_vblank()
drm/rcar-du: use drm_crtc_handle_vblank()
drm/nouveau: use drm_crtc_handle_vblank()
drm/atmel: use drm_crtc_handle_vblank()
drm/armada: use drm_crtc_handle_vblank()
drm: make drm_vblank_count_and_time() static
...
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index b464aaa1da3e..a8efbb54423f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | |||
@@ -60,7 +60,10 @@ int amdgpu_driver_unload_kms(struct drm_device *dev) | |||
60 | if (adev->rmmio == NULL) | 60 | if (adev->rmmio == NULL) |
61 | goto done_free; | 61 | goto done_free; |
62 | 62 | ||
63 | pm_runtime_get_sync(dev->dev); | 63 | if (amdgpu_device_is_px(dev)) { |
64 | pm_runtime_get_sync(dev->dev); | ||
65 | pm_runtime_forbid(dev->dev); | ||
66 | } | ||
64 | 67 | ||
65 | amdgpu_amdkfd_device_fini(adev); | 68 | amdgpu_amdkfd_device_fini(adev); |
66 | 69 | ||
@@ -135,9 +138,12 @@ int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags) | |||
135 | } | 138 | } |
136 | 139 | ||
137 | out: | 140 | out: |
138 | if (r) | 141 | if (r) { |
142 | /* balance pm_runtime_get_sync in amdgpu_driver_unload_kms */ | ||
143 | if (adev->rmmio && amdgpu_device_is_px(dev)) | ||
144 | pm_runtime_put_noidle(dev->dev); | ||
139 | amdgpu_driver_unload_kms(dev); | 145 | amdgpu_driver_unload_kms(dev); |
140 | 146 | } | |
141 | 147 | ||
142 | return r; | 148 | return r; |
143 | } | 149 | } |