aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-09-23 01:21:17 -0400
committerBen Skeggs <bskeggs@redhat.com>2010-09-24 02:28:39 -0400
commit5220b3c14b5d4e35df5a4574534519d7007713c3 (patch)
tree6ba4b40fe54d2595535087e3376f87a7c7bf7027 /drivers/gpu/drm/nouveau
parent5f7d42ece30104dd05307f0a004c9d45895582fb (diff)
drm/nv50: assume smaller tiles for bo moves
Somehow fixes some corruption seen in KDE.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bo.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 2b97d97f149..c900aaa5cff 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -529,8 +529,8 @@ nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
529 while (length) { 529 while (length) {
530 u32 amount, stride, height; 530 u32 amount, stride, height;
531 531
532 amount = min(length, (u64)(16 * 1024 * 1024)); 532 amount = min(length, (u64)(4 * 1024 * 1024));
533 stride = 64 * 4; 533 stride = 16 * 4;
534 height = amount / stride; 534 height = amount / stride;
535 535
536 if (new_mem->mem_type == TTM_PL_VRAM && nvbo->tile_flags) { 536 if (new_mem->mem_type == TTM_PL_VRAM && nvbo->tile_flags) {
@@ -540,7 +540,7 @@ nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
540 540
541 BEGIN_RING(chan, NvSubM2MF, 0x0200, 7); 541 BEGIN_RING(chan, NvSubM2MF, 0x0200, 7);
542 OUT_RING (chan, 0); 542 OUT_RING (chan, 0);
543 OUT_RING (chan, 0x20); 543 OUT_RING (chan, 0);
544 OUT_RING (chan, stride); 544 OUT_RING (chan, stride);
545 OUT_RING (chan, height); 545 OUT_RING (chan, height);
546 OUT_RING (chan, 1); 546 OUT_RING (chan, 1);
@@ -561,7 +561,7 @@ nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo,
561 561
562 BEGIN_RING(chan, NvSubM2MF, 0x021c, 7); 562 BEGIN_RING(chan, NvSubM2MF, 0x021c, 7);
563 OUT_RING (chan, 0); 563 OUT_RING (chan, 0);
564 OUT_RING (chan, 0x20); 564 OUT_RING (chan, 0);
565 OUT_RING (chan, stride); 565 OUT_RING (chan, stride);
566 OUT_RING (chan, height); 566 OUT_RING (chan, height);
567 OUT_RING (chan, 1); 567 OUT_RING (chan, 1);