All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Animesh Manna <animesh.manna@intel.com>,
	intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: jouni.hogander@intel.com, jeevan.b@intel.com,
	Animesh Manna <animesh.manna@intel.com>
Subject: Re: [PATCH v4 5/8] drm/i915/lobf: Add debug interface for lobf
Date: Mon, 24 Feb 2025 12:55:44 +0200	[thread overview]
Message-ID: <87jz9f7gsv.fsf@intel.com> (raw)
In-Reply-To: <20250224080847.326350-6-animesh.manna@intel.com>

On Mon, 24 Feb 2025, Animesh Manna <animesh.manna@intel.com> wrote:
> Add an interface in debugfs which will help in debugging LOBF
> feature.
>
> v1: Initial version.
> v2:
> - Remove FORCE_EN flag. [Jouni]
> - Change prefix from I915 to INTEL. [Jani]
> - Use u8 instead of bool for lobf-debug flag. [Jani]
>
> Signed-off-by: Animesh Manna <animesh.manna@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_alpm.c     | 51 +++++++++++++++++++
>  .../drm/i915/display/intel_display_types.h    |  5 ++
>  2 files changed, 56 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c b/drivers/gpu/drm/i915/display/intel_alpm.c
> index 83719ee1721c..5c70677ac3c0 100644
> --- a/drivers/gpu/drm/i915/display/intel_alpm.c
> +++ b/drivers/gpu/drm/i915/display/intel_alpm.c
> @@ -276,6 +276,9 @@ void intel_alpm_lobf_compute_config(struct intel_dp *intel_dp,
>  	int waketime_in_lines, first_sdp_position;
>  	int context_latency, guardband;
>  
> +	if (intel_dp->alpm_parameters.lobf_debug & INTEL_LOBF_DEBUG_DISABLE)
> +		return;
> +
>  	if (!intel_dp_is_edp(intel_dp))
>  		return;
>  
> @@ -449,6 +452,51 @@ static int i915_edp_lobf_info_show(struct seq_file *m, void *data)
>  
>  DEFINE_SHOW_ATTRIBUTE(i915_edp_lobf_info);
>  
> +static int
> +i915_edp_lobf_debug_get(void *data, u64 *val)
> +{
> +	struct intel_display *display = data;

Where do you pass display as data? It's connector?

> +	struct intel_encoder *encoder;
> +	int ret = -ENODEV;
> +
> +	for_each_intel_dp(display->drm, encoder) {
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +
> +		if (!intel_dp_is_edp(intel_dp))
> +			return ret;

What is this supposed to do?

> +
> +		// TODO: split to each edp transcoder.

What does this mean?

> +		*val = READ_ONCE(intel_dp->alpm_parameters.lobf_debug);

You read this from all intel_dp and combine into one? What?

> +		ret = 0;
> +	}
> +
> +	return ret;
> +}
> +
> +static int
> +i915_edp_lobf_debug_set(void *data, u64 val)
> +{
> +	struct intel_display *display = data;
> +	struct intel_encoder *encoder;
> +	int ret = -ENODEV;
> +
> +	for_each_intel_dp(display->drm, encoder) {
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +
> +		if (!intel_dp_is_edp(intel_dp))
> +			return ret;
> +
> +		// TODO: split to each edp transcoder.
> +		intel_dp->alpm_parameters.lobf_debug = val;
> +	}
> +
> +	return ret;

So this always returns failure?

> +}
> +
> +DEFINE_SIMPLE_ATTRIBUTE(i915_edp_lobf_debug_fops,
> +			i915_edp_lobf_debug_get, i915_edp_lobf_debug_set,
> +			"%llu\n");
> +
>  void intel_alpm_lobf_debugfs_add(struct intel_connector *connector)
>  {
>  	struct intel_display *display = to_intel_display(connector);
> @@ -458,6 +506,9 @@ void intel_alpm_lobf_debugfs_add(struct intel_connector *connector)
>  	    connector->base.connector_type != DRM_MODE_CONNECTOR_eDP)
>  		return;
>  
> +	debugfs_create_file("i915_edp_lobf_debug", 0644, root,
> +			    connector, &i915_edp_lobf_debug_fops);
> +
>  	debugfs_create_file("i915_edp_lobf_info", 0444, root,
>  			    connector, &i915_edp_lobf_info_fops);
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index b78721c451b8..b6ec9a8fadd9 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1808,6 +1808,11 @@ struct intel_dp {
>  		u8 aux_less_wake_lines;
>  		u8 silence_period_sym_clocks;
>  		u8 lfps_half_cycle_num_of_syms;
> +
> +#define INTEL_LOBF_DEBUG_MODE_MASK		0x0f
> +#define INTEL_LOBF_DEBUG_DEFAULT		0x00
> +#define INTEL_LOBF_DEBUG_DISABLE		0x01
> +		u8 lobf_debug;

Just overly complex still.

>  	} alpm_parameters;
>  
>  	u8 alpm_dpcd;

-- 
Jani Nikula, Intel

  reply	other threads:[~2025-02-24 10:56 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-24  8:08 [PATCH v4 0/8] LOBF enablement fix Animesh Manna
2025-02-24  8:08 ` [PATCH v4 1/8] drm/i915/lobf: Add lobf enablement in post plane update Animesh Manna
2025-02-24 10:42   ` Jani Nikula
2025-02-25  8:23     ` Manna, Animesh
2025-02-24  8:08 ` [PATCH v4 2/8] drm/i915/lobf: Disintegrate alpm_disable from psr_disable Animesh Manna
2025-02-24 10:45   ` Jani Nikula
2025-02-25  9:02     ` Manna, Animesh
2025-03-03  9:21       ` Manna, Animesh
2025-02-24  8:08 ` [PATCH v4 3/8] drm/i915/lobf: Add fixed refresh rate check in compute_config() Animesh Manna
2025-02-24 10:46   ` Jani Nikula
2025-02-25  8:25     ` Manna, Animesh
2025-02-24  8:08 ` [PATCH v4 4/8] drm/i915/lobf: Update lobf if any change in dependent parameters Animesh Manna
2025-02-24 10:48   ` Jani Nikula
2025-02-25  6:41     ` Manna, Animesh
2025-02-25  8:02       ` Jani Nikula
2025-02-25  8:22         ` Manna, Animesh
2025-02-24 10:49   ` Jani Nikula
2025-02-25  4:09   ` kernel test robot
2025-02-24  8:08 ` [PATCH v4 5/8] drm/i915/lobf: Add debug interface for lobf Animesh Manna
2025-02-24 10:55   ` Jani Nikula [this message]
2025-02-25  8:21     ` Manna, Animesh
2025-02-25  9:15       ` Jani Nikula
2025-02-24  8:08 ` [PATCH v4 6/8] drm/i915/lobf: Check for sink error and disable LOBF Animesh Manna
2025-02-24  8:08 ` [PATCH v4 7/8] drm/i915/lobf: Add mutex for alpm update Animesh Manna
2025-02-26  8:11   ` Dan Carpenter
2025-02-24  8:08 ` [PATCH v4 8/8] drm/i915/lobf: Add debug print for LOBF Animesh Manna
2025-02-24 18:45 ` ✓ CI.Patch_applied: success for LOBF enablement fix (rev3) Patchwork
2025-02-24 18:45 ` ✗ CI.checkpatch: warning " Patchwork
2025-02-24 18:46 ` ✓ CI.KUnit: success " Patchwork
2025-02-24 18:49 ` ✗ Fi.CI.CHECKPATCH: warning for LOBF enablement fix (rev4) Patchwork
2025-02-24 18:49 ` ✗ Fi.CI.SPARSE: " Patchwork
2025-02-24 19:03 ` ✓ CI.Build: success for LOBF enablement fix (rev3) Patchwork
2025-02-24 19:05 ` ✓ CI.Hooks: " Patchwork
2025-02-24 19:07 ` ✗ CI.checksparse: warning " Patchwork
2025-02-24 19:13 ` ✗ i915.CI.BAT: failure for LOBF enablement fix (rev4) Patchwork
2025-02-24 19:38 ` ✗ Xe.CI.BAT: failure for LOBF enablement fix (rev3) Patchwork
2025-02-24 20:41 ` ✗ Xe.CI.Full: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87jz9f7gsv.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=animesh.manna@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jeevan.b@intel.com \
    --cc=jouni.hogander@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.