• Changbin Du's avatar
    drm/i915/gvt: Missed to cancel dma map for ggtt entries · 7598e870
    Changbin Du authored
    We have canceled dma map for ppgtt entries. Also we need to do it for
    ggtt entries when them are invalidated.
    
    This can fix task hung issue as:
    [13517.791767] INFO: task gvt_service_thr:1081 blocked for more than 120 seconds.
    [13517.792584] Not tainted 4.14.15+ #3
    [13517.793417] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    [13517.794267] gvt_service_thr D 0 1081 2 0x80000000
    [13517.795132] Call Trace:
    [13517.795996] ? __schedule+0x493/0x77b
    [13517.796859] schedule+0x79/0x82
    [13517.797740] schedule_preempt_disabled+0x5/0x6
    [13517.798614] __mutex_lock.isra.0+0x2b5/0x445
    [13517.799504] ? __switch_to_asm+0x24/0x60
    [13517.800381] ? intel_gvt_cleanup+0x10/0x10
    [13517.801261] ? intel_gvt_schedule+0x19/0x2b9
    [13517.802107] intel_gvt_schedule+0x19/0x2b9
    [13517.802954] ? intel_gvt_cleanup+0x10/0x10
    [13517.803824] gvt_service_thread+0xe3/0x10d
    [13517.804704] ? wait_woken+0x68/0x68
    [13517.805588] kthread+0x118/0x120
    [13517.806478] ? kthread_create_on_node+0x3a/0x3a
    [13517.807381] ? call_usermodehelper_exec_async+0x113/0x11a
    [13517.808307] ret_from_fork+0x35/0x40
    
    v3: split out ggtt reset case.
    v2: also unmap ggtt during reset.
    Signed-off-by: default avatarChangbin Du <changbin.du@intel.com>
    Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    7598e870
gtt.c 61.7 KB