P1025 dma request timing

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

P1025 dma request timing

1,403 Views
PaulWalker
Contributor III

Hi,

I am using DMA to transfer data via the eLBC on P1025. I want to look at the time difference between setting CS (start transfer) and CB (transfer in progress) being set. Is there any information regarding this timing? I am particularly concerned with the nominal time and maximum boundary.

Note: we have a custom DMA driver (within an RTOS) that checks for CB=1 after CS=1; to verify job submission. Sometimes the driver misses the CB=1 event and assumes an error. If we interrupt lock the code between CS=1 and CB=1 it's ok, but I want to minimise the potential interrupt lock period.

Kind regards,

Paul

Labels (1)
Tags (1)
0 Kudos
Reply
5 Replies

1,305 Views
ufedor
NXP Employee
NXP Employee

Please refer to the P1025 QorIQ Integrated Processor Reference Manual, 2.2.1 Accessing CCSR memory from the local processor:

"To guarantee that the results of any sequence of writes to configuration registers are in

effect, the final configuration register write should be chased by a read of the same

register, and that should be followed by a SYNC instruction. Then accesses can safely be

made to memory regions affected by the configuration register write."

Please implement this sequence for the DMA_MR before checking the DMA_SR[CB] state.

0 Kudos
Reply

1,305 Views
PaulWalker
Contributor III

Hi, thanks for reply.

Yes, the method you give is already being done.

My system is under fairly heavy interrupt load due to Ethernet traffic, and others. I suspect the DMA register write/read sequence is occasionally being interrupted so need to prevent interrupts for a short period. We also note that CB=1 is not always set on the first register read after CS=1. Thus I want to know the maximum limit to wait for CB=1 or give error - 5 register reads, 10 register reads, 1 microsecond, etc.

Kind regards,

Paul

0 Kudos
Reply

1,305 Views
ufedor
NXP Employee
NXP Employee

> Yes, the method you give is already being done.

The sequence described in the RM definitely works.

Please doublecheck your code.

0 Kudos
Reply

1,305 Views
PaulWalker
Contributor III

Hi, thanks again for reply.

I think my query is a little mis-understood. I am not questioning the correctness of the sequences described in the RM. My query concerns only characteristic timing information which I cannot find in any of the available documentation.

Specifically, with reference to P1025RM Rev1 section 13.4.1.2.3 (basic chaining mode), do you have any characteristic timing information between steps 5 and 6? I am mostly concerned with the maximum time. This is required to aid establishing reasonable error handling in software.

Kind regards,

Paul

0 Kudos
Reply

1,305 Views
ufedor
NXP Employee
NXP Employee

If some timing is required it is explicitly stated in the processor's RM and HS.

There are no timing requirements in the sequence in question. The clear and set bit sequences should be implemented as described in the P1025 QorIQ Integrated Processor Reference Manual, 2.2.1 Accessing CCSR memory from the local processor.

0 Kudos
Reply