[PATCH 8/8] unicast reads
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Jul 18 18:37:33 UTC 2019
From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
---
drivers/gpu/drm/i915/gt/intel_workarounds.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index 54e364c08e32..320573544ba8 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -793,13 +793,13 @@ wa_init_mcr(struct drm_i915_private *i915, struct i915_wa_list *wal)
l3_en = ~0;
}
- slice = fls(sseu->slice_mask) - 1;
+ slice = ffs(sseu->slice_mask) - 1;
GEM_BUG_ON(slice >= ARRAY_SIZE(sseu->subslice_mask));
- subslice = fls(l3_en & sseu->subslice_mask[slice]);
+ subslice = ffs(l3_en & sseu->subslice_mask[slice]);
if (!subslice) {
DRM_WARN("No common index found between subslice mask %x and L3 bank mask %x!\n",
sseu->subslice_mask[slice], l3_en);
- subslice = fls(l3_en);
+ subslice = ffs(l3_en);
WARN_ON(!subslice);
}
subslice--;
@@ -998,12 +998,21 @@ static bool wa_list_verify(struct intel_uncore *uncore,
struct i915_wa *wa;
unsigned int i;
bool ok = true;
+ u32 mcr, old_mcr;
+
+ old_mcr = mcr = intel_uncore_read(uncore, GEN8_MCR_SELECTOR);
+
+ mcr &= ~BIT(31);
+ intel_uncore_write(uncore, GEN8_MCR_SELECTOR, mcr);
+ printk("wa_list_verify %x %x\n", old_mcr, mcr);
for (i = 0, wa = wal->list; i < wal->count; i++, wa++)
ok &= wa_verify(wa,
intel_uncore_read(uncore, wa->reg),
wal->name, from);
+ intel_uncore_write(uncore, GEN8_MCR_SELECTOR, old_mcr);
+
return ok;
}
--
2.20.1
More information about the Intel-gfx-trybot
mailing list