All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ankit Nautiyal <ankit.k.nautiyal@intel.com>,
	intel-gfx@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org, suraj.kandpal@intel.com,
	imre.deak@intel.com
Subject: Re: [PATCH 11/14] drm/i915/dp_mst: Refactor pipe_bpp limits with dsc for mst
Date: Fri, 13 Dec 2024 11:37:07 +0200	[thread overview]
Message-ID: <87cyhvudoc.fsf@intel.com> (raw)
In-Reply-To: <20241204092642.1835807-12-ankit.k.nautiyal@intel.com>

On Wed, 04 Dec 2024, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> Similar to DP, set the dsc limits->pipe.max/min_bpp early for MST too.
> Use the limits while computing the compressed bpp.
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

I think we should take this one step further with [1], basically
eradicating mst_stream_compute_config_limits(). Indeed, I'd like to get
that merged first.

BR,
Jani.



[1] https://lore.kernel.org/r/20241211144310.701895-1-jani.nikula@intel.com



> ---
>  drivers/gpu/drm/i915/display/intel_dp.c     |  2 +-
>  drivers/gpu/drm/i915/display/intel_dp.h     |  3 +++
>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 11 +++++------
>  3 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index fe0957e028bc..c5740b8d2315 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2504,7 +2504,7 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
>  	return true;
>  }
>  
> -static void
> +void
>  intel_dp_dsc_compute_pipe_bpp_limits(struct intel_dp *intel_dp,
>  				     struct link_config_limits *limits)
>  {
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
> index 4895b52d41e8..45b37d322565 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -200,6 +200,9 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
>  					const struct intel_crtc_state *crtc_state,
>  					bool dsc,
>  					struct link_config_limits *limits);
> +void
> +intel_dp_dsc_compute_pipe_bpp_limits(struct intel_dp *intel_dp,
> +				     struct link_config_limits *limits);
>  
>  void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector);
>  bool intel_dp_has_gamut_metadata_dip(struct intel_encoder *encoder);
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 795594191717..667006918bfd 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -365,14 +365,10 @@ static int mst_stream_dsc_compute_link_config(struct intel_dp *intel_dp,
>  	int i, num_bpc;
>  	u8 dsc_bpc[3] = {};
>  	int min_bpp, max_bpp, sink_min_bpp, sink_max_bpp;
> -	int dsc_max_bpc, dsc_min_bpc;
>  	int min_compressed_bpp, max_compressed_bpp;
>  
> -	dsc_max_bpc = intel_dp_dsc_max_src_input_bpc(display);
> -	dsc_min_bpc = intel_dp_dsc_min_src_input_bpc();
> -
> -	max_bpp = min(dsc_max_bpc * 3, limits->pipe.max_bpp);
> -	min_bpp = max(dsc_min_bpc * 3, limits->pipe.min_bpp);
> +	max_bpp = limits->pipe.max_bpp;
> +	min_bpp = limits->pipe.min_bpp;
>  
>  	num_bpc = drm_dp_dsc_sink_supported_input_bpcs(connector->dp.dsc_dpcd,
>  						       dsc_bpc);
> @@ -574,6 +570,9 @@ mst_stream_compute_config_limits(struct intel_dp *intel_dp,
>  
>  	intel_dp_test_compute_config(intel_dp, crtc_state, limits);
>  
> +	if (dsc)
> +		intel_dp_dsc_compute_pipe_bpp_limits(intel_dp, limits);
> +
>  	if (!intel_dp_compute_config_link_bpp_limits(intel_dp,
>  						     crtc_state,
>  						     dsc,

-- 
Jani Nikula, Intel

  reply	other threads:[~2024-12-13  9:37 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-04  9:26 [PATCH 00/14] DP DSC min/max src bpc fixes Ankit Nautiyal
2024-12-04  9:26 ` [PATCH 01/14] drm/i915/dp: Refactor FEC support check in intel_dp_supports_dsc Ankit Nautiyal
2024-12-11  4:47   ` Kandpal, Suraj
2024-12-04  9:26 ` [PATCH 02/14] drm/i915/dp: Return early if DSC not supported Ankit Nautiyal
2024-12-04  9:26 ` [PATCH 03/14] drm/i915/dp: Separate out helper for compute fec_enable Ankit Nautiyal
2024-12-05  6:18   ` Kandpal, Suraj
2024-12-04  9:26 ` [PATCH 04/14] drm/i915/dp: Drop check for FEC in intel_dp_fec_compute_config Ankit Nautiyal
2024-12-05  6:26   ` Kandpal, Suraj
2024-12-13 12:28     ` Nautiyal, Ankit K
2024-12-04  9:26 ` [PATCH 05/14] drm/i915/dp: Remove HAS_DSC macro for intel_dp_dsc_max_src_input_bpc Ankit Nautiyal
2024-12-04 16:08   ` Kandpal, Suraj
2024-12-04  9:26 ` [PATCH 06/14] drm/i915/dp: Return int from dsc_max/min_src_input_bpc helpers Ankit Nautiyal
2024-12-04  9:26 ` [PATCH 07/14] drm/i915/dp: Use intel_display in intel_dp_dsc_max_src_input_bpc() Ankit Nautiyal
2024-12-04 16:09   ` Kandpal, Suraj
2024-12-04  9:26 ` [PATCH 08/14] drm/i915/dp_mst: Use helpers to get dsc min/max input bpc Ankit Nautiyal
2024-12-05  6:29   ` Kandpal, Suraj
2024-12-04  9:26 ` [PATCH 09/14] drm/i915/dp: Drop max_requested_bpc for dsc pipe_min/max bpp Ankit Nautiyal
2024-12-04  9:26 ` [PATCH 10/14] drm/i915/dp: Refactor pipe_bpp limits with dsc Ankit Nautiyal
2024-12-04  9:26 ` [PATCH 11/14] drm/i915/dp_mst: Refactor pipe_bpp limits with dsc for mst Ankit Nautiyal
2024-12-13  9:37   ` Jani Nikula [this message]
2024-12-13 12:32     ` Nautiyal, Ankit K
2024-12-04  9:26 ` [PATCH 12/14] drm/i915/dp: Use clamp for pipe_bpp limits with DSC Ankit Nautiyal
2024-12-04  9:26 ` [PATCH 13/14] drm/i915/dp: Make dsc helpers accept const crtc_state pointers Ankit Nautiyal
2024-12-04  9:26 ` [PATCH 14/14] drm/i915/dp: Set the DSC link limits intel_dp_compute_config_link_bpp_limits Ankit Nautiyal
2024-12-11  4:49   ` Kandpal, Suraj
2024-12-04  9:50 ` ✓ CI.Patch_applied: success for DP DSC min/max src bpc fixes (rev3) Patchwork
2024-12-04  9:50 ` ✓ CI.checkpatch: " Patchwork
2024-12-04  9:51 ` ✓ CI.KUnit: " Patchwork
2024-12-04 10:09 ` ✓ CI.Build: " Patchwork
2024-12-04 10:12 ` ✓ CI.Hooks: " Patchwork
2024-12-04 10:13 ` ✗ CI.checksparse: warning " Patchwork
2024-12-04 10:34 ` ✓ Xe.CI.BAT: success " Patchwork
2024-12-04 11:28 ` ✗ Xe.CI.Full: failure " Patchwork
2024-12-04 11:52 ` ✗ i915.CI.BAT: failure for DP DSC min/max src bpc fixes (rev10) Patchwork
2024-12-09 14:28 ` ✓ i915.CI.BAT: success " Patchwork
2024-12-09 16:00 ` ✓ i915.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=87cyhvudoc.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=ankit.k.nautiyal@intel.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=suraj.kandpal@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.