Create memory pool for TT memory

main
Alan Hourihane 2007-09-27 14:21:29 +01:00
parent 2ed12b6b7e
commit bf9bd5671c
1 changed files with 7 additions and 1 deletions

View File

@ -175,8 +175,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
drm_bo_driver_init(dev); drm_bo_driver_init(dev);
i915_probe_agp(dev->pdev, &agp_size, &prealloc_size); i915_probe_agp(dev->pdev, &agp_size, &prealloc_size);
DRM_DEBUG("setting up %ld bytes of VRAM space\n", prealloc_size); printk("setting up %ld bytes of VRAM space\n", prealloc_size);
printk("setting up %ld bytes of TT space\n", (agp_size - prealloc_size));
drm_bo_init_mm(dev, DRM_BO_MEM_VRAM, 0, prealloc_size >> PAGE_SHIFT); drm_bo_init_mm(dev, DRM_BO_MEM_VRAM, 0, prealloc_size >> PAGE_SHIFT);
drm_bo_init_mm(dev, DRM_BO_MEM_TT, prealloc_size >> PAGE_SHIFT, (agp_size - prealloc_size) >> PAGE_SHIFT);
I915_WRITE(LP_RING + RING_LEN, 0); I915_WRITE(LP_RING + RING_LEN, 0);
I915_WRITE(LP_RING + RING_HEAD, 0); I915_WRITE(LP_RING + RING_HEAD, 0);
@ -292,6 +294,10 @@ int i915_driver_unload(struct drm_device *dev)
mutex_lock(&dev->struct_mutex); mutex_lock(&dev->struct_mutex);
drm_bo_usage_deref_locked(&dev_priv->ring_buffer); drm_bo_usage_deref_locked(&dev_priv->ring_buffer);
if (drm_bo_clean_mm(dev, DRM_BO_MEM_TT)) {
DRM_ERROR("Memory manager type 3 not clean. "
"Delaying takedown\n");
}
if (drm_bo_clean_mm(dev, DRM_BO_MEM_VRAM)) { if (drm_bo_clean_mm(dev, DRM_BO_MEM_VRAM)) {
DRM_ERROR("Memory manager type 3 not clean. " DRM_ERROR("Memory manager type 3 not clean. "
"Delaying takedown\n"); "Delaying takedown\n");