All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Shankar, Uma" <uma.shankar@intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Subject: RE: [PATCH 10/22] drm/i915: Extract intel_dp_joiner_needs_dsc()
Date: Mon, 1 Apr 2024 09:22:17 +0000	[thread overview]
Message-ID: <DM4PR11MB63604E085AF2ABCBCD4DAA3BF43F2@DM4PR11MB6360.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20240329011254.24160-11-ville.syrjala@linux.intel.com>



> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Friday, March 29, 2024 6:43 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [PATCH 10/22] drm/i915: Extract intel_dp_joiner_needs_dsc()
> 
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Pull the "does joiner need DSC?" check into a helper. MST will want to use this too
> at some point.

Looks Good to me.
Reviewed-by: Uma Shankar <uma.shankar@intel.com>

> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c     | 26 ++++++++++-----------
>  drivers/gpu/drm/i915/display/intel_dp.h     |  1 +
>  drivers/gpu/drm/i915/display/intel_dp_mst.c |  6 +----
>  3 files changed, 15 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 402b3b8f6382..6fa8fc56a39c 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1302,11 +1302,7 @@ intel_dp_mode_valid(struct drm_connector
> *_connector,
>  		dsc = dsc_max_compressed_bpp && dsc_slice_count;
>  	}
> 
> -	/*
> -	 * Big joiner configuration needs DSC for TGL which is not true for
> -	 * XE_LPD where uncompressed joiner is supported.
> -	 */
> -	if (DISPLAY_VER(dev_priv) < 13 && bigjoiner && !dsc)
> +	if (intel_dp_joiner_needs_dsc(dev_priv, bigjoiner) && !dsc)
>  		return MODE_CLOCK_HIGH;
> 
>  	if (mode_rate > max_rate && !dsc)
> @@ -2395,6 +2391,16 @@ int intel_dp_config_required_rate(const struct
> intel_crtc_state *crtc_state)
>  	return intel_dp_link_required(adjusted_mode->crtc_clock, bpp);  }
> 
> +bool intel_dp_joiner_needs_dsc(struct drm_i915_private *i915, bool
> +use_joiner) {
> +	/*
> +	 * Pipe joiner needs compression up to display 12 due to bandwidth
> +	 * limitation. DG2 onwards pipe joiner can be enabled without
> +	 * compression.
> +	 */
> +	return DISPLAY_VER(i915) < 13 && use_joiner; }
> +
>  static int
>  intel_dp_compute_link_config(struct intel_encoder *encoder,
>  			     struct intel_crtc_state *pipe_config, @@ -2409,8
> +2415,7 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
>  		&pipe_config->hw.adjusted_mode;
>  	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>  	struct link_config_limits limits;
> -	bool joiner_needs_dsc = false;
> -	bool dsc_needed;
> +	bool dsc_needed, joiner_needs_dsc;
>  	int ret = 0;
> 
>  	if (pipe_config->fec_enable &&
> @@ -2421,12 +2426,7 @@ intel_dp_compute_link_config(struct intel_encoder
> *encoder,
>  				    adjusted_mode->crtc_clock))
>  		pipe_config->bigjoiner_pipes = GENMASK(crtc->pipe + 1, crtc-
> >pipe);
> 
> -	/*
> -	 * Pipe joiner needs compression up to display 12 due to bandwidth
> -	 * limitation. DG2 onwards pipe joiner can be enabled without
> -	 * compression.
> -	 */
> -	joiner_needs_dsc = DISPLAY_VER(i915) < 13 && pipe_config-
> >bigjoiner_pipes;
> +	joiner_needs_dsc = intel_dp_joiner_needs_dsc(i915,
> +pipe_config->bigjoiner_pipes);
> 
>  	dsc_needed = joiner_needs_dsc || intel_dp->force_dsc_en ||
>  		     !intel_dp_compute_config_limits(intel_dp, pipe_config, diff --
> git a/drivers/gpu/drm/i915/display/intel_dp.h
> b/drivers/gpu/drm/i915/display/intel_dp.h
> index 4a4b39f2748b..d5697b99ac21 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -119,6 +119,7 @@ int intel_dp_effective_data_rate(int pixel_clock, int
> bpp_x16,
>  				 int bw_overhead);
>  int intel_dp_max_link_data_rate(struct intel_dp *intel_dp,
>  				int max_dprx_rate, int max_dprx_lanes);
> +bool intel_dp_joiner_needs_dsc(struct drm_i915_private *i915, bool
> +use_joiner);
>  bool intel_dp_has_bigjoiner(struct intel_dp *intel_dp);  bool
> intel_dp_needs_vsc_sdp(const struct intel_crtc_state *crtc_state,
>  			    const struct drm_connector_state *conn_state); diff --
> git a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 1405ab5e3acc..6da031f9724d 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -1377,11 +1377,7 @@ intel_dp_mst_mode_valid_ctx(struct drm_connector
> *connector,
>  		dsc = dsc_max_compressed_bpp && dsc_slice_count;
>  	}
> 
> -	/*
> -	 * Big joiner configuration needs DSC for TGL which is not true for
> -	 * XE_LPD where uncompressed joiner is supported.
> -	 */
> -	if (DISPLAY_VER(dev_priv) < 13 && bigjoiner && !dsc) {
> +	if (intel_dp_joiner_needs_dsc(dev_priv, bigjoiner) && !dsc) {
>  		*status = MODE_CLOCK_HIGH;
>  		return 0;
>  	}
> --
> 2.43.2


  reply	other threads:[~2024-04-01  9:22 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-29  1:12 [PATCH 00/22] drm/i915: Bigjoiner modeset sequence redesign and MST support Ville Syrjala
2024-03-29  1:12 ` [PATCH 01/22] drm/i915: Disable port sync when bigjoiner is used Ville Syrjala
2024-04-01  5:57   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 02/22] drm/i915: Fix intel_modeset_pipe_config_late() for bigjoiner Ville Syrjala
2024-04-01  9:23   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 03/22] drm/i915: Disable live M/N updates when using bigjoiner Ville Syrjala
2024-04-01 10:32   ` Murthy, Arun R
2024-03-29  1:12 ` [PATCH 04/22] drm/i915/vrr: Disable VRR " Ville Syrjala
2024-04-01 10:04   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 05/22] drm/i915: Remove DRM_MODE_FLAG_DBLSCAN checks from .mode_valid() hooks Ville Syrjala
2024-04-01 11:25   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 06/22] drm/i915: Shuffle DP .mode_valid() checks Ville Syrjala
2024-04-01 10:35   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 07/22] drm/i915: Clean up glk_pipe_scaler_clock_gating_wa() Ville Syrjala
2024-04-01 11:08   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 08/22] drm/i915: Extract glk_need_scaler_clock_gating_wa() Ville Syrjala
2024-04-01 11:09   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 09/22] drm/i915: s/intel_dp_can_bigjoiner()/intel_dp_can_bigjoiner()/ Ville Syrjala
2024-04-01 10:01   ` Kulkarni, Vandita
2024-03-29  1:12 ` [PATCH 10/22] drm/i915: Extract intel_dp_joiner_needs_dsc() Ville Syrjala
2024-04-01  9:22   ` Shankar, Uma [this message]
2024-03-29  1:12 ` [PATCH 11/22] drm/i915/mst: Check intel_dp_joiner_needs_dsc() Ville Syrjala
2024-04-01  9:28   ` Shankar, Uma
2024-03-29  1:12 ` [PATCH 12/22] drm/i915: Pass connector to intel_dp_need_bigjoiner() Ville Syrjala
2024-04-01  9:39   ` Shankar, Uma
2024-03-29  1:12 ` [PATCH 13/22] drm/i915/mst: Limit MST+DSC to TGL+ Ville Syrjala
2024-04-01  9:44   ` Shankar, Uma
2024-03-29  1:12 ` [PATCH 14/22] drm/i915/mst: Reject FEC+MST on ICL Ville Syrjala
2024-04-01  9:45   ` Shankar, Uma
2024-03-29  1:12 ` [PATCH 15/22] drm/i915: Introduce intel_crtc_joined_pipe_mask() Ville Syrjala
2024-04-01 10:20   ` Murthy, Arun R
2024-03-29  1:12 ` [PATCH 16/22] drm/i915: Extract intel_ddi_post_disable_hdmi_or_sst() Ville Syrjala
2024-04-01 10:17   ` Murthy, Arun R
2024-03-29  1:12 ` [PATCH 17/22] drm/i915: Utilize intel_crtc_joined_pipe_mask() more Ville Syrjala
2024-04-01  6:52   ` Murthy, Arun R
2024-03-29  1:12 ` [PATCH 18/22] drm/i915: Handle joined pipes inside hsw_crtc_disable() Ville Syrjala
2024-04-01  6:46   ` Murthy, Arun R
2024-04-02 19:50     ` Ville Syrjälä
2024-04-03  4:32       ` Murthy, Arun R
2024-03-29  1:12 ` [PATCH 19/22] drm/i915: Handle joined pipes inside hsw_crtc_enable() Ville Syrjala
2024-03-29  1:12 ` [PATCH 20/22] drm/i915/mst: Add bigjoiner handling to MST modeset sequence Ville Syrjala
2024-04-01  6:33   ` Murthy, Arun R
2024-03-29  1:12 ` [PATCH 21/22] drm/i915: Allow bigjoiner for MST Ville Syrjala
2024-04-01  6:26   ` Murthy, Arun R
2024-03-29  1:12 ` [PATCH 22/22] drm/i915: Use debugfs_create_bool() for "i915_bigjoiner_force_enable" Ville Syrjala
2024-04-01  5:08   ` Murthy, Arun R
2024-04-02  7:37   ` Srinivas, Vidya
2024-03-29  6:36 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Bigjoiner modeset sequence redesign and MST support Patchwork
2024-03-29  6:36 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-29  6:49 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-30  6:58 ` ✗ Fi.CI.IGT: failure " 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=DM4PR11MB63604E085AF2ABCBCD4DAA3BF43F2@DM4PR11MB6360.namprd11.prod.outlook.com \
    --to=uma.shankar@intel.com \
    --cc=intel-gfx@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.