On Tue, 01 Aug 2017, Rodrigo Vivi <rodrigo.v...@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.syrj...@linux.intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.v...@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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to