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)

Attachment: 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

Reply via email to