dma

Direct SPU to SPU DMA requests on the Cell Processor?

Normal DMA requests on the Cell happen between the SPUs and the PPU. However, I have read that it is possible to set up DMA directly between SPUs. Anyone have any idea how this is accomplished? ...

In-file data copy using DMA

I need to move some data from one area of a file to another. Currently, I am reading the bytes and writing them back out. But I'm wondering if doing a DMA transfer would be faster, if it is possible. I'm in C#, but unsafe and p/invoke functions are acceptable. ...

Any way to allocate physical memory above 4GB on Vista x64?

I have a Vista x64 machine with 6GB of RAM, and I'm attempting to test that a device driver functions properly when doing DMA to physical addresses above 4GB. I've found the AllocationPreference registry key, which is supposed to "force allocations to allocate from higher addresses before lower addresses", but the page isn't clear wheth...

Direct memory access to the network card in java

Some modern network cards support Direct Memory Access for improved performance. How can I utilize this feature from Java? Does the JVM provide this automatically, or do I need to do an allocateDirect on the ByteBuffers that I am using to talk to that NIC? Does anyone have documentation that discusses this? ...

How do I ensure buffer memory is aligned?

I am using a hardware interface to send data that requires me to set up a DMA buffer, which needs to be aligned on 64 bits boundaries. The DMA engine expects buffers to be aligned on at least 32 bits boundaries (4 bytes). For optimal performance the buffer should be aligned on 64 bits boundaries (8 bytes). The transfer size must be a m...

Should I read file in separate thread in this case ?

Hi, I am writing an application for embedded linux where 5% of processor time is going in reading a file and 95% on processing it. Can I get some performance improvement if I read file in one thread and keeps on processing in another thread? I am reading from mmc card which has DMA support. Filesize is of 20mb and it is devided in chun...

does fread takes processing power / works with DMA ?

does fread takes processing power / works with DMA ? Assume that device on which file is residing has DMA support ? ...

asynchronous memcpy in linux ?

Is there any asynchronous memcpy function in linux? I want it to work with DMA and notify me when it gets completed. ...

embedded system : reading that same memory block with two different DMAs

I am new to embedded devices programing. I have a task that reads a block of data from the DSP memory address and copies it to other addresses (where other peripherals are mapped). the copying process is done by programming one of the DMA channels in the device. I would like, to have a copy of that data copied elsewhere in addition fo...

Where can I find information about programming the TI TMS320C64xx DMA controller

I need to do some simple memory transfer using this DSP, but I am unable to find any documentation about the DMA functions. I am using C with code composer 3.3 ...

cache - flush and invaildate operation

I have some questions on Cache synchronization operations. Invalidate - before cpu tries to read a portion of memory updated by a device, the corresponding memory needs to be invalidated. Flush - Before the device read a portion of memory updated by CPU, CPU must flush(write back is also correct? ) the contents from cache to memory. ...

Creating physical memory from user space to use for DMA transfers

I want to create some memory to use for DMA transfers. (Using Linux 2.6.18-128.el5 #1 SMP) I have a API stack+kernel driver for my H/W that can do this for me, but its very very slow! If I use the API to create a DMA transfer, it allocates some memory very high up in System RAM (eg 0x7373a6f8 on one run). (I have the ICD of the device,...

Where to start learning about linux DMA / device drivers / memory allocation

I'm porting / debugging a device driver (that is used by another kernel module) and facing a dead end because dma_sync_single_for_device() fails with an kernel oops. I have no clue what that function is supposed to do and googling does not really help, so I probably need to learn more about this stuff in total. The question is, where t...

What happens after a packet is captured?

Hi all, I've been reading about what happens after packets are captured by NICs, and the more I read, the more I'm confused. Firstly, I've read that traditionally, after a packet is captured by the NIC, it gets copied to a block of memory in the kernel space, then to the user space for whatever application that then works on the packet...

Can a Linux device driver wait for a DMA to terminate in the device_remove() function?

I've written a Linux device driver for a PCI device. This device performs DMA operations. An issue arise when the program crashes when a DMA operation is running. Indeed, when crashing, the device_remove() function is called by the system (as if close() were called). This function does the cleanup on the memory regions used by the PCI d...