Re: PXA270, CE 5.0, DMA performance issue

Tech-Archive recommends: Speed Up your PC by fixing your registry



I was worried that this may be the issue, but being a little stubborn, I
still am not convinced. I am seeing no indications of the LCD controller
having problems, but I think you brought this up just as a general comment,
not necessarily aimed at my problem, per se. The audio is DMAed and it works
okay, but we are not talking anything close to the large amount of data being
transferred in the same amount of time.

I'll try adjusting the memory controller registers, but I have already
attempted to give more priority to the DMA controller via the bus arbiter
(arb_cntl) with no change in performance. I set this register prior to
moving the data, and they revert to system default after complete.

Am I just pushing the CPU to its limits on this? I was hoping that I had an
IRQ or thread priority issue, but that does not appear to the be the case.
It seems that the system should/will prioritize threads and IRQs properly,
but maybe it is all just happening to quickly. FWIW, processor core is
running at 416 MHz.

Thanks.

"Valter Minute" wrote:

=?Utf-8?B?Rm9vbEJsYWg=?= <foolblah@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote
in news:5EB83C00-E527-46BE-BBA5-BA37A3C10CCF@xxxxxxxxxxxxx:

I have been digging into an issue lately (see my other recent
threads) related to a problem I am encountering with the DMA
controller. I am moving approx 7.5 MB of data from an external
peripheral (FPGA) using fly-by DMA in 440ms, RAM is running at 104
MHz. The DMA controller is setup in channel 0, using two
descriptors that hand a portion of the data to one buffer, and the
other portion to another buffer which are allocated in config.bib.
This is all done within a custom dll loaded by the application
using LoadDriver(). All allocated buffers and controller
registers are mapped using MmMapIoSpace().

The issue I am having is if I attempt to move data to/from the
PCMCIA ATA card while the DMA is in process, I drop DMA data, not
all, but some. Once the transfer to/from PCMCIA is complete, the
DMA picks back up. FWIW, the PCMCIA IRQ is on a GPIO line and I
have verified/fixed issues with the PCMCIA driver and ATA driver
so that they are correctly IRQ driven.

On the PXA Both the PCMCIA and your DMA-accessed device are connected
to the same system bus and a slow peripheral connected to the bus may
impact your overall performances.
The most visible symptom are the black lines on the display when the
LCD controller can't access system RAM quickly enough to serialize it
to the LCD panel.
You may try to decrease the access times specified via the MCATT and
MCIO registers.
You may also use the bus arbiter register to give an higher priority
to DMA requests (at least during your fast transfer operations).

--
Valter Minute
www.fortechembeddedlabs.it
Training, support and development for Windows CE
(the reply address of this message is invalid)

.



Relevant Pages

  • Re: PXA270, CE 5.0, DMA performance issue
    ... threads) related to a problem I am encountering with the DMA ... The DMA controller is setup in channel 0, ... PCMCIA ATA card while the DMA is in process, I drop DMA data, not ... to the same system bus and a slow peripheral connected to the bus may ...
    (microsoft.public.windowsce.platbuilder)
  • Re: PXA270, CE 5.0, DMA performance issue
    ... There is a given amount of data bus ... DMA is now the most-susceptible to being interfered with. ... I'll try adjusting the memory controller registers, ... PCMCIA ATA card while the DMA is in process, I drop DMA data, not ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Windows Explorer slow to respond
    ... report, below, as I'm still not sure whether my machine is using DMA or PIO. ... IDE Controller: Intel82801DB Ultra ATA Controller, ... DMA MW Mode Support: 1 - 2 ... Default Transfer Mode: UDMA-5 ...
    (microsoft.public.windowsxp.general)
  • Re: Intel 915 ICH6, no DMA mode problem
    ... Intel 915 board (with ICH6 I/O controller) ... my first suspision was a un-enabled dma mode in BIOS, ... BIOS setting, and it already had dma and udma enabled for both ... still no linux distribution lets me enable dma. ...
    (comp.os.linux.hardware)
  • [PATCH] dmaengine: Driver for the AVR32 DMACA controller
    ... This patch makes the "DMA Engine" menu visible on AVR32 and adds a ... driver for the DMACA controller. ... This DMA controller can ...
    (Linux-Kernel)