Why can't ttm_tt_swapout() handle uncached or WC BOs?

Christian König ckoenig.leichtzumerken at gmail.com
Thu Sep 17 12:20:02 UTC 2020


Hi guys,

Michel once submitted a patch to fix triggering this BUG_ON in 
ttm_tt_swapout():

> BUG_ON(ttm->caching_state != tt_cached);

Now my question is does anybody know why we have that in the first place?

The only problematic thing I can see is calling copy_highpage() and that 
one is just doing a kmap_atomic()/kunmap_atomic() on the source and 
destination.

I can't see why it should be problematic for this temporary mapping to 
be cached instead of uncached or WC?

Does anybody has any idea?

Thanks,
Christian.


More information about the dri-devel mailing list