From: Jani Nikula <jani.nikula@intel.com>
To: Lee Shawn C <shawn.c.lee@intel.com>, intel-gfx@lists.freedesktop.org
Cc: ville.syrjala@linux.intel.com, vandita.kulkarni@intel.com,
cooper.chiou@intel.com, william.tseng@intel.com,
Lee Shawn C <shawn.c.lee@intel.com>
Subject: Re: [Intel-gfx] [v3 3/5] drm/i915: Get proper min cdclk if vDSC enabled
Date: Wed, 08 Sep 2021 14:29:45 +0300 [thread overview]
Message-ID: <87mton5mqe.fsf@intel.com> (raw)
In-Reply-To: <20210902121429.27606-4-shawn.c.lee@intel.com>
On Thu, 02 Sep 2021, Lee Shawn C <shawn.c.lee@intel.com> wrote:
> VDSC engine can process only 1 pixel per Cd clock. In case
> VDSC is used and max slice count == 1, max supported pixel
> clock should be 100% of CD clock. Then do min_cdclk and
> pixel clock comparison to get proper min cdclk.
>
> v2:
> - Check for dsc enable and slice count ==1 then allow to
> double confirm min cdclk value.
>
> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Cc: Cooper Chiou <cooper.chiou@intel.com>
> Cc: William Tseng <william.tseng@intel.com>
> Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
> Reviewed-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_cdclk.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index 34fa4130d5c4..9aec17b33819 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -2139,6 +2139,16 @@ int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_state)
> /* Account for additional needs from the planes */
> min_cdclk = max(intel_planes_min_cdclk(crtc_state), min_cdclk);
>
> + /*
> + * VDSC engine can process only 1 pixel per Cd clock.
> + * In case VDSC is used and max slice count == 1,
> + * max supported pixel clock should be 100% of CD clock.
> + * Then do min_cdclk and pixel clock comparison to get cdclk.
> + */
To elaborate, we can't use two VDSC engines to reach an effective 2 ppc
when the slice count is 1, and are thus limited to 1 ppc.
> + if (crtc_state->dsc.compression_enable &&
> + crtc_state->dsc.slice_count == 1)
> + min_cdclk = max(min_cdclk, (int)crtc_state->pixel_rate);
Acked-by: Jani Nikula <jani.nikula@intel.com>
This is the immediate fix, but I think we'll need to improve this later
on. In some cases, especially with DP and maybe not so much with DSI, we
may have cases where the min_cdclk will now exceed the max_cdclk and
fail the compute config. In that case, we should do a better job of
pruning the mode up front instead of letting userspace think it's okay,
only to fail it at this stage.
We should probably also abstract the ppc limitations in the DSC code
better, instead of having them leak here.
BR,
Jani.
> +
> /*
> * HACK. Currently for TGL platforms we calculate
> * min_cdclk initially based on pixel_rate divided
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2021-09-08 11:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-02 12:14 [Intel-gfx] [v3 0/5] DSI driver improvement Lee Shawn C
2021-09-02 12:14 ` [Intel-gfx] [v3 1/5] drm/i915/dsi: wait for header and payload credit available Lee Shawn C
2021-09-02 12:14 ` [Intel-gfx] [v3 2/5] drm/i915/dsi: refine send MIPI DCS command sequence Lee Shawn C
2021-09-02 12:14 ` [Intel-gfx] [v3 3/5] drm/i915: Get proper min cdclk if vDSC enabled Lee Shawn C
2021-09-08 11:29 ` Jani Nikula [this message]
2021-09-02 12:14 ` [Intel-gfx] [v3 4/5] drm/i915/dsi: Retrieve max brightness level from VBT Lee Shawn C
2021-09-08 11:19 ` Jani Nikula
2021-09-02 12:14 ` [Intel-gfx] [v3 5/5] drm/i915/dsi: Read/write proper brightness value via MIPI DCS command Lee Shawn C
2021-09-02 15:14 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for DSI driver improvement (rev3) Patchwork
2021-09-02 15:42 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-09-02 19:21 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-09-08 13:51 ` Lee, Shawn C
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=87mton5mqe.fsf@intel.com \
--to=jani.nikula@intel.com \
--cc=cooper.chiou@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=shawn.c.lee@intel.com \
--cc=vandita.kulkarni@intel.com \
--cc=ville.syrjala@linux.intel.com \
--cc=william.tseng@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox