[Intel-gfx] [PATCH] drm/i915: Get alternate aux for port E from VBT.
Jani Nikula
jani.nikula at linux.intel.com
Thu Aug 3 12:24:04 UTC 2017
On Tue, 01 Aug 2017, Rodrigo Vivi <rodrigo.vivi at intel.com> wrote:
> If VBT states that it uses an alternate aux for port E,
> let's use it since even on new platforms there is no
> dedicated aux for port E and it is being used for VGA
> with DP-to-VGA converter by some OEMs.
>
> Let's assume that port A is in use for eDP so let's
> keep the default to port D to minimize the changes
> on the behaviour.
>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 2d42d09428c9..c856567d4529 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5905,6 +5905,9 @@ intel_dp_init_connector_port_info(struct intel_digital_port *intel_dig_port)
> {
> struct intel_encoder *encoder = &intel_dig_port->base;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> + struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> + const struct ddi_vbt_port_info *info =
> + &dev_priv->vbt.ddi_port_info[intel_dig_port->port];
>
> switch (intel_dig_port->port) {
> case PORT_A:
> @@ -5925,9 +5928,9 @@ intel_dp_init_connector_port_info(struct intel_digital_port *intel_dig_port)
> break;
> case PORT_E:
> encoder->hpd_pin = HPD_PORT_E;
> -
> - /* FIXME: Check VBT for actual wiring of PORT E */
> - intel_dp->aux_power_domain = POWER_DOMAIN_AUX_D;
> + intel_dp->aux_power_domain = POWER_DOMAIN_AUX_A +
> + info->alternate_aux_channel ?
> + info->alternate_aux_channel : POWER_DOMAIN_AUX_D;
->alternate_aux_channel contains values such as
#define DP_AUX_A 0x40
#define DP_AUX_B 0x10
#define DP_AUX_C 0x20
#define DP_AUX_D 0x30
from i915_drv.h (which should really be in a VBT specific file because
that comes straight from the VBT).
BR,
Jani.
> break;
> default:
> MISSING_CASE(intel_dig_port->port);
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list