On Fri, 18 Jun 2010 16:51:02 +0800, april <aapri...@gmail.com> wrote: > Hi all: > > I have a problem. I want to make a command buffer in PCIE memory, and > make Engine execute those commands. > First set PCIE memory to be WC, copy command to command buffer in PCIE > memory, and make HW to execute those commands. > sometimes, the Graphic engine will hang. > > I try to use mb() to clear WC buffer, it seems a little butter? But > the problem is still. > > When I set the PCIE memory to Uncached, everthing is OK. > > So, Is it due to the write buffer that is not evicted ? > > and how to clear the WC buffer?
You need to do "PCI write posting", meaning read some data out of the target to ensure that your buffered writes actually land. You'll often see this in the drivers as: WRITE_REG(reg, val) (void)READ_REG(reg)
pgpjSoMHgI23A.pgp
Description: PGP signature
------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo
-- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel