IPU: how to stop a task?

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

IPU: how to stop a task?

814 Views
ensc
Contributor III

Hello,

I am working on a driver which uses the IPU to rotate an image.  Things are working usually fine, but it happens that after stopping this operation, the corresponding pre-processor task is stuck in the active state.

E.g. when reading IPU_PROC_TASK_STAT, the corresponding bit is always set

    # devmem 0x02a00250

    0x00000100

I tried to clear IPU_IC_CONF (base + 0x20000), IPU_CONF (base + 0) and even wiping whole IPU memory by

   # devmem 0x02a000dc w $[ (1<<31) | ((1<<23) - 1) ]

But this does not help, task still stays in ACTIVE state.

What is the recommended way to reset tasks?

Labels (3)
Tags (3)
0 Kudos
Reply
2 Replies

661 Views
joanxie
NXP TechSupport
NXP TechSupport

one can refer to the Memory Reset Control Register (IPUx_MEM_RST) in the mx6 Reference Manunal, This register controls the memory reset mechanism. IPU has a hardware mechanism for
clearing the content of the internal memories. This allows the user to clear the content of
or more of the internal memories without the need to perform write accesses to the
memories.

0 Kudos
Reply

661 Views
ensc
Contributor III

thanks for the response, but I tried this already by the

   # devmem 0x02a000dc w $[ (1<<31) | ((1<<23) - 1) ]

stated above.

0 Kudos
Reply