IPU: how to stop a task?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IPU: how to stop a task?

1,204件の閲覧回数
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 返答(返信)

1,051件の閲覧回数
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 件の賞賛
返信

1,051件の閲覧回数
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 件の賞賛
返信