Question regarding PCIe-DMA
Posted:
In the tutorial "Down to the TLP: How PCI express devices talk (Part I)" and under the heading "Bus Mastering (DMA)", it is mentioned that "The second thing is that the driver software needs to inform the peripheral about the relevant buffer’s physical address, most probably by writing to a BAR-mapped register." What is writing BAR registers to do with DMA operation. As far as I know, BAR registers are the windows through which the system/processor is able to do read/writes to the memory that is exposed/available in the PCIe device. Where as for DMA, we have to enabling bus mastering capability in the PCIe command register, inform the device, the bus address from where it has to do read/write DMA. Please correct me if I'm wrong.