From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Implement UHBR bandwidth check
Date: Thu, 9 Mar 2023 14:54:12 +0200 [thread overview]
Message-ID: <ZAnW9My9xCwblbKv@intel.com> (raw)
In-Reply-To: <20230227112030.5229-1-stanislav.lisovskiy@intel.com>
On Mon, Feb 27, 2023 at 01:20:30PM +0200, Stanislav Lisovskiy wrote:
> According to spec, we should check if output_bpp * pixel_rate is less
> than DDI clock * 72, if UHBR is used.
>
> v2: - s/pipe_config/crtc_state/ (Jani Nikula)
> - Merged previous patch into that one, to remove empty function(Jani Nikula)
>
> HSDES: 1406899791
> BSPEC: 49259
>
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 28 +++++++++++++++++++--
> 1 file changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index a860cbc5dbea..d0e2e37cd758 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -45,6 +45,26 @@
> #include "intel_hotplug.h"
> #include "skl_scaler.h"
>
> +static int intel_dp_mst_check_constraints(struct drm_i915_private *i915, int bpp,
> + const struct drm_display_mode *adjusted_mode,
> + struct intel_crtc_state *crtc_state)
> +{
> + if (intel_dp_is_uhbr(crtc_state)) {
> + int output_bpp = bpp;
> + /* DisplayPort 2 128b/132b, bits per lane is always 32 */
> + int symbol_clock = crtc_state->port_clock / 32;
> +
> + if (output_bpp * adjusted_mode->crtc_clock >=
> + symbol_clock * 72) {
> + drm_dbg_kms(&i915->drm, "UHBR check failed(required bw %d available %d)\n",
> + output_bpp * adjusted_mode->crtc_clock, symbol_clock * 72);
> + return -EINVAL;
> + }
You're still doing this for non-DSC as well. Did we get any
clarification whether that is correct or not?
> + }
> +
> + return 0;
> +}
> +
> static int intel_dp_mst_find_vcpi_slots_for_bpp(struct intel_encoder *encoder,
> struct intel_crtc_state *crtc_state,
> int max_bpp,
> @@ -87,6 +107,10 @@ static int intel_dp_mst_find_vcpi_slots_for_bpp(struct intel_encoder *encoder,
>
> drm_dbg_kms(&i915->drm, "Trying bpp %d\n", bpp);
>
> + ret = intel_dp_mst_check_constraints(i915, bpp, adjusted_mode, crtc_state);
> + if (ret)
> + continue;
> +
> slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst_mgr,
> connector->port,
> crtc_state->pbn);
> @@ -104,8 +128,8 @@ static int intel_dp_mst_find_vcpi_slots_for_bpp(struct intel_encoder *encoder,
> }
> }
>
> - /* Despite slots are non-zero, we still failed the atomic check */
> - if (ret && slots >= 0)
> + /* We failed to find a proper bpp/timeslots, return error */
> + if (ret)
> slots = ret;
>
> if (slots < 0) {
> --
> 2.37.3
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2023-03-09 12:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-27 11:20 [Intel-gfx] [PATCH] drm/i915: Implement UHBR bandwidth check Stanislav Lisovskiy
2023-02-27 13:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Implement UHBR bandwidth check (rev2) Patchwork
2023-02-27 15:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-03-09 12:54 ` Ville Syrjälä [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-03-24 13:51 [Intel-gfx] [PATCH] drm/i915: Implement UHBR bandwidth check Stanislav Lisovskiy
2023-04-04 10:56 ` Govindapillai, Vinod
2023-01-13 13:06 Stanislav Lisovskiy
2023-01-13 14:43 ` Ville Syrjälä
2023-01-16 7:51 ` Lisovskiy, Stanislav
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=ZAnW9My9xCwblbKv@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=stanislav.lisovskiy@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.