seems ttm_bo_handle_move_mem not flush cache, if BO move SYS->VRAM?

Thomas Hellstrom thomas at
Wed Dec 1 08:28:26 PST 2010

On 12/01/2010 04:58 AM, april wrote:
> hi all:
> I have a question:
> If a BO in VRAM (WC) evict to SYS memory(may be cached),  and user
> process still can access it event it is in SYS memory (may be cached)
> .
> when this BO volidate to VRAM,  It seems "ttm_bo_handle_move_mem"  not
> flush cache (If evict to SYS memory with cached).
>   But flush cache is needed, If driver use DMA to handle BO
> move(SYS->VRAM), should "ttm_bo_handle_move_mem" handle this? or
> driver do it in "driver->move_notify" before "driver->move" called?

April, in order to understand your proble, Can you be a bit more 
specific about.

1) Which cache should be flushed? Cpu cache or GPU cache.

2) Why should it be flushed? For CPU caches, TTM only flushes when 
transitioning the same page from cached to write-combined. If you use 
DMA from system memory to VRAM, and need to flush the system pages 
before performing the DMA operation, that should be done in the driver 
move function.


> Thanks
> _______________________________________________
> dri-devel mailing list
> dri-devel at

More information about the dri-devel mailing list