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 10/10] drm/i915: Use encoder->devdata in eDP init
Date: Mon, 13 Feb 2023 18:13:33 +0200 [thread overview]
Message-ID: <87bklxv902.fsf@intel.com> (raw)
In-Reply-To: <20230208015508.24824-11-ville.syrjala@linux.intel.com>
On Wed, 08 Feb 2023, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Since we now populate encoder->devdata for all DP capable
> platforms we can consult it directly during the eDP
> connector init instead of taking a detour via some global
> list/array.
>
> Unfortunately we can't quire get rid of
*quite
> intel_dp_is_port_edp() since it's still used by the higher
> level ilk/vlv/chv output setup code.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 17 +----------------
> drivers/gpu/drm/i915/display/intel_bios.h | 1 +
> drivers/gpu/drm/i915/display/intel_dp.c | 17 +++++++++++++----
> 3 files changed, 15 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 1af175b48ae6..ec4544a8b333 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -2584,7 +2584,7 @@ intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata)
> return devdata->child.device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT;
> }
>
> -static bool
> +bool
> intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata)
> {
> return intel_bios_encoder_supports_dp(devdata) &&
> @@ -3413,21 +3413,6 @@ bool intel_bios_is_port_present(struct drm_i915_private *i915, enum port port)
> return false;
> }
>
> -/**
> - * intel_bios_is_port_edp - is the device in given port eDP
> - * @i915: i915 device instance
> - * @port: port to check
> - *
> - * Return true if the device in %port is eDP.
> - */
> -bool intel_bios_is_port_edp(struct drm_i915_private *i915, enum port port)
> -{
> - const struct intel_bios_encoder_data *devdata =
> - intel_bios_encoder_data_lookup(i915, port);
> -
> - return devdata && intel_bios_encoder_supports_edp(devdata);
> -}
> -
> static bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_data *devdata)
> {
> const struct child_device_config *child = &devdata->child;
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
> index eaff41256a9c..1a6ae38bd4f6 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.h
> +++ b/drivers/gpu/drm/i915/display/intel_bios.h
> @@ -268,6 +268,7 @@ intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port);
> bool intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata);
> +bool intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata);
> bool intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata);
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 6b836afa0698..e4ea84b5d946 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -5129,8 +5129,9 @@ intel_dp_hpd_pulse(struct intel_digital_port *dig_port, bool long_hpd)
> return IRQ_HANDLED;
> }
>
> -/* check the VBT to see whether the eDP is on another port */
> -bool intel_dp_is_port_edp(struct drm_i915_private *dev_priv, enum port port)
> +static bool _intel_dp_is_port_edp(struct drm_i915_private *dev_priv,
> + const struct intel_bios_encoder_data *devdata,
> + enum port port)
> {
> /*
> * eDP not supported on g4x. so bail out early just
> @@ -5142,7 +5143,15 @@ bool intel_dp_is_port_edp(struct drm_i915_private *dev_priv, enum port port)
> if (DISPLAY_VER(dev_priv) < 9 && port == PORT_A)
> return true;
>
> - return intel_bios_is_port_edp(dev_priv, port);
> + return devdata && intel_bios_encoder_supports_edp(devdata);
> +}
> +
> +bool intel_dp_is_port_edp(struct drm_i915_private *i915, enum port port)
> +{
> + const struct intel_bios_encoder_data *devdata =
> + intel_bios_encoder_data_lookup(i915, port);
> +
> + return _intel_dp_is_port_edp(i915, devdata, port);
> }
>
> static bool
> @@ -5415,7 +5424,7 @@ intel_dp_init_connector(struct intel_digital_port *dig_port,
> intel_dp->DP = intel_de_read(dev_priv, intel_dp->output_reg);
> intel_dp->attached_connector = intel_connector;
>
> - if (intel_dp_is_port_edp(dev_priv, port)) {
> + if (_intel_dp_is_port_edp(dev_priv, intel_encoder->devdata, port)) {
> /*
> * Currently we don't support eDP on TypeC ports, although in
> * theory it could work on TypeC legacy ports.
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2023-02-13 16:13 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-08 1:54 [Intel-gfx] [PATCH 00/10] drm/i915: Prep work for vbt.ports[] nukage Ville Syrjala
2023-02-08 1:54 ` [Intel-gfx] [PATCH 01/10] drm/i915: Pass the whole encoder to hotplug_enables() Ville Syrjala
2023-02-08 1:55 ` [Intel-gfx] [PATCH 02/10] drm/i915: Move variables to loop context Ville Syrjala
2023-02-08 1:55 ` [Intel-gfx] [PATCH 03/10] drm/i915: Replace intel_bios_is_lspcon_present() with intel_bios_encoder_is_lspcon() Ville Syrjala
2023-02-08 1:55 ` [Intel-gfx] [PATCH 04/10] drm/i915: Replace intel_bios_is_lane_reversal_needed() with intel_bios_encoder_lane_reversal() Ville Syrjala
2023-02-08 1:55 ` [Intel-gfx] [PATCH 05/10] drm/i915: Replace intel_bios_is_port_hpd_inverted() with intel_bios_encoder_hpd_invert() Ville Syrjala
2023-02-08 1:55 ` [Intel-gfx] [PATCH 06/10] drm/i915: Consult the registested encoders for the ICL combo PHY w/a Ville Syrjala
2023-02-13 16:12 ` Jani Nikula
2023-02-08 1:55 ` [Intel-gfx] [PATCH 07/10] drm/i915: Populate encoder->devdata for g4x+ DP/HDMI ports Ville Syrjala
2023-02-13 16:12 ` Jani Nikula
2023-02-08 1:55 ` [Intel-gfx] [PATCH 08/10] drm/i915: Pass devdata to intel_bios_port_aux_ch() Ville Syrjala
2023-02-08 1:55 ` [Intel-gfx] [PATCH 09/10] drm/i915: Iterate all child devs in intel_bios_is_port_present() Ville Syrjala
2023-02-13 16:08 ` Jani Nikula
2023-02-13 16:17 ` Ville Syrjälä
2023-02-13 16:41 ` Jani Nikula
2023-02-13 16:47 ` Ville Syrjälä
2023-02-14 7:38 ` [Intel-gfx] [PATCH v2 " Ville Syrjala
2023-02-14 8:11 ` Jani Nikula
2023-02-08 1:55 ` [Intel-gfx] [PATCH 10/10] drm/i915: Use encoder->devdata in eDP init Ville Syrjala
2023-02-13 16:13 ` Jani Nikula [this message]
2023-02-08 4:39 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Prep work for vbt.ports[] nukage Patchwork
2023-02-08 8:51 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-02-13 16:11 ` [Intel-gfx] [PATCH 00/10] " Jani Nikula
2023-02-14 8:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Prep work for vbt.ports[] nukage (rev2) Patchwork
2023-02-14 9:27 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=87bklxv902.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.