|
@@ -364,7 +364,8 @@ static void handle_tlb_pending_event(struct intel_vgpu *vgpu, int ring_id)
|
|
|
*/
|
|
|
fw = intel_uncore_forcewake_for_reg(dev_priv, reg,
|
|
|
FW_REG_READ | FW_REG_WRITE);
|
|
|
- if (ring_id == RCS && (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv)))
|
|
|
+ if (ring_id == RCS && (IS_SKYLAKE(dev_priv) ||
|
|
|
+ IS_KABYLAKE(dev_priv) || IS_BROXTON(dev_priv)))
|
|
|
fw |= FORCEWAKE_RENDER;
|
|
|
|
|
|
intel_uncore_forcewake_get(dev_priv, fw);
|
|
@@ -401,7 +402,7 @@ static void switch_mocs(struct intel_vgpu *pre, struct intel_vgpu *next,
|
|
|
if (WARN_ON(ring_id >= ARRAY_SIZE(regs)))
|
|
|
return;
|
|
|
|
|
|
- if (IS_KABYLAKE(dev_priv) && ring_id == RCS)
|
|
|
+ if ((IS_KABYLAKE(dev_priv) || IS_BROXTON(dev_priv)) && ring_id == RCS)
|
|
|
return;
|
|
|
|
|
|
if (!pre && !gen9_render_mocs.initialized)
|
|
@@ -467,7 +468,9 @@ static void switch_mmio(struct intel_vgpu *pre,
|
|
|
u32 old_v, new_v;
|
|
|
|
|
|
dev_priv = pre ? pre->gvt->dev_priv : next->gvt->dev_priv;
|
|
|
- if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv))
|
|
|
+ if (IS_SKYLAKE(dev_priv)
|
|
|
+ || IS_KABYLAKE(dev_priv)
|
|
|
+ || IS_BROXTON(dev_priv))
|
|
|
switch_mocs(pre, next, ring_id);
|
|
|
|
|
|
for (mmio = dev_priv->gvt->engine_mmio_list.mmio;
|
|
@@ -479,7 +482,8 @@ static void switch_mmio(struct intel_vgpu *pre,
|
|
|
* state image on kabylake, it's initialized by lri command and
|
|
|
* save or restore with context together.
|
|
|
*/
|
|
|
- if (IS_KABYLAKE(dev_priv) && mmio->in_context)
|
|
|
+ if ((IS_KABYLAKE(dev_priv) || IS_BROXTON(dev_priv))
|
|
|
+ && mmio->in_context)
|
|
|
continue;
|
|
|
|
|
|
// save
|
|
@@ -574,7 +578,9 @@ void intel_gvt_init_engine_mmio_context(struct intel_gvt *gvt)
|
|
|
{
|
|
|
struct engine_mmio *mmio;
|
|
|
|
|
|
- if (IS_SKYLAKE(gvt->dev_priv) || IS_KABYLAKE(gvt->dev_priv))
|
|
|
+ if (IS_SKYLAKE(gvt->dev_priv) ||
|
|
|
+ IS_KABYLAKE(gvt->dev_priv) ||
|
|
|
+ IS_BROXTON(gvt->dev_priv))
|
|
|
gvt->engine_mmio_list.mmio = gen9_engine_mmio_list;
|
|
|
else
|
|
|
gvt->engine_mmio_list.mmio = gen8_engine_mmio_list;
|