diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-01-10 23:56:52 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-01-10 23:56:52 +1000 |
commit | 2466b3576be7dffdbf6591434dcd2671ebbfcf70 (patch) | |
tree | f06a74c869755715fcd1d8c359850db709f56ea9 | |
parent | e4ec6dea325ac8597fc9c2b7777e22b7a0b6ee20 (diff) |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drm/nouveau_display.c | 9 | ||||
-rw-r--r-- | drm/nouveau_drm.c | 2 | ||||
-rw-r--r-- | drm/nouveau_gem.c | 3 | ||||
-rw-r--r-- | drm/nouveau_ttm.c | 3 | ||||
-rw-r--r-- | drm/nv50_display.c | 3 |
5 files changed, 5 insertions, 15 deletions
diff --git a/drm/nouveau_display.c b/drm/nouveau_display.c index 5d93902a..f8042433 100644 --- a/drm/nouveau_display.c +++ b/drm/nouveau_display.c @@ -876,7 +876,6 @@ nouveau_display_dumb_create(struct drm_file *file_priv, struct drm_device *dev, if (ret) return ret; - bo->gem.dumb = true; ret = drm_gem_handle_create(file_priv, &bo->gem, &args->handle); drm_gem_object_unreference_unlocked(&bo->gem); return ret; @@ -892,14 +891,6 @@ nouveau_display_dumb_map_offset(struct drm_file *file_priv, gem = drm_gem_object_lookup(dev, file_priv, handle); if (gem) { struct nouveau_bo *bo = nouveau_gem_object(gem); - - /* - * We don't allow dumb mmaps on objects created using another - * interface. - */ - WARN_ONCE(!(gem->dumb || gem->import_attach), - "Illegal dumb map of accelerated buffer.\n"); - *poffset = drm_vma_node_offset_addr(&bo->bo.vma_node); drm_gem_object_unreference_unlocked(gem); return 0; diff --git a/drm/nouveau_drm.c b/drm/nouveau_drm.c index afb93bb7..65910e3a 100644 --- a/drm/nouveau_drm.c +++ b/drm/nouveau_drm.c @@ -664,7 +664,6 @@ nouveau_pmops_suspend(struct device *dev) pci_save_state(pdev); pci_disable_device(pdev); - pci_ignore_hotplug(pdev); pci_set_power_state(pdev, PCI_D3hot); return 0; } @@ -732,6 +731,7 @@ nouveau_pmops_runtime_suspend(struct device *dev) ret = nouveau_do_suspend(drm_dev, true); pci_save_state(pdev); pci_disable_device(pdev); + pci_ignore_hotplug(pdev); pci_set_power_state(pdev, PCI_D3cold); drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF; return ret; diff --git a/drm/nouveau_gem.c b/drm/nouveau_gem.c index 5922d2ef..bf0f9e21 100644 --- a/drm/nouveau_gem.c +++ b/drm/nouveau_gem.c @@ -469,9 +469,6 @@ validate_list(struct nouveau_channel *chan, struct nouveau_cli *cli, list_for_each_entry(nvbo, list, entry) { struct drm_nouveau_gem_pushbuf_bo *b = &pbbo[nvbo->pbbo_index]; - WARN_ONCE(nvbo->gem.dumb, - "GPU use of dumb buffer is illegal.\n"); - ret = nouveau_gem_set_domain(&nvbo->gem, b->read_domains, b->write_domains, b->valid_domains); diff --git a/drm/nouveau_ttm.c b/drm/nouveau_ttm.c index 753a6def..3d1cfcb9 100644 --- a/drm/nouveau_ttm.c +++ b/drm/nouveau_ttm.c @@ -28,6 +28,7 @@ #include "nouveau_ttm.h" #include "nouveau_gem.h" +#include "drm_legacy.h" static int nouveau_vram_manager_init(struct ttm_mem_type_manager *man, unsigned long psize) { @@ -281,7 +282,7 @@ nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma) struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev); if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) - return -EINVAL; + return drm_legacy_mmap(filp, vma); return ttm_bo_mmap(filp, vma, &drm->ttm.bdev); } diff --git a/drm/nv50_display.c b/drm/nv50_display.c index b1da7cd4..490b9086 100644 --- a/drm/nv50_display.c +++ b/drm/nv50_display.c @@ -1699,7 +1699,8 @@ nv50_audio_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode) drm_edid_to_eld(&nv_connector->base, nv_connector->edid); memcpy(args.data, nv_connector->base.eld, sizeof(args.data)); - nvif_mthd(disp->disp, 0, &args, sizeof(args.base) + args.data[2] * 4); + nvif_mthd(disp->disp, 0, &args, + sizeof(args.base) + drm_eld_size(args.data)); } static void |