Message ID | 1436293568-1674-5-git-send-email-przanoni@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jul 07, 2015 at 03:26:06PM -0300, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > The poor in_dbg_master() check was the only one without a reason > string. Give it a reason string so it won't feel excluded. > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> > --- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/intel_fbc.c | 6 +++++- > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 4ef1764..52d07fb 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -935,6 +935,7 @@ struct i915_fbc { > FBC_MODULE_PARAM, > FBC_CHIP_DEFAULT, /* disabled by default on this chip */ > FBC_ROTATION, /* rotation is not supported */ > + FBC_IN_DBG_MASTER, /* kernel debugger is active */ Oh dear this is dead code. kdbg uses the fbcon, which always uses untiled, which means fbc will never be enabled. Also we have 0 users and 0 test coverage for kdbg on top of i915 (Jesse implemented it for fun years back). Imo just remove all this code. -Daniel > } no_fbc_reason; > > bool (*fbc_enabled)(struct drm_i915_private *dev_priv); > diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c > index 9ef5b6c..8d39893 100644 > --- a/drivers/gpu/drm/i915/intel_fbc.c > +++ b/drivers/gpu/drm/i915/intel_fbc.c > @@ -471,6 +471,8 @@ const char *intel_no_fbc_reason_str(enum no_fbc_reason reason) > return "disabled per chip default"; > case FBC_ROTATION: > return "rotation unsupported"; > + case FBC_IN_DBG_MASTER: > + return "Kernel debugger is active"; > default: > MISSING_CASE(reason); > return "unknown reason"; > @@ -755,8 +757,10 @@ static void __intel_fbc_update(struct drm_i915_private *dev_priv) > } > > /* If the kernel debugger is active, always disable compression */ > - if (in_dbg_master()) > + if (in_dbg_master()) { > + set_no_fbc_reason(dev_priv, FBC_IN_DBG_MASTER); > goto out_disable; > + } > > if (intel_fbc_setup_cfb(dev_priv, obj->base.size, > drm_format_plane_cpp(fb->pixel_format, 0))) { > -- > 2.1.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Wed, Jul 08, 2015 at 11:38:02AM +0200, Daniel Vetter wrote: > On Tue, Jul 07, 2015 at 03:26:06PM -0300, Paulo Zanoni wrote: > > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > > > The poor in_dbg_master() check was the only one without a reason > > string. Give it a reason string so it won't feel excluded. > > > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> > > --- > > drivers/gpu/drm/i915/i915_drv.h | 1 + > > drivers/gpu/drm/i915/intel_fbc.c | 6 +++++- > > 2 files changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > > index 4ef1764..52d07fb 100644 > > --- a/drivers/gpu/drm/i915/i915_drv.h > > +++ b/drivers/gpu/drm/i915/i915_drv.h > > @@ -935,6 +935,7 @@ struct i915_fbc { > > FBC_MODULE_PARAM, > > FBC_CHIP_DEFAULT, /* disabled by default on this chip */ > > FBC_ROTATION, /* rotation is not supported */ > > + FBC_IN_DBG_MASTER, /* kernel debugger is active */ > > Oh dear this is dead code. kdbg uses the fbcon, which always uses > untiled, which means fbc will never be enabled. Also we have 0 users and 0 > test coverage for kdbg on top of i915 (Jesse implemented it for fun years > back). Imo just remove all this code. A good kdbg integration would allow us to do allsorts of kprobes debugging and igt fun. Ok, we could probably use kprobes... * hatches evil plan to learn kprobes -Chris
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 4ef1764..52d07fb 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -935,6 +935,7 @@ struct i915_fbc { FBC_MODULE_PARAM, FBC_CHIP_DEFAULT, /* disabled by default on this chip */ FBC_ROTATION, /* rotation is not supported */ + FBC_IN_DBG_MASTER, /* kernel debugger is active */ } no_fbc_reason; bool (*fbc_enabled)(struct drm_i915_private *dev_priv); diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c index 9ef5b6c..8d39893 100644 --- a/drivers/gpu/drm/i915/intel_fbc.c +++ b/drivers/gpu/drm/i915/intel_fbc.c @@ -471,6 +471,8 @@ const char *intel_no_fbc_reason_str(enum no_fbc_reason reason) return "disabled per chip default"; case FBC_ROTATION: return "rotation unsupported"; + case FBC_IN_DBG_MASTER: + return "Kernel debugger is active"; default: MISSING_CASE(reason); return "unknown reason"; @@ -755,8 +757,10 @@ static void __intel_fbc_update(struct drm_i915_private *dev_priv) } /* If the kernel debugger is active, always disable compression */ - if (in_dbg_master()) + if (in_dbg_master()) { + set_no_fbc_reason(dev_priv, FBC_IN_DBG_MASTER); goto out_disable; + } if (intel_fbc_setup_cfb(dev_priv, obj->base.size, drm_format_plane_cpp(fb->pixel_format, 0))) {