]> www.infradead.org Git - users/jedix/linux-maple.git/commit
accel/ivpu: Move parts of MMU event IRQ handling to thread handler
authorKarol Wachowski <karol.wachowski@intel.com>
Tue, 7 Jan 2025 17:32:30 +0000 (18:32 +0100)
committerJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Thu, 9 Jan 2025 08:35:44 +0000 (09:35 +0100)
commit4480912f3f8b8a1fbb5ae12c5c547fd094ec4197
tree9f7cb7da1005847128c97c31fe3d06ce58814c33
parent0240fa18d247c99a1967f2fed025296a89a1c5f5
accel/ivpu: Move parts of MMU event IRQ handling to thread handler

To prevent looping infinitely in MMU event handler we stop
generating new events by removing 'R' (record) bit from context
descriptor, but to ensure this change has effect KMD has to perform
configuration invalidation followed by sync command.

Because of that move parts of the interrupt handler that can take longer
to a thread not to block in interrupt handler for too long.
This includes:
 * disabling event queue for the time KMD updates MMU event queue consumer
   to ensure proper synchronization between MMU and KMD

 * removal of 'R' (record) bit from context descriptor to ensure no more
   faults are recorded until that context is destroyed

Signed-off-by: Karol Wachowski <karol.wachowski@intel.com>
Signed-off-by: Maciej Falkowski <maciej.falkowski@linux.intel.com>
Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250107173238.381120-8-maciej.falkowski@linux.intel.com
drivers/accel/ivpu/ivpu_job.c
drivers/accel/ivpu/ivpu_mmu.c
drivers/accel/ivpu/ivpu_mmu.h