aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_gem.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-10-14 03:39:08 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-14 03:39:08 -0400
commit2d65a9f48fcdf7866aab6457bc707ca233e0c791 (patch)
treef93e5838d6ac2e59434367f4ff905f7d9c45fc2b /drivers/gpu/drm/drm_gem.c
parentda92da3638a04894afdca8b99e973ddd20268471 (diff)
parentdfda0df3426483cf5fc7441f23f318edbabecb03 (diff)
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie: "This is the main git pull for the drm, I pretty much froze major pulls at -rc5/6 time, and haven't had much fallout, so will probably continue doing that. Lots of changes all over, big internal header cleanup to make it clear drm features are legacy things and what are things that modern KMS drivers should be using. Also big move to use the new generic fences in all the TTM drivers. core: atomic prep work, vblank rework changes, allows immediate vblank disables major header reworking and cleanups to better delinate legacy interfaces from what KMS drivers should be using. cursor planes locking fixes ttm: move to generic fences (affects all TTM drivers) ppc64 caching fixes radeon: userptr support, uvd for old asics, reset rework for fence changes better buffer placement changes, dpm feature enablement hdmi audio support fixes intel: Cherryview work, 180 degree rotation, skylake prep work, execlist command submission full ppgtt prep work cursor improvements edid caching, vdd handling improvements nouveau: fence reworking kepler memory clock work gt21x clock work fan control improvements hdmi infoframe fixes DP audio ast: ppc64 fixes caching fix rcar: rcar-du DT support ipuv3: prep work for capture support msm: LVDS support for mdp4, new panel, gpu refactoring exynos: exynos3250 SoC support, drop bad mmap interface, mipi dsi changes, and component match support" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (640 commits) drm/mst: rework payload table allocation to conform better. drm/ast: Fix HW cursor image drm/radeon/kv: add uvd/vce info to dpm debugfs output drm/radeon/ci: add uvd/vce info to dpm debugfs output drm/radeon: export reservation_object from dmabuf to ttm drm/radeon: cope with foreign fences inside the reservation object drm/radeon: cope with foreign fences inside display drm/core: use helper to check driver features drm/radeon/cik: write gfx ucode version to ucode addr reg drm/radeon/si: print full CS when we hit a packet 0 drm/radeon: remove unecessary includes drm/radeon/combios: declare legacy_connector_convert as static drm/radeon/atombios: declare connector convert tables as static drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table drm/radeon/dpm: drop clk/voltage dependency filters for BTC drm/radeon/dpm: drop clk/voltage dependency filters for CI drm/radeon/dpm: drop clk/voltage dependency filters for SI drm/radeon/dpm: drop clk/voltage dependency filters for NI drm/radeon: disable audio when we disable hdmi (v2) drm/radeon: split audio enable between eg and r600 (v2) ...
Diffstat (limited to 'drivers/gpu/drm/drm_gem.c')
-rw-r--r--drivers/gpu/drm/drm_gem.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 6adee4c2afc0..f6ca51259fa3 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -38,6 +38,8 @@
38#include <linux/dma-buf.h> 38#include <linux/dma-buf.h>
39#include <drm/drmP.h> 39#include <drm/drmP.h>
40#include <drm/drm_vma_manager.h> 40#include <drm/drm_vma_manager.h>
41#include <drm/drm_gem.h>
42#include "drm_internal.h"
41 43
42/** @file drm_gem.c 44/** @file drm_gem.c
43 * 45 *
@@ -146,7 +148,7 @@ int drm_gem_object_init(struct drm_device *dev,
146EXPORT_SYMBOL(drm_gem_object_init); 148EXPORT_SYMBOL(drm_gem_object_init);
147 149
148/** 150/**
149 * drm_gem_object_init - initialize an allocated private GEM object 151 * drm_gem_private_object_init - initialize an allocated private GEM object
150 * @dev: drm_device the object should be initialized for 152 * @dev: drm_device the object should be initialized for
151 * @obj: drm_gem_object to initialize 153 * @obj: drm_gem_object to initialize
152 * @size: object size 154 * @size: object size
@@ -579,7 +581,7 @@ drm_gem_close_ioctl(struct drm_device *dev, void *data,
579 struct drm_gem_close *args = data; 581 struct drm_gem_close *args = data;
580 int ret; 582 int ret;
581 583
582 if (!(dev->driver->driver_features & DRIVER_GEM)) 584 if (!drm_core_check_feature(dev, DRIVER_GEM))
583 return -ENODEV; 585 return -ENODEV;
584 586
585 ret = drm_gem_handle_delete(file_priv, args->handle); 587 ret = drm_gem_handle_delete(file_priv, args->handle);
@@ -606,7 +608,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
606 struct drm_gem_object *obj; 608 struct drm_gem_object *obj;
607 int ret; 609 int ret;
608 610
609 if (!(dev->driver->driver_features & DRIVER_GEM)) 611 if (!drm_core_check_feature(dev, DRIVER_GEM))
610 return -ENODEV; 612 return -ENODEV;
611 613
612 obj = drm_gem_object_lookup(dev, file_priv, args->handle); 614 obj = drm_gem_object_lookup(dev, file_priv, args->handle);
@@ -659,7 +661,7 @@ drm_gem_open_ioctl(struct drm_device *dev, void *data,
659 int ret; 661 int ret;
660 u32 handle; 662 u32 handle;
661 663
662 if (!(dev->driver->driver_features & DRIVER_GEM)) 664 if (!drm_core_check_feature(dev, DRIVER_GEM))
663 return -ENODEV; 665 return -ENODEV;
664 666
665 mutex_lock(&dev->object_name_lock); 667 mutex_lock(&dev->object_name_lock);
@@ -887,7 +889,7 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
887 vma_pages(vma)); 889 vma_pages(vma));
888 if (!node) { 890 if (!node) {
889 mutex_unlock(&dev->struct_mutex); 891 mutex_unlock(&dev->struct_mutex);
890 return drm_mmap(filp, vma); 892 return -EINVAL;
891 } else if (!drm_vma_node_is_allowed(node, filp)) { 893 } else if (!drm_vma_node_is_allowed(node, filp)) {
892 mutex_unlock(&dev->struct_mutex); 894 mutex_unlock(&dev->struct_mutex);
893 return -EACCES; 895 return -EACCES;