On Fri, 18 Mar 2005 00:16:22 -0500, Daniel Phillips <[EMAIL PROTECTED]> wrote: > On Thursday 17 March 2005 23:31, Timothy Miller wrote: > > On Thu, 17 Mar 2005 23:16:13 -0500, Daniel Phillips > <[EMAIL PROTECTED]> wrote: > > > > Updating cursor glyph in interrupt context while DMA is going on. > > > > Note that the latency for that could be evil. > > > > > > It is also a dodgy/evil thing to do. How do you know you're not > > > interrupting another cursor glyph update? I would strongly suggest > > > that if an interrupt routine wants to update the cursor, it should > > > use interprocess communication to have a foreground task do it, or > > > use a work queue. We are talking about microscopic latency here. > > > > I had mentioned earlier that updating the cursor glyph might be > > something we would do ONLY in interrupt context. > > Sorry, I missed that. Why?
If, for, instance, the RAM that holds the glyph is single-ported, then you can't read it and write it at the same time. If you're writing it at the same time the cursor needs to be read, the read data will be garbage, and you'll get sprinkles at least in the cursor glyph. > > > I wasn't clear. When I say that the GPU "polls the write pointer", I > > mean, "the GPU does a DMA read of a word in host memory that contains > > the write pointer". This would be the mode where the write pointer > > is not updated in the GPU by a PIO but rather where the GPU reads the > > write pointer only at the most convenient and necessary times. > > I don't see any issue with just having the write pointer be a PIO. This > is simple and effective, and the driver can worry about not poking it > more often than necessary. (1) We want that transaction to be only as frequent as necessary. The GPU knows best in this case. Making the driver "guess" is likely to be less optimal. (2) We don't want to do DMA and PIO at the same time due to the huge latency incurred when the PIO has to wait for access to the bus, but if the driver must write the write-pointer, then we must do PIO and DMA at the same time. _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
