summaryrefslogtreecommitdiffstats
path: root/drm-ttm-exports-for-qxl.patch
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2013-03-12 08:05:11 +1000
committerDave Airlie <airlied@gmail.com>2013-03-12 13:39:10 +1000
commit5cf9b33d21e5b151b59e4b1731e00dd195336974 (patch)
treea7472fbd7e866f4b60e57d45d2a29eeae07cfd07 /drm-ttm-exports-for-qxl.patch
parentfb08f46d2bf30c3063a7b9ff47126ab0e0847e58 (diff)
downloadkernel-5cf9b33d21e5b151b59e4b1731e00dd195336974.tar.gz
kernel-5cf9b33d21e5b151b59e4b1731e00dd195336974.tar.xz
kernel-5cf9b33d21e5b151b59e4b1731e00dd195336974.zip
add QXL driver (f19 only)
Diffstat (limited to 'drm-ttm-exports-for-qxl.patch')
-rw-r--r--drm-ttm-exports-for-qxl.patch86
1 files changed, 86 insertions, 0 deletions
diff --git a/drm-ttm-exports-for-qxl.patch b/drm-ttm-exports-for-qxl.patch
new file mode 100644
index 000000000..6134b5119
--- /dev/null
+++ b/drm-ttm-exports-for-qxl.patch
@@ -0,0 +1,86 @@
+From b538d2921b8aaaa1d7abf1bf0ba3ab9330b0b0c8 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@gmail.com>
+Date: Tue, 22 Jan 2013 13:56:04 +1000
+Subject: [PATCH 1/2] ttm: export functions to allow qxl do its own iomapping
+
+qxl wants to use io mapping like i915 gem does, for now
+just export the symbols so the driver can implement atomic
+page maps using io mapping.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+---
+ drivers/gpu/drm/ttm/ttm_bo_util.c | 13 +++++++++----
+ include/drm/ttm/ttm_bo_driver.h | 4 ++++
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
+index 44420fc..aaf6f47 100644
+--- a/drivers/gpu/drm/ttm/ttm_bo_util.c
++++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
+@@ -86,6 +86,7 @@ int ttm_mem_io_lock(struct ttm_mem_type_manager *man, bool interruptible)
+ mutex_lock(&man->io_reserve_mutex);
+ return 0;
+ }
++EXPORT_SYMBOL(ttm_mem_io_lock);
+
+ void ttm_mem_io_unlock(struct ttm_mem_type_manager *man)
+ {
+@@ -94,6 +95,7 @@ void ttm_mem_io_unlock(struct ttm_mem_type_manager *man)
+
+ mutex_unlock(&man->io_reserve_mutex);
+ }
++EXPORT_SYMBOL(ttm_mem_io_unlock);
+
+ static int ttm_mem_io_evict(struct ttm_mem_type_manager *man)
+ {
+@@ -111,8 +113,9 @@ static int ttm_mem_io_evict(struct ttm_mem_type_manager *man)
+ return 0;
+ }
+
+-static int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
+- struct ttm_mem_reg *mem)
++
++int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
++ struct ttm_mem_reg *mem)
+ {
+ struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
+ int ret = 0;
+@@ -134,9 +137,10 @@ retry:
+ }
+ return ret;
+ }
++EXPORT_SYMBOL(ttm_mem_io_reserve);
+
+-static void ttm_mem_io_free(struct ttm_bo_device *bdev,
+- struct ttm_mem_reg *mem)
++void ttm_mem_io_free(struct ttm_bo_device *bdev,
++ struct ttm_mem_reg *mem)
+ {
+ struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
+
+@@ -149,6 +153,7 @@ static void ttm_mem_io_free(struct ttm_bo_device *bdev,
+ bdev->driver->io_mem_free(bdev, mem);
+
+ }
++EXPORT_SYMBOL(ttm_mem_io_free);
+
+ int ttm_mem_io_reserve_vm(struct ttm_buffer_object *bo)
+ {
+diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
+index 0fbd046..9c8dca7 100644
+--- a/include/drm/ttm/ttm_bo_driver.h
++++ b/include/drm/ttm/ttm_bo_driver.h
+@@ -902,6 +902,10 @@ extern void ttm_bo_unreserve_locked(struct ttm_buffer_object *bo);
+ * ttm_bo_util.c
+ */
+
++int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
++ struct ttm_mem_reg *mem);
++void ttm_mem_io_free(struct ttm_bo_device *bdev,
++ struct ttm_mem_reg *mem);
+ /**
+ * ttm_bo_move_ttm
+ *
+--
+1.8.1.4
+