aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/drmP.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2007-08-25 06:23:09 -0400
committerDave Airlie <airlied@optimus.(none)>2007-10-14 20:38:20 -0400
commit6c340eac0285f3d62406d2d902d0e96fbf2a5dc0 (patch)
treea92039951cb7eaced306cfff2bad6af0ac5257ad /drivers/char/drm/drmP.h
parent20caafa6ecb2487d9b223aa33e7cc704f912a758 (diff)
drm: Replace filp in ioctl arguments with drm_file *file_priv.
As a fallout, replace filp storage with file_priv storage for "unique identifier of a client" all over the DRM. There is a 1:1 mapping, so this should be a noop. This could be a minor performance improvement, as everyth on Linux dereferenced filp to get file_priv anyway, while only the mmap ioct went the other direction. Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/drmP.h')
-rw-r--r--drivers/char/drm/drmP.h112
1 files changed, 58 insertions, 54 deletions
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
index 0df87fc3dcb2..9c53b8883139 100644
--- a/drivers/char/drm/drmP.h
+++ b/drivers/char/drm/drmP.h
@@ -34,6 +34,8 @@
34#ifndef _DRM_P_H_ 34#ifndef _DRM_P_H_
35#define _DRM_P_H_ 35#define _DRM_P_H_
36 36
37struct drm_file;
38
37/* If you want the memory alloc debug functionality, change define below */ 39/* If you want the memory alloc debug functionality, change define below */
38/* #define DEBUG_MEMORY */ 40/* #define DEBUG_MEMORY */
39 41
@@ -257,11 +259,11 @@ do { \
257 * Ioctl function type. 259 * Ioctl function type.
258 * 260 *
259 * \param inode device inode. 261 * \param inode device inode.
260 * \param filp file pointer. 262 * \param file_priv DRM file private pointer.
261 * \param cmd command. 263 * \param cmd command.
262 * \param arg argument. 264 * \param arg argument.
263 */ 265 */
264typedef int drm_ioctl_t(struct inode *inode, struct file *filp, 266typedef int drm_ioctl_t(struct inode *inode, struct drm_file *file_priv,
265 unsigned int cmd, unsigned long arg); 267 unsigned int cmd, unsigned long arg);
266 268
267typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd, 269typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd,
@@ -304,7 +306,7 @@ struct drm_buf {
304 __volatile__ int waiting; /**< On kernel DMA queue */ 306 __volatile__ int waiting; /**< On kernel DMA queue */
305 __volatile__ int pending; /**< On hardware DMA queue */ 307 __volatile__ int pending; /**< On hardware DMA queue */
306 wait_queue_head_t dma_wait; /**< Processes waiting */ 308 wait_queue_head_t dma_wait; /**< Processes waiting */
307 struct file *filp; /**< Pointer to holding file descr */ 309 struct drm_file *file_priv; /**< Private of holding file descr */
308 int context; /**< Kernel queue for this buffer */ 310 int context; /**< Kernel queue for this buffer */
309 int while_locked; /**< Dispatch this buffer while locked */ 311 int while_locked; /**< Dispatch this buffer while locked */
310 enum { 312 enum {
@@ -377,6 +379,7 @@ struct drm_file {
377 int remove_auth_on_close; 379 int remove_auth_on_close;
378 unsigned long lock_count; 380 unsigned long lock_count;
379 void *driver_priv; 381 void *driver_priv;
382 struct file *filp;
380}; 383};
381 384
382/** Wait queue */ 385/** Wait queue */
@@ -403,7 +406,7 @@ struct drm_queue {
403 */ 406 */
404struct drm_lock_data { 407struct drm_lock_data {
405 struct drm_hw_lock *hw_lock; /**< Hardware lock */ 408 struct drm_hw_lock *hw_lock; /**< Hardware lock */
406 struct file *filp; /**< File descr of lock holder (0=kernel) */ 409 struct drm_file *file_priv; /**< File descr of lock holder (0=kernel) */
407 wait_queue_head_t lock_queue; /**< Queue of blocked processes */ 410 wait_queue_head_t lock_queue; /**< Queue of blocked processes */
408 unsigned long lock_time; /**< Time of last lock in jiffies */ 411 unsigned long lock_time; /**< Time of last lock in jiffies */
409 spinlock_t spinlock; 412 spinlock_t spinlock;
@@ -552,7 +555,7 @@ struct drm_driver {
552 int (*load) (struct drm_device *, unsigned long flags); 555 int (*load) (struct drm_device *, unsigned long flags);
553 int (*firstopen) (struct drm_device *); 556 int (*firstopen) (struct drm_device *);
554 int (*open) (struct drm_device *, struct drm_file *); 557 int (*open) (struct drm_device *, struct drm_file *);
555 void (*preclose) (struct drm_device *, struct file * filp); 558 void (*preclose) (struct drm_device *, struct drm_file *file_priv);
556 void (*postclose) (struct drm_device *, struct drm_file *); 559 void (*postclose) (struct drm_device *, struct drm_file *);
557 void (*lastclose) (struct drm_device *); 560 void (*lastclose) (struct drm_device *);
558 int (*unload) (struct drm_device *); 561 int (*unload) (struct drm_device *);
@@ -587,11 +590,12 @@ struct drm_driver {
587 void (*irq_preinstall) (struct drm_device *dev); 590 void (*irq_preinstall) (struct drm_device *dev);
588 void (*irq_postinstall) (struct drm_device *dev); 591 void (*irq_postinstall) (struct drm_device *dev);
589 void (*irq_uninstall) (struct drm_device *dev); 592 void (*irq_uninstall) (struct drm_device *dev);
590 void (*reclaim_buffers) (struct drm_device *dev, struct file * filp); 593 void (*reclaim_buffers) (struct drm_device *dev,
594 struct drm_file * file_priv);
591 void (*reclaim_buffers_locked) (struct drm_device *dev, 595 void (*reclaim_buffers_locked) (struct drm_device *dev,
592 struct file *filp); 596 struct drm_file *file_priv);
593 void (*reclaim_buffers_idlelocked) (struct drm_device *dev, 597 void (*reclaim_buffers_idlelocked) (struct drm_device *dev,
594 struct file * filp); 598 struct drm_file *file_priv);
595 unsigned long (*get_map_ofs) (struct drm_map * map); 599 unsigned long (*get_map_ofs) (struct drm_map * map);
596 unsigned long (*get_reg_ofs) (struct drm_device *dev); 600 unsigned long (*get_reg_ofs) (struct drm_device *dev);
597 void (*set_version) (struct drm_device *dev, 601 void (*set_version) (struct drm_device *dev,
@@ -850,69 +854,69 @@ extern int drm_bind_agp(DRM_AGP_MEM * handle, unsigned int start);
850extern int drm_unbind_agp(DRM_AGP_MEM * handle); 854extern int drm_unbind_agp(DRM_AGP_MEM * handle);
851 855
852 /* Misc. IOCTL support (drm_ioctl.h) */ 856 /* Misc. IOCTL support (drm_ioctl.h) */
853extern int drm_irq_by_busid(struct inode *inode, struct file *filp, 857extern int drm_irq_by_busid(struct inode *inode, struct drm_file *file_priv,
854 unsigned int cmd, unsigned long arg); 858 unsigned int cmd, unsigned long arg);
855extern int drm_getunique(struct inode *inode, struct file *filp, 859extern int drm_getunique(struct inode *inode, struct drm_file *file_priv,
856 unsigned int cmd, unsigned long arg); 860 unsigned int cmd, unsigned long arg);
857extern int drm_setunique(struct inode *inode, struct file *filp, 861extern int drm_setunique(struct inode *inode, struct drm_file *file_priv,
858 unsigned int cmd, unsigned long arg); 862 unsigned int cmd, unsigned long arg);
859extern int drm_getmap(struct inode *inode, struct file *filp, 863extern int drm_getmap(struct inode *inode, struct drm_file *file_priv,
860 unsigned int cmd, unsigned long arg); 864 unsigned int cmd, unsigned long arg);
861extern int drm_getclient(struct inode *inode, struct file *filp, 865extern int drm_getclient(struct inode *inode, struct drm_file *file_priv,
862 unsigned int cmd, unsigned long arg); 866 unsigned int cmd, unsigned long arg);
863extern int drm_getstats(struct inode *inode, struct file *filp, 867extern int drm_getstats(struct inode *inode, struct drm_file *file_priv,
864 unsigned int cmd, unsigned long arg); 868 unsigned int cmd, unsigned long arg);
865extern int drm_setversion(struct inode *inode, struct file *filp, 869extern int drm_setversion(struct inode *inode, struct drm_file *file_priv,
866 unsigned int cmd, unsigned long arg); 870 unsigned int cmd, unsigned long arg);
867extern int drm_noop(struct inode *inode, struct file *filp, 871extern int drm_noop(struct inode *inode, struct drm_file *file_priv,
868 unsigned int cmd, unsigned long arg); 872 unsigned int cmd, unsigned long arg);
869 873
870 /* Context IOCTL support (drm_context.h) */ 874 /* Context IOCTL support (drm_context.h) */
871extern int drm_resctx(struct inode *inode, struct file *filp, 875extern int drm_resctx(struct inode *inode, struct drm_file *file_priv,
872 unsigned int cmd, unsigned long arg); 876 unsigned int cmd, unsigned long arg);
873extern int drm_addctx(struct inode *inode, struct file *filp, 877extern int drm_addctx(struct inode *inode, struct drm_file *file_priv,
874 unsigned int cmd, unsigned long arg); 878 unsigned int cmd, unsigned long arg);
875extern int drm_modctx(struct inode *inode, struct file *filp, 879extern int drm_modctx(struct inode *inode, struct drm_file *file_priv,
876 unsigned int cmd, unsigned long arg); 880 unsigned int cmd, unsigned long arg);
877extern int drm_getctx(struct inode *inode, struct file *filp, 881extern int drm_getctx(struct inode *inode, struct drm_file *file_priv,
878 unsigned int cmd, unsigned long arg); 882 unsigned int cmd, unsigned long arg);
879extern int drm_switchctx(struct inode *inode, struct file *filp, 883extern int drm_switchctx(struct inode *inode, struct drm_file *file_priv,
880 unsigned int cmd, unsigned long arg); 884 unsigned int cmd, unsigned long arg);
881extern int drm_newctx(struct inode *inode, struct file *filp, 885extern int drm_newctx(struct inode *inode, struct drm_file *file_priv,
882 unsigned int cmd, unsigned long arg); 886 unsigned int cmd, unsigned long arg);
883extern int drm_rmctx(struct inode *inode, struct file *filp, 887extern int drm_rmctx(struct inode *inode, struct drm_file *file_priv,
884 unsigned int cmd, unsigned long arg); 888 unsigned int cmd, unsigned long arg);
885 889
886extern int drm_ctxbitmap_init(struct drm_device *dev); 890extern int drm_ctxbitmap_init(struct drm_device *dev);
887extern void drm_ctxbitmap_cleanup(struct drm_device *dev); 891extern void drm_ctxbitmap_cleanup(struct drm_device *dev);
888extern void drm_ctxbitmap_free(struct drm_device *dev, int ctx_handle); 892extern void drm_ctxbitmap_free(struct drm_device *dev, int ctx_handle);
889 893
890extern int drm_setsareactx(struct inode *inode, struct file *filp, 894extern int drm_setsareactx(struct inode *inode, struct drm_file *file_priv,
891 unsigned int cmd, unsigned long arg); 895 unsigned int cmd, unsigned long arg);
892extern int drm_getsareactx(struct inode *inode, struct file *filp, 896extern int drm_getsareactx(struct inode *inode, struct drm_file *file_priv,
893 unsigned int cmd, unsigned long arg); 897 unsigned int cmd, unsigned long arg);
894 898
895 /* Drawable IOCTL support (drm_drawable.h) */ 899 /* Drawable IOCTL support (drm_drawable.h) */
896extern int drm_adddraw(struct inode *inode, struct file *filp, 900extern int drm_adddraw(struct inode *inode, struct drm_file *file_priv,
897 unsigned int cmd, unsigned long arg); 901 unsigned int cmd, unsigned long arg);
898extern int drm_rmdraw(struct inode *inode, struct file *filp, 902extern int drm_rmdraw(struct inode *inode, struct drm_file *file_priv,
899 unsigned int cmd, unsigned long arg); 903 unsigned int cmd, unsigned long arg);
900extern int drm_update_drawable_info(struct inode *inode, struct file *filp, 904extern int drm_update_drawable_info(struct inode *inode, struct drm_file *file_priv,
901 unsigned int cmd, unsigned long arg); 905 unsigned int cmd, unsigned long arg);
902extern struct drm_drawable_info *drm_get_drawable_info(struct drm_device *dev, 906extern struct drm_drawable_info *drm_get_drawable_info(struct drm_device *dev,
903 drm_drawable_t id); 907 drm_drawable_t id);
904extern void drm_drawable_free_all(struct drm_device *dev); 908extern void drm_drawable_free_all(struct drm_device *dev);
905 909
906 /* Authentication IOCTL support (drm_auth.h) */ 910 /* Authentication IOCTL support (drm_auth.h) */
907extern int drm_getmagic(struct inode *inode, struct file *filp, 911extern int drm_getmagic(struct inode *inode, struct drm_file *file_priv,
908 unsigned int cmd, unsigned long arg); 912 unsigned int cmd, unsigned long arg);
909extern int drm_authmagic(struct inode *inode, struct file *filp, 913extern int drm_authmagic(struct inode *inode, struct drm_file *file_priv,
910 unsigned int cmd, unsigned long arg); 914 unsigned int cmd, unsigned long arg);
911 915
912 /* Locking IOCTL support (drm_lock.h) */ 916 /* Locking IOCTL support (drm_lock.h) */
913extern int drm_lock(struct inode *inode, struct file *filp, 917extern int drm_lock(struct inode *inode, struct drm_file *file_priv,
914 unsigned int cmd, unsigned long arg); 918 unsigned int cmd, unsigned long arg);
915extern int drm_unlock(struct inode *inode, struct file *filp, 919extern int drm_unlock(struct inode *inode, struct drm_file *file_priv,
916 unsigned int cmd, unsigned long arg); 920 unsigned int cmd, unsigned long arg);
917extern int drm_lock_take(struct drm_lock_data *lock_data, unsigned int context); 921extern int drm_lock_take(struct drm_lock_data *lock_data, unsigned int context);
918extern int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context); 922extern int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context);
@@ -924,8 +928,7 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);
924 * DMA quiscent + idle. DMA quiescent usually requires the hardware lock. 928 * DMA quiscent + idle. DMA quiescent usually requires the hardware lock.
925 */ 929 */
926 930
927extern int drm_i_have_hw_lock(struct file *filp); 931extern int drm_i_have_hw_lock(struct drm_file *file_priv);
928extern int drm_kernel_take_hw_lock(struct file *filp);
929 932
930 /* Buffer management support (drm_bufs.h) */ 933 /* Buffer management support (drm_bufs.h) */
931extern int drm_addbufs_agp(struct drm_device *dev, struct drm_buf_desc * request); 934extern int drm_addbufs_agp(struct drm_device *dev, struct drm_buf_desc * request);
@@ -933,23 +936,23 @@ extern int drm_addbufs_pci(struct drm_device *dev, struct drm_buf_desc * request
933extern int drm_addmap(struct drm_device *dev, unsigned int offset, 936extern int drm_addmap(struct drm_device *dev, unsigned int offset,
934 unsigned int size, enum drm_map_type type, 937 unsigned int size, enum drm_map_type type,
935 enum drm_map_flags flags, drm_local_map_t ** map_ptr); 938 enum drm_map_flags flags, drm_local_map_t ** map_ptr);
936extern int drm_addmap_ioctl(struct inode *inode, struct file *filp, 939extern int drm_addmap_ioctl(struct inode *inode, struct drm_file *file_priv,
937 unsigned int cmd, unsigned long arg); 940 unsigned int cmd, unsigned long arg);
938extern int drm_rmmap(struct drm_device *dev, drm_local_map_t * map); 941extern int drm_rmmap(struct drm_device *dev, drm_local_map_t * map);
939extern int drm_rmmap_locked(struct drm_device *dev, drm_local_map_t * map); 942extern int drm_rmmap_locked(struct drm_device *dev, drm_local_map_t * map);
940extern int drm_rmmap_ioctl(struct inode *inode, struct file *filp, 943extern int drm_rmmap_ioctl(struct inode *inode, struct drm_file *file_priv,
941 unsigned int cmd, unsigned long arg); 944 unsigned int cmd, unsigned long arg);
942 945
943extern int drm_order(unsigned long size); 946extern int drm_order(unsigned long size);
944extern int drm_addbufs(struct inode *inode, struct file *filp, 947extern int drm_addbufs(struct inode *inode, struct drm_file *file_priv,
945 unsigned int cmd, unsigned long arg); 948 unsigned int cmd, unsigned long arg);
946extern int drm_infobufs(struct inode *inode, struct file *filp, 949extern int drm_infobufs(struct inode *inode, struct drm_file *file_priv,
947 unsigned int cmd, unsigned long arg); 950 unsigned int cmd, unsigned long arg);
948extern int drm_markbufs(struct inode *inode, struct file *filp, 951extern int drm_markbufs(struct inode *inode, struct drm_file *file_priv,
949 unsigned int cmd, unsigned long arg); 952 unsigned int cmd, unsigned long arg);
950extern int drm_freebufs(struct inode *inode, struct file *filp, 953extern int drm_freebufs(struct inode *inode, struct drm_file *file_priv,
951 unsigned int cmd, unsigned long arg); 954 unsigned int cmd, unsigned long arg);
952extern int drm_mapbufs(struct inode *inode, struct file *filp, 955extern int drm_mapbufs(struct inode *inode, struct drm_file *file_priv,
953 unsigned int cmd, unsigned long arg); 956 unsigned int cmd, unsigned long arg);
954extern unsigned long drm_get_resource_start(struct drm_device *dev, 957extern unsigned long drm_get_resource_start(struct drm_device *dev,
955 unsigned int resource); 958 unsigned int resource);
@@ -960,10 +963,11 @@ extern unsigned long drm_get_resource_len(struct drm_device *dev,
960extern int drm_dma_setup(struct drm_device *dev); 963extern int drm_dma_setup(struct drm_device *dev);
961extern void drm_dma_takedown(struct drm_device *dev); 964extern void drm_dma_takedown(struct drm_device *dev);
962extern void drm_free_buffer(struct drm_device *dev, struct drm_buf * buf); 965extern void drm_free_buffer(struct drm_device *dev, struct drm_buf * buf);
963extern void drm_core_reclaim_buffers(struct drm_device *dev, struct file *filp); 966extern void drm_core_reclaim_buffers(struct drm_device *dev,
967 struct drm_file *filp);
964 968
965 /* IRQ support (drm_irq.h) */ 969 /* IRQ support (drm_irq.h) */
966extern int drm_control(struct inode *inode, struct file *filp, 970extern int drm_control(struct inode *inode, struct drm_file *file_priv,
967 unsigned int cmd, unsigned long arg); 971 unsigned int cmd, unsigned long arg);
968extern irqreturn_t drm_irq_handler(DRM_IRQ_ARGS); 972extern irqreturn_t drm_irq_handler(DRM_IRQ_ARGS);
969extern int drm_irq_uninstall(struct drm_device *dev); 973extern int drm_irq_uninstall(struct drm_device *dev);
@@ -971,7 +975,7 @@ extern void drm_driver_irq_preinstall(struct drm_device *dev);
971extern void drm_driver_irq_postinstall(struct drm_device *dev); 975extern void drm_driver_irq_postinstall(struct drm_device *dev);
972extern void drm_driver_irq_uninstall(struct drm_device *dev); 976extern void drm_driver_irq_uninstall(struct drm_device *dev);
973 977
974extern int drm_wait_vblank(struct inode *inode, struct file *filp, 978extern int drm_wait_vblank(struct inode *inode, struct drm_file *file_priv,
975 unsigned int cmd, unsigned long arg); 979 unsigned int cmd, unsigned long arg);
976extern int drm_vblank_wait(struct drm_device *dev, unsigned int *vbl_seq); 980extern int drm_vblank_wait(struct drm_device *dev, unsigned int *vbl_seq);
977extern void drm_vbl_send_signals(struct drm_device *dev); 981extern void drm_vbl_send_signals(struct drm_device *dev);
@@ -980,28 +984,28 @@ extern void drm_locked_tasklet(struct drm_device *dev, void(*func)(struct drm_de
980 /* AGP/GART support (drm_agpsupport.h) */ 984 /* AGP/GART support (drm_agpsupport.h) */
981extern struct drm_agp_head *drm_agp_init(struct drm_device *dev); 985extern struct drm_agp_head *drm_agp_init(struct drm_device *dev);
982extern int drm_agp_acquire(struct drm_device *dev); 986extern int drm_agp_acquire(struct drm_device *dev);
983extern int drm_agp_acquire_ioctl(struct inode *inode, struct file *filp, 987extern int drm_agp_acquire_ioctl(struct inode *inode, struct drm_file *file_priv,
984 unsigned int cmd, unsigned long arg); 988 unsigned int cmd, unsigned long arg);
985extern int drm_agp_release(struct drm_device *dev); 989extern int drm_agp_release(struct drm_device *dev);
986extern int drm_agp_release_ioctl(struct inode *inode, struct file *filp, 990extern int drm_agp_release_ioctl(struct inode *inode, struct drm_file *file_priv,
987 unsigned int cmd, unsigned long arg); 991 unsigned int cmd, unsigned long arg);
988extern int drm_agp_enable(struct drm_device *dev, struct drm_agp_mode mode); 992extern int drm_agp_enable(struct drm_device *dev, struct drm_agp_mode mode);
989extern int drm_agp_enable_ioctl(struct inode *inode, struct file *filp, 993extern int drm_agp_enable_ioctl(struct inode *inode, struct drm_file *file_priv,
990 unsigned int cmd, unsigned long arg); 994 unsigned int cmd, unsigned long arg);
991extern int drm_agp_info(struct drm_device *dev, struct drm_agp_info * info); 995extern int drm_agp_info(struct drm_device *dev, struct drm_agp_info * info);
992extern int drm_agp_info_ioctl(struct inode *inode, struct file *filp, 996extern int drm_agp_info_ioctl(struct inode *inode, struct drm_file *file_priv,
993 unsigned int cmd, unsigned long arg); 997 unsigned int cmd, unsigned long arg);
994extern int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request); 998extern int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request);
995extern int drm_agp_alloc_ioctl(struct inode *inode, struct file *filp, 999extern int drm_agp_alloc_ioctl(struct inode *inode, struct drm_file *file_priv,
996 unsigned int cmd, unsigned long arg); 1000 unsigned int cmd, unsigned long arg);
997extern int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request); 1001extern int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request);
998extern int drm_agp_free_ioctl(struct inode *inode, struct file *filp, 1002extern int drm_agp_free_ioctl(struct inode *inode, struct drm_file *file_priv,
999 unsigned int cmd, unsigned long arg); 1003 unsigned int cmd, unsigned long arg);
1000extern int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request); 1004extern int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request);
1001extern int drm_agp_unbind_ioctl(struct inode *inode, struct file *filp, 1005extern int drm_agp_unbind_ioctl(struct inode *inode, struct drm_file *file_priv,
1002 unsigned int cmd, unsigned long arg); 1006 unsigned int cmd, unsigned long arg);
1003extern int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request); 1007extern int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request);
1004extern int drm_agp_bind_ioctl(struct inode *inode, struct file *filp, 1008extern int drm_agp_bind_ioctl(struct inode *inode, struct drm_file *file_priv,
1005 unsigned int cmd, unsigned long arg); 1009 unsigned int cmd, unsigned long arg);
1006extern DRM_AGP_MEM *drm_agp_allocate_memory(struct agp_bridge_data *bridge, 1010extern DRM_AGP_MEM *drm_agp_allocate_memory(struct agp_bridge_data *bridge,
1007 size_t pages, u32 type); 1011 size_t pages, u32 type);
@@ -1033,9 +1037,9 @@ extern int drm_proc_cleanup(int minor,
1033 1037
1034 /* Scatter Gather Support (drm_scatter.h) */ 1038 /* Scatter Gather Support (drm_scatter.h) */
1035extern void drm_sg_cleanup(struct drm_sg_mem * entry); 1039extern void drm_sg_cleanup(struct drm_sg_mem * entry);
1036extern int drm_sg_alloc(struct inode *inode, struct file *filp, 1040extern int drm_sg_alloc(struct inode *inode, struct drm_file *file_priv,
1037 unsigned int cmd, unsigned long arg); 1041 unsigned int cmd, unsigned long arg);
1038extern int drm_sg_free(struct inode *inode, struct file *filp, 1042extern int drm_sg_free(struct inode *inode, struct drm_file *file_priv,
1039 unsigned int cmd, unsigned long arg); 1043 unsigned int cmd, unsigned long arg);
1040 1044
1041 /* ATI PCIGART support (ati_pcigart.h) */ 1045 /* ATI PCIGART support (ati_pcigart.h) */