|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
I am trying to write driver for a PCI X card which is DMA capable.
What I want to do is allocate some memory (a buffer ring) which would
contain data to be DMAed by the device.
For this I am following these steps
1) my_buffer =
my_buffer_t*)IOMallocContiguous( (vm_size_t)sizeof(my_buffer_t), PAGE_SIZE,
2) Set the device's DMA buffer registers with phyAddr from above.
3) Start the DMA
Reading through the mailing list it seems that I need to get a
IOMemoryDescriptor object after step 2) and call its prepare method before
doing the DMA start.
The question is IOMallocContiguous will create a wired down memory in the
kernel then why to call IOMemoryDescriptor's prepare()?
|>DMA buffer (From: "Lalit Chandivade" <email@hidden>)|
Visit the Apple Store online or at retail locations.
Copyright © 2011 Apple Inc. All rights reserved.