radeon: add mtrr support for VRAM aperture.
parent
2b9a7d5381
commit
0e1df6216e
|
@ -947,6 +947,10 @@ void radeon_init_memory_map(struct drm_device *dev)
|
|||
- dev_priv->fb_location;
|
||||
}
|
||||
|
||||
/* add an MTRR for the VRAM */
|
||||
dev_priv->aper_size = aper_size;
|
||||
dev_priv->vram_mtrr = mtrr_add(dev_priv->fb_aper_offset, dev_priv->aper_size, MTRR_TYPE_WRCOMB, 1);
|
||||
|
||||
}
|
||||
|
||||
/* init memory manager - start with all of VRAM and a 32MB GART aperture for now */
|
||||
|
@ -1037,6 +1041,8 @@ void radeon_gem_mm_fini(struct drm_device *dev)
|
|||
DRM_DEBUG("delaying takedown of VRAM memory\n");
|
||||
}
|
||||
|
||||
if (dev_priv->vram_mtrr)
|
||||
mtrr_del(dev_priv->vram_mtrr, dev_priv->fb_aper_offset, dev_priv->aper_size);
|
||||
mutex_unlock(&dev->struct_mutex);
|
||||
|
||||
drm_bo_driver_finish(dev);
|
||||
|
|
|
@ -462,6 +462,9 @@ typedef struct drm_radeon_private {
|
|||
struct radeon_pm_regs pmregs;
|
||||
int irq_emitted;
|
||||
atomic_t irq_received;
|
||||
|
||||
uint32_t aper_size;
|
||||
int vram_mtrr;
|
||||
} drm_radeon_private_t;
|
||||
|
||||
typedef struct drm_radeon_buf_priv {
|
||||
|
|
Loading…
Reference in New Issue