Fwd: [Help][RS780E][mipsel]Screen corruption sometimes

chenhc at lemote.com chenhc at lemote.com
Mon Sep 12 23:46:44 PDT 2011


I think it is a better way to modify radeon_move_blit(), change the 4th
parameter of radeon_copy() to new_mem->num_pages * PAGE_SIZE /
RADEON_GPU_PAGE_SIZE, because in other place, radeon_copy() use the 4th
parameter as the number of gpu pages.

---------- Forwarded message ----------
From: Michel D&#228;nzer <michel at daenzer.net>
Date: 2011/9/13
Subject: Re: [Help][RS780E][mipsel]Screen corruption sometimes
To: Alex Deucher <alexdeucher at gmail.com>
抄送: Chen Jie <chenj at lemote.com>, xorg-driver-ati at lists.x.org


On Die, 2011-09-13 at 01:33 -0400, Alex Deucher wrote:
> 2011/9/13 Chen Jie <chenj at lemote.com>:
> >
> > We got a patch from the BSP team of the CPU vendor, which seems solved
> > the problem.
> >
> > The patch replaces both RADEON_GPU_PAGE_SIZE  in function
> > r600_copy_blit() with PAGE_SIZE. (We use 16K PAGE_SIZE, and
> > RADEON_GPU_PAGE_SIZE is 4K)
> >
> > Any idea? If it had copy problems, why bo moving test couldn't detect
> > it? Also, after applied the patch, the bo moving test was still
> > passed, curious.
>
> The patch is correct.   r600_copy_blit() takes CPU pages as a
> parameter and the r600_blit_*_copy() functions take bytes as a
> parameter.  evergreen_copy_blit() needs a similar fix.

I think we should rather change radeon_move_blit(), r100_copy_blit() and
r200_copy_dma() to deal with RADEON_GPU_PAGE_SIZE instead of PAGE_SIZE.
E.g. r100_copy_blit() can't handle an arbitrary PAGE_SIZE.


--
Earthling Michel D&#228;nzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer




More information about the xorg-driver-ati mailing list