• tina zhang's avatar
    drm/i915/gvt: Fix guest i915 full ppgtt blocking issue · 6b3816d6
    tina zhang authored
    Guest i915 full ppgtt functionality was blocking by an issue, which would
    lead to gpu hardware hang. Guest i915 driver may update the ppgtt table
    just before this workload is going to be submitted to the hardware by
    device model. This case wasn't handled well by device model before, due
    to the small time window between removing old ppgtt entry and adding the
    new one. Errors occur when the workload is executed by hardware during
    that small time window. This patch is to remove this time window by adding
    the new ppgtt entry first and then remove the old one.
    Changes in v2:
    - Move VGT_CAPS_FULL_PPGTT introduction to patch 2/4. (Joonas)
    Changes since v2:
    - Divide the whole patch set into two separate patch series, with one
      patch in i915 side to check guest i915 full ppgtt capability and enable
      it when this capability is supported by the device model, and the other
      one in gvt side which fixs the blocking issue and enables the device
      model to provide the capability to guest. And this patch focuses on gvt
      side. (Joonas)
    - Change the title from "reorder the shadow ppgtt update process by adding
      entry first" to "Fix guest i915 full ppgtt blocking issue". (Tina)
    Changes since v3:
    - Rebase to the latest branch.
    Changes since v4:
    - Tested by Tina Zhang.
    Changes since v5:
    - Rebase to the latest branch.
    - Update full 48bit ppgtt definition
    Cc: Tina Zhang <tina.zhang@intel.com>
    Signed-off-by: tina zhang's avatarTina Zhang <tina.zhang@intel.com>
    Signed-off-by: Zhenyu Wang's avatarZhenyu Wang <zhenyuw@linux.intel.com>
vgpu.c 15.3 KB