[PATCH 03/19] drm/i915/display_debugfs: Allow force joiner only if supported
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Sep 11 20:00:58 UTC 2024
On Wed, Sep 11, 2024 at 06:43:33PM +0530, Ankit Nautiyal wrote:
> Currently joiner is only supported for DP encoder.
> Allow force joiner only for DP for supported platforms.
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
> ---
> .../drm/i915/display/intel_display_debugfs.c | 20 ++++++++++++++++---
> 1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index d7651f6f80e1..7ceaf01a884a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -1520,6 +1520,9 @@ static ssize_t i915_joiner_write(struct file *file,
> struct seq_file *m = file->private_data;
> struct intel_connector *connector = m->private;
> struct intel_display *display = to_intel_display(connector);
> + struct intel_encoder *intel_encoder = intel_attached_encoder(connector);
That won't work for MST. You'll want to use intel_attached_dp().
> + struct intel_dp *intel_dp;
> + int connector_type = connector->base.connector_type;
> int force_join_pipes = 0;
> int ret;
>
> @@ -1530,16 +1533,27 @@ static ssize_t i915_joiner_write(struct file *file,
> if (ret < 0)
> return ret;
>
> + /* Currently joiner is only supported for eDP/DP */
> + if (connector_type != DRM_MODE_CONNECTOR_DisplayPort &&
> + connector_type != DRM_MODE_CONNECTOR_eDP)
> + return 0;
We shouldn't be adding the debugfs file to a non-DP connector so this
seems redundant.
> +
> + intel_dp = enc_to_intel_dp(intel_encoder);
> +
> + connector->force_joined_pipes = 0;
> +
> switch (force_join_pipes) {
> case 0:
> - fallthrough;
> + break;
> case 2:
> - connector->force_joined_pipes = force_join_pipes;
> + if (intel_dp_has_joiner(intel_dp))
> + connector->force_joined_pipes = force_join_pipes;
> + else
> + drm_dbg(display->drm, "Force joiner not supported for the config\n");
That should return an error. Hmm, or perhaps even better to not
even create the debugfs file in the first place?
> break;
> default:
> drm_dbg(display->drm, "Ignoring Invalid num of pipes %d for force joining\n",
> force_join_pipes);
> - connector->force_joined_pipes = 0;
> }
>
> *offp += len;
> --
> 2.45.2
--
Ville Syrjälä
Intel
More information about the Intel-gfx
mailing list