Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/arm/iomd

David Laight wrote:
> On Sun, Feb 03, 2008 at 07:38:29PM +0000, Chris Gilbert wrote:
>> Module Name: src
>> Committed By:        chris
>> Date:                Sun Feb  3 19:38:29 UTC 2008
>> Modified Files:
>>      src/sys/arch/arm/iomd: vidcvideo.c
>> Log Message:
>> Use memmove rather than memcpy when moving rows around the framebuffer.
>> This fixes a problem where scrolling down fills the whole screen with the
>> first line on screen.
> When I was doing that (on a SA1100/SA1101 system) I found scrolling was
> very slow unless I read from a virtual address that had the framebuffer
> cached (in the mini-cache) - but wrote to the uncached address.
> Unfortunately the two addresses were such that the naive copy code
> always did a reverse copy :-(

It seems ok on an arm7, but then it's actually doing the right thing
which is definetly an improvement, not sure on the performance, I'd have
to look more closely.

Perhaps on the SA you were hitting some oddity in the write back buffer,
or nastiness with the cache.  Actually was this with the optimized
memmove, or with an older un-optimized memmove?

To be honest the best thing to do is probably to copy it a row at a time
(which is what others appear to do) so the copies are always move
forward in the row, rather than backwards.


PS cced to port-arm, bcced source-changes.

Home | Main Index | Thread Index | Old Index