> > *buffer = 0x12345f00;
> > dma_addr = pci_map_single(dev,buffer,len,PCI_DMA_TODEVICE);
> > pci_write_config_dword(dev,reg,dma_addr);
> > 
> > If caching is write-back my feeling is there is nothing that guarantees
> > the modification went to physmem before the device starts reading from it.
> 
> Exactly. That's why you must call pci_dma_sync_single before the
> transfer, if you used pci_map_single.

I didn't see that in DMA-mapping.txt ... if it's needed, I'd expect
that pci_map_single would do that.  The sync_single call is mentioned
in the context of reusing mappings.

FYI attached is the latest pcipool patch, which includes updates
to the DMA-mapping.txt file.  The "what memory can you DMA
from" text is from DaveM, and I added the pci_pool info.  No
API changes involved.

- Dave

pcipool-0414.patch.bz2

Reply via email to