aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon/radeon_cs.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2009-09-26 09:03:39 +1000
committerDave Airlie <airlied@linux.ie>2009-09-26 09:03:39 +1000
commitc5e617e2f84225a28823a3e19951273b9f59eb27 (patch)
treec35741880d286b2bf29c0409ccba6bd784dc4efa /drivers/gpu/drm/radeon/radeon_cs.c
parent2f67c6e0220e5311bb14895d32852250b2d9652b (diff)
drm/radeon/kms: fix for the extra pages copying.
Thanks to Michel for pointing this out to me, this is why I need to get more sleep, over complicate this a bit. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_cs.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_cs.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c
index dea8acf8886..5ab2cf96a26 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -303,13 +303,11 @@ int radeon_cs_finish_pages(struct radeon_cs_parser *p)
int radeon_cs_update_pages(struct radeon_cs_parser *p, int pg_idx)
{
int new_page;
- int num_extra_pages;
struct radeon_cs_chunk *ibc = &p->chunks[p->chunk_ib_idx];
int i;
int size = PAGE_SIZE;
- num_extra_pages = (pg_idx - ibc->last_copied_page - 1);
- for (i = ibc->last_copied_page + 1; i < ibc->last_copied_page + num_extra_pages; i++) {
+ for (i = ibc->last_copied_page + 1; i < pg_idx; i++) {
if (DRM_COPY_FROM_USER(p->ib->ptr + (i * (PAGE_SIZE/4)),
ibc->user_ptr + (i * PAGE_SIZE),
PAGE_SIZE)) {