]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/char/agp/agp.h
Merge branch 'fixes' into for-linus
[linux-2.6-omap-h63xx.git] / drivers / char / agp / agp.h
index 81e14bea54bdb8779e7b6f0cc4f468e7bb51b3a2..46f507531177dc91f85af1398755d2ff9f9cd829 100644 (file)
@@ -116,7 +116,9 @@ struct agp_bridge_driver {
        struct agp_memory *(*alloc_by_type) (size_t, int);
        void (*free_by_type)(struct agp_memory *);
        void *(*agp_alloc_page)(struct agp_bridge_data *);
+       int (*agp_alloc_pages)(struct agp_bridge_data *, struct agp_memory *, size_t);
        void (*agp_destroy_page)(void *, int flags);
+       void (*agp_destroy_pages)(struct agp_memory *);
        int (*agp_type_to_mask_type) (struct agp_bridge_data *, int);
        void (*chipset_flush)(struct agp_bridge_data *);
 };
@@ -148,6 +150,9 @@ struct agp_bridge_data {
        char minor_version;
        struct list_head list;
        u32 apbase_config;
+       /* list of agp_memory mapped to the aperture */
+       struct list_head mapped_list;
+       spinlock_t mapped_lock;
 };
 
 #define KB(x)  ((x) * 1024)
@@ -274,7 +279,10 @@ int agp_generic_remove_memory(struct agp_memory *mem, off_t pg_start, int type);
 struct agp_memory *agp_generic_alloc_by_type(size_t page_count, int type);
 void agp_generic_free_by_type(struct agp_memory *curr);
 void *agp_generic_alloc_page(struct agp_bridge_data *bridge);
+int agp_generic_alloc_pages(struct agp_bridge_data *agp_bridge,
+                           struct agp_memory *memory, size_t page_count);
 void agp_generic_destroy_page(void *addr, int flags);
+void agp_generic_destroy_pages(struct agp_memory *memory);
 void agp_free_key(int key);
 int agp_num_entries(void);
 u32 agp_collect_device_status(struct agp_bridge_data *bridge, u32 mode, u32 command);