DMA attributes with dma_sync_single()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

I was wondering whether setting DMA attributes like
DMA_ATTR_WRITE_BARRIER will have an effect
if I don't dma_unmap_single_attr() an area but merely
dma_sync_single() it after a transfer from
the device to the host memory. My problem is that I get an interrupt
(MSI) indicating that an (independent) DMA transfer is done,
where the interrupt flags get pushed (via a DMA write) to host memory.
>From time to time, the data of the other DMA transfer does not show up
in host memory in time with the interrupt.
I am trying to force coherency by using the DMA_ATTR_WRITE_BARRIER
on this status push (of the interrupt flags), to force the other
writes (device to host) to complete.

Does that seem reasonable?

Can anyone with insight shine some light on that?

It's a PCIe device, I'm running Fedora 18 with 3.8.3-201.fc18.x86_64.

Cheers,

Moritz

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux