aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorRobert Noland <rnoland@FreeBSD.org>2009-09-13 11:10:38 +0000
committerRobert Noland <rnoland@FreeBSD.org>2009-09-13 11:10:38 +0000
commit14928dda5c3cd59ebee4f21daba0ec8cd2f19f77 (patch)
tree3aef440ff884d8feb3d445b6db713bb1f7d8d9ef /sys
parent199e2065134c1120f269b5e219e8014ad73c6be8 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/drm/r600_blit.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/dev/drm/r600_blit.c b/sys/dev/drm/r600_blit.c
index 4848579675f3..91690d24ccb1 100644
--- a/sys/dev/drm/r600_blit.c
+++ b/sys/dev/drm/r600_blit.c
@@ -1734,6 +1734,8 @@ r600_blit_copy(struct drm_device *dev,
if (!src_x && !dst_x) {
h = (cur_size / max_bytes);
+ if (h > 8192)
+ h = 8192;
if (h == 0)
h = 1;
else
@@ -1805,8 +1807,8 @@ r600_blit_copy(struct drm_device *dev,
vb += 12;
dev_priv->blit_vb->used += 12 * 4;
- src_gpu_addr += cur_size;
- dst_gpu_addr += cur_size;
+ src_gpu_addr += cur_size * h;
+ dst_gpu_addr += cur_size * h;
size_bytes -= cur_size * h;
}
} else {
@@ -1822,6 +1824,8 @@ r600_blit_copy(struct drm_device *dev,
if (!src_x && !dst_x) {
h = (cur_size / max_bytes);
+ if (h > 8192)
+ h = 8192;
if (h == 0)
h = 1;
else
@@ -1894,8 +1898,8 @@ r600_blit_copy(struct drm_device *dev,
vb += 12;
dev_priv->blit_vb->used += 12 * 4;
- src_gpu_addr += cur_size;
- dst_gpu_addr += cur_size;
+ src_gpu_addr += cur_size * h;
+ dst_gpu_addr += cur_size * h;
size_bytes -= cur_size * h;
}
}