• Chris Wilson's avatar
    drm/i915/execlists: Ignore lost completion events · 198d2533
    Chris Wilson authored
    Icelake hit an issue where it missed reporting a completion event and
    instead jumped straight to a idle->active event (skipping over the
    active->idle and not even hitting the lite-restore preemption).
    
    661497511us : process_csb: rcs0 cs-irq head=11, tail=0
    661497512us : process_csb: rcs0 csb[0]: status=0x10008002:0x00000020 [lite-restore]
    661497512us : trace_ports: rcs0: preempted { 28cc8:11052, 0:0 }
    661497513us : trace_ports: rcs0: promote { 28cc8:11054, 0:0 }
    661497514us : __i915_request_submit: rcs0 fence 28cc8:11056, current 11052
    661497514us : __execlists_submission_tasklet: rcs0: queue_priority_hint:-2147483648, submit:yes
    661497515us : trace_ports: rcs0: submit { 28cc8:11056, 0:0 }
    661497530us : process_csb: rcs0 cs-irq head=0, tail=1
    661497530us : process_csb: rcs0 csb[1]: status=0x10008002:0x00000020 [lite-restore]
    661497531us : trace_ports: rcs0: preempted { 28cc8:11054!, 0:0 }
    661497535us : trace_ports: rcs0: promote { 28cc8:11056, 0:0 }
    661497540us : __i915_request_submit: rcs0 fence 28cc8:11058, current 11054
    661497544us : __execlists_submission_tasklet: rcs0: queue_priority_hint:-2147483648, submit:yes
    661497545us : trace_ports: rcs0: submit { 28cc8:11058, 0:0 }
    661497553us : process_csb: rcs0 cs-irq head=1, tail=2
    661497553us : process_csb: rcs0 csb[2]: status=0x10000001:0x00000000 [idle->active]
    661497574us : process_csb: process_csb:1538 GEM_BUG_ON(*execlists->active)
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190907084334.28952-1-chris@chris-wilson.co.uk
    198d2533
intel_lrc.c 118 KB