~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/agp_backend.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/agp_backend.h (Version linux-6.12-rc7) and /include/linux/agp_backend.h (Version linux-2.6.0)


  1 /*                                                  1 /*
  2  * AGPGART backend specific includes. Not for       2  * AGPGART backend specific includes. Not for userspace consumption.
  3  *                                                  3  *
  4  * Copyright (C) 2004 Silicon Graphics, Inc.   << 
  5  * Copyright (C) 2002-2003 Dave Jones               4  * Copyright (C) 2002-2003 Dave Jones
  6  * Copyright (C) 1999 Jeff Hartmann                 5  * Copyright (C) 1999 Jeff Hartmann
  7  * Copyright (C) 1999 Precision Insight, Inc.       6  * Copyright (C) 1999 Precision Insight, Inc.
  8  * Copyright (C) 1999 Xi Graphics, Inc.             7  * Copyright (C) 1999 Xi Graphics, Inc.
  9  *                                                  8  *
 10  * Permission is hereby granted, free of charg      9  * Permission is hereby granted, free of charge, to any person obtaining a
 11  * copy of this software and associated docume     10  * copy of this software and associated documentation files (the "Software"),
 12  * to deal in the Software without restriction     11  * to deal in the Software without restriction, including without limitation
 13  * the rights to use, copy, modify, merge, pub     12  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14  * and/or sell copies of the Software, and to      13  * and/or sell copies of the Software, and to permit persons to whom the
 15  * Software is furnished to do so, subject to      14  * Software is furnished to do so, subject to the following conditions:
 16  *                                                 15  *
 17  * The above copyright notice and this permiss     16  * The above copyright notice and this permission notice shall be included
 18  * in all copies or substantial portions of th     17  * in all copies or substantial portions of the Software.
 19  *                                                 18  *
 20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT W     19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO TH     20  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 22  * FITNESS FOR A PARTICULAR PURPOSE AND NONINF     21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 23  * JEFF HARTMANN, OR ANY OTHER CONTRIBUTORS BE     22  * JEFF HARTMANN, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM, 
 24  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN A     23  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
 25  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNE     24  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
 26  * OR THE USE OR OTHER DEALINGS IN THE SOFTWAR     25  * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27  *                                                 26  *
 28  */                                                27  */
 29                                                    28 
 30 #ifndef _AGP_BACKEND_H                             29 #ifndef _AGP_BACKEND_H
 31 #define _AGP_BACKEND_H 1                           30 #define _AGP_BACKEND_H 1
 32                                                    31 
 33 #include <linux/list.h>                        !!  32 #ifdef __KERNEL__
                                                   >>  33 
                                                   >>  34 #ifndef TRUE
                                                   >>  35 #define TRUE 1
                                                   >>  36 #endif
                                                   >>  37 
                                                   >>  38 #ifndef FALSE
                                                   >>  39 #define FALSE 0
                                                   >>  40 #endif
 34                                                    41 
 35 enum chipset_type {                                42 enum chipset_type {
 36         NOT_SUPPORTED,                             43         NOT_SUPPORTED,
 37         SUPPORTED,                                 44         SUPPORTED,
 38 };                                                 45 };
 39                                                    46 
 40 struct agp_version {                               47 struct agp_version {
 41         u16 major;                                 48         u16 major;
 42         u16 minor;                                 49         u16 minor;
 43 };                                                 50 };
 44                                                    51 
 45 struct agp_kern_info {                             52 struct agp_kern_info {
 46         struct agp_version version;                53         struct agp_version version;
 47         struct pci_dev *device;                    54         struct pci_dev *device;
 48         enum chipset_type chipset;                 55         enum chipset_type chipset;
 49         unsigned long mode;                        56         unsigned long mode;
 50         unsigned long aper_base;               !!  57         off_t aper_base;
 51         size_t aper_size;                          58         size_t aper_size;
 52         int max_memory;         /* In pages */     59         int max_memory;         /* In pages */
 53         int current_memory;                        60         int current_memory;
 54         bool cant_use_aperture;                !!  61         int cant_use_aperture;
 55         unsigned long page_mask;                   62         unsigned long page_mask;
 56         const struct vm_operations_struct *vm_ !!  63         struct vm_operations_struct *vm_ops;
 57 };                                                 64 };
 58                                                    65 
 59 /*                                             !!  66 /* 
 60  * The agp_memory structure has information ab     67  * The agp_memory structure has information about the block of agp memory
 61  * allocated.  A caller may manipulate the nex     68  * allocated.  A caller may manipulate the next and prev pointers to link
 62  * each allocated item into a list.  These poi     69  * each allocated item into a list.  These pointers are ignored by the backend.
 63  * Everything else should never be written to,     70  * Everything else should never be written to, but the caller may read any of
 64  * the items to determine the status of this b !!  71  * the items to detrimine the status of this block of agp memory. 
 65  */                                                72  */
 66                                                    73 
 67 struct agp_bridge_data;                        << 
 68                                                << 
 69 struct agp_memory {                                74 struct agp_memory {
                                                   >>  75         int key;
 70         struct agp_memory *next;                   76         struct agp_memory *next;
 71         struct agp_memory *prev;                   77         struct agp_memory *prev;
 72         struct agp_bridge_data *bridge;        << 
 73         struct page **pages;                   << 
 74         size_t page_count;                         78         size_t page_count;
 75         int key;                               << 
 76         int num_scratch_pages;                     79         int num_scratch_pages;
                                                   >>  80         unsigned long *memory;
 77         off_t pg_start;                            81         off_t pg_start;
 78         u32 type;                                  82         u32 type;
 79         u32 physical;                              83         u32 physical;
 80         bool is_bound;                         !!  84         u8 is_bound;
 81         bool is_flushed;                       !!  85         u8 is_flushed;
 82         /* list of agp_memory mapped to the ap << 
 83         struct list_head mapped_list;          << 
 84         /* DMA-mapped addresses */             << 
 85         struct scatterlist *sg_list;           << 
 86         int num_sg;                            << 
 87 };                                                 86 };
 88                                                    87 
 89 #define AGP_NORMAL_MEMORY 0                        88 #define AGP_NORMAL_MEMORY 0
 90                                                    89 
 91 #define AGP_USER_TYPES (1 << 16)               << 
 92 #define AGP_USER_MEMORY (AGP_USER_TYPES)       << 
 93 #define AGP_USER_CACHED_MEMORY (AGP_USER_TYPES << 
 94                                                << 
 95 extern struct agp_bridge_data *agp_bridge;     << 
 96 extern struct list_head agp_bridges;           << 
 97                                                << 
 98 extern struct agp_bridge_data *(*agp_find_brid << 
 99                                                << 
100 extern void agp_free_memory(struct agp_memory      90 extern void agp_free_memory(struct agp_memory *);
101 extern struct agp_memory *agp_allocate_memory( !!  91 extern struct agp_memory *agp_allocate_memory(size_t, u32);
102 extern int agp_copy_info(struct agp_bridge_dat !!  92 extern int agp_copy_info(struct agp_kern_info *);
103 extern int agp_bind_memory(struct agp_memory *     93 extern int agp_bind_memory(struct agp_memory *, off_t);
104 extern int agp_unbind_memory(struct agp_memory     94 extern int agp_unbind_memory(struct agp_memory *);
105 extern void agp_enable(struct agp_bridge_data  !!  95 extern void agp_enable(u32);
106 extern struct agp_bridge_data *agp_backend_acq !!  96 extern int agp_backend_acquire(void);
107 extern void agp_backend_release(struct agp_bri !!  97 extern void agp_backend_release(void);
                                                   >>  98 
                                                   >>  99 /*
                                                   >> 100  * Interface between drm and agp code.  When agp initializes, it makes
                                                   >> 101  * the below structure available via inter_module_register(), drm might
                                                   >> 102  * use it.  Keith Owens <kaos@ocs.com.au> 28 Oct 2000.
                                                   >> 103  */
                                                   >> 104 typedef struct {
                                                   >> 105         void                    (*free_memory)(struct agp_memory *);
                                                   >> 106         struct agp_memory *     (*allocate_memory)(size_t, u32);
                                                   >> 107         int                     (*bind_memory)(struct agp_memory *, off_t);
                                                   >> 108         int                     (*unbind_memory)(struct agp_memory *);
                                                   >> 109         void                    (*enable)(u32);
                                                   >> 110         int                     (*acquire)(void);
                                                   >> 111         void                    (*release)(void);
                                                   >> 112         int                     (*copy_info)(struct agp_kern_info *);
                                                   >> 113 } drm_agp_t;
                                                   >> 114 
                                                   >> 115 extern const drm_agp_t *drm_agp_p;
108                                                   116 
                                                   >> 117 #endif                          /* __KERNEL__ */
109 #endif                          /* _AGP_BACKEN    118 #endif                          /* _AGP_BACKEND_H */
110                                                   119 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php