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

Reply via email to