Re: [PATCH v3 2/3] drm/i915/display: debugfs entry to control ignore long hpd flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux