On Mon, 29 Jun 2015, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > Makes it really hard to reason about these since there are dependency > loops. Also if you touch them and don't know what you're doing you get > to keep all the pieces. > > Also sweep over all options and mark everything which isn't clearly > just a harmless debug helper thing of one of the official functions to > disable parts of the driver (modeset and disable_display are the only > ones) as unsafe. I'd prefer these split to a separate patch. BR, Jani. > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- > drivers/gpu/drm/i915/i915_params.c | 30 +++++++++++++++--------------- > drivers/gpu/drm/i915/intel_lrc.c | 3 +-- > 3 files changed, 17 insertions(+), 18 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index b94eebe81fd8..0e171edb2f33 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -140,7 +140,7 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) > return 0; > } > > - if (INTEL_INFO(dev)->gen >= 8 && i915.enable_execlists) > + if (INTEL_INFO(dev)->gen >= 8) > return 2; > else > return has_aliasing_ppgtt ? 1 : 0; > diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c > index 7983fe48a654..562622f36081 100644 > --- a/drivers/gpu/drm/i915/i915_params.c > +++ b/drivers/gpu/drm/i915/i915_params.c > @@ -60,7 +60,7 @@ MODULE_PARM_DESC(modeset, > "Use kernel modesetting [KMS] (0=disable, " > "1=on, -1=force vga console preference [default])"); > > -module_param_named(panel_ignore_lid, i915.panel_ignore_lid, int, 0600); > +module_param_named_unsafe(panel_ignore_lid, i915.panel_ignore_lid, int, 0600); > MODULE_PARM_DESC(panel_ignore_lid, > "Override lid status (0=autodetect, 1=autodetect disabled [default], " > "-1=force lid closed, -2=force lid open)"); > @@ -83,17 +83,17 @@ MODULE_PARM_DESC(enable_fbc, > "Enable frame buffer compression for power savings " > "(default: -1 (use per-chip default))"); > > -module_param_named(lvds_channel_mode, i915.lvds_channel_mode, int, 0600); > +module_param_named_unsafe(lvds_channel_mode, i915.lvds_channel_mode, int, 0600); > MODULE_PARM_DESC(lvds_channel_mode, > "Specify LVDS channel mode " > "(0=probe BIOS [default], 1=single-channel, 2=dual-channel)"); > > -module_param_named(lvds_use_ssc, i915.panel_use_ssc, int, 0600); > +module_param_named_unsafe(lvds_use_ssc, i915.panel_use_ssc, int, 0600); > MODULE_PARM_DESC(lvds_use_ssc, > "Use Spread Spectrum Clock with panels [LVDS/eDP] " > "(default: auto from VBT)"); > > -module_param_named(vbt_sdvo_panel_type, i915.vbt_sdvo_panel_type, int, 0600); > +module_param_named_unsafe(vbt_sdvo_panel_type, i915.vbt_sdvo_panel_type, int, 0600); > MODULE_PARM_DESC(vbt_sdvo_panel_type, > "Override/Ignore selection of SDVO panel mode in the VBT " > "(-2=ignore, -1=auto [default], index in VBT BIOS table)"); > @@ -101,7 +101,7 @@ MODULE_PARM_DESC(vbt_sdvo_panel_type, > module_param_named_unsafe(reset, i915.reset, bool, 0600); > MODULE_PARM_DESC(reset, "Attempt GPU resets (default: true)"); > > -module_param_named(enable_hangcheck, i915.enable_hangcheck, bool, 0644); > +module_param_named_unsafe(enable_hangcheck, i915.enable_hangcheck, bool, 0644); > MODULE_PARM_DESC(enable_hangcheck, > "Periodically check GPU activity for detecting hangs. " > "WARNING: Disabling this can cause system wide hangs. " > @@ -112,26 +112,26 @@ MODULE_PARM_DESC(enable_ppgtt, > "Override PPGTT usage. " > "(-1=auto [default], 0=disabled, 1=aliasing, 2=full)"); > > -module_param_named(enable_execlists, i915.enable_execlists, int, 0400); > +module_param_named_unsafe(enable_execlists, i915.enable_execlists, int, 0400); > MODULE_PARM_DESC(enable_execlists, > "Override execlists usage. " > "(-1=auto [default], 0=disabled, 1=enabled)"); > > -module_param_named(enable_psr, i915.enable_psr, int, 0600); > +module_param_named_unsafe(enable_psr, i915.enable_psr, int, 0600); > MODULE_PARM_DESC(enable_psr, "Enable PSR (default: false)"); > > -module_param_named(preliminary_hw_support, i915.preliminary_hw_support, int, 0600); > +module_param_named_unsafe(preliminary_hw_support, i915.preliminary_hw_support, int, 0600); > MODULE_PARM_DESC(preliminary_hw_support, > "Enable preliminary hardware support."); > > -module_param_named(disable_power_well, i915.disable_power_well, int, 0600); > +module_param_named_unsafe(disable_power_well, i915.disable_power_well, int, 0600); > MODULE_PARM_DESC(disable_power_well, > "Disable the power well when possible (default: true)"); > > -module_param_named(enable_ips, i915.enable_ips, int, 0600); > +module_param_named_unsafe(enable_ips, i915.enable_ips, int, 0600); > MODULE_PARM_DESC(enable_ips, "Enable IPS (default: true)"); > > -module_param_named(fastboot, i915.fastboot, bool, 0600); > +module_param_named_unsafe(fastboot, i915.fastboot, bool, 0600); > MODULE_PARM_DESC(fastboot, > "Try to skip unnecessary mode sets at boot time (default: false)"); > > @@ -145,7 +145,7 @@ MODULE_PARM_DESC(load_detect_test, > "Force-enable the VGA load detect code for testing (default:false). " > "For developers only."); > > -module_param_named(invert_brightness, i915.invert_brightness, int, 0600); > +module_param_named_unsafe(invert_brightness, i915.invert_brightness, int, 0600); > MODULE_PARM_DESC(invert_brightness, > "Invert backlight brightness " > "(-1 force normal, 0 machine defaults, 1 force inversion), please " > @@ -156,14 +156,14 @@ MODULE_PARM_DESC(invert_brightness, > module_param_named(disable_display, i915.disable_display, bool, 0600); > MODULE_PARM_DESC(disable_display, "Disable display (default: false)"); > > -module_param_named(disable_vtd_wa, i915.disable_vtd_wa, bool, 0600); > +module_param_named_unsafe(disable_vtd_wa, i915.disable_vtd_wa, bool, 0600); > MODULE_PARM_DESC(disable_vtd_wa, "Disable all VT-d workarounds (default: false)"); > > -module_param_named(enable_cmd_parser, i915.enable_cmd_parser, int, 0600); > +module_param_named_unsafe(enable_cmd_parser, i915.enable_cmd_parser, int, 0600); > MODULE_PARM_DESC(enable_cmd_parser, > "Enable command parsing (1=enabled [default], 0=disabled)"); > > -module_param_named(use_mmio_flip, i915.use_mmio_flip, int, 0600); > +module_param_named_unsafe(use_mmio_flip, i915.use_mmio_flip, int, 0600); > MODULE_PARM_DESC(use_mmio_flip, > "use MMIO flips (-1=never, 0=driver discretion [default], 1=always)"); > > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c > index 8cac4cab1666..2dad1851d30d 100644 > --- a/drivers/gpu/drm/i915/intel_lrc.c > +++ b/drivers/gpu/drm/i915/intel_lrc.c > @@ -234,8 +234,7 @@ int intel_sanitize_enable_execlists(struct drm_device *dev, int enable_execlists > if (enable_execlists == 0) > return 0; > > - if (HAS_LOGICAL_RING_CONTEXTS(dev) && USES_PPGTT(dev) && > - i915.use_mmio_flip >= 0) > + if (HAS_LOGICAL_RING_CONTEXTS(dev)) > return 1; > > return 0; > -- > 2.1.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx