diff mbox

[V2] drm/i915: (VLV2) Fix the hotplug detection bits

Message ID 1390324951-6711-1-git-send-email-tprevite@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Todd Previte Jan. 21, 2014, 5:22 p.m. UTC
These bits are in reverse order in the header from those defined in
the specification. Change the bit positions for ports B and D to
correctly match the spec.

- Added sign-off

Signed-off-by: Todd Previte <tprevite@gmail.com>

---
 drivers/gpu/drm/i915/i915_reg.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Daniel Vetter Jan. 21, 2014, 5:45 p.m. UTC | #1
On Tue, Jan 21, 2014 at 10:22:31AM -0700, Todd Previte wrote:
> These bits are in reverse order in the header from those defined in
> the specification. Change the bit positions for ports B and D to
> correctly match the spec.
> 
> - Added sign-off
> 
> Signed-off-by: Todd Previte <tprevite@gmail.com>
> 
> ---
>  drivers/gpu/drm/i915/i915_reg.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 10ecf90..2d77b51 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2083,9 +2083,9 @@
>   * Please check the detailed lore in the commit message for for experimental
>   * evidence.
>   */
> -#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
> +#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 27)
>  #define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
> -#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
> +#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 29)

As Jani explained, this will break g4x. And it might very well be that
this particular lie has been carried forward until baytrail, so I think we
must cross check Bspec first with the reality of shipping platforms.
-Daniel

>  #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
>  #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
>  #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
> -- 
> 1.8.3.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Jani Nikula Jan. 21, 2014, 5:49 p.m. UTC | #2
On Tue, 21 Jan 2014, Todd Previte <tprevite@gmail.com> wrote:
> These bits are in reverse order in the header from those defined in
> the specification. Change the bit positions for ports B and D to
> correctly match the spec.
>
> - Added sign-off

And please also read the rest of my previous mail! :)

Jani.


>
> Signed-off-by: Todd Previte <tprevite@gmail.com>
>
> ---
>  drivers/gpu/drm/i915/i915_reg.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 10ecf90..2d77b51 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2083,9 +2083,9 @@
>   * Please check the detailed lore in the commit message for for experimental
>   * evidence.
>   */
> -#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
> +#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 27)
>  #define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
> -#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
> +#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 29)
>  #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
>  #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
>  #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
> -- 
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Ville Syrjälä Jan. 21, 2014, 6:12 p.m. UTC | #3
On Tue, Jan 21, 2014 at 06:45:54PM +0100, Daniel Vetter wrote:
> On Tue, Jan 21, 2014 at 10:22:31AM -0700, Todd Previte wrote:
> > These bits are in reverse order in the header from those defined in
> > the specification. Change the bit positions for ports B and D to
> > correctly match the spec.
> > 
> > - Added sign-off
> > 
> > Signed-off-by: Todd Previte <tprevite@gmail.com>
> > 
> > ---
> >  drivers/gpu/drm/i915/i915_reg.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > index 10ecf90..2d77b51 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -2083,9 +2083,9 @@
> >   * Please check the detailed lore in the commit message for for experimental
> >   * evidence.
> >   */
> > -#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
> > +#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 27)
> >  #define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
> > -#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
> > +#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 29)
> 
> As Jani explained, this will break g4x. And it might very well be that
> this particular lie has been carried forward until baytrail, so I think we
> must cross check Bspec first with the reality of shipping platforms.

FYI I just checked this on Jani's ELK, and it agrees with the spec.
Port B is bit 29 and port C is bit 28. Both are HDMI/DVI ports on the
board. No DP connectors present unfortunately. Which explains why
things work since we don't check the live status on HDMI ports.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 10ecf90..2d77b51 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -2083,9 +2083,9 @@ 
  * Please check the detailed lore in the commit message for for experimental
  * evidence.
  */
-#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
+#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 27)
 #define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
-#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
+#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 29)
 #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
 #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
 #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)