All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: imre.deak@intel.com, ville.syrjala@linux.intel.com
Subject: Re: [PATCH 8/8] drm/i915/dp: add comments about hooks called from MST stream encoders
Date: Thu, 07 Nov 2024 22:46:18 +0200	[thread overview]
Message-ID: <87ldxuepr9.fsf@intel.com> (raw)
In-Reply-To: <80f8682fbc304ccf673af20abe562ce5aedb9219.1731011435.git.jani.nikula@intel.com>

On Thu, 07 Nov 2024, Jani Nikula <jani.nikula@intel.com> wrote:
> It would be best to have self-explanatory code, but lacking that, add
> some comments about the way the DDI encoder hooks get called from DP MST
> stream encoders.

The subject prefix should be "drm/i915/ddi:".

>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c | 51 ++++++++++++++++++------
>  1 file changed, 38 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index c973b70185cf..9965d7603d6c 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -2920,6 +2920,24 @@ static void intel_ddi_pre_enable_hdmi(struct intel_atomic_state *state,
>  				 crtc_state, conn_state);
>  }
>  
> +/*
> + * Note: Also called from the ->pre_enable of the first active MST stream
> + * encoder on its primary encoder.
> + *
> + * When called from DP MST code:
> + *
> + * - conn_state will be NULL
> + *
> + * - encoder will be the primary encoder (i.e. mst->primary)
> + *
> + * - the main connector associated with this port won't be active or linked to a
> + *   crtc
> + *
> + * - crtc_state will be the state of the first stream to be activated on this
> + *   port, and it may not be the same stream that will be deactivated last, but
> + *   each stream should have a state that is identical when it comes to the DP
> + *   link parameteres
> + */
>  static void intel_ddi_pre_enable(struct intel_atomic_state *state,
>  				 struct intel_encoder *encoder,
>  				 const struct intel_crtc_state *crtc_state,
> @@ -2929,19 +2947,6 @@ static void intel_ddi_pre_enable(struct intel_atomic_state *state,
>  	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>  	enum pipe pipe = crtc->pipe;
>  
> -	/*
> -	 * When called from DP MST code:
> -	 * - conn_state will be NULL
> -	 * - encoder will be the main encoder (ie. mst->primary)
> -	 * - the main connector associated with this port
> -	 *   won't be active or linked to a crtc
> -	 * - crtc_state will be the state of the first stream to
> -	 *   be activated on this port, and it may not be the same
> -	 *   stream that will be deactivated last, but each stream
> -	 *   should have a state that is identical when it comes to
> -	 *   the DP link parameteres
> -	 */
> -
>  	drm_WARN_ON(&dev_priv->drm, crtc_state->has_pch_encoder);
>  
>  	intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, true);
> @@ -3191,6 +3196,11 @@ static void intel_ddi_post_disable_hdmi_or_sst(struct intel_atomic_state *state,
>  	}
>  }
>  
> +/*
> + * Note: Also called from the ->post_disable of the last active MST stream
> + * encoder on its primary encoder. See also the comment for
> + * intel_ddi_pre_enable().
> + */
>  static void intel_ddi_post_disable(struct intel_atomic_state *state,
>  				   struct intel_encoder *encoder,
>  				   const struct intel_crtc_state *old_crtc_state,
> @@ -3221,6 +3231,11 @@ static void intel_ddi_post_disable(struct intel_atomic_state *state,
>  					  old_conn_state);
>  }
>  
> +/*
> + * Note: Also called from the ->post_pll_disable of the last active MST stream
> + * encoder on its primary encoder. See also the comment for
> + * intel_ddi_pre_enable().
> + */
>  static void intel_ddi_post_pll_disable(struct intel_atomic_state *state,
>  				       struct intel_encoder *encoder,
>  				       const struct intel_crtc_state *old_crtc_state,
> @@ -3558,6 +3573,11 @@ void intel_ddi_update_active_dpll(struct intel_atomic_state *state,
>  		intel_update_active_dpll(state, pipe_crtc, encoder);
>  }
>  
> +/*
> + * Note: Also called from the ->pre_pll_enable of the first active MST stream
> + * encoder on its primary encoder. See also the comment for
> + * intel_ddi_pre_enable().
> + */
>  static void
>  intel_ddi_pre_pll_enable(struct intel_atomic_state *state,
>  			 struct intel_encoder *encoder,
> @@ -3996,6 +4016,11 @@ static void intel_ddi_read_func_ctl(struct intel_encoder *encoder,
>  	}
>  }
>  
> +/*
> + * Note: Also called from the ->get_config of the MST stream encoders on their
> + * primary encoder, via the platform specific hooks here. See also the comment
> + * for intel_ddi_pre_enable().
> + */
>  static void intel_ddi_get_config(struct intel_encoder *encoder,
>  				 struct intel_crtc_state *pipe_config)
>  {

-- 
Jani Nikula, Intel

  reply	other threads:[~2024-11-07 20:46 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-07 20:32 [PATCH 0/8] drm/i915/mst: cleanups, renames, clarifications Jani Nikula
2024-11-07 20:32 ` [PATCH 1/8] drm/i915/mst: pass primary encoder to primary encoder hooks Jani Nikula
2024-11-11 15:38   ` Imre Deak
2024-11-07 20:32 ` [PATCH 2/8] drm/i915/mst: rename intel_encoder to encoder Jani Nikula
2024-11-11 15:41   ` Imre Deak
2024-11-07 20:32 ` [PATCH 3/8] drm/i915/mst: introduce to_primary_encoder() and to_primary_dp() Jani Nikula
2024-11-11 16:01   ` Imre Deak
2024-11-07 20:32 ` [PATCH 4/8] drm/i915/mst: use primary_encoder in fake mst encoder creation Jani Nikula
2024-11-11 16:04   ` Imre Deak
2024-11-07 20:32 ` [PATCH 5/8] drm/i915/display: make CHICKEN_TRANS() display version aware Jani Nikula
2024-11-08  9:31   ` [PATCH v2] " Jani Nikula
2024-11-11 16:14     ` Imre Deak
2024-11-07 20:32 ` [PATCH 6/8] drm/i915/mst: convert to struct intel_display Jani Nikula
2024-11-11 16:22   ` Imre Deak
2024-11-07 20:32 ` [PATCH 7/8] drm/i915/mst: change naming from fake encoders to MST stream encoders Jani Nikula
2024-11-11 16:58   ` Imre Deak
2024-11-11 17:17     ` Imre Deak
2024-11-11 17:42       ` Jani Nikula
2024-11-07 20:32 ` [PATCH 8/8] drm/i915/dp: add comments about hooks called from " Jani Nikula
2024-11-07 20:46   ` Jani Nikula [this message]
2024-11-11 16:43   ` Imre Deak
2024-11-07 20:39 ` ✓ CI.Patch_applied: success for drm/i915/mst: cleanups, renames, clarifications Patchwork
2024-11-07 20:39 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-07 20:40 ` ✓ CI.KUnit: success " Patchwork
2024-11-07 20:52 ` ✓ CI.Build: " Patchwork
2024-11-07 20:54 ` ✓ CI.Hooks: " Patchwork
2024-11-07 20:56 ` ✗ CI.checksparse: warning " Patchwork
2024-11-07 21:02 ` ✗ Fi.CI.CHECKPATCH: " Patchwork
2024-11-07 21:02 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-07 21:20 ` ✓ CI.BAT: success " Patchwork
2024-11-07 21:21 ` ✓ Fi.CI.BAT: " Patchwork
2024-11-07 23:11 ` ✓ Fi.CI.IGT: " Patchwork
2024-11-08  9:51 ` ✓ CI.Patch_applied: success for drm/i915/mst: cleanups, renames, clarifications (rev2) Patchwork
2024-11-08  9:52 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-08  9:53 ` ✓ CI.KUnit: success " Patchwork
2024-11-08 10:04 ` ✓ CI.Build: " Patchwork
2024-11-08 10:07 ` ✓ CI.Hooks: " Patchwork
2024-11-08 10:07 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2024-11-08 10:07 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-08 10:08 ` ✗ CI.checksparse: " Patchwork
2024-11-08 10:23 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-08 10:32 ` ✓ CI.BAT: success " Patchwork
2024-11-09  3:47 ` ✗ CI.FULL: failure for drm/i915/mst: cleanups, renames, clarifications Patchwork
2024-11-09 14:29 ` ✗ CI.FULL: failure for drm/i915/mst: cleanups, renames, clarifications (rev2) 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=87ldxuepr9.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=ville.syrjala@linux.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.