[PATCH 0/2] Change GCE hardware timeout to software timeout

Jason-JH.Lin jason-jh.lin at mediatek.com
Wed Jan 10 07:51:46 PST 2024


From: Jason-jh Lin <jason-jh.lin at mediatek.corp-partner.google.com>

Since the max value of GCE hardware interrupt timeout for wait and poll
instructions is about 1760ms.
It is not enough for the use case of ISP driver below:
GCE Thread A: wait for SOF and set event 1.
GCE Thread B: wait for event 1 and set event 2.
GCE Thread C: wait for event 2 and set event 3.
GCE Thread D: wait for event 3 and set event 4.
GCE Thread E: wait for event 4 and set EOF.
If all GCE Threads start at the same time, the latest GCE Thread E will
wait for event more than 2 seconds.

Therefore, we changed the hardware timeout to software timeout, making it
longer, more certain, and making it configurable by CMDQ client drivers.

Jason-JH.Lin (2):
  mailbox: mtk-cmdq: Change GCE hardware timeout to software timeout
  mailbox: mtk-cmdq: Add set GCE thread timeout interface

 drivers/mailbox/mtk-cmdq-mailbox.c       | 183 +++++++++++++++++++++++
 include/linux/mailbox/mtk-cmdq-mailbox.h |   4 +
 2 files changed, 187 insertions(+)

-- 
2.18.0




More information about the linux-arm-kernel mailing list