|
From: James S. <jsi...@in...> - 2003-02-27 19:49:57
|
> On Don, 2003-02-27 at 15:15, Antonino Daplas wrote: > > On Thu, 2003-02-27 at 09:18, James Simmons wrote: > > > > > > Thus, the restriction that the buffer must be completely copied by the > > > > driver before returning. And because of this restriction, an extra copy > > > > which might be unnecessary cannot be avoided (this was noted by Petr). > > > > > > > > Treating the buffer as a ringbuffer, we eliminate these restrictions. > > > > > > I didn't realize that the below was a ringbuffer implementation. The name > > > threw me off. > > > > Well, it's not strictly a ringbuffer implementation. This would require > > a head and tail pointer where fbcon will adjust the tail and the > > driver/hardware will adjust the head. This will be very difficult to > > implement in a device independent manner. So we just cheat by issuing > > an fb_sync() per loop to flush all pending commands. > > That still seems suboptimal though. What the DRM often does is have the > chip write an age value to a scratch register when it's done processing > something. Maybe something like that could be used to avoid waiting for > the chip to go idle at all? Don't waste your time. I'm removing all the changes that have been done since 2.5.51. After that I will no longer be co-maintainter of the framebuffer layer. |