[PATCH] drm/i915/gvt: Fix drm_WARN issue where vgpu ptr is unavailable
Zhenyu Wang
zhenyuw at linux.intel.com
Tue Feb 25 07:35:44 UTC 2020
On 2/25/2020 1:35 PM, Tina Zhang wrote:
> When vgpu ptr is unavailable, the drm_WARN* can hang the whole system
> due to the drm pointer is NULL. This patch fixes this issue by using
> WARN directly which won't care about the drm pointer.
>
> Fixes: 12d5861973c70 ("drm/i915/gvt: Make WARN* drm specific where vgpu ptr is available")
> Signed-off-by: Tina Zhang <tina.zhang at intel.com>
> ---
> drivers/gpu/drm/i915/gvt/mmio_context.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/mmio_context.c b/drivers/gpu/drm/i915/gvt/mmio_context.c
> index 46c291e4926b..1213c8e23317 100644
> --- a/drivers/gpu/drm/i915/gvt/mmio_context.c
> +++ b/drivers/gpu/drm/i915/gvt/mmio_context.c
> @@ -392,7 +392,6 @@ static void handle_tlb_pending_event(struct intel_vgpu *vgpu, int ring_id)
> static void switch_mocs(struct intel_vgpu *pre, struct intel_vgpu *next,
> int ring_id)
> {
> - struct drm_i915_private *i915 = pre->gvt->dev_priv;
> struct drm_i915_private *dev_priv;
> i915_reg_t offset, l3_offset;
> u32 old_v, new_v;
> @@ -407,7 +406,7 @@ static void switch_mocs(struct intel_vgpu *pre, struct intel_vgpu *next,
> int i;
>
> dev_priv = pre ? pre->gvt->dev_priv : next->gvt->dev_priv;
> - if (drm_WARN_ON(&i915->drm, ring_id >= ARRAY_SIZE(regs)))
> + if (drm_WARN_ON(&dev_priv->drm, ring_id >= ARRAY_SIZE(regs)))
> return;
>
> if (ring_id == RCS0 && IS_GEN(dev_priv, 9))
> @@ -552,10 +551,9 @@ static void switch_mmio(struct intel_vgpu *pre,
> void intel_gvt_switch_mmio(struct intel_vgpu *pre,
> struct intel_vgpu *next, int ring_id)
> {
> - struct drm_i915_private *i915 = pre->gvt->dev_priv;
> struct drm_i915_private *dev_priv;
>
> - if (drm_WARN_ON(&i915->drm, !pre && !next))
> + if (WARN(!pre && !next, "switch ring %d from host to HOST\n", ring_id))
> return;
>
> gvt_dbg_render("switch ring %d from %s to %s\n", ring_id,
Thanks for catching this quickly!
Reviewed-by: Zhenyu Wang <zhenyuw at linux.intel.com>
More information about the intel-gvt-dev
mailing list