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>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 3/6] drm/i915/bios: Use i915->vbt.ports[] for all g4x+
Date: Wed, 22 Dec 2021 11:19:29 +0200	[thread overview]
Message-ID: <878rwdyp26.fsf@intel.com> (raw)
In-Reply-To: <20211217155403.31477-4-ville.syrjala@linux.intel.com>

On Fri, 17 Dec 2021, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Extend the vbt.ports[] stuff for all g4x+ platforms. We do need
> to drop the version check as some elk/ctg machines may have VBTs
> older than that. The oldest I know is an elk with version 142.
> But the child device stuff has had the correct size since at
> least version 125 (observed on my sdg), we from that angle this
> should be totally safe.
>
> This does couple of things:
> - Start using the aux_ch/ddc_pin from VBT instead of just the
>   hardcoded defaults. Hopefully there are no VBTs with entirely
>   bogus information here.
> - Start using i915->vbt.ports[] for intel_bios_is_port_dp_dual_mode().
>   Should be fine as the logic doesn't actually change.
> - Start using i915->vbt.ports[] for intel_bios_is_port_edp().
>   The old codepath only looks at the DP DVO ports, the new codepath
>   looks at both DP and HDMI DVO ports. In principle that should not
>   matter. We also stop looking at some of the other device type bits
>   (eg. LVDS,MIPI,ANALOG,etc.). Hopefully no VBT is broken enough that
>   it sets up totally conflicting device type bits (eg. LVDS+eDP at the
>   same time). We also lose the "g4x->no eDP ever" hardcoding (shouldn't
>   be hard to re-introduce that into eg. sanitize_device_type() if needed).

Aligns with what I figured in my reply earlier in the thread. I still
think we should do this for maintainability, even though there's a risk
we'll need to follow-up with additional checks/sanitization for older
platforms in parse_ddi_port().

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

>
> TODO: actually smoke test on various platforms
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_bios.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index b7adea9827c3..d7d64d3bf083 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -2075,7 +2075,7 @@ static void parse_ddi_port(struct drm_i915_private *i915,
>  
>  static bool has_ddi_port_info(struct drm_i915_private *i915)
>  {
> -	return HAS_DDI(i915) || IS_CHERRYVIEW(i915);
> +	return DISPLAY_VER(i915) >= 5 || IS_G4X(i915);
>  }
>  
>  static void parse_ddi_ports(struct drm_i915_private *i915)
> @@ -2085,9 +2085,6 @@ static void parse_ddi_ports(struct drm_i915_private *i915)
>  	if (!has_ddi_port_info(i915))
>  		return;
>  
> -	if (i915->vbt.version < 155)
> -		return;
> -
>  	list_for_each_entry(devdata, &i915->vbt.display_devices, node)
>  		parse_ddi_port(i915, devdata);
>  }

-- 
Jani Nikula, Intel Open Source Graphics Center

  reply	other threads:[~2021-12-22  9:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-17 15:53 [Intel-gfx] [PATCH 0/6] drm/i915: Extend parse_ddi_port() to all g4x+ platforms Ville Syrjala
2021-12-17 15:53 ` [Intel-gfx] [PATCH 1/6] drm/i915/bios: Introduce has_ddi_port_info() Ville Syrjala
2021-12-22  8:48   ` Jani Nikula
2021-12-17 15:53 ` [Intel-gfx] [PATCH 2/6] drm/i915/bios: Use i915->vbt.ports[] on CHV Ville Syrjala
2021-12-22  9:05   ` Jani Nikula
2021-12-22 12:49     ` Ville Syrjälä
2021-12-22  9:13   ` Jani Nikula
2021-12-17 15:54 ` [Intel-gfx] [PATCH 3/6] drm/i915/bios: Use i915->vbt.ports[] for all g4x+ Ville Syrjala
2021-12-22  9:19   ` Jani Nikula [this message]
2021-12-17 15:54 ` [Intel-gfx] [PATCH 4/6] drm/i915/bios: Throw out the !has_ddi_port_info() codepaths Ville Syrjala
2021-12-22  9:25   ` Jani Nikula
2021-12-17 15:54 ` [Intel-gfx] [PATCH 5/6] drm/i915/bios: Nuke DEVICE_TYPE_DP_DUAL_MODE_BITS Ville Syrjala
2021-12-22  9:34   ` Jani Nikula
2021-12-22 12:53     ` Ville Syrjälä
2021-12-17 15:54 ` [Intel-gfx] [PATCH 6/6] drm/i915/hdmi: Ignore DP++ TMDS clock limit for native HDMI ports Ville Syrjala
2021-12-22  9:47   ` Jani Nikula
2021-12-22 12:46     ` Ville Syrjälä
2021-12-22 15:38   ` Ville Syrjälä
2021-12-22 16:17   ` [Intel-gfx] [PATCH v2 " Ville Syrjala
2021-12-17 17:17 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Extend parse_ddi_port() to all g4x+ platforms Patchwork
2021-12-17 19:56 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-12-22 17:32 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Extend parse_ddi_port() to all g4x+ platforms (rev2) Patchwork
2021-12-22 20:28 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-01-19 22:21 ` [Intel-gfx] [PATCH 0/6] drm/i915: Extend parse_ddi_port() to all g4x+ platforms Ville Syrjälä
2022-01-20 10:14   ` Jani Nikula

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=878rwdyp26.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --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.