Re: PXA270, CE 5.0, DMA performance issue
- From: FoolBlah <foolblah@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 7 Apr 2008 09:59:01 -0700
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)
- Follow-Ups:
- Re: PXA270, CE 5.0, DMA performance issue
- From: Bruce Eitman [eMVP]
- Re: PXA270, CE 5.0, DMA performance issue
- From: Paul G. Tobey [eMVP]
- Re: PXA270, CE 5.0, DMA performance issue
- References:
- PXA270, CE 5.0, DMA performance issue
- From: FoolBlah
- Re: PXA270, CE 5.0, DMA performance issue
- From: Valter Minute
- PXA270, CE 5.0, DMA performance issue
- Prev by Date: Re: Fonts in WinCE 6.0 R2
- Next by Date: Re: Bootloader for AT91RM9200
- Previous by thread: Re: PXA270, CE 5.0, DMA performance issue
- Next by thread: Re: PXA270, CE 5.0, DMA performance issue
- Index(es):
Relevant Pages
|