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?
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.
thanks for the response, but I tried this already by the
# devmem 0x02a000dc w $[ (1<<31) | ((1<<23) - 1) ]
stated above.