On Tue, Aug 25, 2015 at 07:03:42PM -0300, Paulo Zanoni wrote: > The unclaimed register bit is only triggered when someone touches the > specified register range. > > For the normal use case (with i915.mmio_debug=0), this commit will > avoid the extra __raw_i915_read32() call for every register outside > the specified range, at the expense of a few additional "if" > statements. > > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > @@ -612,7 +614,7 @@ hsw_unclaimed_reg_debug(struct drm_i915_private *dev_priv, u32 reg, bool read, > const char *op = read ? "reading" : "writing to"; > const char *when = before ? "before" : "after"; > > - if (!i915.mmio_debug) > + if (!i915.mmio_debug || !UNCLAIMED_CHECK_RANGE(reg)) > return; Place the register check on the preceding line so that it is not confused with checking the debug-enabled status. (Also you can argue that reg will be register/cache-hot and so a cheaper test to do first than loading a module parameter.) > if (__raw_i915_read32(dev_priv, FPGA_DBG) & FPGA_DBG_RM_NOCLAIM) { > @@ -624,11 +626,11 @@ hsw_unclaimed_reg_debug(struct drm_i915_private *dev_priv, u32 reg, bool read, > } > > static void > -hsw_unclaimed_reg_detect(struct drm_i915_private *dev_priv) > +hsw_unclaimed_reg_detect(struct drm_i915_private *dev_priv, u32 reg) > { > static bool mmio_debug_once = true; > > - if (i915.mmio_debug || !mmio_debug_once) > + if (i915.mmio_debug || !UNCLAIMED_CHECK_RANGE(reg) || !mmio_debug_once) > return; The use is wrong here though because you never reviewed my patch to enable the single-shot debugging from the interrupt handler to catch invalid usage from elsewhere. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx