public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Get alternate aux for port E from VBT.
@ 2017-08-02  0:38 Rodrigo Vivi
  2017-08-02  0:59 ` ✗ Fi.CI.BAT: warning for " Patchwork
  2017-08-03 12:24 ` [PATCH] " Jani Nikula
  0 siblings, 2 replies; 4+ messages in thread
From: Rodrigo Vivi @ 2017-08-02  0:38 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

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@linux.intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@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;
 		break;
 	default:
 		MISSING_CASE(intel_dig_port->port);
-- 
2.13.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* ✗ Fi.CI.BAT: warning for drm/i915: Get alternate aux for port E from VBT.
  2017-08-02  0:38 [PATCH] drm/i915: Get alternate aux for port E from VBT Rodrigo Vivi
@ 2017-08-02  0:59 ` Patchwork
  2017-08-03 12:24 ` [PATCH] " Jani Nikula
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2017-08-02  0:59 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Get alternate aux for port E from VBT.
URL   : https://patchwork.freedesktop.org/series/28216/
State : warning

== Summary ==

Series 28216v1 drm/i915: Get alternate aux for port E from VBT.
https://patchwork.freedesktop.org/api/1.0/series/28216/revisions/1/mbox/

Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-uc:
                pass       -> FAIL       (fi-snb-2600) fdo#100007
Test kms_flip:
        Subgroup basic-flip-vs-modeset:
                skip       -> PASS       (fi-skl-x1585l) fdo#101781
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-a:
                pass       -> DMESG-WARN (fi-skl-6700k) fdo#100367 +2
                pass       -> DMESG-WARN (fi-skl-x1585l)
        Subgroup suspend-read-crc-pipe-b:
                pass       -> DMESG-WARN (fi-skl-x1585l)
        Subgroup suspend-read-crc-pipe-c:
                pass       -> DMESG-WARN (fi-skl-x1585l)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> DMESG-WARN (fi-skl-6700k)
                pass       -> DMESG-WARN (fi-skl-x1585l)
        Subgroup basic-rte:
                pass       -> DMESG-WARN (fi-skl-6700k)
                pass       -> DMESG-WARN (fi-skl-x1585l)
Test drv_module_reload:
        Subgroup basic-reload:
                pass       -> DMESG-WARN (fi-skl-6700k)
                pass       -> DMESG-WARN (fi-skl-x1585l)
        Subgroup basic-reload-inject:
                pass       -> DMESG-WARN (fi-skl-6700k)
                pass       -> DMESG-WARN (fi-skl-x1585l)
        Subgroup basic-reload-final:
                pass       -> DMESG-WARN (fi-skl-6700k)
                pass       -> DMESG-WARN (fi-skl-x1585l)

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007
fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781
fdo#100367 https://bugs.freedesktop.org/show_bug.cgi?id=100367

fi-bdw-5557u     total:280  pass:269  dwarn:0   dfail:0   fail:0   skip:11  time:449s
fi-bdw-gvtdvm    total:280  pass:266  dwarn:0   dfail:0   fail:0   skip:14  time:431s
fi-blb-e6850     total:280  pass:225  dwarn:1   dfail:0   fail:0   skip:54  time:357s
fi-bsw-n3050     total:280  pass:244  dwarn:0   dfail:0   fail:0   skip:36  time:537s
fi-bxt-j4205     total:280  pass:261  dwarn:0   dfail:0   fail:0   skip:19  time:512s
fi-byt-n2820     total:280  pass:251  dwarn:1   dfail:0   fail:0   skip:28  time:505s
fi-glk-2a        total:280  pass:261  dwarn:0   dfail:0   fail:0   skip:19  time:602s
fi-hsw-4770      total:280  pass:264  dwarn:0   dfail:0   fail:0   skip:16  time:438s
fi-hsw-4770r     total:280  pass:264  dwarn:0   dfail:0   fail:0   skip:16  time:420s
fi-ilk-650       total:280  pass:230  dwarn:0   dfail:0   fail:0   skip:50  time:410s
fi-ivb-3520m     total:280  pass:262  dwarn:0   dfail:0   fail:0   skip:18  time:510s
fi-ivb-3770      total:280  pass:262  dwarn:0   dfail:0   fail:0   skip:18  time:469s
fi-kbl-7500u     total:280  pass:262  dwarn:0   dfail:0   fail:0   skip:18  time:475s
fi-kbl-7560u     total:280  pass:270  dwarn:0   dfail:0   fail:0   skip:10  time:582s
fi-kbl-r         total:280  pass:262  dwarn:0   dfail:0   fail:0   skip:18  time:582s
fi-pnv-d510      total:280  pass:224  dwarn:1   dfail:0   fail:0   skip:55  time:566s
fi-skl-6260u     total:280  pass:270  dwarn:0   dfail:0   fail:0   skip:10  time:466s
fi-skl-6700hq    total:280  pass:263  dwarn:0   dfail:0   fail:0   skip:17  time:590s
fi-skl-6700k     total:280  pass:254  dwarn:8   dfail:0   fail:0   skip:18  time:476s
fi-skl-6770hq    total:280  pass:270  dwarn:0   dfail:0   fail:0   skip:10  time:481s
fi-skl-gvtdvm    total:280  pass:267  dwarn:0   dfail:0   fail:0   skip:13  time:441s
fi-skl-x1585l    total:280  pass:262  dwarn:8   dfail:0   fail:0   skip:10  time:501s
fi-snb-2520m     total:280  pass:252  dwarn:0   dfail:0   fail:0   skip:28  time:556s
fi-snb-2600      total:280  pass:250  dwarn:0   dfail:0   fail:1   skip:29  time:406s

fcb630a80579faf6d12ee62cb49bd7a4acff41e6 drm-tip: 2017y-08m-01d-17h-14m-57s UTC integration manifest
36203b7d1cd8 drm/i915: Get alternate aux for port E from VBT.

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5306/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/i915: Get alternate aux for port E from VBT.
  2017-08-02  0:38 [PATCH] drm/i915: Get alternate aux for port E from VBT Rodrigo Vivi
  2017-08-02  0:59 ` ✗ Fi.CI.BAT: warning for " Patchwork
@ 2017-08-03 12:24 ` Jani Nikula
  2017-08-03 17:17   ` Vivi, Rodrigo
  1 sibling, 1 reply; 4+ messages in thread
From: Jani Nikula @ 2017-08-03 12:24 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

On Tue, 01 Aug 2017, Rodrigo Vivi <rodrigo.vivi@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@linux.intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/i915: Get alternate aux for port E from VBT.
  2017-08-03 12:24 ` [PATCH] " Jani Nikula
@ 2017-08-03 17:17   ` Vivi, Rodrigo
  0 siblings, 0 replies; 4+ messages in thread
From: Vivi, Rodrigo @ 2017-08-03 17:17 UTC (permalink / raw)
  To: jani.nikula@linux.intel.com; +Cc: intel-gfx@lists.freedesktop.org

On Thu, 2017-08-03 at 15:24 +0300, Jani Nikula wrote:
> On Tue, 01 Aug 2017, Rodrigo Vivi <rodrigo.vivi@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@linux.intel.com>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@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).

oh indeed! I had forgotten about it.

I tried a different approach now:
https://patchwork.freedesktop.org/series/28322/

But still breaks fi-skl-6700k:

https://intel-gfx-ci.01.org/tree/drm-tip/Trybot_1036/

Maybe it is better not touching this for now unless we really need...
but should we keep the fixme?

> 
> BR,
> Jani.
> 
> >  		break;
> >  	default:
> >  		MISSING_CASE(intel_dig_port->port);
> 

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-08-03 17:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-02  0:38 [PATCH] drm/i915: Get alternate aux for port E from VBT Rodrigo Vivi
2017-08-02  0:59 ` ✗ Fi.CI.BAT: warning for " Patchwork
2017-08-03 12:24 ` [PATCH] " Jani Nikula
2017-08-03 17:17   ` Vivi, Rodrigo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox