diff options
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_gem.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_gem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c index 79fc5ffff22..581c67cd7b2 100644 --- a/drivers/gpu/drm/nouveau/nouveau_gem.c +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c | |||
@@ -337,7 +337,9 @@ retry: | |||
337 | return -EINVAL; | 337 | return -EINVAL; |
338 | } | 338 | } |
339 | 339 | ||
340 | mutex_unlock(&drm_global_mutex); | ||
340 | ret = ttm_bo_wait_cpu(&nvbo->bo, false); | 341 | ret = ttm_bo_wait_cpu(&nvbo->bo, false); |
342 | mutex_lock(&drm_global_mutex); | ||
341 | if (ret) { | 343 | if (ret) { |
342 | NV_ERROR(dev, "fail wait_cpu\n"); | 344 | NV_ERROR(dev, "fail wait_cpu\n"); |
343 | return ret; | 345 | return ret; |
@@ -663,7 +665,7 @@ nouveau_gem_ioctl_pushbuf(struct drm_device *dev, void *data, | |||
663 | push[i].length); | 665 | push[i].length); |
664 | } | 666 | } |
665 | } else | 667 | } else |
666 | if (dev_priv->card_type >= NV_20) { | 668 | if (dev_priv->chipset >= 0x25) { |
667 | ret = RING_SPACE(chan, req->nr_push * 2); | 669 | ret = RING_SPACE(chan, req->nr_push * 2); |
668 | if (ret) { | 670 | if (ret) { |
669 | NV_ERROR(dev, "cal_space: %d\n", ret); | 671 | NV_ERROR(dev, "cal_space: %d\n", ret); |
@@ -738,7 +740,7 @@ out_next: | |||
738 | req->suffix0 = 0x00000000; | 740 | req->suffix0 = 0x00000000; |
739 | req->suffix1 = 0x00000000; | 741 | req->suffix1 = 0x00000000; |
740 | } else | 742 | } else |
741 | if (dev_priv->card_type >= NV_20) { | 743 | if (dev_priv->chipset >= 0x25) { |
742 | req->suffix0 = 0x00020000; | 744 | req->suffix0 = 0x00020000; |
743 | req->suffix1 = 0x00000000; | 745 | req->suffix1 = 0x00000000; |
744 | } else { | 746 | } else { |