[PATCH 08/11] drm/i915/dsb: Add i915.enable_dsb module parameter

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Jun 19 14:55:11 UTC 2024


On Wed, Jun 19, 2024 at 05:44:08PM +0300, Ville Syrjälä wrote:
> On Wed, Jun 19, 2024 at 04:24:16PM +0300, Ville Syrjälä wrote:
> > On Wed, Jun 19, 2024 at 04:11:08PM +0300, Jani Nikula wrote:
> > > On Wed, 19 Jun 2024, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> > > > On Tue, Jun 18, 2024 at 02:07:56PM +0300, Jani Nikula wrote:
> > > >> On Tue, 11 Jun 2024, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> > > >> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > >> >
> > > >> > As we extend the use of DSB for critical pipe/plane register
> > > >> > programming, it'll be nice to have an escape valve at hand,
> > > >> > in case things go very poorly. To that end, add a i915.enable_dsb
> > > >> > modparam by which we can force the driver to take the pure mmio
> > > >> > path instead.
> > > >> >
> > > >> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > >> > ---
> > > >> >  drivers/gpu/drm/i915/display/intel_display_params.c | 3 +++
> > > >> >  drivers/gpu/drm/i915/display/intel_display_params.h | 1 +
> > > >> >  drivers/gpu/drm/i915/display/intel_dsb.c            | 3 +++
> > > >> >  3 files changed, 7 insertions(+)
> > > >> >
> > > >> > diff --git a/drivers/gpu/drm/i915/display/intel_display_params.c b/drivers/gpu/drm/i915/display/intel_display_params.c
> > > >> > index aebdb7b59dbf..449a31767791 100644
> > > >> > --- a/drivers/gpu/drm/i915/display/intel_display_params.c
> > > >> > +++ b/drivers/gpu/drm/i915/display/intel_display_params.c
> > > >> > @@ -54,6 +54,9 @@ intel_display_param_named_unsafe(enable_dc, int, 0400,
> > > >> >  intel_display_param_named_unsafe(enable_dpt, bool, 0400,
> > > >> >  	"Enable display page table (DPT) (default: true)");
> > > >> >  
> > > >> > +intel_display_param_named_unsafe(enable_dsb, bool, 0600,
> > > >> > +	"Enable display state buffer (DSB) (default: true)");
> > > >> 
> > > >> Not much point in leaving the module param 0600, is there?
> > > >
> > > > It'll let you try both dsb and mmio paths at runtime without
> > > > having to do a full reboot/reload.
> > > 
> > > I mean does any code actually look at the *module* parameter runtime?
> > > It's only the initial value for the device param?
> > 
> > You can change it via the debugfs i915_params/* thing.
> 
> Apparently the modparam vs. debugfs permissions are specified in two
> different places. This is rather confusing.
> 
> Is there no way to put them in the same place? Or can we just nuke
> the permission stuff from the modparam macro entirely so it won't
> end up confusing me again? Looks like there is exactly one (gem related)
> modparam that uses 0600, everything else seems to be 0400.

And even that seems to use the per-device copy in the actual code.
So looks to me like we can just rip out the macro argument and
make it 0400 always.

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list