[PATCH v2 0/5] accel/ivpu: Replace IPC kthread with threaded IRQ

Jacek Lawrynowicz jacek.lawrynowicz at linux.intel.com
Mon Nov 13 17:02:47 UTC 2023


Use threaded IRQ to handle incoming IPC messages. IPC consumers can now
provide optional callback that will be executed once message is received.
This allows to handle multiple message types in a generic manner.

Removing kthread also simplifies synchronization as disable_irq() will block
until all pending messages are handled.

v2:
  - Don't do bit operations on enum irqreturn

v1: https://lore.kernel.org/all/20231107123514.2218850-1-jacek.lawrynowicz@linux.intel.com

Jacek Lawrynowicz (1):
  accel/ivpu: Use threaded IRQ to handle JOB done messages

Stanislaw Gruszka (4):
  accel/ivpu: Rename cons->rx_msg_lock
  accel/ivpu: Do not use irqsave in ivpu_ipc_dispatch
  accel/ivpu: Do not use cons->aborted for job_done_thread
  accel/ivpu: Use dedicated work for job timeout detection

 drivers/accel/ivpu/ivpu_drv.c     |  30 ++--
 drivers/accel/ivpu/ivpu_drv.h     |   3 +-
 drivers/accel/ivpu/ivpu_hw_37xx.c |  29 ++--
 drivers/accel/ivpu/ivpu_hw_40xx.c |  30 ++--
 drivers/accel/ivpu/ivpu_ipc.c     | 223 +++++++++++++++++-------------
 drivers/accel/ivpu/ivpu_ipc.h     |  24 +++-
 drivers/accel/ivpu/ivpu_job.c     |  99 +++----------
 drivers/accel/ivpu/ivpu_job.h     |   6 +-
 drivers/accel/ivpu/ivpu_pm.c      |  31 +++++
 drivers/accel/ivpu/ivpu_pm.h      |   3 +
 10 files changed, 251 insertions(+), 227 deletions(-)

--
2.42.0


More information about the dri-devel mailing list