IPU: how to stop a task?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

IPU: how to stop a task?

815 次查看
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?

标签 (3)
标记 (3)
0 项奖励
回复
2 回复数

662 次查看
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 项奖励
回复

662 次查看
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 项奖励
回复