drm: Initialize the AGP structure's base address at init rather than enable.
authorEric Anholt <eric@anholt.net>
Thu, 22 Nov 2007 06:40:37 +0000 (16:40 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 7 Feb 2008 05:09:38 +0000 (15:09 +1000)
Not all drivers call enable (intel), but they would still like to use this
member in driver code.

Signed-off-by: Dave Airlie <airlied@linux.ie>
drivers/char/drm/drm_agpsupport.c
drivers/char/drm/i915_dma.c

index 214f4fb..9468c78 100644 (file)
@@ -166,7 +166,6 @@ int drm_agp_enable(struct drm_device * dev, struct drm_agp_mode mode)
 
        dev->agp->mode = mode.mode;
        agp_enable(dev->agp->bridge, mode.mode);
-       dev->agp->base = dev->agp->agp_info.aper_base;
        dev->agp->enabled = 1;
        return 0;
 }
@@ -417,7 +416,7 @@ struct drm_agp_head *drm_agp_init(struct drm_device *dev)
        INIT_LIST_HEAD(&head->memory);
        head->cant_use_aperture = head->agp_info.cant_use_aperture;
        head->page_mask = head->agp_info.page_mask;
-
+       head->base = head->agp_info.aper_base;
        return head;
 }
 
index 9e4fc96..842db32 100644 (file)
@@ -757,7 +757,7 @@ static int i915_set_status_page(struct drm_device *dev, void *data,
 
        dev_priv->status_gfx_addr = hws->addr & (0x1ffff<<12);
 
-       dev_priv->hws_map.offset = dev->agp->agp_info.aper_base + hws->addr;
+       dev_priv->hws_map.offset = dev->agp->base + hws->addr;
        dev_priv->hws_map.size = 4*1024;
        dev_priv->hws_map.type = 0;
        dev_priv->hws_map.flags = 0;