mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-20 19:50:12 +01:00
Don't ioremap the framebuffer area. The ioremapped area wasn't used by
anything, and took up valuable KVA. While I'm in the area, clean up BSD
MTRR stuff some more.
Suggested by: jonsmirl
This commit is contained in:
parent
5285b02987
commit
9fb6986e83
22 changed files with 74 additions and 134 deletions
|
|
@ -267,7 +267,7 @@ typedef struct drm_agp_head {
|
|||
int enabled;
|
||||
int acquired;
|
||||
unsigned long base;
|
||||
int agp_mtrr;
|
||||
int mtrr;
|
||||
int cant_use_aperture;
|
||||
unsigned long page_mask;
|
||||
} drm_agp_head_t;
|
||||
|
|
@ -287,7 +287,7 @@ typedef struct drm_local_map {
|
|||
drm_map_flags_t flags; /* Flags */
|
||||
void *handle; /* User-space: "Handle" to pass to mmap */
|
||||
/* Kernel-space: kernel-virtual address */
|
||||
int mtrr; /* MTRR slot used */
|
||||
int mtrr; /* Boolean: MTRR used */
|
||||
/* Private data */
|
||||
bus_space_tag_t iot;
|
||||
bus_space_handle_t ioh;
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ int DRM(addmap)( DRM_IOCTL_ARGS )
|
|||
map->size = request.size;
|
||||
map->type = request.type;
|
||||
map->flags = request.flags;
|
||||
map->mtrr = -1;
|
||||
map->mtrr = 0;
|
||||
map->handle = 0;
|
||||
|
||||
/* Only allow shared memory to be removable since we only keep enough
|
||||
|
|
@ -104,28 +104,23 @@ int DRM(addmap)( DRM_IOCTL_ARGS )
|
|||
DRM(free)( map, sizeof(*map), DRM_MEM_MAPS );
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
switch ( map->type ) {
|
||||
case _DRM_REGISTERS:
|
||||
case _DRM_FRAME_BUFFER:
|
||||
if (map->offset + map->size < map->offset) {
|
||||
DRM(free)(map, sizeof(*map), DRM_MEM_MAPS);
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if ( map->type == _DRM_FRAME_BUFFER ||
|
||||
(map->flags & _DRM_WRITE_COMBINING) ) {
|
||||
int mtrr;
|
||||
|
||||
mtrr = DRM(mtrr_add)(map->offset, map->size,
|
||||
DRM_MTRR_WC);
|
||||
if (mtrr == 0)
|
||||
map->mtrr = 1;
|
||||
}
|
||||
#endif /* __REALLY_HAVE_MTRR */
|
||||
switch ( map->type ) {
|
||||
case _DRM_REGISTERS:
|
||||
DRM_IOREMAP(map, dev);
|
||||
if (!(map->flags & _DRM_WRITE_COMBINING))
|
||||
break;
|
||||
/* FALLTHROUGH */
|
||||
case _DRM_FRAME_BUFFER:
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if (DRM(mtrr_add)(map->offset, map->size, DRM_MTRR_WC) == 0)
|
||||
map->mtrr = 1;
|
||||
#endif
|
||||
break;
|
||||
|
||||
case _DRM_SHM:
|
||||
map->handle = (void *)DRM(alloc)(map->size, DRM_MEM_SAREA);
|
||||
DRM_DEBUG( "%lu %d %p\n",
|
||||
|
|
@ -152,7 +147,7 @@ int DRM(addmap)( DRM_IOCTL_ARGS )
|
|||
#if __REALLY_HAVE_AGP
|
||||
case _DRM_AGP:
|
||||
map->offset += dev->agp->base;
|
||||
map->mtrr = dev->agp->agp_mtrr; /* for getmap */
|
||||
map->mtrr = dev->agp->mtrr; /* for getmap */
|
||||
break;
|
||||
#endif
|
||||
case _DRM_SCATTER_GATHER:
|
||||
|
|
@ -231,12 +226,12 @@ int DRM(rmmap)( DRM_IOCTL_ARGS )
|
|||
case _DRM_REGISTERS:
|
||||
case _DRM_FRAME_BUFFER:
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if (map->mtrr >= 0) {
|
||||
int __unused mtrr;
|
||||
if (map->mtrr) {
|
||||
int __unused retcode;
|
||||
|
||||
mtrr = DRM(mtrr_del)(map->offset, map->size,
|
||||
retcode = DRM(mtrr_del)(map->offset, map->size,
|
||||
DRM_MTRR_WC);
|
||||
DRM_DEBUG("mtrr_del = %d\n", mtrr);
|
||||
DRM_DEBUG("mtrr_del = %d\n", retcode);
|
||||
}
|
||||
#endif
|
||||
DRM(ioremapfree)(map);
|
||||
|
|
|
|||
|
|
@ -565,17 +565,18 @@ static int DRM(takedown)( drm_device_t *dev )
|
|||
map = list->map;
|
||||
switch ( map->type ) {
|
||||
case _DRM_REGISTERS:
|
||||
DRM(ioremapfree)(map);
|
||||
/* FALLTHROUGH */
|
||||
case _DRM_FRAME_BUFFER:
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if ( map->mtrr >= 0 ) {
|
||||
int __unused mtrr;
|
||||
if (map->mtrr) {
|
||||
int __unused retcode;
|
||||
|
||||
mtrr = DRM(mtrr_del)(map->offset,
|
||||
retcode = DRM(mtrr_del)(map->offset,
|
||||
map->size, DRM_MTRR_WC);
|
||||
DRM_DEBUG("mtrr_del=%d\n", mtrr);
|
||||
DRM_DEBUG("mtrr_del = %d", retcode);
|
||||
}
|
||||
#endif
|
||||
DRM(ioremapfree)( map );
|
||||
break;
|
||||
case _DRM_SHM:
|
||||
DRM(free)(map->handle,
|
||||
|
|
@ -679,12 +680,9 @@ static int DRM(init)( device_t nbdev )
|
|||
#endif /* __MUST_HAVE_AGP */
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if (dev->agp) {
|
||||
int retcode;
|
||||
|
||||
retcode = DRM(mtrr_add)(dev->agp->info.ai_aperture_base,
|
||||
dev->agp->info.ai_aperture_size, DRM_MTRR_WC);
|
||||
if (retcode == 0)
|
||||
dev->agp->agp_mtrr=1;
|
||||
if (DRM(mtrr_add)(dev->agp->info.ai_aperture_base,
|
||||
dev->agp->info.ai_aperture_size, DRM_MTRR_WC) == 0)
|
||||
dev->agp->mtrr = 1;
|
||||
}
|
||||
#endif /* __REALLY_HAVE_MTRR */
|
||||
#endif /* __REALLY_HAVE_AGP */
|
||||
|
|
@ -742,12 +740,12 @@ static void DRM(cleanup)(drm_device_t *dev)
|
|||
#endif
|
||||
|
||||
#if __REALLY_HAVE_AGP && __REALLY_HAVE_MTRR
|
||||
if ( dev->agp && dev->agp->agp_mtrr >= 0) {
|
||||
int __unused mtrr;
|
||||
if (dev->agp && dev->agp->mtrr) {
|
||||
int __unused retcode;
|
||||
|
||||
mtrr = DRM(mtrr_del)(dev->agp->info.ai_aperture_base,
|
||||
retcode = DRM(mtrr_del)(dev->agp->info.ai_aperture_base,
|
||||
dev->agp->info.ai_aperture_size, DRM_MTRR_WC);
|
||||
DRM_DEBUG("mtrr_del=%d\n", mtrr);
|
||||
DRM_DEBUG("mtrr_del = %d", retcode);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ static int DRM(vm_info)DRM_SYSCTL_HANDLER_ARGS
|
|||
else
|
||||
type = types[map->type];
|
||||
|
||||
if (map->mtrr <= 0)
|
||||
if (!map->mtrr)
|
||||
yesno = "no";
|
||||
else
|
||||
yesno = "yes";
|
||||
|
|
|
|||
|
|
@ -267,7 +267,7 @@ typedef struct drm_agp_head {
|
|||
int enabled;
|
||||
int acquired;
|
||||
unsigned long base;
|
||||
int agp_mtrr;
|
||||
int mtrr;
|
||||
int cant_use_aperture;
|
||||
unsigned long page_mask;
|
||||
} drm_agp_head_t;
|
||||
|
|
@ -287,7 +287,7 @@ typedef struct drm_local_map {
|
|||
drm_map_flags_t flags; /* Flags */
|
||||
void *handle; /* User-space: "Handle" to pass to mmap */
|
||||
/* Kernel-space: kernel-virtual address */
|
||||
int mtrr; /* MTRR slot used */
|
||||
int mtrr; /* Boolean: MTRR used */
|
||||
/* Private data */
|
||||
bus_space_tag_t iot;
|
||||
bus_space_handle_t ioh;
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ int DRM(addmap)( DRM_IOCTL_ARGS )
|
|||
map->size = request.size;
|
||||
map->type = request.type;
|
||||
map->flags = request.flags;
|
||||
map->mtrr = -1;
|
||||
map->mtrr = 0;
|
||||
map->handle = 0;
|
||||
|
||||
/* Only allow shared memory to be removable since we only keep enough
|
||||
|
|
@ -104,28 +104,23 @@ int DRM(addmap)( DRM_IOCTL_ARGS )
|
|||
DRM(free)( map, sizeof(*map), DRM_MEM_MAPS );
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
switch ( map->type ) {
|
||||
case _DRM_REGISTERS:
|
||||
case _DRM_FRAME_BUFFER:
|
||||
if (map->offset + map->size < map->offset) {
|
||||
DRM(free)(map, sizeof(*map), DRM_MEM_MAPS);
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if ( map->type == _DRM_FRAME_BUFFER ||
|
||||
(map->flags & _DRM_WRITE_COMBINING) ) {
|
||||
int mtrr;
|
||||
|
||||
mtrr = DRM(mtrr_add)(map->offset, map->size,
|
||||
DRM_MTRR_WC);
|
||||
if (mtrr == 0)
|
||||
map->mtrr = 1;
|
||||
}
|
||||
#endif /* __REALLY_HAVE_MTRR */
|
||||
switch ( map->type ) {
|
||||
case _DRM_REGISTERS:
|
||||
DRM_IOREMAP(map, dev);
|
||||
if (!(map->flags & _DRM_WRITE_COMBINING))
|
||||
break;
|
||||
/* FALLTHROUGH */
|
||||
case _DRM_FRAME_BUFFER:
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if (DRM(mtrr_add)(map->offset, map->size, DRM_MTRR_WC) == 0)
|
||||
map->mtrr = 1;
|
||||
#endif
|
||||
break;
|
||||
|
||||
case _DRM_SHM:
|
||||
map->handle = (void *)DRM(alloc)(map->size, DRM_MEM_SAREA);
|
||||
DRM_DEBUG( "%lu %d %p\n",
|
||||
|
|
@ -152,7 +147,7 @@ int DRM(addmap)( DRM_IOCTL_ARGS )
|
|||
#if __REALLY_HAVE_AGP
|
||||
case _DRM_AGP:
|
||||
map->offset += dev->agp->base;
|
||||
map->mtrr = dev->agp->agp_mtrr; /* for getmap */
|
||||
map->mtrr = dev->agp->mtrr; /* for getmap */
|
||||
break;
|
||||
#endif
|
||||
case _DRM_SCATTER_GATHER:
|
||||
|
|
@ -231,12 +226,12 @@ int DRM(rmmap)( DRM_IOCTL_ARGS )
|
|||
case _DRM_REGISTERS:
|
||||
case _DRM_FRAME_BUFFER:
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if (map->mtrr >= 0) {
|
||||
int __unused mtrr;
|
||||
if (map->mtrr) {
|
||||
int __unused retcode;
|
||||
|
||||
mtrr = DRM(mtrr_del)(map->offset, map->size,
|
||||
retcode = DRM(mtrr_del)(map->offset, map->size,
|
||||
DRM_MTRR_WC);
|
||||
DRM_DEBUG("mtrr_del = %d\n", mtrr);
|
||||
DRM_DEBUG("mtrr_del = %d\n", retcode);
|
||||
}
|
||||
#endif
|
||||
DRM(ioremapfree)(map);
|
||||
|
|
|
|||
|
|
@ -565,17 +565,18 @@ static int DRM(takedown)( drm_device_t *dev )
|
|||
map = list->map;
|
||||
switch ( map->type ) {
|
||||
case _DRM_REGISTERS:
|
||||
DRM(ioremapfree)(map);
|
||||
/* FALLTHROUGH */
|
||||
case _DRM_FRAME_BUFFER:
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if ( map->mtrr >= 0 ) {
|
||||
int __unused mtrr;
|
||||
if (map->mtrr) {
|
||||
int __unused retcode;
|
||||
|
||||
mtrr = DRM(mtrr_del)(map->offset,
|
||||
retcode = DRM(mtrr_del)(map->offset,
|
||||
map->size, DRM_MTRR_WC);
|
||||
DRM_DEBUG("mtrr_del=%d\n", mtrr);
|
||||
DRM_DEBUG("mtrr_del = %d", retcode);
|
||||
}
|
||||
#endif
|
||||
DRM(ioremapfree)( map );
|
||||
break;
|
||||
case _DRM_SHM:
|
||||
DRM(free)(map->handle,
|
||||
|
|
@ -679,12 +680,9 @@ static int DRM(init)( device_t nbdev )
|
|||
#endif /* __MUST_HAVE_AGP */
|
||||
#if __REALLY_HAVE_MTRR
|
||||
if (dev->agp) {
|
||||
int retcode;
|
||||
|
||||
retcode = DRM(mtrr_add)(dev->agp->info.ai_aperture_base,
|
||||
dev->agp->info.ai_aperture_size, DRM_MTRR_WC);
|
||||
if (retcode == 0)
|
||||
dev->agp->agp_mtrr=1;
|
||||
if (DRM(mtrr_add)(dev->agp->info.ai_aperture_base,
|
||||
dev->agp->info.ai_aperture_size, DRM_MTRR_WC) == 0)
|
||||
dev->agp->mtrr = 1;
|
||||
}
|
||||
#endif /* __REALLY_HAVE_MTRR */
|
||||
#endif /* __REALLY_HAVE_AGP */
|
||||
|
|
@ -742,12 +740,12 @@ static void DRM(cleanup)(drm_device_t *dev)
|
|||
#endif
|
||||
|
||||
#if __REALLY_HAVE_AGP && __REALLY_HAVE_MTRR
|
||||
if ( dev->agp && dev->agp->agp_mtrr >= 0) {
|
||||
int __unused mtrr;
|
||||
if (dev->agp && dev->agp->mtrr) {
|
||||
int __unused retcode;
|
||||
|
||||
mtrr = DRM(mtrr_del)(dev->agp->info.ai_aperture_base,
|
||||
retcode = DRM(mtrr_del)(dev->agp->info.ai_aperture_base,
|
||||
dev->agp->info.ai_aperture_size, DRM_MTRR_WC);
|
||||
DRM_DEBUG("mtrr_del=%d\n", mtrr);
|
||||
DRM_DEBUG("mtrr_del = %d", retcode);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ static int DRM(vm_info)DRM_SYSCTL_HANDLER_ARGS
|
|||
else
|
||||
type = types[map->type];
|
||||
|
||||
if (map->mtrr <= 0)
|
||||
if (!map->mtrr)
|
||||
yesno = "no";
|
||||
else
|
||||
yesno = "yes";
|
||||
|
|
|
|||
|
|
@ -148,7 +148,9 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
|
|||
MTRR_TYPE_WRCOMB, 1 );
|
||||
}
|
||||
#endif
|
||||
map->handle = DRM(ioremap)( map->offset, map->size, dev );
|
||||
if (map->type == _DRM_REGISTERS)
|
||||
map->handle = DRM(ioremap)( map->offset, map->size,
|
||||
dev );
|
||||
break;
|
||||
|
||||
case _DRM_SHM:
|
||||
|
|
|
|||
|
|
@ -148,7 +148,9 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
|
|||
MTRR_TYPE_WRCOMB, 1 );
|
||||
}
|
||||
#endif
|
||||
map->handle = DRM(ioremap)( map->offset, map->size, dev );
|
||||
if (map->type == _DRM_REGISTERS)
|
||||
map->handle = DRM(ioremap)( map->offset, map->size,
|
||||
dev );
|
||||
break;
|
||||
|
||||
case _DRM_SHM:
|
||||
|
|
|
|||
|
|
@ -500,14 +500,6 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
|
|||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
DRM_FIND_MAP( dev_priv->fb, init->fb_offset );
|
||||
if(!dev_priv->fb) {
|
||||
DRM_ERROR( "failed to find framebuffer!\n" );
|
||||
/* Assign dev_private so we can do cleanup. */
|
||||
dev->dev_private = (void *)dev_priv;
|
||||
mga_do_cleanup_dma( dev );
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
|
||||
if(!dev_priv->mmio) {
|
||||
DRM_ERROR( "failed to find mmio region!\n" );
|
||||
|
|
|
|||
|
|
@ -91,7 +91,6 @@ typedef struct drm_mga_private {
|
|||
unsigned int texture_size;
|
||||
|
||||
drm_local_map_t *sarea;
|
||||
drm_local_map_t *fb;
|
||||
drm_local_map_t *mmio;
|
||||
drm_local_map_t *status;
|
||||
drm_local_map_t *warp;
|
||||
|
|
|
|||
|
|
@ -467,13 +467,6 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init )
|
|||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
DRM_FIND_MAP( dev_priv->fb, init->fb_offset );
|
||||
if(!dev_priv->fb) {
|
||||
DRM_ERROR("could not find framebuffer!\n");
|
||||
dev->dev_private = (void *)dev_priv;
|
||||
r128_do_cleanup_cce( dev );
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
|
||||
if(!dev_priv->mmio) {
|
||||
DRM_ERROR("could not find mmio region!\n");
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ typedef struct drm_r128_private {
|
|||
u32 span_pitch_offset_c;
|
||||
|
||||
drm_local_map_t *sarea;
|
||||
drm_local_map_t *fb;
|
||||
drm_local_map_t *mmio;
|
||||
drm_local_map_t *cce_ring;
|
||||
drm_local_map_t *ring_rptr;
|
||||
|
|
|
|||
|
|
@ -1118,13 +1118,6 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init )
|
|||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
DRM_FIND_MAP( dev_priv->fb, init->fb_offset );
|
||||
if(!dev_priv->fb) {
|
||||
DRM_ERROR("could not find framebuffer!\n");
|
||||
dev->dev_private = (void *)dev_priv;
|
||||
radeon_do_cleanup_cp(dev);
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
|
||||
if(!dev_priv->mmio) {
|
||||
DRM_ERROR("could not find mmio region!\n");
|
||||
|
|
|
|||
|
|
@ -135,7 +135,6 @@ typedef struct drm_radeon_private {
|
|||
unsigned long gart_textures_offset;
|
||||
|
||||
drm_local_map_t *sarea;
|
||||
drm_local_map_t *fb;
|
||||
drm_local_map_t *mmio;
|
||||
drm_local_map_t *cp_ring;
|
||||
drm_local_map_t *ring_rptr;
|
||||
|
|
|
|||
|
|
@ -500,14 +500,6 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
|
|||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
DRM_FIND_MAP( dev_priv->fb, init->fb_offset );
|
||||
if(!dev_priv->fb) {
|
||||
DRM_ERROR( "failed to find framebuffer!\n" );
|
||||
/* Assign dev_private so we can do cleanup. */
|
||||
dev->dev_private = (void *)dev_priv;
|
||||
mga_do_cleanup_dma( dev );
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
|
||||
if(!dev_priv->mmio) {
|
||||
DRM_ERROR( "failed to find mmio region!\n" );
|
||||
|
|
|
|||
|
|
@ -91,7 +91,6 @@ typedef struct drm_mga_private {
|
|||
unsigned int texture_size;
|
||||
|
||||
drm_local_map_t *sarea;
|
||||
drm_local_map_t *fb;
|
||||
drm_local_map_t *mmio;
|
||||
drm_local_map_t *status;
|
||||
drm_local_map_t *warp;
|
||||
|
|
|
|||
|
|
@ -467,13 +467,6 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init )
|
|||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
DRM_FIND_MAP( dev_priv->fb, init->fb_offset );
|
||||
if(!dev_priv->fb) {
|
||||
DRM_ERROR("could not find framebuffer!\n");
|
||||
dev->dev_private = (void *)dev_priv;
|
||||
r128_do_cleanup_cce( dev );
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
|
||||
if(!dev_priv->mmio) {
|
||||
DRM_ERROR("could not find mmio region!\n");
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ typedef struct drm_r128_private {
|
|||
u32 span_pitch_offset_c;
|
||||
|
||||
drm_local_map_t *sarea;
|
||||
drm_local_map_t *fb;
|
||||
drm_local_map_t *mmio;
|
||||
drm_local_map_t *cce_ring;
|
||||
drm_local_map_t *ring_rptr;
|
||||
|
|
|
|||
|
|
@ -1118,13 +1118,6 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init )
|
|||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
|
||||
DRM_FIND_MAP( dev_priv->fb, init->fb_offset );
|
||||
if(!dev_priv->fb) {
|
||||
DRM_ERROR("could not find framebuffer!\n");
|
||||
dev->dev_private = (void *)dev_priv;
|
||||
radeon_do_cleanup_cp(dev);
|
||||
return DRM_ERR(EINVAL);
|
||||
}
|
||||
DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
|
||||
if(!dev_priv->mmio) {
|
||||
DRM_ERROR("could not find mmio region!\n");
|
||||
|
|
|
|||
|
|
@ -135,7 +135,6 @@ typedef struct drm_radeon_private {
|
|||
unsigned long gart_textures_offset;
|
||||
|
||||
drm_local_map_t *sarea;
|
||||
drm_local_map_t *fb;
|
||||
drm_local_map_t *mmio;
|
||||
drm_local_map_t *cp_ring;
|
||||
drm_local_map_t *ring_rptr;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue