Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> On Tue, 2015-03-03 at 18:03 +0100, Daniel Vetter wrote: > This is useful for writing igts to make sure we don't break this, > without being forced to own a one of these dinosaurs. > > Suggested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> > Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/i915_params.c | 8 +++++++- > drivers/gpu/drm/i915/intel_crt.c | 6 ++++-- > 3 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index e07a1cb5db67..878b16ed61b3 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -2429,6 +2429,7 @@ struct i915_params { > bool enable_hangcheck; > bool fastboot; > bool prefault_disable; > + bool load_detect_test; > bool reset; > bool disable_display; > bool disable_vtd_wa; > diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c > index 44f2262a5553..9f7f9a644c45 100644 > --- a/drivers/gpu/drm/i915/i915_params.c > +++ b/drivers/gpu/drm/i915/i915_params.c > @@ -44,6 +44,7 @@ struct i915_params i915 __read_mostly = { > .enable_ips = 1, > .fastboot = 0, > .prefault_disable = 0, > + .load_detect_test = 0, > .reset = true, > .invert_brightness = 0, > .disable_display = 0, > @@ -144,11 +145,16 @@ module_param_named(fastboot, i915.fastboot, bool, 0600); > MODULE_PARM_DESC(fastboot, > "Try to skip unnecessary mode sets at boot time (default: false)"); > > -module_param_named(prefault_disable, i915.prefault_disable, bool, 0600); > +module_param_named_unsafe(prefault_disable, i915.prefault_disable, bool, 0600); > MODULE_PARM_DESC(prefault_disable, > "Disable page prefaulting for pread/pwrite/reloc (default:false). " > "For developers only."); > > +module_param_named_unsafe(load_detect_test, i915.load_detect_test, bool, 0600); > +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_PARM_DESC(invert_brightness, > "Invert backlight brightness " > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c > index e66e17af0a56..b3421ac0be57 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -690,7 +690,7 @@ intel_crt_detect(struct drm_connector *connector, bool force) > * broken monitor (without edid) to work behind a broken kvm (that fails > * to have the right resistors for HP detection) needs to fix this up. > * For now just bail out. */ > - if (I915_HAS_HOTPLUG(dev)) { > + if (I915_HAS_HOTPLUG(dev) && !i915.load_detect_test) { > status = connector_status_disconnected; > goto out; > } > @@ -706,8 +706,10 @@ intel_crt_detect(struct drm_connector *connector, bool force) > if (intel_get_load_detect_pipe(connector, NULL, &tmp, &ctx)) { > if (intel_crt_detect_ddc(connector)) > status = connector_status_connected; > - else > + else if (INTEL_INFO(dev)->gen < 4) > status = intel_crt_load_detect(crt); > + else > + status = connector_status_unknown; > intel_release_load_detect_pipe(connector, &tmp); > } else > status = connector_status_unknown; _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx