From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH] drm/i915/bxt: Use intel_encoder->hpd_pin to check live status Date: Fri, 11 Sep 2015 18:00:43 +0000 Message-ID: References: <1441970912-5961-1-git-send-email-sonika.jindal@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1723481462==" Return-path: Received: from mail-io0-f170.google.com (mail-io0-f170.google.com [209.85.223.170]) by gabe.freedesktop.org (Postfix) with ESMTPS id 036D66E167 for ; Fri, 11 Sep 2015 11:00:53 -0700 (PDT) Received: by iofb144 with SMTP id b144so107343164iof.1 for ; Fri, 11 Sep 2015 11:00:52 -0700 (PDT) In-Reply-To: <1441970912-5961-1-git-send-email-sonika.jindal@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sonika Jindal , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org --===============1723481462== Content-Type: multipart/alternative; boundary=001a113eacda18d329051f7c7ff0 --001a113eacda18d329051f7c7ff0 Content-Type: text/plain; charset=UTF-8 On Fri, Sep 11, 2015 at 4:40 AM Sonika Jindal wrote: > Using intel_encoder's hpd_pin to check the live status > because of BXT A0/A1 WA for HPD pins and hpd_pin contains the > updated pin for the corresponding port. > It makes sense, but is it always true? or we should have a fallback to intel_dig_port->port in some case or in some stepping after A0/A1? With this clarified feel free to use: Reviewed-by: Rodrigo Vivi > > Signed-off-by: Sonika Jindal > --- > 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 796f930..bf17030 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4663,11 +4663,14 @@ static bool vlv_digital_port_connected(struct > drm_i915_private *dev_priv, > } > > static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv, > - struct intel_digital_port *port) > + struct intel_digital_port > *intel_dig_port) > { > + struct intel_encoder *intel_encoder = &intel_dig_port->base; > + enum port port; > u32 bit; > > - switch (port->port) { > + intel_hpd_pin_to_port(intel_encoder->hpd_pin, &port); > + switch (port) { > case PORT_A: > bit = BXT_DE_PORT_HP_DDIA; > break; > @@ -4678,7 +4681,7 @@ static bool bxt_digital_port_connected(struct > drm_i915_private *dev_priv, > bit = BXT_DE_PORT_HP_DDIC; > break; > default: > - MISSING_CASE(port->port); > + MISSING_CASE(port); > return false; > } > > -- > 1.7.10.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > --001a113eacda18d329051f7c7ff0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On Fri, Se= p 11, 2015 at 4:40 AM Sonika Jindal <sonika.jindal@intel.com> wrote:
Using intel_encoder's hpd_pin to check the live status because of BXT A0/A1 WA for HPD pins and hpd_pin contains the
updated pin for the corresponding port.

It makes sense, but is it always true? or we should have a fallback to int= el_dig_port->port in some case or in some stepping after A0/A1?

With this clarified feel free to use:
Reviewed-b= y: Rodrigo Vivi <rodrigo.vivi@= intel.com>
=C2=A0

Signed-off-by: Sonika Jindal <sonika.jindal@intel.com>
---
=C2=A0drivers/gpu/drm/i915/intel_dp.c |=C2=A0 =C2=A0 9 ++++++---
=C2=A01 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_d= p.c
index 796f930..bf17030 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4663,11 +4663,14 @@ static bool vlv_digital_port_connected(struct drm_i= 915_private *dev_priv,
=C2=A0}

=C2=A0static bool bxt_digital_port_connected(struct drm_i915_private *dev_p= riv,
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 struct intel_di= gital_port *port)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 struct intel_di= gital_port *intel_dig_port)
=C2=A0{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct intel_encoder *intel_encoder =3D &in= tel_dig_port->base;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0enum port port;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 u32 bit;

-=C2=A0 =C2=A0 =C2=A0 =C2=A0switch (port->port) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0intel_hpd_pin_to_port(intel_encoder->hpd_pin= , &port);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0switch (port) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 case PORT_A:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 bit =3D BXT_DE_PORT= _HP_DDIA;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;
@@ -4678,7 +4681,7 @@ static bool bxt_digital_port_connected(struct drm_i91= 5_private *dev_priv,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 bit =3D BXT_DE_PORT= _HP_DDIC;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 default:
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MISSING_CASE(port-&= gt;port);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MISSING_CASE(port);=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return false;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

--
1.7.10.4

_______________________________________________
Intel-gfx mailing list
Intel-= gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo= /intel-gfx
--001a113eacda18d329051f7c7ff0-- --===============1723481462== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK --===============1723481462==--