From: "Kahola, Mika" <mika.kahola@intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Reject unsupported TMDS rates on ICL+
Date: Wed, 16 Mar 2022 15:03:00 +0000 [thread overview]
Message-ID: <5ccc5eb4d3e648ecbc4c7fa511999309@intel.com> (raw)
In-Reply-To: <20220311212845.32358-1-ville.syrjala@linux.intel.com>
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Friday, March 11, 2022 11:29 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: stable@vger.kernel.org
> Subject: [Intel-gfx] [PATCH] drm/i915: Reject unsupported TMDS rates on ICL+
>
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> ICL+ PLLs can't genenerate certain frequencies. Running the PLL
> algorithms through for all frequencies 25-594MHz we see a gap just above 500
> MHz. Specifically 500-522.8MHZ for TC PLLs, and 500-533.2 MHz for combo PHY
> PLLs. Reject those frequencies hdmi_port_clock_valid() so that we properly filter
> out unsupported modes and/or color depths for HDMI.
>
> Cc: stable@vger.kernel.org
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5247
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_hdmi.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c
> b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index f3e688f739f3..a4a6f8bd2841 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1837,6 +1837,7 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
> bool has_hdmi_sink)
> {
> struct drm_i915_private *dev_priv = intel_hdmi_to_i915(hdmi);
> + enum phy phy = intel_port_to_phy(dev_priv,
> +hdmi_to_dig_port(hdmi)->base.port);
>
> if (clock < 25000)
> return MODE_CLOCK_LOW;
> @@ -1857,6 +1858,14 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
> if (IS_CHERRYVIEW(dev_priv) && clock > 216000 && clock < 240000)
> return MODE_CLOCK_RANGE;
>
> + /* ICL+ combo PHY PLL can't generate 500-533.2 MHz */
> + if (intel_phy_is_combo(dev_priv, phy) && clock > 500000 && clock <
> 533200)
> + return MODE_CLOCK_RANGE;
> +
> + /* ICL+ TC PHY PLL can't generate 500-532.8 MHz */
> + if (intel_phy_is_tc(dev_priv, phy) && clock > 500000 && clock < 532800)
> + return MODE_CLOCK_RANGE;
> +
> /*
> * SNPS PHYs' MPLLB table-based programming can only handle a fixed
> * set of link rates.
> --
> 2.34.1
WARNING: multiple messages have this Message-ID (diff)
From: "Kahola, Mika" <mika.kahola@intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [Intel-gfx] [PATCH] drm/i915: Reject unsupported TMDS rates on ICL+
Date: Wed, 16 Mar 2022 15:03:00 +0000 [thread overview]
Message-ID: <5ccc5eb4d3e648ecbc4c7fa511999309@intel.com> (raw)
In-Reply-To: <20220311212845.32358-1-ville.syrjala@linux.intel.com>
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Friday, March 11, 2022 11:29 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: stable@vger.kernel.org
> Subject: [Intel-gfx] [PATCH] drm/i915: Reject unsupported TMDS rates on ICL+
>
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> ICL+ PLLs can't genenerate certain frequencies. Running the PLL
> algorithms through for all frequencies 25-594MHz we see a gap just above 500
> MHz. Specifically 500-522.8MHZ for TC PLLs, and 500-533.2 MHz for combo PHY
> PLLs. Reject those frequencies hdmi_port_clock_valid() so that we properly filter
> out unsupported modes and/or color depths for HDMI.
>
> Cc: stable@vger.kernel.org
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5247
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_hdmi.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c
> b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index f3e688f739f3..a4a6f8bd2841 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1837,6 +1837,7 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
> bool has_hdmi_sink)
> {
> struct drm_i915_private *dev_priv = intel_hdmi_to_i915(hdmi);
> + enum phy phy = intel_port_to_phy(dev_priv,
> +hdmi_to_dig_port(hdmi)->base.port);
>
> if (clock < 25000)
> return MODE_CLOCK_LOW;
> @@ -1857,6 +1858,14 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
> if (IS_CHERRYVIEW(dev_priv) && clock > 216000 && clock < 240000)
> return MODE_CLOCK_RANGE;
>
> + /* ICL+ combo PHY PLL can't generate 500-533.2 MHz */
> + if (intel_phy_is_combo(dev_priv, phy) && clock > 500000 && clock <
> 533200)
> + return MODE_CLOCK_RANGE;
> +
> + /* ICL+ TC PHY PLL can't generate 500-532.8 MHz */
> + if (intel_phy_is_tc(dev_priv, phy) && clock > 500000 && clock < 532800)
> + return MODE_CLOCK_RANGE;
> +
> /*
> * SNPS PHYs' MPLLB table-based programming can only handle a fixed
> * set of link rates.
> --
> 2.34.1
next prev parent reply other threads:[~2022-03-16 15:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-11 21:28 [Intel-gfx] [PATCH] drm/i915: Reject unsupported TMDS rates on ICL+ Ville Syrjala
2022-03-11 21:28 ` Ville Syrjala
2022-03-11 23:05 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
2022-03-12 0:11 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Reject unsupported TMDS rates on ICL+ (rev2) Patchwork
2022-03-12 2:59 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-03-16 15:03 ` Kahola, Mika [this message]
2022-03-16 15:03 ` [Intel-gfx] [PATCH] drm/i915: Reject unsupported TMDS rates on ICL+ Kahola, Mika
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=5ccc5eb4d3e648ecbc4c7fa511999309@intel.com \
--to=mika.kahola@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=stable@vger.kernel.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.