patch-2.4.0-test11 linux/drivers/char/drm/memory.c

Next file: linux/drivers/char/drm/mga_drv.c
Previous file: linux/drivers/char/drm/i810_drv.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/drivers/char/drm/memory.c linux/drivers/char/drm/memory.c
@@ -352,16 +352,13 @@
 		return NULL;
 	}
 	
-	if (drm_agp.allocate_memory) {
-		if ((handle = (*drm_agp.allocate_memory)(pages,
-							 type))) {
-			spin_lock(&drm_mem_lock);
-			++drm_mem_stats[DRM_MEM_TOTALAGP].succeed_count;
-			drm_mem_stats[DRM_MEM_TOTALAGP].bytes_allocated
-				+= pages << PAGE_SHIFT;
-			spin_unlock(&drm_mem_lock);
-			return handle;
-		}
+	if ((handle = drm_agp_allocate_memory(pages, type))) {
+		spin_lock(&drm_mem_lock);
+		++drm_mem_stats[DRM_MEM_TOTALAGP].succeed_count;
+		drm_mem_stats[DRM_MEM_TOTALAGP].bytes_allocated
+			+= pages << PAGE_SHIFT;
+		spin_unlock(&drm_mem_lock);
+		return handle;
 	}
 	spin_lock(&drm_mem_lock);
 	++drm_mem_stats[DRM_MEM_TOTALAGP].fail_count;
@@ -381,8 +378,7 @@
 		return retval;;
 	}
 	
-	if (drm_agp.free_memory) {
-		(*drm_agp.free_memory)(handle);
+	if (drm_agp_free_memory(handle)) {
 		spin_lock(&drm_mem_lock);
 		free_count  = ++drm_mem_stats[DRM_MEM_TOTALAGP].free_count;
 		alloc_count =   drm_mem_stats[DRM_MEM_TOTALAGP].succeed_count;
@@ -403,24 +399,19 @@
 {
 	int retcode = -EINVAL;
 
-   DRM_DEBUG("drm_bind_agp called\n");
 	if (!handle) {
 		DRM_MEM_ERROR(DRM_MEM_BOUNDAGP,
 			      "Attempt to bind NULL AGP handle\n");
 		return retcode;
 	}
 
-   DRM_DEBUG("drm_agp.bind_memory : %p\n", drm_agp.bind_memory);
-	if (drm_agp.bind_memory) {
-		if (!(retcode = (*drm_agp.bind_memory)(handle, start))) {
-			spin_lock(&drm_mem_lock);
-			++drm_mem_stats[DRM_MEM_BOUNDAGP].succeed_count;
-			drm_mem_stats[DRM_MEM_BOUNDAGP].bytes_allocated
-				+= handle->page_count << PAGE_SHIFT;
-			spin_unlock(&drm_mem_lock);
-		   DRM_DEBUG("drm_agp.bind_memory: retcode %d\n", retcode);
-			return retcode;
-		}
+	if (!(retcode = drm_agp_bind_memory(handle, start))) {
+		spin_lock(&drm_mem_lock);
+		++drm_mem_stats[DRM_MEM_BOUNDAGP].succeed_count;
+		drm_mem_stats[DRM_MEM_BOUNDAGP].bytes_allocated
+			+= handle->page_count << PAGE_SHIFT;
+		spin_unlock(&drm_mem_lock);
+		return retcode;
 	}
 	spin_lock(&drm_mem_lock);
 	++drm_mem_stats[DRM_MEM_BOUNDAGP].fail_count;
@@ -440,20 +431,17 @@
 		return retcode;
 	}
 
-	if (drm_agp.unbind_memory) {
-		int c = handle->page_count;
-		if ((retcode = (*drm_agp.unbind_memory)(handle)))
-			return retcode;
-		spin_lock(&drm_mem_lock);
-		free_count  = ++drm_mem_stats[DRM_MEM_BOUNDAGP].free_count;
-		alloc_count = drm_mem_stats[DRM_MEM_BOUNDAGP].succeed_count;
-		drm_mem_stats[DRM_MEM_BOUNDAGP].bytes_freed += c << PAGE_SHIFT;
-		spin_unlock(&drm_mem_lock);
-		if (free_count > alloc_count) {
-			DRM_MEM_ERROR(DRM_MEM_BOUNDAGP,
-				      "Excess frees: %d frees, %d allocs\n",
-				      free_count, alloc_count);
-		}
+	if ((retcode = drm_agp_unbind_memory(handle))) return retcode;
+	spin_lock(&drm_mem_lock);
+	free_count  = ++drm_mem_stats[DRM_MEM_BOUNDAGP].free_count;
+	alloc_count = drm_mem_stats[DRM_MEM_BOUNDAGP].succeed_count;
+	drm_mem_stats[DRM_MEM_BOUNDAGP].bytes_freed
+		+= handle->page_count << PAGE_SHIFT;
+	spin_unlock(&drm_mem_lock);
+	if (free_count > alloc_count) {
+		DRM_MEM_ERROR(DRM_MEM_BOUNDAGP,
+			      "Excess frees: %d frees, %d allocs\n",
+			      free_count, alloc_count);
 	}
 	return retcode;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)