Re: HalAllocateCommonBuffer & MmMapIoSpace problem



Hi Max,

I don't know why the HalAllocateCommonBuffer & MmMapIoSpace crash. I just
want to find another way to fit your requirement.

You can try to implement the some function of application to a seperate
xyz.dll file and use ActivateDeviceEx() to load the .dll file to the same
slot (device.exe in CE5.0) with DMA driver. Because the DMA driver and the
xyz.dll file are in the same slot, you can share the uncachable address
directly. ^_^

If you want to process the raw data (like as compress/encode), the better
way is copy them to the cachable area. The total performance maybe beter even
though you waste the copy time.

Regards,
Paul, Chao @ Techware, Taiwan.

"max" wrote:

Thank you Paul,

your solution was my first version of the driver.

It manages dma, qci and i2c to get frames from a camera. Some
measurements made by a test application showed that instead of 15
frames per second (the maximum speed at which the camera acquires) I
get only 8.

I think it was caused by the copy of the 600 KB from the dma buffer to
the application buffer, so I decided to share the dma buffer. Now the
application shows the images at full speed.

But, with the debug version of the os, I found the logs of my previous
message. It seems that Hal... and Mm... are not the correct functions
to use, but I do not know what other memory management api I must
use.

Usuallly debug checks are warnings about something getting wrong, and
I would like to know what it is.

Can you help me?

.



Relevant Pages

  • Re: [Patch 13/20] V4L (951) Make saa7134-oss as a stand-alone module
    ... > - remaining DMA sound code has been removed from core the module ... -static int dsp_buffer_conf ... DMA buffer initialization ... * - One of the ALSA capture callbacks. ...
    (Linux-Kernel)
  • Re: IoGetDmaAdapter NumberOfMapRegisters minus 1?
    ... When running on non-PAE 32bit XP DMA like that never needs bounce ... DMA buffer 32-bit only DMA could require bounce buffers. ... Are you suggesting that fewer map registers than desired might be ... I replied to the original question of Dave Warnock. ...
    (microsoft.public.development.device.drivers)
  • Re: Partial cacheline flush problems on ARM and MIPS
    ... Warner Losh wrote: ... I also wonder why we don't allocate the DMA memory for these ... dependent) and move the knowledge of this junk into busdma layer ... asked for DMA buffer, it should contrain its start address size to the ...
    (freebsd-arch)
  • Re: Question: how to copy to user space from a tasklet
    ... One way would be to use mmapto allocate the DMA buffer and insert it into ... the driver to work today. ... doing DMA to random user address would require the ...
    (Linux-Kernel)
  • Re: DMA Interrupts
    ... I remeber that the BSP has a DMA driver. ... you don't need to check DMA IRQ, ... > doesn't clear any interrupt, it just returns the SYSINTR correspondingly. ...
    (microsoft.public.windowsce.platbuilder)