]> err.no Git - linux-2.6/commitdiff
drm: some minor cleanups and changes to make memory manager merging easier.
authorDave Airlie <airlied@optimus.(none)>
Mon, 5 Nov 2007 02:37:41 +0000 (12:37 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 7 Feb 2008 05:09:38 +0000 (15:09 +1000)
Signed-off-by: Dave Airlie <airlied@linux.ie>
drivers/char/drm/drmP.h
drivers/char/drm/drm_proc.c

index dde02a15fa59d0f584dbf4bd63feaede1803afe6..110629653a87d81dc8a45d6a4df2af7648adb305 100644 (file)
@@ -292,7 +292,6 @@ struct drm_magic_entry {
        struct list_head head;
        struct drm_hash_item hash_item;
        struct drm_file *priv;
-       struct drm_magic_entry *next;
 };
 
 struct drm_vma_entry {
@@ -388,8 +387,8 @@ struct drm_file {
        struct drm_head *head;
        int remove_auth_on_close;
        unsigned long lock_count;
-       void *driver_priv;
        struct file *filp;
+       void *driver_priv;
 };
 
 /** Wait queue */
@@ -401,11 +400,9 @@ struct drm_queue {
        wait_queue_head_t read_queue;   /**< Processes waiting on block_read */
        atomic_t block_write;           /**< Queue blocked for writes */
        wait_queue_head_t write_queue;  /**< Processes waiting on block_write */
-#if 1
        atomic_t total_queued;          /**< Total queued statistic */
        atomic_t total_flushed;         /**< Total flushes statistic */
        atomic_t total_locks;           /**< Total locks statistics */
-#endif
        enum drm_ctx_flags flags;       /**< Context preserving and 2D-only */
        struct drm_waitlist waitlist;   /**< Pending buffers */
        wait_queue_head_t flush_queue;  /**< Processes waiting until flush */
@@ -416,7 +413,8 @@ struct drm_queue {
  */
 struct drm_lock_data {
        struct drm_hw_lock *hw_lock;    /**< Hardware lock */
-       struct drm_file *file_priv;     /**< File descr of lock holder (0=kernel) */
+       /** Private of lock holder's file (NULL=kernel) */
+       struct drm_file *file_priv;
        wait_queue_head_t lock_queue;   /**< Queue of blocked processes */
        unsigned long lock_time;        /**< Time of last lock in jiffies */
        spinlock_t spinlock;
@@ -491,6 +489,27 @@ struct drm_sigdata {
        struct drm_hw_lock *lock;
 };
 
+
+/*
+ * Generic memory manager structs
+ */
+
+struct drm_mm_node {
+       struct list_head fl_entry;
+       struct list_head ml_entry;
+       int free;
+       unsigned long start;
+       unsigned long size;
+       struct drm_mm *mm;
+       void *private;
+};
+
+struct drm_mm {
+       struct list_head fl_entry;
+       struct list_head ml_entry;
+};
+
+
 /**
  * Mappings list
  */
@@ -498,7 +517,7 @@ struct drm_map_list {
        struct list_head head;          /**< list head */
        struct drm_hash_item hash;
        struct drm_map *map;                    /**< mapping */
-       unsigned int user_token;
+       uint64_t user_token;
 };
 
 typedef struct drm_map drm_local_map_t;
@@ -536,24 +555,6 @@ struct drm_ati_pcigart_info {
        int table_size;
 };
 
-/*
- * Generic memory manager structs
- */
-struct drm_mm_node {
-       struct list_head fl_entry;
-       struct list_head ml_entry;
-       int free;
-       unsigned long start;
-       unsigned long size;
-       struct drm_mm *mm;
-       void *private;
-};
-
-struct drm_mm {
-       struct list_head fl_entry;
-       struct list_head ml_entry;
-};
-
 /**
  * DRM driver structure. This structure represent the common code for
  * a family of cards. There will one drm_device for each card present
@@ -750,7 +751,6 @@ struct drm_device {
        struct pci_controller *hose;
 #endif
        struct drm_sg_mem *sg;  /**< Scatter gather memory */
-       unsigned long *ctx_bitmap;      /**< context bitmap */
        void *dev_private;              /**< device private data */
        struct drm_sigdata sigdata;        /**< For block_all_signals */
        sigset_t sigmask;
@@ -1073,7 +1073,7 @@ extern void drm_sysfs_device_remove(struct class_device *class_dev);
 extern struct drm_mm_node *drm_mm_get_block(struct drm_mm_node * parent,
                                       unsigned long size,
                                       unsigned alignment);
-void drm_mm_put_block(struct drm_mm_node * cur);
+extern void drm_mm_put_block(struct drm_mm_node * cur);
 extern struct drm_mm_node *drm_mm_search_free(const struct drm_mm *mm, unsigned long size,
                                         unsigned alignment, int best_match);
 extern int drm_mm_init(struct drm_mm *mm, unsigned long start, unsigned long size);
index 12dfea89c7f37bdba45cda2d6a35cac2869a7016..d9b560fe9bbe68b0543091273cdacc7e5d87b2af 100644 (file)
@@ -236,11 +236,11 @@ static int drm__vm_info(char *buf, char **start, off_t offset, int request,
                        type = "??";
                else
                        type = types[map->type];
-               DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08x ",
+               DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08lx ",
                               i,
                               map->offset,
                               map->size, type, map->flags,
-                              r_list->user_token);
+                              (unsigned long) r_list->user_token);
                if (map->mtrr < 0) {
                        DRM_PROC_PRINT("none\n");
                } else {