summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Hartmann <jhartmann@valinux.com>2003-01-13 15:33:42 +0000
committerJeff Hartmann <jhartmann@valinux.com>2003-01-13 15:33:42 +0000
commit1f4d31c38d7dd40727323a47606730981b344c6a (patch)
treeb61f517507fd0077ff3b415667d9abedf0e1a68c
parentced519be2077857f7b8f04daed06204af7c937dd (diff)
Misc bug fixes and cleanups
-rw-r--r--libdrm/xf86drm.c47
-rw-r--r--linux-core/drm_agpsupport.c53
-rw-r--r--linux-core/drm_bufs.c3
-rw-r--r--linux-core/drm_memory.h4
-rw-r--r--linux/agp_30_symbols.h3
-rw-r--r--linux/drm.h2
-rw-r--r--linux/drm_agpsupport.h53
-rw-r--r--linux/drm_bufs.h3
-rw-r--r--linux/drm_memory.h4
-rw-r--r--shared-core/drm.h2
-rw-r--r--shared/drm.h2
-rw-r--r--shared/radeon.h1
12 files changed, 130 insertions, 47 deletions
diff --git a/libdrm/xf86drm.c b/libdrm/xf86drm.c
index 6c830664..113ec11d 100644
--- a/libdrm/xf86drm.c
+++ b/libdrm/xf86drm.c
@@ -1077,6 +1077,53 @@ unsigned int drmAgpDeviceId(int fd)
return i.id_device;
}
+unsigned long drmAgpQueryHandleSize(int fd, unsigned long handle)
+{
+ drm_agp_buffer_info_t i;
+ i.handle = handle;
+ if (ioctl(fd, DRM_IOCTL_AGP_GETMAP, &i)) return (unsigned long)-1;
+ return i.size;
+}
+
+unsigned long drmAgpQueryHandleType(int fd, unsigned long handle)
+{
+ drm_agp_buffer_info_t i;
+ i.handle = handle;
+ if (ioctl(fd, DRM_IOCTL_AGP_GETMAP, &i)) return (unsigned long)-1;
+ return i.type;
+}
+
+unsigned long drmAgpQueryHandlePhysical(int fd, unsigned long handle)
+{
+ drm_agp_buffer_info_t i;
+ i.handle = handle;
+ if (ioctl(fd, DRM_IOCTL_AGP_GETMAP, &i)) return 0;
+ return i.physical;
+}
+
+unsigned long drmAgpQueryHandleBoundOffset(int fd, unsigned long handle)
+{
+ drm_agp_buffer_info_t i;
+ i.handle = handle;
+ if (ioctl(fd, DRM_IOCTL_AGP_GETMAP, &i)) return (unsigned long)-1;
+ return i.offset;
+}
+
+int drmAgpGetNumContexts(int fd)
+{
+ int ret_val;
+
+ ret_val = ioctl(fd, DRM_IOCTL_AGP_NUM_CTX);
+ if(ret_val == -1) return -errno;
+ return ret_val;
+}
+
+int drmAgpChangeContext(int fd, int context)
+{
+ if(ioctl(fd, DRM_IOCTL_AGP_CHG_CTX, context)) return -errno;
+ return 0;
+}
+
int drmScatterGatherAlloc(int fd, unsigned long size, unsigned long *handle)
{
drm_scatter_gather_t sg;
diff --git a/linux-core/drm_agpsupport.c b/linux-core/drm_agpsupport.c
index 8666c859..ac9ef477 100644
--- a/linux-core/drm_agpsupport.c
+++ b/linux-core/drm_agpsupport.c
@@ -62,6 +62,8 @@ int DRM(agp_usermap)(drm_device_t *dev, drm_map_t *map,
struct vm_area_struct *vma)
{
drm_agp_mem_t *entry = (drm_agp_mem_t *)map->handle;
+ DRM_DEBUG("%s : handle : 0x%p key : %d\n", __func__, map->handle,
+ entry->memory ? entry->memory->key : 0);
return drm_agp_3_0->vma_map_memory(dev->agp->context,
vma,
@@ -69,9 +71,17 @@ int DRM(agp_usermap)(drm_device_t *dev, drm_map_t *map,
0);
}
+static int DRM(agp_has_bind)(void)
+{
+ DRM_DEBUG("%s\n", __func__);
+ if(drm_agp && drm_agp->bind_memory) return 1;
+ if(drm_agp_3_0 && drm_agp_3_0->bind_memory) return 1;
+ return 0;
+}
+
static int DRM(agp_has_copy)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->copy_info) return 1;
if(drm_agp_3_0 && drm_agp_3_0->copy_info) return 1;
return 0;
@@ -79,7 +89,7 @@ static int DRM(agp_has_copy)(void)
static int DRM(agp_has_enable)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->enable) return 1;
if(drm_agp_3_0 && drm_agp_3_0->enable) return 1;
return 0;
@@ -87,7 +97,7 @@ static int DRM(agp_has_enable)(void)
static int DRM(agp_has_acquire)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->acquire) return 1;
if(drm_agp_3_0 && drm_agp_3_0->acquire) return 1;
return 0;
@@ -95,7 +105,7 @@ static int DRM(agp_has_acquire)(void)
static int DRM(agp_has_release)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->release) return 1;
if(drm_agp_3_0 && drm_agp_3_0->release) return 1;
return 0;
@@ -103,21 +113,21 @@ static int DRM(agp_has_release)(void)
static void DRM(agp_call_release)(drm_device_t *dev)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) drm_agp->release();
else if (drm_agp_3_0) drm_agp_3_0->release(dev->agp->context);
}
static void DRM(agp_call_enable)(drm_device_t *dev, drm_agp_mode_t *mode)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) drm_agp->enable(mode->mode);
else if(drm_agp_3_0) drm_agp_3_0->enable(dev->agp->context, mode->mode);
}
static int DRM(agp_call_acquire)(drm_device_t *dev)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) return drm_agp->acquire();
else if(drm_agp_3_0) return drm_agp_3_0->acquire(dev->agp->context);
return -EINVAL;
@@ -126,28 +136,28 @@ static int DRM(agp_call_acquire)(drm_device_t *dev)
/* Revisit when we support more then one agp context. */
void DRM(agp_do_release)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->release) drm_agp->release();
else if(drm_agp_3_0 && drm_agp_3_0->release) drm_agp_3_0->release(0);
}
agp_memory *DRM(agp_allocate_memory)(drm_device_t *dev, size_t pages, u32 type)
{
- printk("%s 0\n", __func__);
+ DRM_DEBUG("%s 0\n", __func__);
if(drm_agp) {
- printk("%s 0\n", __func__);
+ DRM_DEBUG("%s 0\n", __func__);
if (!drm_agp->allocate_memory) return NULL;
- printk("%s 0\n", __func__);
+ DRM_DEBUG("%s 0\n", __func__);
return drm_agp->allocate_memory(pages, type);
} else if (drm_agp_3_0) {
agp_memory *mem;
- printk("%s 1\n", __func__);
+ DRM_DEBUG("%s 1\n", __func__);
if (!drm_agp_3_0->allocate_memory) return NULL;
- printk("%s 2\n", __func__);
+ DRM_DEBUG("%s 2\n", __func__);
mem = drm_agp_3_0->allocate_memory(dev->agp->context,
pages, type);
- printk("drm_agp_3_0 : %p, mem : %p\n", drm_agp_3_0, mem);
+ DRM_DEBUG("drm_agp_3_0 : %p, mem : %p\n", drm_agp_3_0, mem);
return mem;
}
return NULL;
@@ -155,7 +165,7 @@ agp_memory *DRM(agp_allocate_memory)(drm_device_t *dev, size_t pages, u32 type)
int DRM(agp_free_memory)(drm_device_t *dev, agp_memory *handle)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) {
if (!handle || !drm_agp->free_memory) return 0;
drm_agp->free_memory(handle);
@@ -170,7 +180,7 @@ int DRM(agp_free_memory)(drm_device_t *dev, agp_memory *handle)
int DRM(agp_bind_memory)(drm_device_t *dev, agp_memory *handle, off_t start)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) {
if (!handle || !drm_agp->bind_memory) return -EINVAL;
return drm_agp->bind_memory(handle, start);
@@ -183,7 +193,7 @@ int DRM(agp_bind_memory)(drm_device_t *dev, agp_memory *handle, off_t start)
int DRM(agp_unbind_memory)(drm_device_t *dev, agp_memory *handle)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) {
if (!handle || !drm_agp->unbind_memory) return -EINVAL;
return drm_agp->unbind_memory(handle);
@@ -199,12 +209,13 @@ drm_agp_mem_t *DRM(agp_lookup_entry)(drm_device_t *dev,
{
drm_agp_mem_t *entry;
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(!dev->agp) return NULL;
for(entry = dev->agp->memory; entry; entry = entry->next) {
if (entry->handle == handle) return entry;
}
+ DRM_DEBUG("%s : Returning null\n", __func__);
return NULL;
}
@@ -520,6 +531,9 @@ int DRM(agp_info)(struct inode *inode, struct file *filp,
if (!dev->agp || !dev->agp->acquired || !DRM(agp_has_copy)())
return -EINVAL;
+ if(drm_agp) drm_agp->copy_info(&dev->agp->agp_info);
+ if(drm_agp_3_0) drm_agp_3_0->copy_info(dev->agp->context,
+ &dev->agp->agp_info);
kern = &dev->agp->agp_info;
info.agp_version_major = kern->version.major;
info.agp_version_minor = kern->version.minor;
@@ -647,6 +661,7 @@ int DRM(agp_unbind)(struct inode *inode, struct file *filp,
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
if (!entry->bound) return -EINVAL;
+ entry->bound = 0;
return DRM(unbind_agp)(dev, entry->memory);
}
@@ -660,7 +675,7 @@ int DRM(agp_bind)(struct inode *inode, struct file *filp,
int retcode;
int page;
- if (!dev->agp || !dev->agp->acquired || !drm_agp->bind_memory)
+ if (!dev->agp || !dev->agp->acquired || !DRM(agp_has_bind)())
return -EINVAL;
if (copy_from_user(&request, (drm_agp_binding_t *)arg, sizeof(request)))
return -EFAULT;
diff --git a/linux-core/drm_bufs.c b/linux-core/drm_bufs.c
index 932d7a3f..0f3659ad 100644
--- a/linux-core/drm_bufs.c
+++ b/linux-core/drm_bufs.c
@@ -173,8 +173,8 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
DRM(free)(map, sizeof(*map), DRM_MEM_MAPS);
return -EINVAL;
}
+ map->handle = (unsigned long)entry;
map->offset = 0;
- map->handle = entry;
}
break;
#endif
@@ -203,6 +203,7 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
sizeof(map->offset) ) )
return -EFAULT;
}
+ DRM_DEBUG("Add map exited successfully.\n");
return 0;
}
diff --git a/linux-core/drm_memory.h b/linux-core/drm_memory.h
index da4a66f9..ccd58cb7 100644
--- a/linux-core/drm_memory.h
+++ b/linux-core/drm_memory.h
@@ -372,7 +372,7 @@ agp_memory *DRM(alloc_agp)(drm_device_t *dev, int pages, u32 type)
}
if ((handle = DRM(agp_allocate_memory)(dev, pages, type))) {
- printk("Returning handle : %p\n", handle);
+ DRM_DEBUG("Returning handle : %p\n", handle);
spin_lock(&DRM(mem_lock));
++DRM(mem_stats)[DRM_MEM_TOTALAGP].succeed_count;
DRM(mem_stats)[DRM_MEM_TOTALAGP].bytes_allocated
@@ -419,7 +419,7 @@ int DRM(bind_agp)(drm_device_t *dev, agp_memory *handle, unsigned int start)
{
int retcode = -EINVAL;
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if (!handle) {
DRM_MEM_ERROR(DRM_MEM_BOUNDAGP,
"Attempt to bind NULL AGP handle\n");
diff --git a/linux/agp_30_symbols.h b/linux/agp_30_symbols.h
index 5e3b7831..a955f800 100644
--- a/linux/agp_30_symbols.h
+++ b/linux/agp_30_symbols.h
@@ -26,6 +26,9 @@ typedef struct {
unsigned long (*usermap)(int, struct file *, agp_memory *,
unsigned long, unsigned long,
unsigned long, unsigned long);
+ void (*userunmap)(int, agp_memory *, void *);
+ void (*kunmap)(int, agp_memory *, void *);
+
} drm_agp_3_0_t;
/* No longer report the chipset_type enum, pass a char *driver_name back
diff --git a/linux/drm.h b/linux/drm.h
index f480d82c..65e85116 100644
--- a/linux/drm.h
+++ b/linux/drm.h
@@ -162,7 +162,7 @@ typedef enum drm_map_type {
_DRM_SHM = 2, /* shared, cached */
_DRM_AGP = 3, /* AGP/GART */
_DRM_SCATTER_GATHER = 4, /* Scatter/gather memory for PCI DMA */
- _DRM_AGP_MEM = 5, /* AGP/GART memory block */
+ _DRM_AGP_MEM = 5 /* AGP/GART memory block */
} drm_map_type_t;
typedef enum drm_map_flags {
diff --git a/linux/drm_agpsupport.h b/linux/drm_agpsupport.h
index 8666c859..ac9ef477 100644
--- a/linux/drm_agpsupport.h
+++ b/linux/drm_agpsupport.h
@@ -62,6 +62,8 @@ int DRM(agp_usermap)(drm_device_t *dev, drm_map_t *map,
struct vm_area_struct *vma)
{
drm_agp_mem_t *entry = (drm_agp_mem_t *)map->handle;
+ DRM_DEBUG("%s : handle : 0x%p key : %d\n", __func__, map->handle,
+ entry->memory ? entry->memory->key : 0);
return drm_agp_3_0->vma_map_memory(dev->agp->context,
vma,
@@ -69,9 +71,17 @@ int DRM(agp_usermap)(drm_device_t *dev, drm_map_t *map,
0);
}
+static int DRM(agp_has_bind)(void)
+{
+ DRM_DEBUG("%s\n", __func__);
+ if(drm_agp && drm_agp->bind_memory) return 1;
+ if(drm_agp_3_0 && drm_agp_3_0->bind_memory) return 1;
+ return 0;
+}
+
static int DRM(agp_has_copy)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->copy_info) return 1;
if(drm_agp_3_0 && drm_agp_3_0->copy_info) return 1;
return 0;
@@ -79,7 +89,7 @@ static int DRM(agp_has_copy)(void)
static int DRM(agp_has_enable)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->enable) return 1;
if(drm_agp_3_0 && drm_agp_3_0->enable) return 1;
return 0;
@@ -87,7 +97,7 @@ static int DRM(agp_has_enable)(void)
static int DRM(agp_has_acquire)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->acquire) return 1;
if(drm_agp_3_0 && drm_agp_3_0->acquire) return 1;
return 0;
@@ -95,7 +105,7 @@ static int DRM(agp_has_acquire)(void)
static int DRM(agp_has_release)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->release) return 1;
if(drm_agp_3_0 && drm_agp_3_0->release) return 1;
return 0;
@@ -103,21 +113,21 @@ static int DRM(agp_has_release)(void)
static void DRM(agp_call_release)(drm_device_t *dev)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) drm_agp->release();
else if (drm_agp_3_0) drm_agp_3_0->release(dev->agp->context);
}
static void DRM(agp_call_enable)(drm_device_t *dev, drm_agp_mode_t *mode)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) drm_agp->enable(mode->mode);
else if(drm_agp_3_0) drm_agp_3_0->enable(dev->agp->context, mode->mode);
}
static int DRM(agp_call_acquire)(drm_device_t *dev)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) return drm_agp->acquire();
else if(drm_agp_3_0) return drm_agp_3_0->acquire(dev->agp->context);
return -EINVAL;
@@ -126,28 +136,28 @@ static int DRM(agp_call_acquire)(drm_device_t *dev)
/* Revisit when we support more then one agp context. */
void DRM(agp_do_release)(void)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp && drm_agp->release) drm_agp->release();
else if(drm_agp_3_0 && drm_agp_3_0->release) drm_agp_3_0->release(0);
}
agp_memory *DRM(agp_allocate_memory)(drm_device_t *dev, size_t pages, u32 type)
{
- printk("%s 0\n", __func__);
+ DRM_DEBUG("%s 0\n", __func__);
if(drm_agp) {
- printk("%s 0\n", __func__);
+ DRM_DEBUG("%s 0\n", __func__);
if (!drm_agp->allocate_memory) return NULL;
- printk("%s 0\n", __func__);
+ DRM_DEBUG("%s 0\n", __func__);
return drm_agp->allocate_memory(pages, type);
} else if (drm_agp_3_0) {
agp_memory *mem;
- printk("%s 1\n", __func__);
+ DRM_DEBUG("%s 1\n", __func__);
if (!drm_agp_3_0->allocate_memory) return NULL;
- printk("%s 2\n", __func__);
+ DRM_DEBUG("%s 2\n", __func__);
mem = drm_agp_3_0->allocate_memory(dev->agp->context,
pages, type);
- printk("drm_agp_3_0 : %p, mem : %p\n", drm_agp_3_0, mem);
+ DRM_DEBUG("drm_agp_3_0 : %p, mem : %p\n", drm_agp_3_0, mem);
return mem;
}
return NULL;
@@ -155,7 +165,7 @@ agp_memory *DRM(agp_allocate_memory)(drm_device_t *dev, size_t pages, u32 type)
int DRM(agp_free_memory)(drm_device_t *dev, agp_memory *handle)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) {
if (!handle || !drm_agp->free_memory) return 0;
drm_agp->free_memory(handle);
@@ -170,7 +180,7 @@ int DRM(agp_free_memory)(drm_device_t *dev, agp_memory *handle)
int DRM(agp_bind_memory)(drm_device_t *dev, agp_memory *handle, off_t start)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) {
if (!handle || !drm_agp->bind_memory) return -EINVAL;
return drm_agp->bind_memory(handle, start);
@@ -183,7 +193,7 @@ int DRM(agp_bind_memory)(drm_device_t *dev, agp_memory *handle, off_t start)
int DRM(agp_unbind_memory)(drm_device_t *dev, agp_memory *handle)
{
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(drm_agp) {
if (!handle || !drm_agp->unbind_memory) return -EINVAL;
return drm_agp->unbind_memory(handle);
@@ -199,12 +209,13 @@ drm_agp_mem_t *DRM(agp_lookup_entry)(drm_device_t *dev,
{
drm_agp_mem_t *entry;
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if(!dev->agp) return NULL;
for(entry = dev->agp->memory; entry; entry = entry->next) {
if (entry->handle == handle) return entry;
}
+ DRM_DEBUG("%s : Returning null\n", __func__);
return NULL;
}
@@ -520,6 +531,9 @@ int DRM(agp_info)(struct inode *inode, struct file *filp,
if (!dev->agp || !dev->agp->acquired || !DRM(agp_has_copy)())
return -EINVAL;
+ if(drm_agp) drm_agp->copy_info(&dev->agp->agp_info);
+ if(drm_agp_3_0) drm_agp_3_0->copy_info(dev->agp->context,
+ &dev->agp->agp_info);
kern = &dev->agp->agp_info;
info.agp_version_major = kern->version.major;
info.agp_version_minor = kern->version.minor;
@@ -647,6 +661,7 @@ int DRM(agp_unbind)(struct inode *inode, struct file *filp,
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
if (!entry->bound) return -EINVAL;
+ entry->bound = 0;
return DRM(unbind_agp)(dev, entry->memory);
}
@@ -660,7 +675,7 @@ int DRM(agp_bind)(struct inode *inode, struct file *filp,
int retcode;
int page;
- if (!dev->agp || !dev->agp->acquired || !drm_agp->bind_memory)
+ if (!dev->agp || !dev->agp->acquired || !DRM(agp_has_bind)())
return -EINVAL;
if (copy_from_user(&request, (drm_agp_binding_t *)arg, sizeof(request)))
return -EFAULT;
diff --git a/linux/drm_bufs.h b/linux/drm_bufs.h
index 932d7a3f..0f3659ad 100644
--- a/linux/drm_bufs.h
+++ b/linux/drm_bufs.h
@@ -173,8 +173,8 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
DRM(free)(map, sizeof(*map), DRM_MEM_MAPS);
return -EINVAL;
}
+ map->handle = (unsigned long)entry;
map->offset = 0;
- map->handle = entry;
}
break;
#endif
@@ -203,6 +203,7 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
sizeof(map->offset) ) )
return -EFAULT;
}
+ DRM_DEBUG("Add map exited successfully.\n");
return 0;
}
diff --git a/linux/drm_memory.h b/linux/drm_memory.h
index da4a66f9..ccd58cb7 100644
--- a/linux/drm_memory.h
+++ b/linux/drm_memory.h
@@ -372,7 +372,7 @@ agp_memory *DRM(alloc_agp)(drm_device_t *dev, int pages, u32 type)
}
if ((handle = DRM(agp_allocate_memory)(dev, pages, type))) {
- printk("Returning handle : %p\n", handle);
+ DRM_DEBUG("Returning handle : %p\n", handle);
spin_lock(&DRM(mem_lock));
++DRM(mem_stats)[DRM_MEM_TOTALAGP].succeed_count;
DRM(mem_stats)[DRM_MEM_TOTALAGP].bytes_allocated
@@ -419,7 +419,7 @@ int DRM(bind_agp)(drm_device_t *dev, agp_memory *handle, unsigned int start)
{
int retcode = -EINVAL;
- printk("%s\n", __func__);
+ DRM_DEBUG("%s\n", __func__);
if (!handle) {
DRM_MEM_ERROR(DRM_MEM_BOUNDAGP,
"Attempt to bind NULL AGP handle\n");
diff --git a/shared-core/drm.h b/shared-core/drm.h
index f480d82c..65e85116 100644
--- a/shared-core/drm.h
+++ b/shared-core/drm.h
@@ -162,7 +162,7 @@ typedef enum drm_map_type {
_DRM_SHM = 2, /* shared, cached */
_DRM_AGP = 3, /* AGP/GART */
_DRM_SCATTER_GATHER = 4, /* Scatter/gather memory for PCI DMA */
- _DRM_AGP_MEM = 5, /* AGP/GART memory block */
+ _DRM_AGP_MEM = 5 /* AGP/GART memory block */
} drm_map_type_t;
typedef enum drm_map_flags {
diff --git a/shared/drm.h b/shared/drm.h
index f480d82c..65e85116 100644
--- a/shared/drm.h
+++ b/shared/drm.h
@@ -162,7 +162,7 @@ typedef enum drm_map_type {
_DRM_SHM = 2, /* shared, cached */
_DRM_AGP = 3, /* AGP/GART */
_DRM_SCATTER_GATHER = 4, /* Scatter/gather memory for PCI DMA */
- _DRM_AGP_MEM = 5, /* AGP/GART memory block */
+ _DRM_AGP_MEM = 5 /* AGP/GART memory block */
} drm_map_type_t;
typedef enum drm_map_flags {
diff --git a/shared/radeon.h b/shared/radeon.h
index 2b5131a9..0a742ce5 100644
--- a/shared/radeon.h
+++ b/shared/radeon.h
@@ -37,6 +37,7 @@
/* General customization:
*/
+#define __TRY_AGP_3_0 1
#define __HAVE_AGP 1
#define __MUST_HAVE_AGP 0
#define __HAVE_MTRR 1