]> git.hungrycats.org Git - linux/commitdiff
remove DRM_IOREMAP* and DRM_FIND_MAP macros replace them with inline fns
authorDave Airlie <airlied@starflyer.(none)>
Sat, 4 Sep 2004 06:01:05 +0000 (16:01 +1000)
committerDave Airlie <airlied@starflyer.(none)>
Sat, 4 Sep 2004 06:01:05 +0000 (16:01 +1000)
Signed-off-by: Dave Airlie <airlied@linux.ie>
drivers/char/drm/drmP.h
drivers/char/drm/drm_memory.h
drivers/char/drm/gamma_dma.c
drivers/char/drm/i810_dma.c
drivers/char/drm/i830_dma.c
drivers/char/drm/i915_dma.c
drivers/char/drm/mga_dma.c
drivers/char/drm/r128_cce.c
drivers/char/drm/radeon_cp.c

index 6c37fe59fb0911935e00aae1b35618b8d815fbef..fef52cc0e9a6c8363a00cd30b05d85855f317c72 100644 (file)
@@ -259,54 +259,6 @@ static inline struct page * vmalloc_to_page(void * vmalloc_addr)
 /*@}*/
 
 
-/***********************************************************************/
-/** \name Mapping helper macros */
-/*@{*/
-
-#define DRM_IOREMAP(map, dev)                                                  \
-       (map)->handle = DRM(ioremap)( (map)->offset, (map)->size, (dev) )
-
-#define DRM_IOREMAP_NOCACHE(map, dev)                                          \
-       (map)->handle = DRM(ioremap_nocache)((map)->offset, (map)->size, (dev))
-
-#define DRM_IOREMAPFREE(map, dev)                                              \
-       do {                                                                    \
-               if ( (map)->handle && (map)->size )                             \
-                       DRM(ioremapfree)( (map)->handle, (map)->size, (dev) );  \
-       } while (0)
-
-/**
- * Find mapping.
- *
- * \param _map matching mapping if found, untouched otherwise.
- * \param _o offset.
- *
- * Expects the existence of a local variable named \p dev pointing to the
- * drm_device structure.
- */
-#define DRM_FIND_MAP(_map, _o)                                                         \
-do {                                                                                   \
-       struct list_head *_list;                                                        \
-       list_for_each( _list, &dev->maplist->head ) {                                   \
-               drm_map_list_t *_entry = list_entry( _list, drm_map_list_t, head );     \
-               if ( _entry->map &&                                                     \
-                    _entry->map->offset == (_o) ) {                                    \
-                       (_map) = _entry->map;                                           \
-                       break;                                                          \
-               }                                                                       \
-       }                                                                               \
-} while(0)
-
-/**
- * Drop mapping.
- *
- * \sa #DRM_FIND_MAP.
- */
-#define DRM_DROP_MAP(_map)
-
-/*@}*/
-
-
 /***********************************************************************/
 /** \name Internal types and structures */
 /*@{*/
@@ -1007,6 +959,40 @@ extern int            DRM(ati_pcigart_cleanup)(drm_device_t *dev,
                                               unsigned long addr,
                                               dma_addr_t bus_addr);
 
+
+/* Inline replacements for DRM_IOREMAP macros */
+static __inline__ void drm_core_ioremap(struct drm_map *map, struct drm_device *dev)
+{
+       map->handle = DRM(ioremap)( map->offset, map->size, dev );
+}
+
+static __inline__ void drm_core_ioremap_nocache(struct drm_map *map, struct drm_device *dev)
+{
+       map->handle = DRM(ioremap_nocache)(map->offset, map->size, dev);
+}
+
+static __inline__ void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev)
+{
+       if ( map->handle && map->size )
+               DRM(ioremapfree)( map->handle, map->size, dev );
+}
+
+static __inline__ struct drm_map *drm_core_findmap(struct drm_device *dev, unsigned long offset)
+{
+       struct list_head *_list;
+       list_for_each( _list, &dev->maplist->head ) {
+               drm_map_list_t *_entry = list_entry( _list, drm_map_list_t, head );
+               if ( _entry->map &&
+                    _entry->map->offset == offset ) {
+                       return _entry->map;
+               }
+       }
+       return NULL;
+}
+
+static __inline__ void drm_core_dropmap(struct drm_map *map)
+{
+}
 /*@}*/
 
 #endif /* __KERNEL__ */
index 9adfe790d767af129967309b4a1851468f154e31..97d0df1cf8c4f12ccf3ad587fb452c9e2e6868d2 100644 (file)
@@ -187,6 +187,7 @@ static inline void drm_ioremapfree(void *pt, unsigned long size, drm_device_t *d
        iounmap(pt);
 }
 
+
 #if DEBUG_MEMORY
 #include "drm_memory_debug.h"
 #else
index 099875de7c72c4e39e924f942e86e2f827c8a283..44eac17061324ee9ea36fdb3d996545e4aa95a15 100644 (file)
@@ -639,12 +639,12 @@ static int gamma_do_init_dma( drm_device_t *dev, drm_gamma_init_t *init )
                        break;
                }
        }
-
-       DRM_FIND_MAP( dev_priv->mmio0, init->mmio0 );
-       DRM_FIND_MAP( dev_priv->mmio1, init->mmio1 );
-       DRM_FIND_MAP( dev_priv->mmio2, init->mmio2 );
-       DRM_FIND_MAP( dev_priv->mmio3, init->mmio3 );
-
+       
+       dev_priv->mmio0 = drm_core_findmap(dev, init->mmio0);
+       dev_priv->mmio1 = drm_core_findmap(dev, init->mmio1);
+       dev_priv->mmio2 = drm_core_findmap(dev, init->mmio2);
+       dev_priv->mmio3 = drm_core_findmap(dev, init->mmio3);
+       
        dev_priv->sarea_priv = (drm_gamma_sarea_t *)
                ((u8 *)dev_priv->sarea->handle +
                 init->sarea_priv_offset);
@@ -661,9 +661,8 @@ static int gamma_do_init_dma( drm_device_t *dev, drm_gamma_init_t *init )
 
                buf = dma->buflist[GLINT_DRI_BUF_COUNT];
        } else {
-               DRM_FIND_MAP( dev->agp_buffer_map, init->buffers_offset );
-
-               DRM_IOREMAP( dev->agp_buffer_map, dev );
+               dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset);
+               drm_core_ioremap( dev->agp_buffer_map, dev);
 
                buf = dma->buflist[GLINT_DRI_BUF_COUNT];
                pgt = buf->address;
@@ -701,7 +700,7 @@ int gamma_do_cleanup_dma( drm_device_t *dev )
        if ( dev->dev_private ) {
 
                if ( dev->agp_buffer_map != NULL )
-                       DRM_IOREMAPFREE( dev->agp_buffer_map, dev );
+                       drm_core_ioremapfree( dev->agp_buffer_map, dev );
 
                DRM(free)( dev->dev_private, sizeof(drm_gamma_private_t),
                           DRM_MEM_DRIVER );
index f8be24a04266bd4589ff90d8fa086499bbf16504..8753cdbb6afbe9415cbeded7d775689ea18583ed 100644 (file)
@@ -364,14 +364,14 @@ static int i810_dma_initialize(drm_device_t *dev,
                DRM_ERROR("can not find sarea!\n");
                return -EINVAL;
        }
-       DRM_FIND_MAP( dev_priv->mmio_map, init->mmio_offset );
+       dev_priv->mmio_map = drm_core_findmap(dev, init->mmio_offset);
        if (!dev_priv->mmio_map) {
                dev->dev_private = (void *)dev_priv;
                i810_dma_cleanup(dev);
                DRM_ERROR("can not find mmio map!\n");
                return -EINVAL;
        }
-       DRM_FIND_MAP( dev->agp_buffer_map, init->buffers_offset );
+       dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset);
        if (!dev->agp_buffer_map) {
                dev->dev_private = (void *)dev_priv;
                i810_dma_cleanup(dev);
index 77eb78b7d1d585d382fc26dbb4eb826fcf182daf..5956e3c9d975405e209f7934eb2c6d7b38d302fa 100644 (file)
@@ -371,14 +371,14 @@ static int i830_dma_initialize(drm_device_t *dev,
                DRM_ERROR("can not find sarea!\n");
                return -EINVAL;
        }
-       DRM_FIND_MAP( dev_priv->mmio_map, init->mmio_offset );
+       dev_priv->mmio_map = drm_core_findmap(dev, init->mmio_offset);
        if(!dev_priv->mmio_map) {
                dev->dev_private = (void *)dev_priv;
                i830_dma_cleanup(dev);
                DRM_ERROR("can not find mmio map!\n");
                return -EINVAL;
        }
-       DRM_FIND_MAP( dev->agp_buffer_map, init->buffers_offset );
+       dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset);
        if(!dev->agp_buffer_map) {
                dev->dev_private = (void *)dev_priv;
                i830_dma_cleanup(dev);
index b127993cd71ea547118e642b4d8b51c29b474697..f7de9bff1f93930e274a7fb88317ab9e058516ed 100644 (file)
@@ -91,7 +91,7 @@ int i915_dma_cleanup(drm_device_t * dev)
                    (drm_i915_private_t *) dev->dev_private;
 
                if (dev_priv->ring.virtual_start) {
-                       DRM_IOREMAPFREE(&dev_priv->ring.map, dev);
+                       drm_core_ioremapfree( &dev_priv->ring.map, dev);
                }
 
                if (dev_priv->hw_status_page) {
@@ -125,7 +125,7 @@ static int i915_initialize(drm_device_t * dev,
                return DRM_ERR(EINVAL);
        }
 
-       DRM_FIND_MAP(dev_priv->mmio_map, init->mmio_offset);
+       dev_priv->mmio_map = drm_core_findmap(dev, init->mmio_offset);
        if (!dev_priv->mmio_map) {
                dev->dev_private = (void *)dev_priv;
                i915_dma_cleanup(dev);
@@ -147,7 +147,7 @@ static int i915_initialize(drm_device_t * dev,
        dev_priv->ring.map.flags = 0;
        dev_priv->ring.map.mtrr = 0;
 
-       DRM_IOREMAP(&dev_priv->ring.map, dev);
+       drm_core_ioremap( &dev_priv->ring.map, dev );
 
        if (dev_priv->ring.map.handle == NULL) {
                dev->dev_private = (void *)dev_priv;
index 7854a1d20946a56d0696fde99ef6c5adfb6fe898..4a38b7d9dfff24c59a505c40c16d366ed1561402 100644 (file)
@@ -500,7 +500,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
                return DRM_ERR(EINVAL);
        }
 
-       DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
+       dev_priv->mmio = drm_core_findmap(dev, init->mmio_offset);
        if(!dev_priv->mmio) {
                DRM_ERROR( "failed to find mmio region!\n" );
                /* Assign dev_private so we can do cleanup. */
@@ -508,7 +508,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
                mga_do_cleanup_dma( dev );
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev_priv->status, init->status_offset );
+       dev_priv->status = drm_core_findmap(dev, init->status_offset);
        if(!dev_priv->status) {
                DRM_ERROR( "failed to find status page!\n" );
                /* Assign dev_private so we can do cleanup. */
@@ -516,8 +516,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
                mga_do_cleanup_dma( dev );
                return DRM_ERR(EINVAL);
        }
-
-       DRM_FIND_MAP( dev_priv->warp, init->warp_offset );
+       dev_priv->warp = drm_core_findmap(dev, init->warp_offset);
        if(!dev_priv->warp) {
                DRM_ERROR( "failed to find warp microcode region!\n" );
                /* Assign dev_private so we can do cleanup. */
@@ -525,7 +524,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
                mga_do_cleanup_dma( dev );
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev_priv->primary, init->primary_offset );
+       dev_priv->primary = drm_core_findmap(dev, init->primary_offset);
        if(!dev_priv->primary) {
                DRM_ERROR( "failed to find primary dma region!\n" );
                /* Assign dev_private so we can do cleanup. */
@@ -533,7 +532,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
                mga_do_cleanup_dma( dev );
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev->agp_buffer_map, init->buffers_offset );
+       dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset);
        if(!dev->agp_buffer_map) {
                DRM_ERROR( "failed to find dma buffer region!\n" );
                /* Assign dev_private so we can do cleanup. */
@@ -546,9 +545,9 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
                (drm_mga_sarea_t *)((u8 *)dev_priv->sarea->handle +
                                    init->sarea_priv_offset);
 
-       DRM_IOREMAP( dev_priv->warp, dev );
-       DRM_IOREMAP( dev_priv->primary, dev );
-       DRM_IOREMAP( dev->agp_buffer_map, dev );
+       drm_core_ioremap( dev_priv->warp, dev );
+       drm_core_ioremap( dev_priv->primary, dev );
+       drm_core_ioremap( dev->agp_buffer_map, dev );
 
        if(!dev_priv->warp->handle ||
           !dev_priv->primary->handle ||
@@ -643,11 +642,11 @@ int mga_do_cleanup_dma( drm_device_t *dev )
                drm_mga_private_t *dev_priv = dev->dev_private;
 
                if ( dev_priv->warp != NULL )
-                       DRM_IOREMAPFREE( dev_priv->warp, dev );
+                       drm_core_ioremapfree( dev_priv->warp, dev );
                if ( dev_priv->primary != NULL )
-                       DRM_IOREMAPFREE( dev_priv->primary, dev );
+                       drm_core_ioremapfree( dev_priv->primary, dev );
                if ( dev->agp_buffer_map != NULL )
-                       DRM_IOREMAPFREE( dev->agp_buffer_map, dev );
+                       drm_core_ioremapfree( dev->agp_buffer_map, dev );
 
                if ( dev_priv->head != NULL ) {
                        mga_freelist_cleanup( dev );
index 83612e57173a4b375ff577d750e50d891bda9367..43fa9b512298211dcb47de219e9952cad9320c4d 100644 (file)
@@ -467,28 +467,28 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init )
                return DRM_ERR(EINVAL);
        }
 
-       DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
+       dev_priv->mmio = drm_core_findmap(dev, init->mmio_offset);
        if(!dev_priv->mmio) {
                DRM_ERROR("could not find mmio region!\n");
                dev->dev_private = (void *)dev_priv;
                r128_do_cleanup_cce( dev );
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev_priv->cce_ring, init->ring_offset );
+       dev_priv->cce_ring = drm_core_findmap(dev, init->ring_offset);
        if(!dev_priv->cce_ring) {
                DRM_ERROR("could not find cce ring region!\n");
                dev->dev_private = (void *)dev_priv;
                r128_do_cleanup_cce( dev );
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev_priv->ring_rptr, init->ring_rptr_offset );
+       dev_priv->ring_rptr = drm_core_findmap(dev, init->ring_rptr_offset);
        if(!dev_priv->ring_rptr) {
                DRM_ERROR("could not find ring read pointer!\n");
                dev->dev_private = (void *)dev_priv;
                r128_do_cleanup_cce( dev );
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev->agp_buffer_map, init->buffers_offset );
+       dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset);
        if(!dev->agp_buffer_map) {
                DRM_ERROR("could not find dma buffer region!\n");
                dev->dev_private = (void *)dev_priv;
@@ -497,8 +497,7 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init )
        }
 
        if ( !dev_priv->is_pci ) {
-               DRM_FIND_MAP( dev_priv->agp_textures,
-                             init->agp_textures_offset );
+               dev_priv->agp_textures = drm_core_findmap(dev, init->agp_textures_offset);
                if(!dev_priv->agp_textures) {
                        DRM_ERROR("could not find agp texture region!\n");
                        dev->dev_private = (void *)dev_priv;
@@ -513,9 +512,9 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init )
 
 #if __REALLY_HAVE_AGP
        if ( !dev_priv->is_pci ) {
-               DRM_IOREMAP( dev_priv->cce_ring, dev );
-               DRM_IOREMAP( dev_priv->ring_rptr, dev );
-               DRM_IOREMAP( dev->agp_buffer_map, dev );
+               drm_core_ioremap( dev_priv->cce_ring, dev );
+               drm_core_ioremap( dev_priv->ring_rptr, dev );
+               drm_core_ioremap( dev->agp_buffer_map, dev );
                if(!dev_priv->cce_ring->handle ||
                   !dev_priv->ring_rptr->handle ||
                   !dev->agp_buffer_map->handle) {
@@ -601,11 +600,11 @@ int r128_do_cleanup_cce( drm_device_t *dev )
 #if __REALLY_HAVE_AGP
                if ( !dev_priv->is_pci ) {
                        if ( dev_priv->cce_ring != NULL )
-                               DRM_IOREMAPFREE( dev_priv->cce_ring, dev );
+                               drm_core_ioremapfree( dev_priv->cce_ring, dev );
                        if ( dev_priv->ring_rptr != NULL )
-                               DRM_IOREMAPFREE( dev_priv->ring_rptr, dev );
+                               drm_core_ioremapfree( dev_priv->ring_rptr, dev );
                        if ( dev->agp_buffer_map != NULL )
-                               DRM_IOREMAPFREE( dev->agp_buffer_map, dev );
+                               drm_core_ioremapfree( dev->agp_buffer_map, dev );
                } else
 #endif
                {
index 1c172b28279f53cd6d3a56c0425490a11dbe9e84..fc859825ad2eb0d9f83033b6d5a3beb59e3c12ce 100644 (file)
@@ -1118,28 +1118,28 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init )
                return DRM_ERR(EINVAL);
        }
 
-       DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset );
+       dev_priv->mmio = drm_core_findmap(dev, init->mmio_offset);
        if(!dev_priv->mmio) {
                DRM_ERROR("could not find mmio region!\n");
                dev->dev_private = (void *)dev_priv;
                radeon_do_cleanup_cp(dev);
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev_priv->cp_ring, init->ring_offset );
+       dev_priv->cp_ring = drm_core_findmap(dev, init->ring_offset);
        if(!dev_priv->cp_ring) {
                DRM_ERROR("could not find cp ring region!\n");
                dev->dev_private = (void *)dev_priv;
                radeon_do_cleanup_cp(dev);
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev_priv->ring_rptr, init->ring_rptr_offset );
+       dev_priv->ring_rptr = drm_core_findmap(dev, init->ring_rptr_offset);
        if(!dev_priv->ring_rptr) {
                DRM_ERROR("could not find ring read pointer!\n");
                dev->dev_private = (void *)dev_priv;
                radeon_do_cleanup_cp(dev);
                return DRM_ERR(EINVAL);
        }
-       DRM_FIND_MAP( dev->agp_buffer_map, init->buffers_offset );
+       dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset);
        if(!dev->agp_buffer_map) {
                DRM_ERROR("could not find dma buffer region!\n");
                dev->dev_private = (void *)dev_priv;
@@ -1148,7 +1148,7 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init )
        }
 
        if ( init->gart_textures_offset ) {
-               DRM_FIND_MAP( dev_priv->gart_textures, init->gart_textures_offset );
+               dev_priv->gart_textures = drm_core_findmap(dev, init->gart_textures_offset);
                if ( !dev_priv->gart_textures ) {
                        DRM_ERROR("could not find GART texture region!\n");
                        dev->dev_private = (void *)dev_priv;
@@ -1163,9 +1163,9 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init )
 
 #if __REALLY_HAVE_AGP
        if ( !dev_priv->is_pci ) {
-               DRM_IOREMAP( dev_priv->cp_ring, dev );
-               DRM_IOREMAP( dev_priv->ring_rptr, dev );
-               DRM_IOREMAP( dev->agp_buffer_map, dev );
+               drm_core_ioremap( dev_priv->cp_ring, dev );
+               drm_core_ioremap( dev_priv->ring_rptr, dev );
+               drm_core_ioremap( dev->agp_buffer_map, dev );
                if(!dev_priv->cp_ring->handle ||
                   !dev_priv->ring_rptr->handle ||
                   !dev->agp_buffer_map->handle) {
@@ -1289,11 +1289,11 @@ int radeon_do_cleanup_cp( drm_device_t *dev )
 #if __REALLY_HAVE_AGP
                if ( !dev_priv->is_pci ) {
                        if ( dev_priv->cp_ring != NULL )
-                               DRM_IOREMAPFREE( dev_priv->cp_ring, dev );
+                               drm_core_ioremapfree( dev_priv->cp_ring, dev );
                        if ( dev_priv->ring_rptr != NULL )
-                               DRM_IOREMAPFREE( dev_priv->ring_rptr, dev );
+                               drm_core_ioremapfree( dev_priv->ring_rptr, dev );
                        if ( dev->agp_buffer_map != NULL )
-                               DRM_IOREMAPFREE( dev->agp_buffer_map, dev );
+                               drm_core_ioremapfree( dev->agp_buffer_map, dev );
                } else
 #endif
                {