Use of pci_map_page in nouveau, radeon TTM.

Thomas Hellstrom thellstrom at vmware.com
Tue Oct 1 03:16:16 PDT 2013


Jerome, Konrad

Forgive an ignorant question, but it appears like both Nouveau and 
Radeon may use pci_map_page() when populating TTMs on
pages obtained using the ordinary (not DMA pool). These pages will, if I 
understand things correctly, not be pages allocated with
DMA_ALLOC_COHERENT.

 From what I understand, at least for the corresponding dma_map_page() 
it's illegal for the CPU to access these pages without calling
dma_sync_xx_for_cpu(). And before the device is allowed to access them 
again, you need to call dma_sync_xx_for_device().
So mapping for PCI really invalidates the TTM interleaved CPU / device 
access model.

Or did I miss something here?

Thanks,
Thomas


More information about the dri-devel mailing list