diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 14:04:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 14:04:36 -0500 |
commit | 1a464cbb3d483f2f195b614cffa4aa1b910a0440 (patch) | |
tree | af57dee6436532dbb546b8670e9e1f6910d489b5 /drivers/gpu/drm/nouveau/nva3_pm.c | |
parent | dbe950f201a8edd353b0bd9079e8d536ee4ce37c (diff) | |
parent | 095f979a539245a46b9e5d600ec9c720b4d928e5 (diff) |
Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
* 'drm-core-next' of git://people.freedesktop.org/~airlied/linux: (307 commits)
drm/nouveau/pm: fix build with HWMON off
gma500: silence gcc warnings in mid_get_vbt_data()
drm/ttm: fix condition (and vs or)
drm/radeon: double lock typo in radeon_vm_bo_rmv()
drm/radeon: use after free in radeon_vm_bo_add()
drm/sis|via: don't return stack garbage from free_mem ioctl
drm/radeon/kms: remove pointless CS flags priority struct
drm/radeon/kms: check if vm is supported in VA ioctl
drm: introduce drm_can_sleep and use in intel/radeon drivers. (v2)
radeon: Fix disabling PCI bus mastering on big endian hosts.
ttm: fix agp since ttm tt rework
agp: Fix multi-line warning message whitespace
drm/ttm/dma: Fix accounting error when calling ttm_mem_global_free_page and don't try to free freed pages.
drm/ttm/dma: Only call set_pages_array_wb when the page is not in WB pool.
drm/radeon/kms: sync across multiple rings when doing bo moves v3
drm/radeon/kms: Add support for multi-ring sync in CS ioctl (v2)
drm/radeon: GPU virtual memory support v22
drm: make DRM_UNLOCKED ioctls with their own mutex
drm: no need to hold global mutex for static data
drm/radeon/benchmark: common modes sweep ignores 640x480@32
...
Fix up trivial conflicts in radeon/evergreen.c and vmwgfx/vmwgfx_kms.c
Diffstat (limited to 'drivers/gpu/drm/nouveau/nva3_pm.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nva3_pm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nva3_pm.c b/drivers/gpu/drm/nouveau/nva3_pm.c index 618c144b7a3..9e636e6ef6d 100644 --- a/drivers/gpu/drm/nouveau/nva3_pm.c +++ b/drivers/gpu/drm/nouveau/nva3_pm.c | |||
@@ -287,12 +287,13 @@ nva3_pm_grcp_idle(void *data) | |||
287 | return false; | 287 | return false; |
288 | } | 288 | } |
289 | 289 | ||
290 | void | 290 | int |
291 | nva3_pm_clocks_set(struct drm_device *dev, void *pre_state) | 291 | nva3_pm_clocks_set(struct drm_device *dev, void *pre_state) |
292 | { | 292 | { |
293 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 293 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
294 | struct nva3_pm_state *info = pre_state; | 294 | struct nva3_pm_state *info = pre_state; |
295 | unsigned long flags; | 295 | unsigned long flags; |
296 | int ret = -EAGAIN; | ||
296 | 297 | ||
297 | /* prevent any new grctx switches from starting */ | 298 | /* prevent any new grctx switches from starting */ |
298 | spin_lock_irqsave(&dev_priv->context_switch_lock, flags); | 299 | spin_lock_irqsave(&dev_priv->context_switch_lock, flags); |
@@ -328,6 +329,8 @@ nva3_pm_clocks_set(struct drm_device *dev, void *pre_state) | |||
328 | nv_wr32(dev, 0x100210, 0x80000000); | 329 | nv_wr32(dev, 0x100210, 0x80000000); |
329 | } | 330 | } |
330 | 331 | ||
332 | ret = 0; | ||
333 | |||
331 | cleanup: | 334 | cleanup: |
332 | /* unfreeze PFIFO */ | 335 | /* unfreeze PFIFO */ |
333 | nv_mask(dev, 0x002504, 0x00000001, 0x00000000); | 336 | nv_mask(dev, 0x002504, 0x00000001, 0x00000000); |
@@ -339,4 +342,5 @@ cleanup: | |||
339 | nv_mask(dev, 0x400824, 0x10000000, 0x10000000); | 342 | nv_mask(dev, 0x400824, 0x10000000, 0x10000000); |
340 | spin_unlock_irqrestore(&dev_priv->context_switch_lock, flags); | 343 | spin_unlock_irqrestore(&dev_priv->context_switch_lock, flags); |
341 | kfree(info); | 344 | kfree(info); |
345 | return ret; | ||
342 | } | 346 | } |