On Tue, 07 Feb 2023, Vinod Govindapillai <vinod.govindapillai@xxxxxxxxx> wrote: > Knob to control ignoring the long hpds. Set this to true will > start ignoring the long HPDs generated by the displays. Useful > for use cases like CI systems where we dont expect to disconnect > the panels. > > v2: Address patch styling comments (Jani Nikula) > > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_hotplug.c | 25 ++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c > index f0a2aa648bb8..41372a10288c 100644 > --- a/drivers/gpu/drm/i915/display/intel_hotplug.c > +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c > @@ -939,6 +939,29 @@ static const struct file_operations i915_hpd_short_storm_ctl_fops = { > .write = i915_hpd_short_storm_ctl_write, > }; > > +static int i915_ignore_long_hpd_set(void *data, u64 val) > +{ > + struct drm_i915_private *i915 = data; > + > + drm_dbg_kms(&i915->drm, "Ignoring long HPDs: %s\n", str_yes_no(val)); > + > + i915->display.hotplug.ignore_long_hpd = val; > + > + return 0; > +} > + > +static int i915_ignore_long_hpd_get(void *data, u64 *val) > +{ > + struct drm_i915_private *i915 = data; > + > + *val = i915->display.hotplug.ignore_long_hpd; > + > + return 0; > +} > + > +DEFINE_SIMPLE_ATTRIBUTE(i915_ignore_long_hpd_fops, i915_ignore_long_hpd_get, > + i915_ignore_long_hpd_set, "%llu\n"); > + > void intel_hpd_debugfs_register(struct drm_i915_private *i915) > { > struct drm_minor *minor = i915->drm.primary; > @@ -947,4 +970,6 @@ void intel_hpd_debugfs_register(struct drm_i915_private *i915) > i915, &i915_hpd_storm_ctl_fops); > debugfs_create_file("i915_hpd_short_storm_ctl", 0644, minor->debugfs_root, > i915, &i915_hpd_short_storm_ctl_fops); > + debugfs_create_file("i915_ignore_long_hpd", 0644, minor->debugfs_root, > + i915, &i915_ignore_long_hpd_fops); See debugfs_create_bool(). This whole patch becomes so simple that should be part of the previous patch, really. > } -- Jani Nikula, Intel Open Source Graphics Center