All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
	dri-devel@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 06/11] drm/edid: Extract drm_gtf2_mode()
Date: Mon, 29 Aug 2022 11:45:46 +0300	[thread overview]
Message-ID: <8735dfh1z9.fsf@intel.com> (raw)
In-Reply-To: <20220826213501.31490-7-ville.syrjala@linux.intel.com>

On Sat, 27 Aug 2022, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Extract the GTF vs. GTF2 logic into a separate function.
> We'll have a second user soon.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/drm_edid.c | 47 ++++++++++++++++++++++++--------------
>  1 file changed, 30 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index b459fdf12b58..0c7cbe9b44f5 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -3113,6 +3113,35 @@ static int drm_mode_hsync(const struct drm_display_mode *mode)
>  	return DIV_ROUND_CLOSEST(mode->clock, mode->htotal);
>  }
>  
> +static struct drm_display_mode *
> +drm_gtf2_mode(struct drm_device *dev,
> +	      const struct drm_edid *drm_edid,
> +	      int hsize, int vsize, int vrefresh_rate)
> +{
> +	struct drm_display_mode *mode;
> +
> +	/*
> +	 * This is potentially wrong if there's ever a monitor with
> +	 * more than one ranges section, each claiming a different
> +	 * secondary GTF curve.  Please don't do that.
> +	 */
> +	mode = drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0);
> +	if (!mode)
> +		return NULL;
> +
> +	if (drm_mode_hsync(mode) > drm_gtf2_hbreak(drm_edid)) {
> +		drm_mode_destroy(dev, mode);
> +		mode = drm_gtf_mode_complex(dev, hsize, vsize,
> +					    vrefresh_rate, 0, 0,
> +					    drm_gtf2_m(drm_edid),
> +					    drm_gtf2_2c(drm_edid),
> +					    drm_gtf2_k(drm_edid),
> +					    drm_gtf2_2j(drm_edid));
> +	}
> +
> +	return mode;
> +}
> +
>  /*
>   * Take the standard timing params (in this case width, aspect, and refresh)
>   * and convert them into a real mode using CVT/GTF/DMT.
> @@ -3201,23 +3230,7 @@ static struct drm_display_mode *drm_mode_std(struct drm_connector *connector,
>  		mode = drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0);
>  		break;
>  	case LEVEL_GTF2:
> -		/*
> -		 * This is potentially wrong if there's ever a monitor with
> -		 * more than one ranges section, each claiming a different
> -		 * secondary GTF curve.  Please don't do that.
> -		 */
> -		mode = drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0);
> -		if (!mode)
> -			return NULL;
> -		if (drm_mode_hsync(mode) > drm_gtf2_hbreak(drm_edid)) {
> -			drm_mode_destroy(dev, mode);
> -			mode = drm_gtf_mode_complex(dev, hsize, vsize,
> -						    vrefresh_rate, 0, 0,
> -						    drm_gtf2_m(drm_edid),
> -						    drm_gtf2_2c(drm_edid),
> -						    drm_gtf2_k(drm_edid),
> -						    drm_gtf2_2j(drm_edid));
> -		}
> +		mode = drm_gtf2_mode(dev, drm_edid, hsize, vsize, vrefresh_rate);
>  		break;
>  	case LEVEL_CVT:
>  		mode = drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0,

-- 
Jani Nikula, Intel Open Source Graphics Center

  reply	other threads:[~2022-08-29  8:46 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-26 21:34 [Intel-gfx] [PATCH 00/11] drm/edid: Range descriptor stuff Ville Syrjala
2022-08-26 21:34 ` Ville Syrjala
2022-08-26 21:34 ` [Intel-gfx] [PATCH 01/11] drm/edid: Handle EDID 1.4 range descriptor h/vfreq offsets Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-08-27  1:40   ` [Intel-gfx] " Navare, Manasi
2022-08-27  1:40     ` Navare, Manasi
2022-08-27  1:40     ` Navare, Manasi
2022-09-02 13:44     ` [Intel-gfx] " Ville Syrjälä
2022-09-02 13:44       ` Ville Syrjälä
2022-09-02 13:44       ` Ville Syrjälä
2022-08-26 21:34 ` [PATCH 02/11] drm/edid: Clarify why we only accept the "range limits only" descriptor Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-08-26 21:34   ` [Intel-gfx] " Ville Syrjala
2022-08-27  1:45   ` Navare, Manasi
2022-08-27  1:45     ` Navare, Manasi
2022-08-27  1:45     ` [Intel-gfx] " Navare, Manasi
2022-08-26 21:34 ` [PATCH 03/11] drm/edid: s/monitor_rage/vrr_range/ Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-08-26 21:34   ` [Intel-gfx] " Ville Syrjala
2022-08-27  1:47   ` Navare, Manasi
2022-08-27  1:47     ` Navare, Manasi
2022-08-27  1:47     ` [Intel-gfx] " Navare, Manasi
2022-08-29  8:29   ` Jani Nikula
2022-08-29  8:29     ` Jani Nikula
2022-08-26 21:34 ` [Intel-gfx] [PATCH 04/11] drm/edid: Define more flags Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-08-29  8:39   ` [Intel-gfx] " Jani Nikula
2022-08-26 21:34 ` [PATCH 05/11] drm/edid: Only parse VRR range for continuous frequency displays Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-08-26 21:34   ` [Intel-gfx] " Ville Syrjala
2022-08-29  8:58   ` Jani Nikula
2022-08-29  8:58     ` [Intel-gfx] " Jani Nikula
2022-08-26 21:34 ` [Intel-gfx] [PATCH 06/11] drm/edid: Extract drm_gtf2_mode() Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-08-29  8:45   ` Jani Nikula [this message]
2022-08-26 21:34 ` [Intel-gfx] [PATCH 07/11] drm/edid: Use GTF2 for inferred modes Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-09-02 12:25   ` [Intel-gfx] " Jani Nikula
2022-09-02 12:45     ` Ville Syrjälä
2022-08-26 21:34 ` [Intel-gfx] [PATCH 08/11] drm/edid: Use the correct formula for standard timings Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-09-02 13:41   ` [Intel-gfx] " Jani Nikula
2022-09-02 14:02     ` Ville Syrjälä
2022-08-26 21:34 ` [Intel-gfx] [PATCH 09/11] drm/edid: Unconfuse preferred timing stuff a bit Ville Syrjala
2022-08-26 21:34   ` Ville Syrjala
2022-09-02 12:27   ` [Intel-gfx] " Jani Nikula
2022-09-02 12:27     ` Jani Nikula
2022-08-26 21:35 ` [Intel-gfx] [PATCH 10/11] drm/edid: Make version checks less convoluted Ville Syrjala
2022-08-26 21:35   ` Ville Syrjala
2022-09-02 12:31   ` [Intel-gfx] " Jani Nikula
2022-09-02 12:31     ` Jani Nikula
2022-08-26 21:35 ` [Intel-gfx] [PATCH 11/11] drm/i915: Infer vrefresh range for eDP if the EDID omits it Ville Syrjala
2022-08-26 21:35   ` Ville Syrjala
2022-08-29  8:56   ` [Intel-gfx] " Jani Nikula
2022-08-29 12:02   ` [Intel-gfx] [PATCH v2 " Ville Syrjala
2022-08-29 12:02     ` Ville Syrjala
2022-08-26 22:35 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: Range descriptor stuff Patchwork
2022-08-26 23:03 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-08-29 14:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: Range descriptor stuff (rev2) Patchwork
2022-08-29 15:02 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-08-30 18:08 ` [Intel-gfx] ✓ Fi.CI.IGT: success for drm/edid: Range descriptor stuff Patchwork
2022-08-31  5:36 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/edid: Range descriptor stuff (rev2) 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=8735dfh1z9.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --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.