Not only this only works once, because of how extract events work (event is enabled if the req and ack bit differ, and it's signalled by the FW by setting identical req and ack, to re-enable the event, we need to toggle the bit, which we never do). But more importantly, we never do anything with this event, so we're better off dropping it when programming the CS slot.
Signed-off-by: Boris Brezillon <[email protected]> --- drivers/gpu/drm/panthor/panthor_sched.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c index 9931f4a6cd96..94514d464e64 100644 --- a/drivers/gpu/drm/panthor/panthor_sched.c +++ b/drivers/gpu/drm/panthor/panthor_sched.c @@ -1069,12 +1069,10 @@ cs_slot_prog_locked(struct panthor_device *ptdev, u32 csg_id, u32 cs_id) panthor_fw_update_reqs(cs_iface, req, CS_IDLE_SYNC_WAIT | CS_IDLE_EMPTY | - CS_STATE_START | - CS_EXTRACT_EVENT, + CS_STATE_START, CS_IDLE_SYNC_WAIT | CS_IDLE_EMPTY | - CS_STATE_MASK | - CS_EXTRACT_EVENT); + CS_STATE_MASK); if (queue->iface.input->insert != queue->iface.input->extract && queue->timeout_suspended) { drm_sched_resume_timeout(&queue->scheduler, queue->remaining_time); queue->timeout_suspended = false; -- 2.51.1
