* [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13
@ 2026-03-04 2:48 Yang Wang
2026-03-04 2:48 ` [PATCH 2/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v14 Yang Wang
2026-03-04 3:04 ` [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 Alex Deucher
0 siblings, 2 replies; 5+ messages in thread
From: Yang Wang @ 2026-03-04 2:48 UTC (permalink / raw)
To: amd-gfx; +Cc: alexander.deucher, hawking.zhang, kenneth.feng
add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13.0.0/13.0.7
Fixes: cfffd980bf21 ("drm/amd/pm: add zero RPM OD setting support for SMU13")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/5018
Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
---
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 3 ++-
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
index 35d36f2fe7dd..0a7307f5eb4c 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
@@ -2223,7 +2223,8 @@ static int smu_v13_0_0_restore_user_od_settings(struct smu_context *smu)
user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
BIT(PP_OD_FEATURE_UCLK_BIT) |
BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
- BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
+ BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
+ BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
res = smu_v13_0_0_upload_overdrive_table(smu, user_od_table);
user_od_table->OverDriveTable.FeatureCtrlMask = 0;
if (res == 0)
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
index 4f729f54a64c..fa23f3d4a3fd 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
@@ -2225,7 +2225,8 @@ static int smu_v13_0_7_restore_user_od_settings(struct smu_context *smu)
user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
BIT(PP_OD_FEATURE_UCLK_BIT) |
BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
- BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
+ BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
+ BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
res = smu_v13_0_7_upload_overdrive_table(smu, user_od_table);
user_od_table->OverDriveTable.FeatureCtrlMask = 0;
if (res == 0)
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v14
2026-03-04 2:48 [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 Yang Wang
@ 2026-03-04 2:48 ` Yang Wang
2026-03-04 3:04 ` [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 Alex Deucher
1 sibling, 0 replies; 5+ messages in thread
From: Yang Wang @ 2026-03-04 2:48 UTC (permalink / raw)
To: amd-gfx; +Cc: alexander.deucher, hawking.zhang, kenneth.feng
add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v14.0.2/14.0.3
Fixes: 9710b84e2a6a ("drm/amd/pm: add overdrive support on smu v14.0.2/3")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/5018
Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
---
drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
index becfd356b4e7..23a143b36fd0 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
@@ -2312,7 +2312,8 @@ static int smu_v14_0_2_restore_user_od_settings(struct smu_context *smu)
user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
BIT(PP_OD_FEATURE_UCLK_BIT) |
BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
- BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
+ BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
+ BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
res = smu_v14_0_2_upload_overdrive_table(smu, user_od_table);
user_od_table->OverDriveTable.FeatureCtrlMask = 0;
if (res == 0)
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13
2026-03-04 2:48 [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 Yang Wang
2026-03-04 2:48 ` [PATCH 2/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v14 Yang Wang
@ 2026-03-04 3:04 ` Alex Deucher
2026-03-04 6:14 ` Wang, Yang(Kevin)
1 sibling, 1 reply; 5+ messages in thread
From: Alex Deucher @ 2026-03-04 3:04 UTC (permalink / raw)
To: Yang Wang; +Cc: amd-gfx, alexander.deucher, hawking.zhang, kenneth.feng
On Tue, Mar 3, 2026 at 9:48 PM Yang Wang <kevinyang.wang@amd.com> wrote:
>
> add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13.0.0/13.0.7
>
> Fixes: cfffd980bf21 ("drm/amd/pm: add zero RPM OD setting support for SMU13")
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/5018
>
> Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
> ---
> drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 3 ++-
> drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> index 35d36f2fe7dd..0a7307f5eb4c 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> @@ -2223,7 +2223,8 @@ static int smu_v13_0_0_restore_user_od_settings(struct smu_context *smu)
> user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
> BIT(PP_OD_FEATURE_UCLK_BIT) |
> BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
> - BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
> + BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
> + BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
Is it ok to always set these, or should they only be restored based on
the user's settings? Same question for the existing feature bits.
Alex
> res = smu_v13_0_0_upload_overdrive_table(smu, user_od_table);
> user_od_table->OverDriveTable.FeatureCtrlMask = 0;
> if (res == 0)
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> index 4f729f54a64c..fa23f3d4a3fd 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> @@ -2225,7 +2225,8 @@ static int smu_v13_0_7_restore_user_od_settings(struct smu_context *smu)
> user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
> BIT(PP_OD_FEATURE_UCLK_BIT) |
> BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
> - BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
> + BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
> + BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
> res = smu_v13_0_7_upload_overdrive_table(smu, user_od_table);
> user_od_table->OverDriveTable.FeatureCtrlMask = 0;
> if (res == 0)
> --
> 2.47.3
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13
2026-03-04 3:04 ` [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 Alex Deucher
@ 2026-03-04 6:14 ` Wang, Yang(Kevin)
2026-03-04 14:51 ` Alex Deucher
0 siblings, 1 reply; 5+ messages in thread
From: Wang, Yang(Kevin) @ 2026-03-04 6:14 UTC (permalink / raw)
To: Alex Deucher
Cc: amd-gfx@lists.freedesktop.org, Deucher, Alexander,
Zhang, Hawking, Feng, Kenneth
[AMD Official Use Only - AMD Internal Distribution Only]
>> Is it ok to always set these, or should they only be restored based on the user's settings? Same question for the existing feature bits.
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c#L1871
/*
* The member below instructs PMFW the settings focused in
* this single operation.
* `uint32_t FeatureCtrlMask;`
* It does not contain actual informations about user's custom
* settings. Thus we do not cache it.
*/
Please check above code comments first.
And according to the current PMFW/OD feature design, all OD feature switch is not located in 'FeatureCtrlMask'.
If a certain bit is not set, PMFW will overwrite the values in OD using either the default values in 'Default OverDriverTable built-in PMFW' or the PPTable values.
and all OD actual information data has been saved in the 'user_od_table' structure before entering S3.
Therefore, the Driver can safely configure these OD BITMASK directly without additional checks in od restore stage.
Best Regards,
Kevin
-----Original Message-----
From: Alex Deucher <alexdeucher@gmail.com>
Sent: Wednesday, March 4, 2026 11:05 AM
To: Wang, Yang(Kevin) <KevinYang.Wang@amd.com>
Cc: amd-gfx@lists.freedesktop.org; Deucher, Alexander <Alexander.Deucher@amd.com>; Zhang, Hawking <Hawking.Zhang@amd.com>; Feng, Kenneth <Kenneth.Feng@amd.com>
Subject: Re: [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13
On Tue, Mar 3, 2026 at 9:48 PM Yang Wang <kevinyang.wang@amd.com> wrote:
>
> add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu
> v13.0.0/13.0.7
>
> Fixes: cfffd980bf21 ("drm/amd/pm: add zero RPM OD setting support for
> SMU13")
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/5018
>
> Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
> ---
> drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 3 ++-
> drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> index 35d36f2fe7dd..0a7307f5eb4c 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> @@ -2223,7 +2223,8 @@ static int smu_v13_0_0_restore_user_od_settings(struct smu_context *smu)
> user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
> BIT(PP_OD_FEATURE_UCLK_BIT) |
> BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
> - BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
> + BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
> +
> + BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
Is it ok to always set these, or should they only be restored based on the user's settings? Same question for the existing feature bits.
Alex
> res = smu_v13_0_0_upload_overdrive_table(smu, user_od_table);
> user_od_table->OverDriveTable.FeatureCtrlMask = 0;
> if (res == 0)
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> index 4f729f54a64c..fa23f3d4a3fd 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> @@ -2225,7 +2225,8 @@ static int smu_v13_0_7_restore_user_od_settings(struct smu_context *smu)
> user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
> BIT(PP_OD_FEATURE_UCLK_BIT) |
> BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
> - BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
> + BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
> +
> + BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
> res = smu_v13_0_7_upload_overdrive_table(smu, user_od_table);
> user_od_table->OverDriveTable.FeatureCtrlMask = 0;
> if (res == 0)
> --
> 2.47.3
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13
2026-03-04 6:14 ` Wang, Yang(Kevin)
@ 2026-03-04 14:51 ` Alex Deucher
0 siblings, 0 replies; 5+ messages in thread
From: Alex Deucher @ 2026-03-04 14:51 UTC (permalink / raw)
To: Wang, Yang(Kevin)
Cc: amd-gfx@lists.freedesktop.org, Deucher, Alexander, Zhang, Hawking,
Feng, Kenneth
On Wed, Mar 4, 2026 at 1:14 AM Wang, Yang(Kevin) <KevinYang.Wang@amd.com> wrote:
>
> [AMD Official Use Only - AMD Internal Distribution Only]
>
> >> Is it ok to always set these, or should they only be restored based on the user's settings? Same question for the existing feature bits.
> https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c#L1871
> /*
> * The member below instructs PMFW the settings focused in
> * this single operation.
> * `uint32_t FeatureCtrlMask;`
> * It does not contain actual informations about user's custom
> * settings. Thus we do not cache it.
> */
> Please check above code comments first.
> And according to the current PMFW/OD feature design, all OD feature switch is not located in 'FeatureCtrlMask'.
> If a certain bit is not set, PMFW will overwrite the values in OD using either the default values in 'Default OverDriverTable built-in PMFW' or the PPTable values.
> and all OD actual information data has been saved in the 'user_od_table' structure before entering S3.
> Therefore, the Driver can safely configure these OD BITMASK directly without additional checks in od restore stage.
Thanks for clarifying. The patches are:
Acked-by: Alex Deucher <alexander.deucher@amd.com>
>
> Best Regards,
> Kevin
>
> -----Original Message-----
> From: Alex Deucher <alexdeucher@gmail.com>
> Sent: Wednesday, March 4, 2026 11:05 AM
> To: Wang, Yang(Kevin) <KevinYang.Wang@amd.com>
> Cc: amd-gfx@lists.freedesktop.org; Deucher, Alexander <Alexander.Deucher@amd.com>; Zhang, Hawking <Hawking.Zhang@amd.com>; Feng, Kenneth <Kenneth.Feng@amd.com>
> Subject: Re: [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13
>
> On Tue, Mar 3, 2026 at 9:48 PM Yang Wang <kevinyang.wang@amd.com> wrote:
> >
> > add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu
> > v13.0.0/13.0.7
> >
> > Fixes: cfffd980bf21 ("drm/amd/pm: add zero RPM OD setting support for
> > SMU13")
> > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/5018
> >
> > Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
> > ---
> > drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 3 ++-
> > drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 3 ++-
> > 2 files changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> > b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> > index 35d36f2fe7dd..0a7307f5eb4c 100644
> > --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> > @@ -2223,7 +2223,8 @@ static int smu_v13_0_0_restore_user_od_settings(struct smu_context *smu)
> > user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
> > BIT(PP_OD_FEATURE_UCLK_BIT) |
> > BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
> > - BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
> > + BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
> > +
> > + BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
>
> Is it ok to always set these, or should they only be restored based on the user's settings? Same question for the existing feature bits.
>
> Alex
>
> > res = smu_v13_0_0_upload_overdrive_table(smu, user_od_table);
> > user_od_table->OverDriveTable.FeatureCtrlMask = 0;
> > if (res == 0)
> > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> > b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> > index 4f729f54a64c..fa23f3d4a3fd 100644
> > --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> > @@ -2225,7 +2225,8 @@ static int smu_v13_0_7_restore_user_od_settings(struct smu_context *smu)
> > user_od_table->OverDriveTable.FeatureCtrlMask = BIT(PP_OD_FEATURE_GFXCLK_BIT) |
> > BIT(PP_OD_FEATURE_UCLK_BIT) |
> > BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) |
> > - BIT(PP_OD_FEATURE_FAN_CURVE_BIT);
> > + BIT(PP_OD_FEATURE_FAN_CURVE_BIT) |
> > +
> > + BIT(PP_OD_FEATURE_ZERO_FAN_BIT);
> > res = smu_v13_0_7_upload_overdrive_table(smu, user_od_table);
> > user_od_table->OverDriveTable.FeatureCtrlMask = 0;
> > if (res == 0)
> > --
> > 2.47.3
> >
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-03-04 14:51 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-04 2:48 [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 Yang Wang
2026-03-04 2:48 ` [PATCH 2/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v14 Yang Wang
2026-03-04 3:04 ` [PATCH 1/2] drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 Alex Deucher
2026-03-04 6:14 ` Wang, Yang(Kevin)
2026-03-04 14:51 ` Alex Deucher
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.