All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: (VLV2) Fix the hotplug detection bits
@ 2014-01-21 16:38 Todd Previte
  2014-01-21 17:14 ` Jani Nikula
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Todd Previte @ 2014-01-21 16:38 UTC (permalink / raw)
  To: intel-gfx

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.
---
 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

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

* Re: [PATCH] drm/i915: (VLV2) Fix the hotplug detection bits
  2014-01-21 16:38 [PATCH] drm/i915: (VLV2) Fix the hotplug detection bits Todd Previte
@ 2014-01-21 17:14 ` Jani Nikula
  2014-01-21 17:22 ` [PATCH V2] " Todd Previte
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2014-01-21 17:14 UTC (permalink / raw)
  To: Todd Previte, intel-gfx

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.

Your signed-off-by is missing. The git commit -s option will add it for
you.

> ---
>  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.
>   */

Please read the comment above, and check out

commit 0ce99f749b3834edeb500e17d6ad17e86b60ff83
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Jul 26 11:27:49 2013 +0200

    drm/i915: fix gen4 digital port hotplug definitions

Since the definitions are used for both pre-PCH and VLV in
g4x_dp_detect() we should try to figure out whether the bits are really
different between them or not. Or if the VLV specs are confused too.

Meanwhile, I'll go pat myself on the back for seeing this patch coming,
and asking for Daniel to add that comment...

BR,
Jani.


> -#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

-- 
Jani Nikula, Intel Open Source Technology Center

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

* [PATCH V2] drm/i915: (VLV2) Fix the hotplug detection bits
  2014-01-21 16:38 [PATCH] drm/i915: (VLV2) Fix the hotplug detection bits Todd Previte
  2014-01-21 17:14 ` Jani Nikula
@ 2014-01-21 17:22 ` Todd Previte
  2014-01-21 17:45   ` Daniel Vetter
  2014-01-21 17:49   ` Jani Nikula
  2014-01-23  4:22 ` (no subject) Todd Previte
  2014-01-23  7:13 ` [PATCH V4] " Todd Previte
  3 siblings, 2 replies; 15+ messages in thread
From: Todd Previte @ 2014-01-21 17:22 UTC (permalink / raw)
  To: intel-gfx

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)
 #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

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

* Re: [PATCH V2] drm/i915: (VLV2) Fix the hotplug detection bits
  2014-01-21 17:22 ` [PATCH V2] " Todd Previte
@ 2014-01-21 17:45   ` Daniel Vetter
  2014-01-21 18:12     ` Ville Syrjälä
  2014-01-21 17:49   ` Jani Nikula
  1 sibling, 1 reply; 15+ messages in thread
From: Daniel Vetter @ 2014-01-21 17:45 UTC (permalink / raw)
  To: Todd Previte; +Cc: intel-gfx

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

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

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

* Re: [PATCH V2] drm/i915: (VLV2) Fix the hotplug detection bits
  2014-01-21 17:22 ` [PATCH V2] " Todd Previte
  2014-01-21 17:45   ` Daniel Vetter
@ 2014-01-21 17:49   ` Jani Nikula
  1 sibling, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2014-01-21 17:49 UTC (permalink / raw)
  To: Todd Previte, intel-gfx

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

-- 
Jani Nikula, Intel Open Source Technology Center

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

* Re: [PATCH V2] drm/i915: (VLV2) Fix the hotplug detection bits
  2014-01-21 17:45   ` Daniel Vetter
@ 2014-01-21 18:12     ` Ville Syrjälä
  0 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjälä @ 2014-01-21 18:12 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

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.

-- 
Ville Syrjälä
Intel OTC

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

* (no subject)
  2014-01-21 16:38 [PATCH] drm/i915: (VLV2) Fix the hotplug detection bits Todd Previte
  2014-01-21 17:14 ` Jani Nikula
  2014-01-21 17:22 ` [PATCH V2] " Todd Previte
@ 2014-01-23  4:22 ` Todd Previte
  2014-01-23  4:22   ` [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits Todd Previte
  2014-01-23  7:13 ` [PATCH V4] " Todd Previte
  3 siblings, 1 reply; 15+ messages in thread
From: Todd Previte @ 2014-01-23  4:22 UTC (permalink / raw)
  To: intel-gfx

Addresses the comments and feedback herein. VLV2 and gen4 have separate bit
definitions now. The correct bits are selected in gen4x_dp_detect() based on
the detected platform.

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

* [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits
  2014-01-23  4:22 ` (no subject) Todd Previte
@ 2014-01-23  4:22   ` Todd Previte
  2014-01-23  6:39     ` Jani Nikula
  2014-01-23  6:41     ` Jani Nikula
  0 siblings, 2 replies; 15+ messages in thread
From: Todd Previte @ 2014-01-23  4:22 UTC (permalink / raw)
  To: intel-gfx

Add new definitions for hotplug live status bits for VLV2 since they're
in reverse order from the gen4x ones.

Changelog:
- Restored gen4 bit definitions
- Added new definitions for VLV2
- Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
  bit defintions

Signed-off-by: Todd Previte <tprevite@gmail.com>
---
 drivers/gpu/drm/i915/i915_reg.h | 11 ++++++++---
 drivers/gpu/drm/i915/intel_dp.c | 39 +++++++++++++++++++++++++++------------
 2 files changed, 35 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 2d77b51..0e65717 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -2083,9 +2083,14 @@
  * Please check the detailed lore in the commit message for for experimental
  * evidence.
  */
-#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
-#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
-#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
+/* VLV hot plug bits are different */
+#define   VLV_PORTD_HOTPLUG_LIVE_STATUS	(1 << 27)
+#define   VLV_PORTC_HOTPLUG_LIVE_STATUS	(1 << 28)
+#define   VLV_PORTB_HOTPLUG_LIVE_STATUS	(1 << 29)
+
+#define   PORTD_HOTPLUG_LIVE_STATUS		(1 << 29)
+#define   PORTC_HOTPLUG_LIVE_STATUS		(1 << 28)
+#define   PORTB_HOTPLUG_LIVE_STATUS		(1 << 27)
 #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
 #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
 #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1386efb..1f080b2 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -2946,18 +2946,33 @@ g4x_dp_detect(struct intel_dp *intel_dp)
 		return status;
 	}
 
-	switch (intel_dig_port->port) {
-	case PORT_B:
-		bit = PORTB_HOTPLUG_LIVE_STATUS;
-		break;
-	case PORT_C:
-		bit = PORTC_HOTPLUG_LIVE_STATUS;
-		break;
-	case PORT_D:
-		bit = PORTD_HOTPLUG_LIVE_STATUS;
-		break;
-	default:
-		return connector_status_unknown;
+	if (IS_VALLEYVIEW(dev)) {
+		switch (intel_dig_port->port) {
+		case PORT_B:
+			bit = VLV_PORTB_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_C:
+			bit = VLV_PORTC_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_D:
+			bit = VLV_PORTD_HOTPLUG_LIVE_STATUS;
+			break;
+		default:
+			return connector_status_unknown;
+	} else {
+		switch (intel_dig_port->port) {
+		case PORT_B:
+			bit = PORTB_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_C:
+			bit = PORTC_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_D:
+			bit = PORTD_HOTPLUG_LIVE_STATUS;
+			break;
+		default:
+			return connector_status_unknown;
+		}
 	}
 
 	if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
-- 
1.8.3.2

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

* Re: [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits
  2014-01-23  4:22   ` [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits Todd Previte
@ 2014-01-23  6:39     ` Jani Nikula
  2014-01-23  6:41     ` Jani Nikula
  1 sibling, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2014-01-23  6:39 UTC (permalink / raw)
  To: Todd Previte, intel-gfx

On Thu, 23 Jan 2014, Todd Previte <tprevite@gmail.com> wrote:
> Add new definitions for hotplug live status bits for VLV2 since they're
> in reverse order from the gen4x ones.
>
> Changelog:
> - Restored gen4 bit definitions
> - Added new definitions for VLV2
> - Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
>   bit defintions
>
> Signed-off-by: Todd Previte <tprevite@gmail.com>
> ---
>  drivers/gpu/drm/i915/i915_reg.h | 11 ++++++++---
>  drivers/gpu/drm/i915/intel_dp.c | 39 +++++++++++++++++++++++++++------------
>  2 files changed, 35 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 2d77b51..0e65717 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2083,9 +2083,14 @@
>   * Please check the detailed lore in the commit message for for experimental
>   * evidence.
>   */
> -#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
> -#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
> -#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
> +/* VLV hot plug bits are different */
> +#define   VLV_PORTD_HOTPLUG_LIVE_STATUS	(1 << 27)
> +#define   VLV_PORTC_HOTPLUG_LIVE_STATUS	(1 << 28)
> +#define   VLV_PORTB_HOTPLUG_LIVE_STATUS	(1 << 29)
> +
> +#define   PORTD_HOTPLUG_LIVE_STATUS		(1 << 29)
> +#define   PORTC_HOTPLUG_LIVE_STATUS		(1 << 28)
> +#define   PORTB_HOTPLUG_LIVE_STATUS		(1 << 27)

For future reference, changes unrelated to the commit message are
generally frowned upon; style changes (like the spaces-to-tabs change
for the existing defines) should be kept separate.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


>  #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
>  #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
>  #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 1386efb..1f080b2 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2946,18 +2946,33 @@ g4x_dp_detect(struct intel_dp *intel_dp)
>  		return status;
>  	}
>  
> -	switch (intel_dig_port->port) {
> -	case PORT_B:
> -		bit = PORTB_HOTPLUG_LIVE_STATUS;
> -		break;
> -	case PORT_C:
> -		bit = PORTC_HOTPLUG_LIVE_STATUS;
> -		break;
> -	case PORT_D:
> -		bit = PORTD_HOTPLUG_LIVE_STATUS;
> -		break;
> -	default:
> -		return connector_status_unknown;
> +	if (IS_VALLEYVIEW(dev)) {
> +		switch (intel_dig_port->port) {
> +		case PORT_B:
> +			bit = VLV_PORTB_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_C:
> +			bit = VLV_PORTC_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_D:
> +			bit = VLV_PORTD_HOTPLUG_LIVE_STATUS;
> +			break;
> +		default:
> +			return connector_status_unknown;
> +	} else {
> +		switch (intel_dig_port->port) {
> +		case PORT_B:
> +			bit = PORTB_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_C:
> +			bit = PORTC_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_D:
> +			bit = PORTD_HOTPLUG_LIVE_STATUS;
> +			break;
> +		default:
> +			return connector_status_unknown;
> +		}
>  	}
>  
>  	if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
> -- 
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

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

* Re: [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits
  2014-01-23  4:22   ` [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits Todd Previte
  2014-01-23  6:39     ` Jani Nikula
@ 2014-01-23  6:41     ` Jani Nikula
  2014-01-23  7:16       ` Todd Previte
  1 sibling, 1 reply; 15+ messages in thread
From: Jani Nikula @ 2014-01-23  6:41 UTC (permalink / raw)
  To: Todd Previte, intel-gfx

On Thu, 23 Jan 2014, Todd Previte <tprevite@gmail.com> wrote:
> Add new definitions for hotplug live status bits for VLV2 since they're
> in reverse order from the gen4x ones.
>
> Changelog:
> - Restored gen4 bit definitions
> - Added new definitions for VLV2
> - Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
>   bit defintions
>

Btw this might be a relevant bug report:
https://bugs.freedesktop.org/show_bug.cgi?id=73951

> Signed-off-by: Todd Previte <tprevite@gmail.com>
> ---
>  drivers/gpu/drm/i915/i915_reg.h | 11 ++++++++---
>  drivers/gpu/drm/i915/intel_dp.c | 39 +++++++++++++++++++++++++++------------
>  2 files changed, 35 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 2d77b51..0e65717 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2083,9 +2083,14 @@
>   * Please check the detailed lore in the commit message for for experimental
>   * evidence.
>   */
> -#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
> -#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
> -#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
> +/* VLV hot plug bits are different */
> +#define   VLV_PORTD_HOTPLUG_LIVE_STATUS	(1 << 27)
> +#define   VLV_PORTC_HOTPLUG_LIVE_STATUS	(1 << 28)
> +#define   VLV_PORTB_HOTPLUG_LIVE_STATUS	(1 << 29)
> +
> +#define   PORTD_HOTPLUG_LIVE_STATUS		(1 << 29)
> +#define   PORTC_HOTPLUG_LIVE_STATUS		(1 << 28)
> +#define   PORTB_HOTPLUG_LIVE_STATUS		(1 << 27)
>  #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
>  #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
>  #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 1386efb..1f080b2 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2946,18 +2946,33 @@ g4x_dp_detect(struct intel_dp *intel_dp)
>  		return status;
>  	}
>  
> -	switch (intel_dig_port->port) {
> -	case PORT_B:
> -		bit = PORTB_HOTPLUG_LIVE_STATUS;
> -		break;
> -	case PORT_C:
> -		bit = PORTC_HOTPLUG_LIVE_STATUS;
> -		break;
> -	case PORT_D:
> -		bit = PORTD_HOTPLUG_LIVE_STATUS;
> -		break;
> -	default:
> -		return connector_status_unknown;
> +	if (IS_VALLEYVIEW(dev)) {
> +		switch (intel_dig_port->port) {
> +		case PORT_B:
> +			bit = VLV_PORTB_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_C:
> +			bit = VLV_PORTC_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_D:
> +			bit = VLV_PORTD_HOTPLUG_LIVE_STATUS;
> +			break;
> +		default:
> +			return connector_status_unknown;
> +	} else {
> +		switch (intel_dig_port->port) {
> +		case PORT_B:
> +			bit = PORTB_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_C:
> +			bit = PORTC_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_D:
> +			bit = PORTD_HOTPLUG_LIVE_STATUS;
> +			break;
> +		default:
> +			return connector_status_unknown;
> +		}
>  	}
>  
>  	if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
> -- 
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

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

* [PATCH V4] VLV2 - Fix hotplug detect bits
  2014-01-21 16:38 [PATCH] drm/i915: (VLV2) Fix the hotplug detection bits Todd Previte
                   ` (2 preceding siblings ...)
  2014-01-23  4:22 ` (no subject) Todd Previte
@ 2014-01-23  7:13 ` Todd Previte
  2014-01-23  7:13   ` [PATCH V4] drm/i915: " Todd Previte
  3 siblings, 1 reply; 15+ messages in thread
From: Todd Previte @ 2014-01-23  7:13 UTC (permalink / raw)
  To: intel-gfx

Fixed the trailing brace for the switch() statement in gen4x_dp_detect()

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

* [PATCH V4] drm/i915: VLV2 - Fix hotplug detect bits
  2014-01-23  7:13 ` [PATCH V4] " Todd Previte
@ 2014-01-23  7:13   ` Todd Previte
  2014-01-23 10:50     ` Daniel Vetter
  0 siblings, 1 reply; 15+ messages in thread
From: Todd Previte @ 2014-01-23  7:13 UTC (permalink / raw)
  To: intel-gfx

Add new definitions for hotplug live status bits for VLV2 since they're
in reverse order from the gen4x ones.

Changelog:
- Restored gen4 bit definitions
- Added new definitions for VLV2
- Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
  bit defintions
- Replaced a lost trailing brace for the added switch()

Signed-off-by: Todd Previte <tprevite@gmail.com>
---
 drivers/gpu/drm/i915/i915_reg.h | 11 ++++++++---
 drivers/gpu/drm/i915/intel_dp.c | 40 ++++++++++++++++++++++++++++------------
 2 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 10ecf90..0e65717 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -2083,9 +2083,14 @@
  * Please check the detailed lore in the commit message for for experimental
  * evidence.
  */
-#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
-#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
-#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
+/* VLV hot plug bits are different */
+#define   VLV_PORTD_HOTPLUG_LIVE_STATUS	(1 << 27)
+#define   VLV_PORTC_HOTPLUG_LIVE_STATUS	(1 << 28)
+#define   VLV_PORTB_HOTPLUG_LIVE_STATUS	(1 << 29)
+
+#define   PORTD_HOTPLUG_LIVE_STATUS		(1 << 29)
+#define   PORTC_HOTPLUG_LIVE_STATUS		(1 << 28)
+#define   PORTB_HOTPLUG_LIVE_STATUS		(1 << 27)
 #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
 #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
 #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1386efb..51c6497 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -2946,18 +2946,34 @@ g4x_dp_detect(struct intel_dp *intel_dp)
 		return status;
 	}
 
-	switch (intel_dig_port->port) {
-	case PORT_B:
-		bit = PORTB_HOTPLUG_LIVE_STATUS;
-		break;
-	case PORT_C:
-		bit = PORTC_HOTPLUG_LIVE_STATUS;
-		break;
-	case PORT_D:
-		bit = PORTD_HOTPLUG_LIVE_STATUS;
-		break;
-	default:
-		return connector_status_unknown;
+	if (IS_VALLEYVIEW(dev)) {
+		switch (intel_dig_port->port) {
+		case PORT_B:
+			bit = VLV_PORTB_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_C:
+			bit = VLV_PORTC_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_D:
+			bit = VLV_PORTD_HOTPLUG_LIVE_STATUS;
+			break;
+		default:
+			return connector_status_unknown;
+		}
+	} else {
+		switch (intel_dig_port->port) {
+		case PORT_B:
+			bit = PORTB_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_C:
+			bit = PORTC_HOTPLUG_LIVE_STATUS;
+			break;
+		case PORT_D:
+			bit = PORTD_HOTPLUG_LIVE_STATUS;
+			break;
+		default:
+			return connector_status_unknown;
+		}
 	}
 
 	if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
-- 
1.8.3.2

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

* Re: [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits
  2014-01-23  6:41     ` Jani Nikula
@ 2014-01-23  7:16       ` Todd Previte
  0 siblings, 0 replies; 15+ messages in thread
From: Todd Previte @ 2014-01-23  7:16 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx


On 01/22/2014 11:41 PM, Jani Nikula wrote:
> On Thu, 23 Jan 2014, Todd Previte <tprevite@gmail.com> wrote:
>> Add new definitions for hotplug live status bits for VLV2 since they're
>> in reverse order from the gen4x ones.
>>
>> Changelog:
>> - Restored gen4 bit definitions
>> - Added new definitions for VLV2
>> - Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
>>    bit defintions
>>
> Btw this might be a relevant bug report:
> https://bugs.freedesktop.org/show_bug.cgi?id=73951
Yeah looks like it. I think this patch (well V4 below) should address 
the problem. I'll update the bug momentarily.

-T

>> Signed-off-by: Todd Previte <tprevite@gmail.com>
>> ---
>>   drivers/gpu/drm/i915/i915_reg.h | 11 ++++++++---
>>   drivers/gpu/drm/i915/intel_dp.c | 39 +++++++++++++++++++++++++++------------
>>   2 files changed, 35 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index 2d77b51..0e65717 100644
>> --- a/drivers/gpu/drm/i915/i915_reg.h
>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>> @@ -2083,9 +2083,14 @@
>>    * Please check the detailed lore in the commit message for for experimental
>>    * evidence.
>>    */
>> -#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
>> -#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
>> -#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
>> +/* VLV hot plug bits are different */
>> +#define   VLV_PORTD_HOTPLUG_LIVE_STATUS	(1 << 27)
>> +#define   VLV_PORTC_HOTPLUG_LIVE_STATUS	(1 << 28)
>> +#define   VLV_PORTB_HOTPLUG_LIVE_STATUS	(1 << 29)
>> +
>> +#define   PORTD_HOTPLUG_LIVE_STATUS		(1 << 29)
>> +#define   PORTC_HOTPLUG_LIVE_STATUS		(1 << 28)
>> +#define   PORTB_HOTPLUG_LIVE_STATUS		(1 << 27)
>>   #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
>>   #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
>>   #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index 1386efb..1f080b2 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -2946,18 +2946,33 @@ g4x_dp_detect(struct intel_dp *intel_dp)
>>   		return status;
>>   	}
>>   
>> -	switch (intel_dig_port->port) {
>> -	case PORT_B:
>> -		bit = PORTB_HOTPLUG_LIVE_STATUS;
>> -		break;
>> -	case PORT_C:
>> -		bit = PORTC_HOTPLUG_LIVE_STATUS;
>> -		break;
>> -	case PORT_D:
>> -		bit = PORTD_HOTPLUG_LIVE_STATUS;
>> -		break;
>> -	default:
>> -		return connector_status_unknown;
>> +	if (IS_VALLEYVIEW(dev)) {
>> +		switch (intel_dig_port->port) {
>> +		case PORT_B:
>> +			bit = VLV_PORTB_HOTPLUG_LIVE_STATUS;
>> +			break;
>> +		case PORT_C:
>> +			bit = VLV_PORTC_HOTPLUG_LIVE_STATUS;
>> +			break;
>> +		case PORT_D:
>> +			bit = VLV_PORTD_HOTPLUG_LIVE_STATUS;
>> +			break;
>> +		default:
>> +			return connector_status_unknown;
>> +	} else {
>> +		switch (intel_dig_port->port) {
>> +		case PORT_B:
>> +			bit = PORTB_HOTPLUG_LIVE_STATUS;
>> +			break;
>> +		case PORT_C:
>> +			bit = PORTC_HOTPLUG_LIVE_STATUS;
>> +			break;
>> +		case PORT_D:
>> +			bit = PORTD_HOTPLUG_LIVE_STATUS;
>> +			break;
>> +		default:
>> +			return connector_status_unknown;
>> +		}
>>   	}
>>   
>>   	if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
>> -- 
>> 1.8.3.2
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH V4] drm/i915: VLV2 - Fix hotplug detect bits
  2014-01-23  7:13   ` [PATCH V4] drm/i915: " Todd Previte
@ 2014-01-23 10:50     ` Daniel Vetter
  2014-01-23 10:52       ` Daniel Vetter
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Vetter @ 2014-01-23 10:50 UTC (permalink / raw)
  To: Todd Previte; +Cc: intel-gfx

On Thu, Jan 23, 2014 at 12:13:41AM -0700, Todd Previte wrote:
> Add new definitions for hotplug live status bits for VLV2 since they're
> in reverse order from the gen4x ones.
> 
> Changelog:
> - Restored gen4 bit definitions
> - Added new definitions for VLV2
> - Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
>   bit defintions
> - Replaced a lost trailing brace for the added switch()
> 
> Signed-off-by: Todd Previte <tprevite@gmail.com>

I've bikeshedded your patch a bit for more consistency. Wrt the patch
changelog please don't smash it all into one but keep a separate changelog
per revision. Otherwise it's not clear what e.g. changed from v3->v4 and
so no too useful for reviewers when rechecking patches.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_reg.h | 11 ++++++++---
>  drivers/gpu/drm/i915/intel_dp.c | 40 ++++++++++++++++++++++++++++------------
>  2 files changed, 36 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 10ecf90..0e65717 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2083,9 +2083,14 @@
>   * Please check the detailed lore in the commit message for for experimental
>   * evidence.
>   */
> -#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
> -#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
> -#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
> +/* VLV hot plug bits are different */
> +#define   VLV_PORTD_HOTPLUG_LIVE_STATUS	(1 << 27)
> +#define   VLV_PORTC_HOTPLUG_LIVE_STATUS	(1 << 28)
> +#define   VLV_PORTB_HOTPLUG_LIVE_STATUS	(1 << 29)
> +
> +#define   PORTD_HOTPLUG_LIVE_STATUS		(1 << 29)
> +#define   PORTC_HOTPLUG_LIVE_STATUS		(1 << 28)
> +#define   PORTB_HOTPLUG_LIVE_STATUS		(1 << 27)
>  #define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
>  #define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
>  #define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 1386efb..51c6497 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2946,18 +2946,34 @@ g4x_dp_detect(struct intel_dp *intel_dp)
>  		return status;
>  	}
>  
> -	switch (intel_dig_port->port) {
> -	case PORT_B:
> -		bit = PORTB_HOTPLUG_LIVE_STATUS;
> -		break;
> -	case PORT_C:
> -		bit = PORTC_HOTPLUG_LIVE_STATUS;
> -		break;
> -	case PORT_D:
> -		bit = PORTD_HOTPLUG_LIVE_STATUS;
> -		break;
> -	default:
> -		return connector_status_unknown;
> +	if (IS_VALLEYVIEW(dev)) {
> +		switch (intel_dig_port->port) {
> +		case PORT_B:
> +			bit = VLV_PORTB_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_C:
> +			bit = VLV_PORTC_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_D:
> +			bit = VLV_PORTD_HOTPLUG_LIVE_STATUS;
> +			break;
> +		default:
> +			return connector_status_unknown;
> +		}
> +	} else {
> +		switch (intel_dig_port->port) {
> +		case PORT_B:
> +			bit = PORTB_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_C:
> +			bit = PORTC_HOTPLUG_LIVE_STATUS;
> +			break;
> +		case PORT_D:
> +			bit = PORTD_HOTPLUG_LIVE_STATUS;
> +			break;
> +		default:
> +			return connector_status_unknown;
> +		}
>  	}
>  
>  	if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
> -- 
> 1.8.3.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

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

* Re: [PATCH V4] drm/i915: VLV2 - Fix hotplug detect bits
  2014-01-23 10:50     ` Daniel Vetter
@ 2014-01-23 10:52       ` Daniel Vetter
  0 siblings, 0 replies; 15+ messages in thread
From: Daniel Vetter @ 2014-01-23 10:52 UTC (permalink / raw)
  To: Todd Previte; +Cc: intel-gfx

On Thu, Jan 23, 2014 at 11:50:38AM +0100, Daniel Vetter wrote:
> On Thu, Jan 23, 2014 at 12:13:41AM -0700, Todd Previte wrote:
> > Add new definitions for hotplug live status bits for VLV2 since they're
> > in reverse order from the gen4x ones.
> > 
> > Changelog:
> > - Restored gen4 bit definitions
> > - Added new definitions for VLV2
> > - Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
> >   bit defintions
> > - Replaced a lost trailing brace for the added switch()
> > 
> > Signed-off-by: Todd Previte <tprevite@gmail.com>
> 
> I've bikeshedded your patch a bit for more consistency. Wrt the patch
> changelog please don't smash it all into one but keep a separate changelog
> per revision. Otherwise it's not clear what e.g. changed from v3->v4 and
> so no too useful for reviewers when rechecking patches.

Also please add bugzilla links and cc: stable for bugfixes like these into
the sob section of the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

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

end of thread, other threads:[~2014-01-23 10:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-21 16:38 [PATCH] drm/i915: (VLV2) Fix the hotplug detection bits Todd Previte
2014-01-21 17:14 ` Jani Nikula
2014-01-21 17:22 ` [PATCH V2] " Todd Previte
2014-01-21 17:45   ` Daniel Vetter
2014-01-21 18:12     ` Ville Syrjälä
2014-01-21 17:49   ` Jani Nikula
2014-01-23  4:22 ` (no subject) Todd Previte
2014-01-23  4:22   ` [PATCH v3] drm/i915: VLV2 - Fix hotplug detect bits Todd Previte
2014-01-23  6:39     ` Jani Nikula
2014-01-23  6:41     ` Jani Nikula
2014-01-23  7:16       ` Todd Previte
2014-01-23  7:13 ` [PATCH V4] " Todd Previte
2014-01-23  7:13   ` [PATCH V4] drm/i915: " Todd Previte
2014-01-23 10:50     ` Daniel Vetter
2014-01-23 10:52       ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.