• Xiaolin Zhang's avatar
    drm/i915/gvt: grab runtime pm first for forcewake use · ef5b0b44
    Xiaolin Zhang authored
    in workload_thread, it should grab runtime pm wakelock and later
    uncore forcewake get will check rpm wakelock held successfully.
    otherwise, sometimes, rpm wakelock not hold and print call trace below:
    
     Call Trace:
      intel_uncore_forcewake_get+0x15/0x20 [i915]
      workload_thread+0x5f9/0x16f0 [i915]
      ? __switch_to_asm+0x34/0x70
      ? __switch_to_asm+0x40/0x70
      ? __switch_to_asm+0x34/0x70
      ? __switch_to_asm+0x40/0x70
      ? __switch_to_asm+0x34/0x70
      ? __switch_to+0x85/0x3f0
      ? __switch_to_asm+0x40/0x70
      ? do_wait_intr_irq+0x90/0x90
      kthread+0x121/0x140
      ? intel_vgpu_clean_workloads+0x100/0x100 [i915]
      ? kthread_park+0x90/0x90
      ret_from_fork+0x35/0x40
     --[ end trace 86525f742a02e12c ]--
    
    v2: adapted to use rpm structure.
    
    Fixes: 251d46b0 ("drm/i915/gvt: Pin the per-engine GVT shadow contexts")
    Reviewed-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    Signed-off-by: default avatarXiaolin Zhang <xiaolin.zhang@intel.com>
    Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    ef5b0b44
scheduler.c 43.3 KB