aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-08-29 06:12:28 -0400
committerDave Airlie <airlied@redhat.com>2014-09-10 03:11:30 -0400
commit9fc5cde7fb6699b0a75e90b7cbfee7c912dd94c2 (patch)
treee9b484002d7730cebdb9825c6d7d476ab021aeca
parent9f50bd8905ab12e3e8ebffd8296d7921bd3976eb (diff)
drm: mark drm_buf and drm_map as legacy
Move internal declarations to drm_legacy.h and add drm_legacy_*() prefix to all legacy functions. [airlied: add a bit of an explaination to drm_legacy.h] Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_bufs.c90
-rw-r--r--drivers/gpu/drm/drm_drv.c4
-rw-r--r--drivers/gpu/drm/drm_ioctl.c16
-rw-r--r--drivers/gpu/drm/drm_legacy.h20
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c2
-rw-r--r--drivers/gpu/drm/mga/mga_dma.c49
-rw-r--r--drivers/gpu/drm/r128/r128_cce.c2
-rw-r--r--drivers/gpu/drm/radeon/r600_cp.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_cp.c22
-rw-r--r--drivers/gpu/drm/savage/savage_bci.c19
-rw-r--r--drivers/gpu/drm/via/via_map.c2
-rw-r--r--include/drm/drmP.h41
12 files changed, 136 insertions, 133 deletions
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
index 61acb8f6756d..9e04d6a43fa4 100644
--- a/drivers/gpu/drm/drm_bufs.c
+++ b/drivers/gpu/drm/drm_bufs.c
@@ -1,18 +1,13 @@
1/**
2 * \file drm_bufs.c
3 * Generic buffer template
4 *
5 * \author Rickard E. (Rik) Faith <faith@valinux.com>
6 * \author Gareth Hughes <gareth@valinux.com>
7 */
8
9/* 1/*
10 * Created: Thu Nov 23 03:10:50 2000 by gareth@valinux.com 2 * Legacy: Generic DRM Buffer Management
11 * 3 *
12 * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. 4 * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas.
13 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. 5 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
14 * All Rights Reserved. 6 * All Rights Reserved.
15 * 7 *
8 * Author: Rickard E. (Rik) Faith <faith@valinux.com>
9 * Author: Gareth Hughes <gareth@valinux.com>
10 *
16 * Permission is hereby granted, free of charge, to any person obtaining a 11 * Permission is hereby granted, free of charge, to any person obtaining a
17 * copy of this software and associated documentation files (the "Software"), 12 * copy of this software and associated documentation files (the "Software"),
18 * to deal in the Software without restriction, including without limitation 13 * to deal in the Software without restriction, including without limitation
@@ -39,6 +34,7 @@
39#include <linux/export.h> 34#include <linux/export.h>
40#include <asm/shmparam.h> 35#include <asm/shmparam.h>
41#include <drm/drmP.h> 36#include <drm/drmP.h>
37#include "drm_legacy.h"
42 38
43static struct drm_map_list *drm_find_matching_map(struct drm_device *dev, 39static struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
44 struct drm_local_map *map) 40 struct drm_local_map *map)
@@ -365,9 +361,9 @@ static int drm_addmap_core(struct drm_device * dev, resource_size_t offset,
365 return 0; 361 return 0;
366} 362}
367 363
368int drm_addmap(struct drm_device * dev, resource_size_t offset, 364int drm_legacy_addmap(struct drm_device * dev, resource_size_t offset,
369 unsigned int size, enum drm_map_type type, 365 unsigned int size, enum drm_map_type type,
370 enum drm_map_flags flags, struct drm_local_map ** map_ptr) 366 enum drm_map_flags flags, struct drm_local_map **map_ptr)
371{ 367{
372 struct drm_map_list *list; 368 struct drm_map_list *list;
373 int rc; 369 int rc;
@@ -377,8 +373,7 @@ int drm_addmap(struct drm_device * dev, resource_size_t offset,
377 *map_ptr = list->map; 373 *map_ptr = list->map;
378 return rc; 374 return rc;
379} 375}
380 376EXPORT_SYMBOL(drm_legacy_addmap);
381EXPORT_SYMBOL(drm_addmap);
382 377
383/** 378/**
384 * Ioctl to specify a range of memory that is available for mapping by a 379 * Ioctl to specify a range of memory that is available for mapping by a
@@ -391,8 +386,8 @@ EXPORT_SYMBOL(drm_addmap);
391 * \return zero on success or a negative value on error. 386 * \return zero on success or a negative value on error.
392 * 387 *
393 */ 388 */
394int drm_addmap_ioctl(struct drm_device *dev, void *data, 389int drm_legacy_addmap_ioctl(struct drm_device *dev, void *data,
395 struct drm_file *file_priv) 390 struct drm_file *file_priv)
396{ 391{
397 struct drm_map *map = data; 392 struct drm_map *map = data;
398 struct drm_map_list *maplist; 393 struct drm_map_list *maplist;
@@ -429,9 +424,9 @@ int drm_addmap_ioctl(struct drm_device *dev, void *data,
429 * its being used, and free any associate resource (such as MTRR's) if it's not 424 * its being used, and free any associate resource (such as MTRR's) if it's not
430 * being on use. 425 * being on use.
431 * 426 *
432 * \sa drm_addmap 427 * \sa drm_legacy_addmap
433 */ 428 */
434int drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map) 429int drm_legacy_rmmap_locked(struct drm_device *dev, struct drm_local_map *map)
435{ 430{
436 struct drm_map_list *r_list = NULL, *list_t; 431 struct drm_map_list *r_list = NULL, *list_t;
437 drm_dma_handle_t dmah; 432 drm_dma_handle_t dmah;
@@ -485,19 +480,19 @@ int drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map)
485 480
486 return 0; 481 return 0;
487} 482}
488EXPORT_SYMBOL(drm_rmmap_locked); 483EXPORT_SYMBOL(drm_legacy_rmmap_locked);
489 484
490int drm_rmmap(struct drm_device *dev, struct drm_local_map *map) 485int drm_legacy_rmmap(struct drm_device *dev, struct drm_local_map *map)
491{ 486{
492 int ret; 487 int ret;
493 488
494 mutex_lock(&dev->struct_mutex); 489 mutex_lock(&dev->struct_mutex);
495 ret = drm_rmmap_locked(dev, map); 490 ret = drm_legacy_rmmap_locked(dev, map);
496 mutex_unlock(&dev->struct_mutex); 491 mutex_unlock(&dev->struct_mutex);
497 492
498 return ret; 493 return ret;
499} 494}
500EXPORT_SYMBOL(drm_rmmap); 495EXPORT_SYMBOL(drm_legacy_rmmap);
501 496
502/* The rmmap ioctl appears to be unnecessary. All mappings are torn down on 497/* The rmmap ioctl appears to be unnecessary. All mappings are torn down on
503 * the last close of the device, and this is necessary for cleanup when things 498 * the last close of the device, and this is necessary for cleanup when things
@@ -514,8 +509,8 @@ EXPORT_SYMBOL(drm_rmmap);
514 * \param arg pointer to a struct drm_map structure. 509 * \param arg pointer to a struct drm_map structure.
515 * \return zero on success or a negative value on error. 510 * \return zero on success or a negative value on error.
516 */ 511 */
517int drm_rmmap_ioctl(struct drm_device *dev, void *data, 512int drm_legacy_rmmap_ioctl(struct drm_device *dev, void *data,
518 struct drm_file *file_priv) 513 struct drm_file *file_priv)
519{ 514{
520 struct drm_map *request = data; 515 struct drm_map *request = data;
521 struct drm_local_map *map = NULL; 516 struct drm_local_map *map = NULL;
@@ -546,7 +541,7 @@ int drm_rmmap_ioctl(struct drm_device *dev, void *data,
546 return 0; 541 return 0;
547 } 542 }
548 543
549 ret = drm_rmmap_locked(dev, map); 544 ret = drm_legacy_rmmap_locked(dev, map);
550 545
551 mutex_unlock(&dev->struct_mutex); 546 mutex_unlock(&dev->struct_mutex);
552 547
@@ -599,7 +594,8 @@ static void drm_cleanup_buf_error(struct drm_device * dev,
599 * reallocates the buffer list of the same size order to accommodate the new 594 * reallocates the buffer list of the same size order to accommodate the new
600 * buffers. 595 * buffers.
601 */ 596 */
602int drm_addbufs_agp(struct drm_device * dev, struct drm_buf_desc * request) 597int drm_legacy_addbufs_agp(struct drm_device *dev,
598 struct drm_buf_desc *request)
603{ 599{
604 struct drm_device_dma *dma = dev->dma; 600 struct drm_device_dma *dma = dev->dma;
605 struct drm_buf_entry *entry; 601 struct drm_buf_entry *entry;
@@ -759,10 +755,11 @@ int drm_addbufs_agp(struct drm_device * dev, struct drm_buf_desc * request)
759 atomic_dec(&dev->buf_alloc); 755 atomic_dec(&dev->buf_alloc);
760 return 0; 756 return 0;
761} 757}
762EXPORT_SYMBOL(drm_addbufs_agp); 758EXPORT_SYMBOL(drm_legacy_addbufs_agp);
763#endif /* __OS_HAS_AGP */ 759#endif /* __OS_HAS_AGP */
764 760
765int drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request) 761int drm_legacy_addbufs_pci(struct drm_device *dev,
762 struct drm_buf_desc *request)
766{ 763{
767 struct drm_device_dma *dma = dev->dma; 764 struct drm_device_dma *dma = dev->dma;
768 int count; 765 int count;
@@ -964,9 +961,10 @@ int drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request)
964 return 0; 961 return 0;
965 962
966} 963}
967EXPORT_SYMBOL(drm_addbufs_pci); 964EXPORT_SYMBOL(drm_legacy_addbufs_pci);
968 965
969static int drm_addbufs_sg(struct drm_device * dev, struct drm_buf_desc * request) 966static int drm_legacy_addbufs_sg(struct drm_device *dev,
967 struct drm_buf_desc *request)
970{ 968{
971 struct drm_device_dma *dma = dev->dma; 969 struct drm_device_dma *dma = dev->dma;
972 struct drm_buf_entry *entry; 970 struct drm_buf_entry *entry;
@@ -1135,8 +1133,8 @@ static int drm_addbufs_sg(struct drm_device * dev, struct drm_buf_desc * request
1135 * addbufs_sg() or addbufs_pci() for AGP, scatter-gather or consistent 1133 * addbufs_sg() or addbufs_pci() for AGP, scatter-gather or consistent
1136 * PCI memory respectively. 1134 * PCI memory respectively.
1137 */ 1135 */
1138int drm_addbufs(struct drm_device *dev, void *data, 1136int drm_legacy_addbufs(struct drm_device *dev, void *data,
1139 struct drm_file *file_priv) 1137 struct drm_file *file_priv)
1140{ 1138{
1141 struct drm_buf_desc *request = data; 1139 struct drm_buf_desc *request = data;
1142 int ret; 1140 int ret;
@@ -1149,15 +1147,15 @@ int drm_addbufs(struct drm_device *dev, void *data,
1149 1147
1150#if __OS_HAS_AGP 1148#if __OS_HAS_AGP
1151 if (request->flags & _DRM_AGP_BUFFER) 1149 if (request->flags & _DRM_AGP_BUFFER)
1152 ret = drm_addbufs_agp(dev, request); 1150 ret = drm_legacy_addbufs_agp(dev, request);
1153 else 1151 else
1154#endif 1152#endif
1155 if (request->flags & _DRM_SG_BUFFER) 1153 if (request->flags & _DRM_SG_BUFFER)
1156 ret = drm_addbufs_sg(dev, request); 1154 ret = drm_legacy_addbufs_sg(dev, request);
1157 else if (request->flags & _DRM_FB_BUFFER) 1155 else if (request->flags & _DRM_FB_BUFFER)
1158 ret = -EINVAL; 1156 ret = -EINVAL;
1159 else 1157 else
1160 ret = drm_addbufs_pci(dev, request); 1158 ret = drm_legacy_addbufs_pci(dev, request);
1161 1159
1162 return ret; 1160 return ret;
1163} 1161}
@@ -1179,8 +1177,8 @@ int drm_addbufs(struct drm_device *dev, void *data,
1179 * lock, preventing of allocating more buffers after this call. Information 1177 * lock, preventing of allocating more buffers after this call. Information
1180 * about each requested buffer is then copied into user space. 1178 * about each requested buffer is then copied into user space.
1181 */ 1179 */
1182int drm_infobufs(struct drm_device *dev, void *data, 1180int drm_legacy_infobufs(struct drm_device *dev, void *data,
1183 struct drm_file *file_priv) 1181 struct drm_file *file_priv)
1184{ 1182{
1185 struct drm_device_dma *dma = dev->dma; 1183 struct drm_device_dma *dma = dev->dma;
1186 struct drm_buf_info *request = data; 1184 struct drm_buf_info *request = data;
@@ -1260,8 +1258,8 @@ int drm_infobufs(struct drm_device *dev, void *data,
1260 * 1258 *
1261 * \note This ioctl is deprecated and mostly never used. 1259 * \note This ioctl is deprecated and mostly never used.
1262 */ 1260 */
1263int drm_markbufs(struct drm_device *dev, void *data, 1261int drm_legacy_markbufs(struct drm_device *dev, void *data,
1264 struct drm_file *file_priv) 1262 struct drm_file *file_priv)
1265{ 1263{
1266 struct drm_device_dma *dma = dev->dma; 1264 struct drm_device_dma *dma = dev->dma;
1267 struct drm_buf_desc *request = data; 1265 struct drm_buf_desc *request = data;
@@ -1307,8 +1305,8 @@ int drm_markbufs(struct drm_device *dev, void *data,
1307 * Calls free_buffer() for each used buffer. 1305 * Calls free_buffer() for each used buffer.
1308 * This function is primarily used for debugging. 1306 * This function is primarily used for debugging.
1309 */ 1307 */
1310int drm_freebufs(struct drm_device *dev, void *data, 1308int drm_legacy_freebufs(struct drm_device *dev, void *data,
1311 struct drm_file *file_priv) 1309 struct drm_file *file_priv)
1312{ 1310{
1313 struct drm_device_dma *dma = dev->dma; 1311 struct drm_device_dma *dma = dev->dma;
1314 struct drm_buf_free *request = data; 1312 struct drm_buf_free *request = data;
@@ -1360,8 +1358,8 @@ int drm_freebufs(struct drm_device *dev, void *data,
1360 * offset equal to 0, which drm_mmap() interpretes as PCI buffers and calls 1358 * offset equal to 0, which drm_mmap() interpretes as PCI buffers and calls
1361 * drm_mmap_dma(). 1359 * drm_mmap_dma().
1362 */ 1360 */
1363int drm_mapbufs(struct drm_device *dev, void *data, 1361int drm_legacy_mapbufs(struct drm_device *dev, void *data,
1364 struct drm_file *file_priv) 1362 struct drm_file *file_priv)
1365{ 1363{
1366 struct drm_device_dma *dma = dev->dma; 1364 struct drm_device_dma *dma = dev->dma;
1367 int retcode = 0; 1365 int retcode = 0;
@@ -1448,7 +1446,7 @@ int drm_mapbufs(struct drm_device *dev, void *data,
1448 return retcode; 1446 return retcode;
1449} 1447}
1450 1448
1451int drm_dma_ioctl(struct drm_device *dev, void *data, 1449int drm_legacy_dma_ioctl(struct drm_device *dev, void *data,
1452 struct drm_file *file_priv) 1450 struct drm_file *file_priv)
1453{ 1451{
1454 if (drm_core_check_feature(dev, DRIVER_MODESET)) 1452 if (drm_core_check_feature(dev, DRIVER_MODESET))
@@ -1460,7 +1458,7 @@ int drm_dma_ioctl(struct drm_device *dev, void *data,
1460 return -EINVAL; 1458 return -EINVAL;
1461} 1459}
1462 1460
1463struct drm_local_map *drm_getsarea(struct drm_device *dev) 1461struct drm_local_map *drm_legacy_getsarea(struct drm_device *dev)
1464{ 1462{
1465 struct drm_map_list *entry; 1463 struct drm_map_list *entry;
1466 1464
@@ -1472,4 +1470,4 @@ struct drm_local_map *drm_getsarea(struct drm_device *dev)
1472 } 1470 }
1473 return NULL; 1471 return NULL;
1474} 1472}
1475EXPORT_SYMBOL(drm_getsarea); 1473EXPORT_SYMBOL(drm_legacy_getsarea);
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index 3242e208c0d0..b1587e2e10fc 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -143,7 +143,7 @@ static void drm_master_destroy(struct kref *kref)
143 143
144 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) { 144 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) {
145 if (r_list->master == master) { 145 if (r_list->master == master) {
146 drm_rmmap_locked(dev, r_list->map); 146 drm_legacy_rmmap_locked(dev, r_list->map);
147 r_list = NULL; 147 r_list = NULL;
148 } 148 }
149 } 149 }
@@ -779,7 +779,7 @@ void drm_dev_unregister(struct drm_device *dev)
779 drm_vblank_cleanup(dev); 779 drm_vblank_cleanup(dev);
780 780
781 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) 781 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head)
782 drm_rmmap(dev, r_list->map); 782 drm_legacy_rmmap(dev, r_list->map);
783 783
784 drm_minor_unregister(dev, DRM_MINOR_LEGACY); 784 drm_minor_unregister(dev, DRM_MINOR_LEGACY);
785 drm_minor_unregister(dev, DRM_MINOR_RENDER); 785 drm_minor_unregister(dev, DRM_MINOR_RENDER);
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 40be746b7e68..aa1ac79bccbc 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -62,8 +62,8 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
62 DRM_IOCTL_DEF(DRM_IOCTL_UNBLOCK, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 62 DRM_IOCTL_DEF(DRM_IOCTL_UNBLOCK, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
63 DRM_IOCTL_DEF(DRM_IOCTL_AUTH_MAGIC, drm_authmagic, DRM_AUTH|DRM_MASTER), 63 DRM_IOCTL_DEF(DRM_IOCTL_AUTH_MAGIC, drm_authmagic, DRM_AUTH|DRM_MASTER),
64 64
65 DRM_IOCTL_DEF(DRM_IOCTL_ADD_MAP, drm_addmap_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 65 DRM_IOCTL_DEF(DRM_IOCTL_ADD_MAP, drm_legacy_addmap_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
66 DRM_IOCTL_DEF(DRM_IOCTL_RM_MAP, drm_rmmap_ioctl, DRM_AUTH), 66 DRM_IOCTL_DEF(DRM_IOCTL_RM_MAP, drm_legacy_rmmap_ioctl, DRM_AUTH),
67 67
68 DRM_IOCTL_DEF(DRM_IOCTL_SET_SAREA_CTX, drm_legacy_setsareactx, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 68 DRM_IOCTL_DEF(DRM_IOCTL_SET_SAREA_CTX, drm_legacy_setsareactx, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
69 DRM_IOCTL_DEF(DRM_IOCTL_GET_SAREA_CTX, drm_legacy_getsareactx, DRM_AUTH), 69 DRM_IOCTL_DEF(DRM_IOCTL_GET_SAREA_CTX, drm_legacy_getsareactx, DRM_AUTH),
@@ -87,12 +87,12 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
87 87
88 DRM_IOCTL_DEF(DRM_IOCTL_FINISH, drm_noop, DRM_AUTH), 88 DRM_IOCTL_DEF(DRM_IOCTL_FINISH, drm_noop, DRM_AUTH),
89 89
90 DRM_IOCTL_DEF(DRM_IOCTL_ADD_BUFS, drm_addbufs, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 90 DRM_IOCTL_DEF(DRM_IOCTL_ADD_BUFS, drm_legacy_addbufs, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
91 DRM_IOCTL_DEF(DRM_IOCTL_MARK_BUFS, drm_markbufs, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 91 DRM_IOCTL_DEF(DRM_IOCTL_MARK_BUFS, drm_legacy_markbufs, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
92 DRM_IOCTL_DEF(DRM_IOCTL_INFO_BUFS, drm_infobufs, DRM_AUTH), 92 DRM_IOCTL_DEF(DRM_IOCTL_INFO_BUFS, drm_legacy_infobufs, DRM_AUTH),
93 DRM_IOCTL_DEF(DRM_IOCTL_MAP_BUFS, drm_mapbufs, DRM_AUTH), 93 DRM_IOCTL_DEF(DRM_IOCTL_MAP_BUFS, drm_legacy_mapbufs, DRM_AUTH),
94 DRM_IOCTL_DEF(DRM_IOCTL_FREE_BUFS, drm_freebufs, DRM_AUTH), 94 DRM_IOCTL_DEF(DRM_IOCTL_FREE_BUFS, drm_legacy_freebufs, DRM_AUTH),
95 DRM_IOCTL_DEF(DRM_IOCTL_DMA, drm_dma_ioctl, DRM_AUTH), 95 DRM_IOCTL_DEF(DRM_IOCTL_DMA, drm_legacy_dma_ioctl, DRM_AUTH),
96 96
97 DRM_IOCTL_DEF(DRM_IOCTL_CONTROL, drm_control, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 97 DRM_IOCTL_DEF(DRM_IOCTL_CONTROL, drm_control, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
98 98
diff --git a/drivers/gpu/drm/drm_legacy.h b/drivers/gpu/drm/drm_legacy.h
index d34f20a79b7c..47cb9de98fb9 100644
--- a/drivers/gpu/drm/drm_legacy.h
+++ b/drivers/gpu/drm/drm_legacy.h
@@ -23,6 +23,11 @@
23 * OTHER DEALINGS IN THE SOFTWARE. 23 * OTHER DEALINGS IN THE SOFTWARE.
24 */ 24 */
25 25
26/*
27 * This file contains legacy interfaces that modern drm drivers
28 * should no longer be using. They cannot be removed as legacy
29 * drivers use them, and removing them are API breaks.
30 */
26struct drm_device; 31struct drm_device;
27struct drm_file; 32struct drm_file;
28 33
@@ -48,4 +53,19 @@ int drm_legacy_rmctx(struct drm_device *d, void *v, struct drm_file *f);
48int drm_legacy_setsareactx(struct drm_device *d, void *v, struct drm_file *f); 53int drm_legacy_setsareactx(struct drm_device *d, void *v, struct drm_file *f);
49int drm_legacy_getsareactx(struct drm_device *d, void *v, struct drm_file *f); 54int drm_legacy_getsareactx(struct drm_device *d, void *v, struct drm_file *f);
50 55
56/*
57 * Generic Buffer Management
58 */
59
60#define DRM_MAP_HASH_OFFSET 0x10000000
61
62int drm_legacy_addmap_ioctl(struct drm_device *d, void *v, struct drm_file *f);
63int drm_legacy_rmmap_ioctl(struct drm_device *d, void *v, struct drm_file *f);
64int drm_legacy_addbufs(struct drm_device *d, void *v, struct drm_file *f);
65int drm_legacy_infobufs(struct drm_device *d, void *v, struct drm_file *f);
66int drm_legacy_markbufs(struct drm_device *d, void *v, struct drm_file *f);
67int drm_legacy_freebufs(struct drm_device *d, void *v, struct drm_file *f);
68int drm_legacy_mapbufs(struct drm_device *d, void *v, struct drm_file *f);
69int drm_legacy_dma_ioctl(struct drm_device *d, void *v, struct drm_file *f);
70
51#endif /* __DRM_LEGACY_H__ */ 71#endif /* __DRM_LEGACY_H__ */
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 3f676f904f7e..689c3326636f 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -196,7 +196,7 @@ static int i915_initialize(struct drm_device *dev, drm_i915_init_t *init)
196 struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; 196 struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;
197 int ret; 197 int ret;
198 198
199 master_priv->sarea = drm_getsarea(dev); 199 master_priv->sarea = drm_legacy_getsarea(dev);
200 if (master_priv->sarea) { 200 if (master_priv->sarea) {
201 master_priv->sarea_priv = (drm_i915_sarea_t *) 201 master_priv->sarea_priv = (drm_i915_sarea_t *)
202 ((u8 *)master_priv->sarea->handle + init->sarea_priv_offset); 202 ((u8 *)master_priv->sarea->handle + init->sarea_priv_offset);
diff --git a/drivers/gpu/drm/mga/mga_dma.c b/drivers/gpu/drm/mga/mga_dma.c
index c3bf059ba720..37d80c122483 100644
--- a/drivers/gpu/drm/mga/mga_dma.c
+++ b/drivers/gpu/drm/mga/mga_dma.c
@@ -502,31 +502,31 @@ static int mga_do_agp_dma_bootstrap(struct drm_device *dev,
502 return err; 502 return err;
503 } 503 }
504 504
505 /* Make drm_addbufs happy by not trying to create a mapping for less 505 /* Make drm_legacy_addbufs happy by not trying to create a mapping for
506 * than a page. 506 * less than a page.
507 */ 507 */
508 if (warp_size < PAGE_SIZE) 508 if (warp_size < PAGE_SIZE)
509 warp_size = PAGE_SIZE; 509 warp_size = PAGE_SIZE;
510 510
511 offset = 0; 511 offset = 0;
512 err = drm_addmap(dev, offset, warp_size, 512 err = drm_legacy_addmap(dev, offset, warp_size,
513 _DRM_AGP, _DRM_READ_ONLY, &dev_priv->warp); 513 _DRM_AGP, _DRM_READ_ONLY, &dev_priv->warp);
514 if (err) { 514 if (err) {
515 DRM_ERROR("Unable to map WARP microcode: %d\n", err); 515 DRM_ERROR("Unable to map WARP microcode: %d\n", err);
516 return err; 516 return err;
517 } 517 }
518 518
519 offset += warp_size; 519 offset += warp_size;
520 err = drm_addmap(dev, offset, dma_bs->primary_size, 520 err = drm_legacy_addmap(dev, offset, dma_bs->primary_size,
521 _DRM_AGP, _DRM_READ_ONLY, &dev_priv->primary); 521 _DRM_AGP, _DRM_READ_ONLY, &dev_priv->primary);
522 if (err) { 522 if (err) {
523 DRM_ERROR("Unable to map primary DMA region: %d\n", err); 523 DRM_ERROR("Unable to map primary DMA region: %d\n", err);
524 return err; 524 return err;
525 } 525 }
526 526
527 offset += dma_bs->primary_size; 527 offset += dma_bs->primary_size;
528 err = drm_addmap(dev, offset, secondary_size, 528 err = drm_legacy_addmap(dev, offset, secondary_size,
529 _DRM_AGP, 0, &dev->agp_buffer_map); 529 _DRM_AGP, 0, &dev->agp_buffer_map);
530 if (err) { 530 if (err) {
531 DRM_ERROR("Unable to map secondary DMA region: %d\n", err); 531 DRM_ERROR("Unable to map secondary DMA region: %d\n", err);
532 return err; 532 return err;
@@ -538,7 +538,7 @@ static int mga_do_agp_dma_bootstrap(struct drm_device *dev,
538 req.flags = _DRM_AGP_BUFFER; 538 req.flags = _DRM_AGP_BUFFER;
539 req.agp_start = offset; 539 req.agp_start = offset;
540 540
541 err = drm_addbufs_agp(dev, &req); 541 err = drm_legacy_addbufs_agp(dev, &req);
542 if (err) { 542 if (err) {
543 DRM_ERROR("Unable to add secondary DMA buffers: %d\n", err); 543 DRM_ERROR("Unable to add secondary DMA buffers: %d\n", err);
544 return err; 544 return err;
@@ -559,8 +559,8 @@ static int mga_do_agp_dma_bootstrap(struct drm_device *dev,
559 } 559 }
560 560
561 offset += secondary_size; 561 offset += secondary_size;
562 err = drm_addmap(dev, offset, agp_size - offset, 562 err = drm_legacy_addmap(dev, offset, agp_size - offset,
563 _DRM_AGP, 0, &dev_priv->agp_textures); 563 _DRM_AGP, 0, &dev_priv->agp_textures);
564 if (err) { 564 if (err) {
565 DRM_ERROR("Unable to map AGP texture region %d\n", err); 565 DRM_ERROR("Unable to map AGP texture region %d\n", err);
566 return err; 566 return err;
@@ -602,7 +602,7 @@ static int mga_do_agp_dma_bootstrap(struct drm_device *dev,
602 * 602 *
603 * \todo 603 * \todo
604 * Determine whether the maximum address passed to drm_pci_alloc is correct. 604 * Determine whether the maximum address passed to drm_pci_alloc is correct.
605 * The same goes for drm_addbufs_pci. 605 * The same goes for drm_legacy_addbufs_pci.
606 * 606 *
607 * \sa mga_do_dma_bootstrap, mga_do_agp_dma_bootstrap 607 * \sa mga_do_dma_bootstrap, mga_do_agp_dma_bootstrap
608 */ 608 */
@@ -622,15 +622,15 @@ static int mga_do_pci_dma_bootstrap(struct drm_device *dev,
622 return -EFAULT; 622 return -EFAULT;
623 } 623 }
624 624
625 /* Make drm_addbufs happy by not trying to create a mapping for less 625 /* Make drm_legacy_addbufs happy by not trying to create a mapping for
626 * than a page. 626 * less than a page.
627 */ 627 */
628 if (warp_size < PAGE_SIZE) 628 if (warp_size < PAGE_SIZE)
629 warp_size = PAGE_SIZE; 629 warp_size = PAGE_SIZE;
630 630
631 /* The proper alignment is 0x100 for this mapping */ 631 /* The proper alignment is 0x100 for this mapping */
632 err = drm_addmap(dev, 0, warp_size, _DRM_CONSISTENT, 632 err = drm_legacy_addmap(dev, 0, warp_size, _DRM_CONSISTENT,
633 _DRM_READ_ONLY, &dev_priv->warp); 633 _DRM_READ_ONLY, &dev_priv->warp);
634 if (err != 0) { 634 if (err != 0) {
635 DRM_ERROR("Unable to create mapping for WARP microcode: %d\n", 635 DRM_ERROR("Unable to create mapping for WARP microcode: %d\n",
636 err); 636 err);
@@ -645,8 +645,8 @@ static int mga_do_pci_dma_bootstrap(struct drm_device *dev,
645 for (primary_size = dma_bs->primary_size; primary_size != 0; 645 for (primary_size = dma_bs->primary_size; primary_size != 0;
646 primary_size >>= 1) { 646 primary_size >>= 1) {
647 /* The proper alignment for this mapping is 0x04 */ 647 /* The proper alignment for this mapping is 0x04 */
648 err = drm_addmap(dev, 0, primary_size, _DRM_CONSISTENT, 648 err = drm_legacy_addmap(dev, 0, primary_size, _DRM_CONSISTENT,
649 _DRM_READ_ONLY, &dev_priv->primary); 649 _DRM_READ_ONLY, &dev_priv->primary);
650 if (!err) 650 if (!err)
651 break; 651 break;
652 } 652 }
@@ -669,7 +669,7 @@ static int mga_do_pci_dma_bootstrap(struct drm_device *dev,
669 req.count = bin_count; 669 req.count = bin_count;
670 req.size = dma_bs->secondary_bin_size; 670 req.size = dma_bs->secondary_bin_size;
671 671
672 err = drm_addbufs_pci(dev, &req); 672 err = drm_legacy_addbufs_pci(dev, &req);
673 if (!err) 673 if (!err)
674 break; 674 break;
675 } 675 }
@@ -708,15 +708,16 @@ static int mga_do_dma_bootstrap(struct drm_device *dev,
708 /* The first steps are the same for both PCI and AGP based DMA. Map 708 /* The first steps are the same for both PCI and AGP based DMA. Map
709 * the cards MMIO registers and map a status page. 709 * the cards MMIO registers and map a status page.
710 */ 710 */
711 err = drm_addmap(dev, dev_priv->mmio_base, dev_priv->mmio_size, 711 err = drm_legacy_addmap(dev, dev_priv->mmio_base, dev_priv->mmio_size,
712 _DRM_REGISTERS, _DRM_READ_ONLY, &dev_priv->mmio); 712 _DRM_REGISTERS, _DRM_READ_ONLY,
713 &dev_priv->mmio);
713 if (err) { 714 if (err) {
714 DRM_ERROR("Unable to map MMIO region: %d\n", err); 715 DRM_ERROR("Unable to map MMIO region: %d\n", err);
715 return err; 716 return err;
716 } 717 }
717 718
718 err = drm_addmap(dev, 0, SAREA_MAX, _DRM_SHM, 719 err = drm_legacy_addmap(dev, 0, SAREA_MAX, _DRM_SHM,
719 _DRM_READ_ONLY | _DRM_LOCKED | _DRM_KERNEL, 720 _DRM_READ_ONLY | _DRM_LOCKED | _DRM_KERNEL,
720 &dev_priv->status); 721 &dev_priv->status);
721 if (err) { 722 if (err) {
722 DRM_ERROR("Unable to map status region: %d\n", err); 723 DRM_ERROR("Unable to map status region: %d\n", err);
@@ -809,7 +810,7 @@ static int mga_do_init_dma(struct drm_device *dev, drm_mga_init_t *init)
809 dev_priv->texture_offset = init->texture_offset[0]; 810 dev_priv->texture_offset = init->texture_offset[0];
810 dev_priv->texture_size = init->texture_size[0]; 811 dev_priv->texture_size = init->texture_size[0];
811 812
812 dev_priv->sarea = drm_getsarea(dev); 813 dev_priv->sarea = drm_legacy_getsarea(dev);
813 if (!dev_priv->sarea) { 814 if (!dev_priv->sarea) {
814 DRM_ERROR("failed to find sarea!\n"); 815 DRM_ERROR("failed to find sarea!\n");
815 return -EINVAL; 816 return -EINVAL;
diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c
index 59459fe4e8c5..1fae2f706b01 100644
--- a/drivers/gpu/drm/r128/r128_cce.c
+++ b/drivers/gpu/drm/r128/r128_cce.c
@@ -452,7 +452,7 @@ static int r128_do_init_cce(struct drm_device *dev, drm_r128_init_t *init)
452 dev_priv->span_pitch_offset_c = (((dev_priv->depth_pitch / 8) << 21) | 452 dev_priv->span_pitch_offset_c = (((dev_priv->depth_pitch / 8) << 21) |
453 (dev_priv->span_offset >> 5)); 453 (dev_priv->span_offset >> 5));
454 454
455 dev_priv->sarea = drm_getsarea(dev); 455 dev_priv->sarea = drm_legacy_getsarea(dev);
456 if (!dev_priv->sarea) { 456 if (!dev_priv->sarea) {
457 DRM_ERROR("could not find sarea!\n"); 457 DRM_ERROR("could not find sarea!\n");
458 dev->dev_private = (void *)dev_priv; 458 dev->dev_private = (void *)dev_priv;
diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c
index 8c9b7e26533c..639d6681ef5b 100644
--- a/drivers/gpu/drm/radeon/r600_cp.c
+++ b/drivers/gpu/drm/radeon/r600_cp.c
@@ -2052,7 +2052,7 @@ int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init,
2052 dev_priv->buffers_offset = init->buffers_offset; 2052 dev_priv->buffers_offset = init->buffers_offset;
2053 dev_priv->gart_textures_offset = init->gart_textures_offset; 2053 dev_priv->gart_textures_offset = init->gart_textures_offset;
2054 2054
2055 master_priv->sarea = drm_getsarea(dev); 2055 master_priv->sarea = drm_legacy_getsarea(dev);
2056 if (!master_priv->sarea) { 2056 if (!master_priv->sarea) {
2057 DRM_ERROR("could not find sarea!\n"); 2057 DRM_ERROR("could not find sarea!\n");
2058 r600_do_cleanup_cp(dev); 2058 r600_do_cleanup_cp(dev);
diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c
index bb0d5c3a8311..0c388016eecb 100644
--- a/drivers/gpu/drm/radeon/radeon_cp.c
+++ b/drivers/gpu/drm/radeon/radeon_cp.c
@@ -1298,7 +1298,7 @@ static int radeon_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init,
1298 dev_priv->buffers_offset = init->buffers_offset; 1298 dev_priv->buffers_offset = init->buffers_offset;
1299 dev_priv->gart_textures_offset = init->gart_textures_offset; 1299 dev_priv->gart_textures_offset = init->gart_textures_offset;
1300 1300
1301 master_priv->sarea = drm_getsarea(dev); 1301 master_priv->sarea = drm_legacy_getsarea(dev);
1302 if (!master_priv->sarea) { 1302 if (!master_priv->sarea) {
1303 DRM_ERROR("could not find sarea!\n"); 1303 DRM_ERROR("could not find sarea!\n");
1304 radeon_do_cleanup_cp(dev); 1304 radeon_do_cleanup_cp(dev);
@@ -2106,9 +2106,9 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags)
2106 else 2106 else
2107 dev_priv->flags |= RADEON_IS_PCI; 2107 dev_priv->flags |= RADEON_IS_PCI;
2108 2108
2109 ret = drm_addmap(dev, pci_resource_start(dev->pdev, 2), 2109 ret = drm_legacy_addmap(dev, pci_resource_start(dev->pdev, 2),
2110 pci_resource_len(dev->pdev, 2), _DRM_REGISTERS, 2110 pci_resource_len(dev->pdev, 2), _DRM_REGISTERS,
2111 _DRM_READ_ONLY | _DRM_DRIVER, &dev_priv->mmio); 2111 _DRM_READ_ONLY | _DRM_DRIVER, &dev_priv->mmio);
2112 if (ret != 0) 2112 if (ret != 0)
2113 return ret; 2113 return ret;
2114 2114
@@ -2135,8 +2135,8 @@ int radeon_master_create(struct drm_device *dev, struct drm_master *master)
2135 2135
2136 /* prebuild the SAREA */ 2136 /* prebuild the SAREA */
2137 sareapage = max_t(unsigned long, SAREA_MAX, PAGE_SIZE); 2137 sareapage = max_t(unsigned long, SAREA_MAX, PAGE_SIZE);
2138 ret = drm_addmap(dev, 0, sareapage, _DRM_SHM, _DRM_CONTAINS_LOCK, 2138 ret = drm_legacy_addmap(dev, 0, sareapage, _DRM_SHM, _DRM_CONTAINS_LOCK,
2139 &master_priv->sarea); 2139 &master_priv->sarea);
2140 if (ret) { 2140 if (ret) {
2141 DRM_ERROR("SAREA setup failed\n"); 2141 DRM_ERROR("SAREA setup failed\n");
2142 kfree(master_priv); 2142 kfree(master_priv);
@@ -2162,7 +2162,7 @@ void radeon_master_destroy(struct drm_device *dev, struct drm_master *master)
2162 2162
2163 master_priv->sarea_priv = NULL; 2163 master_priv->sarea_priv = NULL;
2164 if (master_priv->sarea) 2164 if (master_priv->sarea)
2165 drm_rmmap_locked(dev, master_priv->sarea); 2165 drm_legacy_rmmap_locked(dev, master_priv->sarea);
2166 2166
2167 kfree(master_priv); 2167 kfree(master_priv);
2168 2168
@@ -2181,9 +2181,9 @@ int radeon_driver_firstopen(struct drm_device *dev)
2181 dev_priv->gart_info.table_size = RADEON_PCIGART_TABLE_SIZE; 2181 dev_priv->gart_info.table_size = RADEON_PCIGART_TABLE_SIZE;
2182 2182
2183 dev_priv->fb_aper_offset = pci_resource_start(dev->pdev, 0); 2183 dev_priv->fb_aper_offset = pci_resource_start(dev->pdev, 0);
2184 ret = drm_addmap(dev, dev_priv->fb_aper_offset, 2184 ret = drm_legacy_addmap(dev, dev_priv->fb_aper_offset,
2185 pci_resource_len(dev->pdev, 0), _DRM_FRAME_BUFFER, 2185 pci_resource_len(dev->pdev, 0),
2186 _DRM_WRITE_COMBINING, &map); 2186 _DRM_FRAME_BUFFER, _DRM_WRITE_COMBINING, &map);
2187 if (ret != 0) 2187 if (ret != 0)
2188 return ret; 2188 return ret;
2189 2189
@@ -2196,7 +2196,7 @@ int radeon_driver_unload(struct drm_device *dev)
2196 2196
2197 DRM_DEBUG("\n"); 2197 DRM_DEBUG("\n");
2198 2198
2199 drm_rmmap(dev, dev_priv->mmio); 2199 drm_legacy_rmmap(dev, dev_priv->mmio);
2200 2200
2201 kfree(dev_priv); 2201 kfree(dev_priv);
2202 2202
diff --git a/drivers/gpu/drm/savage/savage_bci.c b/drivers/gpu/drm/savage/savage_bci.c
index c97cdc9ab239..82a078ca04f7 100644
--- a/drivers/gpu/drm/savage/savage_bci.c
+++ b/drivers/gpu/drm/savage/savage_bci.c
@@ -556,7 +556,7 @@ int savage_driver_load(struct drm_device *dev, unsigned long chipset)
556/* 556/*
557 * Initialize mappings. On Savage4 and SavageIX the alignment 557 * Initialize mappings. On Savage4 and SavageIX the alignment
558 * and size of the aperture is not suitable for automatic MTRR setup 558 * and size of the aperture is not suitable for automatic MTRR setup
559 * in drm_addmap. Therefore we add them manually before the maps are 559 * in drm_legacy_addmap. Therefore we add them manually before the maps are
560 * initialized, and tear them down on last close. 560 * initialized, and tear them down on last close.
561 */ 561 */
562int savage_driver_firstopen(struct drm_device *dev) 562int savage_driver_firstopen(struct drm_device *dev)
@@ -624,19 +624,20 @@ int savage_driver_firstopen(struct drm_device *dev)
624 /* Automatic MTRR setup will do the right thing. */ 624 /* Automatic MTRR setup will do the right thing. */
625 } 625 }
626 626
627 ret = drm_addmap(dev, mmio_base, SAVAGE_MMIO_SIZE, _DRM_REGISTERS, 627 ret = drm_legacy_addmap(dev, mmio_base, SAVAGE_MMIO_SIZE,
628 _DRM_READ_ONLY, &dev_priv->mmio); 628 _DRM_REGISTERS, _DRM_READ_ONLY,
629 &dev_priv->mmio);
629 if (ret) 630 if (ret)
630 return ret; 631 return ret;
631 632
632 ret = drm_addmap(dev, fb_base, fb_size, _DRM_FRAME_BUFFER, 633 ret = drm_legacy_addmap(dev, fb_base, fb_size, _DRM_FRAME_BUFFER,
633 _DRM_WRITE_COMBINING, &dev_priv->fb); 634 _DRM_WRITE_COMBINING, &dev_priv->fb);
634 if (ret) 635 if (ret)
635 return ret; 636 return ret;
636 637
637 ret = drm_addmap(dev, aperture_base, SAVAGE_APERTURE_SIZE, 638 ret = drm_legacy_addmap(dev, aperture_base, SAVAGE_APERTURE_SIZE,
638 _DRM_FRAME_BUFFER, _DRM_WRITE_COMBINING, 639 _DRM_FRAME_BUFFER, _DRM_WRITE_COMBINING,
639 &dev_priv->aperture); 640 &dev_priv->aperture);
640 return ret; 641 return ret;
641} 642}
642 643
@@ -698,7 +699,7 @@ static int savage_do_init_bci(struct drm_device * dev, drm_savage_init_t * init)
698 dev_priv->texture_offset = init->texture_offset; 699 dev_priv->texture_offset = init->texture_offset;
699 dev_priv->texture_size = init->texture_size; 700 dev_priv->texture_size = init->texture_size;
700 701
701 dev_priv->sarea = drm_getsarea(dev); 702 dev_priv->sarea = drm_legacy_getsarea(dev);
702 if (!dev_priv->sarea) { 703 if (!dev_priv->sarea) {
703 DRM_ERROR("could not find sarea!\n"); 704 DRM_ERROR("could not find sarea!\n");
704 savage_do_cleanup_bci(dev); 705 savage_do_cleanup_bci(dev);
diff --git a/drivers/gpu/drm/via/via_map.c b/drivers/gpu/drm/via/via_map.c
index d0ab3fb32acd..67e70e955504 100644
--- a/drivers/gpu/drm/via/via_map.c
+++ b/drivers/gpu/drm/via/via_map.c
@@ -31,7 +31,7 @@ static int via_do_init_map(struct drm_device *dev, drm_via_init_t *init)
31 31
32 DRM_DEBUG("\n"); 32 DRM_DEBUG("\n");
33 33
34 dev_priv->sarea = drm_getsarea(dev); 34 dev_priv->sarea = drm_legacy_getsarea(dev);
35 if (!dev_priv->sarea) { 35 if (!dev_priv->sarea) {
36 DRM_ERROR("could not find sarea!\n"); 36 DRM_ERROR("could not find sarea!\n");
37 dev->dev_private = (void *)dev_priv; 37 dev->dev_private = (void *)dev_priv;
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 6b4fbf3a3263..cea7911265a3 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -153,8 +153,6 @@ int drm_err(const char *func, const char *format, ...);
153 153
154#define DRM_MAGIC_HASH_ORDER 4 /**< Size of key hash table. Must be power of 2. */ 154#define DRM_MAGIC_HASH_ORDER 4 /**< Size of key hash table. Must be power of 2. */
155 155
156#define DRM_MAP_HASH_OFFSET 0x10000000
157
158/*@}*/ 156/*@}*/
159 157
160/***********************************************************************/ 158/***********************************************************************/
@@ -1243,31 +1241,6 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);
1243 1241
1244extern int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv); 1242extern int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv);
1245 1243
1246 /* Buffer management support (drm_bufs.h) */
1247extern int drm_addbufs_agp(struct drm_device *dev, struct drm_buf_desc * request);
1248extern int drm_addbufs_pci(struct drm_device *dev, struct drm_buf_desc * request);
1249extern int drm_addmap(struct drm_device *dev, resource_size_t offset,
1250 unsigned int size, enum drm_map_type type,
1251 enum drm_map_flags flags, struct drm_local_map **map_ptr);
1252extern int drm_addmap_ioctl(struct drm_device *dev, void *data,
1253 struct drm_file *file_priv);
1254extern int drm_rmmap(struct drm_device *dev, struct drm_local_map *map);
1255extern int drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map);
1256extern int drm_rmmap_ioctl(struct drm_device *dev, void *data,
1257 struct drm_file *file_priv);
1258extern int drm_addbufs(struct drm_device *dev, void *data,
1259 struct drm_file *file_priv);
1260extern int drm_infobufs(struct drm_device *dev, void *data,
1261 struct drm_file *file_priv);
1262extern int drm_markbufs(struct drm_device *dev, void *data,
1263 struct drm_file *file_priv);
1264extern int drm_freebufs(struct drm_device *dev, void *data,
1265 struct drm_file *file_priv);
1266extern int drm_mapbufs(struct drm_device *dev, void *data,
1267 struct drm_file *file_priv);
1268extern int drm_dma_ioctl(struct drm_device *dev, void *data,
1269 struct drm_file *file_priv);
1270
1271 /* DMA support (drm_dma.h) */ 1244 /* DMA support (drm_dma.h) */
1272extern int drm_legacy_dma_setup(struct drm_device *dev); 1245extern int drm_legacy_dma_setup(struct drm_device *dev);
1273extern void drm_legacy_dma_takedown(struct drm_device *dev); 1246extern void drm_legacy_dma_takedown(struct drm_device *dev);
@@ -1354,8 +1327,6 @@ extern unsigned int drm_timestamp_monotonic;
1354 1327
1355extern struct class *drm_class; 1328extern struct class *drm_class;
1356 1329
1357extern struct drm_local_map *drm_getsarea(struct drm_device *dev);
1358
1359 /* Debugfs support */ 1330 /* Debugfs support */
1360#if defined(CONFIG_DEBUG_FS) 1331#if defined(CONFIG_DEBUG_FS)
1361extern int drm_debugfs_init(struct drm_minor *minor, int minor_id, 1332extern int drm_debugfs_init(struct drm_minor *minor, int minor_id,
@@ -1466,6 +1437,18 @@ extern int drm_pci_set_unique(struct drm_device *dev,
1466 struct drm_master *master, 1437 struct drm_master *master,
1467 struct drm_unique *u); 1438 struct drm_unique *u);
1468 1439
1440 /* Legacy Support */
1441
1442int drm_legacy_addmap(struct drm_device *d, resource_size_t offset,
1443 unsigned int size, enum drm_map_type type,
1444 enum drm_map_flags flags, struct drm_local_map **map_p);
1445int drm_legacy_rmmap(struct drm_device *d, struct drm_local_map *map);
1446int drm_legacy_rmmap_locked(struct drm_device *d, struct drm_local_map *map);
1447struct drm_local_map *drm_legacy_getsarea(struct drm_device *dev);
1448
1449int drm_legacy_addbufs_agp(struct drm_device *d, struct drm_buf_desc *req);
1450int drm_legacy_addbufs_pci(struct drm_device *d, struct drm_buf_desc *req);
1451
1469 /* sysfs support (drm_sysfs.c) */ 1452 /* sysfs support (drm_sysfs.c) */
1470struct drm_sysfs_class; 1453struct drm_sysfs_class;
1471extern struct class *drm_sysfs_create(struct module *owner, char *name); 1454extern struct class *drm_sysfs_create(struct module *owner, char *name);