All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Claudio Suarez <cssk@net-c.es>
Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-tegra@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Pan Xinhui" <Xinhui.Pan@amd.com>,
	"Emma Anholt" <emma@anholt.net>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Patrik Jakobsson" <patrik.r.jakobsson@gmail.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Rob Clark" <robdclark@gmail.com>, "Sean Paul" <sean@poorly.run>,
	linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Sandy Huang" <hjc@rock-chips.com>,
	heiko@sntech.de, "Neil Armstrong" <narmstrong@baylibre.com>,
	"Robert Foss" <robert.foss@linaro.org>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	nouveau@lists.freedesktop.org
Subject: Re: [PATCH v2 01/13] gpu/drm: make drm_add_edid_modes() consistent when updating connector->display_info
Date: Tue, 19 Oct 2021 21:35:08 +0300	[thread overview]
Message-ID: <YW8P3GPGezUhoBcW@intel.com> (raw)
In-Reply-To: <20211016184226.3862-2-cssk@net-c.es>

On Sat, Oct 16, 2021 at 08:42:14PM +0200, Claudio Suarez wrote:
> According to the documentation, drm_add_edid_modes
> "... Also fills out the &drm_display_info structure and ELD in @connector
> with any information which can be derived from the edid."
> 
> drm_add_edid_modes accepts a struct edid *edid parameter which may have a
> value or may be null. When it is not null, connector->display_info and
> connector->eld are updated according to the edid. When edid=NULL, only
> connector->eld is reset. Reset connector->display_info to be consistent
> and accurate.
> 
> Signed-off-by: Claudio Suarez <cssk@net-c.es>
> ---
>  drivers/gpu/drm/drm_edid.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 6325877c5fd6..c643db17782c 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5356,14 +5356,13 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
>  	int num_modes = 0;
>  	u32 quirks;
>  
> -	if (edid == NULL) {
> -		clear_eld(connector);
> -		return 0;
> -	}
>  	if (!drm_edid_is_valid(edid)) {

OK, so drm_edid_is_valid() will happily accept NULL and considers
it invalid. You may want to mention that explicitly in the commit
message.

> +		/* edid == NULL or invalid here */
>  		clear_eld(connector);
> -		drm_warn(connector->dev, "%s: EDID invalid.\n",
> -			 connector->name);
> +		drm_reset_display_info(connector);
> +		if (edid)
> +			drm_warn(connector->dev, "%s: EDID invalid.\n",
> +				 connector->name);

Could you respin this to use the standard [CONNECTOR:%d:%s] form
while at it? Or I guess a patch to mass convert the whole drm_edid.c
might be another option.

Patch looks good.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>


>  		return 0;
>  	}
>  
> -- 
> 2.33.0
> 
> 

-- 
Ville Syrjälä
Intel

WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Claudio Suarez <cssk@net-c.es>
Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-tegra@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Pan Xinhui" <Xinhui.Pan@amd.com>,
	"Emma Anholt" <emma@anholt.net>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Patrik Jakobsson" <patrik.r.jakobsson@gmail.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Rob Clark" <robdclark@gmail.com>, "Sean Paul" <sean@poorly.run>,
	linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Sandy Huang" <hjc@rock-chips.com>,
	heiko@sntech.de, "Neil Armstrong" <narmstrong@baylibre.com>,
	"Robert Foss" <robert.foss@linaro.org>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	nouveau@lists.freedesktop.org
Subject: Re: [Nouveau] [PATCH v2 01/13] gpu/drm: make drm_add_edid_modes() consistent when updating connector->display_info
Date: Tue, 19 Oct 2021 21:35:08 +0300	[thread overview]
Message-ID: <YW8P3GPGezUhoBcW@intel.com> (raw)
In-Reply-To: <20211016184226.3862-2-cssk@net-c.es>

On Sat, Oct 16, 2021 at 08:42:14PM +0200, Claudio Suarez wrote:
> According to the documentation, drm_add_edid_modes
> "... Also fills out the &drm_display_info structure and ELD in @connector
> with any information which can be derived from the edid."
> 
> drm_add_edid_modes accepts a struct edid *edid parameter which may have a
> value or may be null. When it is not null, connector->display_info and
> connector->eld are updated according to the edid. When edid=NULL, only
> connector->eld is reset. Reset connector->display_info to be consistent
> and accurate.
> 
> Signed-off-by: Claudio Suarez <cssk@net-c.es>
> ---
>  drivers/gpu/drm/drm_edid.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 6325877c5fd6..c643db17782c 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5356,14 +5356,13 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
>  	int num_modes = 0;
>  	u32 quirks;
>  
> -	if (edid == NULL) {
> -		clear_eld(connector);
> -		return 0;
> -	}
>  	if (!drm_edid_is_valid(edid)) {

OK, so drm_edid_is_valid() will happily accept NULL and considers
it invalid. You may want to mention that explicitly in the commit
message.

> +		/* edid == NULL or invalid here */
>  		clear_eld(connector);
> -		drm_warn(connector->dev, "%s: EDID invalid.\n",
> -			 connector->name);
> +		drm_reset_display_info(connector);
> +		if (edid)
> +			drm_warn(connector->dev, "%s: EDID invalid.\n",
> +				 connector->name);

Could you respin this to use the standard [CONNECTOR:%d:%s] form
while at it? Or I guess a patch to mass convert the whole drm_edid.c
might be another option.

Patch looks good.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>


>  		return 0;
>  	}
>  
> -- 
> 2.33.0
> 
> 

-- 
Ville Syrjälä
Intel

WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Claudio Suarez <cssk@net-c.es>
Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-tegra@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Pan Xinhui" <Xinhui.Pan@amd.com>,
	"Emma Anholt" <emma@anholt.net>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Patrik Jakobsson" <patrik.r.jakobsson@gmail.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Rob Clark" <robdclark@gmail.com>, "Sean Paul" <sean@poorly.run>,
	linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Sandy Huang" <hjc@rock-chips.com>,
	heiko@sntech.de, "Neil Armstrong" <narmstrong@baylibre.com>,
	"Robert Foss" <robert.foss@linaro.org>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	nouveau@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2 01/13] gpu/drm: make drm_add_edid_modes() consistent when updating connector->display_info
Date: Tue, 19 Oct 2021 21:35:08 +0300	[thread overview]
Message-ID: <YW8P3GPGezUhoBcW@intel.com> (raw)
In-Reply-To: <20211016184226.3862-2-cssk@net-c.es>

On Sat, Oct 16, 2021 at 08:42:14PM +0200, Claudio Suarez wrote:
> According to the documentation, drm_add_edid_modes
> "... Also fills out the &drm_display_info structure and ELD in @connector
> with any information which can be derived from the edid."
> 
> drm_add_edid_modes accepts a struct edid *edid parameter which may have a
> value or may be null. When it is not null, connector->display_info and
> connector->eld are updated according to the edid. When edid=NULL, only
> connector->eld is reset. Reset connector->display_info to be consistent
> and accurate.
> 
> Signed-off-by: Claudio Suarez <cssk@net-c.es>
> ---
>  drivers/gpu/drm/drm_edid.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 6325877c5fd6..c643db17782c 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5356,14 +5356,13 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
>  	int num_modes = 0;
>  	u32 quirks;
>  
> -	if (edid == NULL) {
> -		clear_eld(connector);
> -		return 0;
> -	}
>  	if (!drm_edid_is_valid(edid)) {

OK, so drm_edid_is_valid() will happily accept NULL and considers
it invalid. You may want to mention that explicitly in the commit
message.

> +		/* edid == NULL or invalid here */
>  		clear_eld(connector);
> -		drm_warn(connector->dev, "%s: EDID invalid.\n",
> -			 connector->name);
> +		drm_reset_display_info(connector);
> +		if (edid)
> +			drm_warn(connector->dev, "%s: EDID invalid.\n",
> +				 connector->name);

Could you respin this to use the standard [CONNECTOR:%d:%s] form
while at it? Or I guess a patch to mass convert the whole drm_edid.c
might be another option.

Patch looks good.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>


>  		return 0;
>  	}
>  
> -- 
> 2.33.0
> 
> 

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2021-10-19 18:35 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-16 18:42 [PATCH v2 00/13] replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi Claudio Suarez
2021-10-16 18:42 ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42 ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 01/13] gpu/drm: make drm_add_edid_modes() consistent when updating connector->display_info Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-19 18:35   ` Ville Syrjälä [this message]
2021-10-19 18:35     ` [Intel-gfx] " Ville Syrjälä
2021-10-19 18:35     ` [Nouveau] " Ville Syrjälä
2021-10-19 22:40     ` Claudio Suarez
2021-10-19 22:40       ` [Intel-gfx] " Claudio Suarez
2021-10-19 22:40       ` [Nouveau] " Claudio Suarez
2021-10-19 22:49     ` [PATCH v3 " Claudio Suarez
2021-10-19 22:49       ` [Intel-gfx] " Claudio Suarez
2021-10-19 22:49       ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 02/13] drm/vc4: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 03/13] drm/radeon: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 04/13] drm/tegra: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 05/13] drm/gma500: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 06/13] drm/exynos: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-26 22:28   ` Inki Dae
2021-10-26 22:28     ` [Intel-gfx] " Inki Dae
2021-10-26 22:28     ` [Nouveau] " Inki Dae
2021-10-26 23:13     ` Inki Dae
2021-11-02 12:34     ` Claudio Suarez
2021-11-02 12:34       ` Claudio Suarez
2021-11-02 12:34       ` [Intel-gfx] " Claudio Suarez
2021-11-02 12:34       ` Claudio Suarez
2021-11-02 12:34       ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 07/13] drm/msm: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-11-25 13:26   ` Dmitry Baryshkov
2021-11-25 13:26     ` [Intel-gfx] " Dmitry Baryshkov
2021-11-25 13:26     ` [Nouveau] " Dmitry Baryshkov
2021-10-16 18:42 ` [PATCH v2 08/13] drm/sun4i: " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 09/13] drm/sti: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 10/13] drm/rockchip: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 11/13] drm/bridge: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 12/13] drm/nouveau: " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42 ` [PATCH v2 13/13] drm/i915: " Claudio Suarez
2021-10-16 18:42   ` [Intel-gfx] " Claudio Suarez
2021-10-16 18:42   ` [Nouveau] " Claudio Suarez
2021-10-19 18:37   ` Ville Syrjälä
2021-10-19 18:37     ` [Intel-gfx] " Ville Syrjälä
2021-10-19 18:37     ` [Nouveau] " Ville Syrjälä
2021-10-19 22:51     ` [PATCH v3 " Claudio Suarez
2021-10-19 22:51       ` [Intel-gfx] " Claudio Suarez
2021-10-19 22:51       ` [Nouveau] " Claudio Suarez
2021-10-21 13:49       ` Ville Syrjälä
2021-10-21 13:49         ` [Intel-gfx] " Ville Syrjälä
2021-10-21 13:49         ` [Nouveau] " Ville Syrjälä
2021-10-22 10:25         ` Claudio Suarez
2021-10-22 10:25           ` [Intel-gfx] " Claudio Suarez
2021-10-22 10:25           ` [Nouveau] " Claudio Suarez
2021-10-22 12:01           ` Ville Syrjälä
2021-10-22 12:01             ` [Intel-gfx] " Ville Syrjälä
2021-10-22 12:01             ` [Nouveau] " Ville Syrjälä
2021-10-22 12:22             ` [Intel-gfx] " Ville Syrjälä
2021-10-22 12:22               ` [Nouveau] " Ville Syrjälä
2021-10-24 22:17               ` Claudio Suarez
2021-10-24 22:17                 ` [Nouveau] " Claudio Suarez
2021-11-02 12:56                 ` Claudio Suarez
2021-11-02 12:56                   ` Claudio Suarez
2021-11-02 12:56                   ` [Intel-gfx] " Claudio Suarez
2021-11-02 12:56                   ` Claudio Suarez
2021-11-02 12:56                   ` [Nouveau] " Claudio Suarez
2021-11-02 13:00                 ` [PATCH v4 " Claudio Suarez
2021-11-02 13:00                   ` Claudio Suarez
2021-11-02 13:00                   ` [Intel-gfx] " Claudio Suarez
2021-11-02 13:00                   ` Claudio Suarez
2021-11-02 13:00                   ` [Nouveau] " Claudio Suarez
2021-10-16 19:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi (rev2) Patchwork
2021-10-16 20:07 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-10-16 21:24 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-10-17 15:24 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi (rev3) Patchwork
2021-10-17 15:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-10-17 17:11 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-10-18  9:04   ` Claudio Suarez
2021-10-19 18:29     ` Ville Syrjälä
2021-10-19 23:15 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi (rev5) Patchwork
2021-10-19 23:46 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-10-20  4:20 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-10-20 15:41 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork
2021-11-02 14:25 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi (rev6) Patchwork
2021-11-02 14:57 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-11-02 17:53 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YW8P3GPGezUhoBcW@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=Xinhui.Pan@amd.com \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=cssk@net-c.es \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emma@anholt.net \
    --cc=freedreno@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jingoohan1@gmail.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mripard@kernel.org \
    --cc=narmstrong@baylibre.com \
    --cc=nouveau@lists.freedesktop.org \
    --cc=patrik.r.jakobsson@gmail.com \
    --cc=robdclark@gmail.com \
    --cc=robert.foss@linaro.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=sean@poorly.run \
    --cc=thierry.reding@gmail.com \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.