I see a problem with this.

If you have uncached TT (e.g. AGP) you want to get uncached for
TT->SYSTEM, but you want cached for VRAM->SYSTEM.
If you set SYSTEM to uncached, then VRAM->SYSTEM will broken, and if
you set SYSTEM to cached, TT->SYSTEM will be broken.
If you set to uncached | cached, VRAM->SYSTEM will still be broken
because it will choose uncached.

You would need to make the proposed placement conditional on the
current BO memory type, which is possible but somewhat defeats the
purpose of having all the ttm_bo_mem_space logic in ttm.

Perhaps this doesn't usually happen because you would do VRAM->TT
instead of SYSTEM (is that really always the case? what if we don't
have enough space in GART?), but it seems a design deficiency in TTM
anyway.
The current placement caching should not really be a factor *unless*
we can actually do the move just by changing the caching attributes.

What do you think?

Of course we could also just drop ttm_bo_mem_space and let the driver
do that itself (perhaps using hardcorded helpers for the AGP and PCIE
case). It seems quite a radical solution though.

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to