All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amdgpu/atom: remove a bunch of unused functions
@ 2016-10-21 19:55 Alex Deucher
       [not found] ` <1477079709-10093-1-git-send-email-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Alex Deucher @ 2016-10-21 19:55 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher

Leftovers from the radeon.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 82 ----------------------------
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 10 ----
 2 files changed, 92 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
index 76cbb1d..56a86dd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
@@ -1115,49 +1115,6 @@ int amdgpu_atombios_get_memory_pll_dividers(struct amdgpu_device *adev,
 	return 0;
 }
 
-uint32_t amdgpu_atombios_get_engine_clock(struct amdgpu_device *adev)
-{
-	GET_ENGINE_CLOCK_PS_ALLOCATION args;
-	int index = GetIndexIntoMasterTable(COMMAND, GetEngineClock);
-
-	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
-	return le32_to_cpu(args.ulReturnEngineClock);
-}
-
-uint32_t amdgpu_atombios_get_memory_clock(struct amdgpu_device *adev)
-{
-	GET_MEMORY_CLOCK_PS_ALLOCATION args;
-	int index = GetIndexIntoMasterTable(COMMAND, GetMemoryClock);
-
-	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
-	return le32_to_cpu(args.ulReturnMemoryClock);
-}
-
-void amdgpu_atombios_set_engine_clock(struct amdgpu_device *adev,
-				      uint32_t eng_clock)
-{
-	SET_ENGINE_CLOCK_PS_ALLOCATION args;
-	int index = GetIndexIntoMasterTable(COMMAND, SetEngineClock);
-
-	args.ulTargetEngineClock = cpu_to_le32(eng_clock);	/* 10 khz */
-
-	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
-}
-
-void amdgpu_atombios_set_memory_clock(struct amdgpu_device *adev,
-				      uint32_t mem_clock)
-{
-	SET_MEMORY_CLOCK_PS_ALLOCATION args;
-	int index = GetIndexIntoMasterTable(COMMAND, SetMemoryClock);
-
-	if (adev->flags & AMD_IS_APU)
-		return;
-
-	args.ulTargetMemoryClock = cpu_to_le32(mem_clock);	/* 10 khz */
-
-	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
-}
-
 void amdgpu_atombios_set_engine_dram_timings(struct amdgpu_device *adev,
 					     u32 eng_clock, u32 mem_clock)
 {
@@ -1256,45 +1213,6 @@ int amdgpu_atombios_get_leakage_vddc_based_on_leakage_idx(struct amdgpu_device *
 	return amdgpu_atombios_get_max_vddc(adev, VOLTAGE_TYPE_VDDC, leakage_idx, voltage);
 }
 
-void amdgpu_atombios_set_voltage(struct amdgpu_device *adev,
-				 u16 voltage_level,
-				 u8 voltage_type)
-{
-	union set_voltage args;
-	int index = GetIndexIntoMasterTable(COMMAND, SetVoltage);
-	u8 frev, crev, volt_index = voltage_level;
-
-	if (!amdgpu_atom_parse_cmd_header(adev->mode_info.atom_context, index, &frev, &crev))
-		return;
-
-	/* 0xff01 is a flag rather then an actual voltage */
-	if (voltage_level == 0xff01)
-		return;
-
-	switch (crev) {
-	case 1:
-		args.v1.ucVoltageType = voltage_type;
-		args.v1.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_ALL_SOURCE;
-		args.v1.ucVoltageIndex = volt_index;
-		break;
-	case 2:
-		args.v2.ucVoltageType = voltage_type;
-		args.v2.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_SET_VOLTAGE;
-		args.v2.usVoltageLevel = cpu_to_le16(voltage_level);
-		break;
-	case 3:
-		args.v3.ucVoltageType = voltage_type;
-		args.v3.ucVoltageMode = ATOM_SET_VOLTAGE;
-		args.v3.usVoltageLevel = cpu_to_le16(voltage_level);
-		break;
-	default:
-		DRM_ERROR("Unknown table version %d, %d\n", frev, crev);
-		return;
-	}
-
-	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
-}
-
 int amdgpu_atombios_get_leakage_id_from_vbios(struct amdgpu_device *adev,
 					      u16 *leakage_id)
 {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
index e4afb16..70e9ace 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
@@ -163,16 +163,6 @@ int amdgpu_atombios_get_memory_pll_dividers(struct amdgpu_device *adev,
 					    bool strobe_mode,
 					    struct atom_mpll_param *mpll_param);
 
-uint32_t amdgpu_atombios_get_engine_clock(struct amdgpu_device *adev);
-uint32_t amdgpu_atombios_get_memory_clock(struct amdgpu_device *adev);
-void amdgpu_atombios_set_engine_clock(struct amdgpu_device *adev,
-				      uint32_t eng_clock);
-void amdgpu_atombios_set_memory_clock(struct amdgpu_device *adev,
-				      uint32_t mem_clock);
-void amdgpu_atombios_set_voltage(struct amdgpu_device *adev,
-				 u16 voltage_level,
-				 u8 voltage_type);
-
 void amdgpu_atombios_set_engine_dram_timings(struct amdgpu_device *adev,
 					     u32 eng_clock, u32 mem_clock);
 
-- 
2.5.5

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* Re: [PATCH] drm/amdgpu/atom: remove a bunch of unused functions
       [not found] ` <1477079709-10093-1-git-send-email-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
@ 2016-10-22  8:06   ` Edward O'Callaghan
       [not found]     ` <77779d91-8ccd-4809-3630-c15bf7c5682d-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Edward O'Callaghan @ 2016-10-22  8:06 UTC (permalink / raw)
  To: Alex Deucher, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher


[-- Attachment #1.1.1: Type: text/plain, Size: 5107 bytes --]

Reviewed-by: Edward O'Callaghan <funfunctor-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>

On 10/22/2016 06:55 AM, Alex Deucher wrote:
> Leftovers from the radeon.
> 
> Signed-off-by: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 82 ----------------------------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 10 ----
>  2 files changed, 92 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
> index 76cbb1d..56a86dd 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
> @@ -1115,49 +1115,6 @@ int amdgpu_atombios_get_memory_pll_dividers(struct amdgpu_device *adev,
>  	return 0;
>  }
>  
> -uint32_t amdgpu_atombios_get_engine_clock(struct amdgpu_device *adev)
> -{
> -	GET_ENGINE_CLOCK_PS_ALLOCATION args;
> -	int index = GetIndexIntoMasterTable(COMMAND, GetEngineClock);
> -
> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
> -	return le32_to_cpu(args.ulReturnEngineClock);
> -}
> -
> -uint32_t amdgpu_atombios_get_memory_clock(struct amdgpu_device *adev)
> -{
> -	GET_MEMORY_CLOCK_PS_ALLOCATION args;
> -	int index = GetIndexIntoMasterTable(COMMAND, GetMemoryClock);
> -
> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
> -	return le32_to_cpu(args.ulReturnMemoryClock);
> -}
> -
> -void amdgpu_atombios_set_engine_clock(struct amdgpu_device *adev,
> -				      uint32_t eng_clock)
> -{
> -	SET_ENGINE_CLOCK_PS_ALLOCATION args;
> -	int index = GetIndexIntoMasterTable(COMMAND, SetEngineClock);
> -
> -	args.ulTargetEngineClock = cpu_to_le32(eng_clock);	/* 10 khz */
> -
> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
> -}
> -
> -void amdgpu_atombios_set_memory_clock(struct amdgpu_device *adev,
> -				      uint32_t mem_clock)
> -{
> -	SET_MEMORY_CLOCK_PS_ALLOCATION args;
> -	int index = GetIndexIntoMasterTable(COMMAND, SetMemoryClock);
> -
> -	if (adev->flags & AMD_IS_APU)
> -		return;
> -
> -	args.ulTargetMemoryClock = cpu_to_le32(mem_clock);	/* 10 khz */
> -
> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
> -}
> -
>  void amdgpu_atombios_set_engine_dram_timings(struct amdgpu_device *adev,
>  					     u32 eng_clock, u32 mem_clock)
>  {
> @@ -1256,45 +1213,6 @@ int amdgpu_atombios_get_leakage_vddc_based_on_leakage_idx(struct amdgpu_device *
>  	return amdgpu_atombios_get_max_vddc(adev, VOLTAGE_TYPE_VDDC, leakage_idx, voltage);
>  }
>  
> -void amdgpu_atombios_set_voltage(struct amdgpu_device *adev,
> -				 u16 voltage_level,
> -				 u8 voltage_type)
> -{
> -	union set_voltage args;
> -	int index = GetIndexIntoMasterTable(COMMAND, SetVoltage);
> -	u8 frev, crev, volt_index = voltage_level;
> -
> -	if (!amdgpu_atom_parse_cmd_header(adev->mode_info.atom_context, index, &frev, &crev))
> -		return;
> -
> -	/* 0xff01 is a flag rather then an actual voltage */
> -	if (voltage_level == 0xff01)
> -		return;
> -
> -	switch (crev) {
> -	case 1:
> -		args.v1.ucVoltageType = voltage_type;
> -		args.v1.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_ALL_SOURCE;
> -		args.v1.ucVoltageIndex = volt_index;
> -		break;
> -	case 2:
> -		args.v2.ucVoltageType = voltage_type;
> -		args.v2.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_SET_VOLTAGE;
> -		args.v2.usVoltageLevel = cpu_to_le16(voltage_level);
> -		break;
> -	case 3:
> -		args.v3.ucVoltageType = voltage_type;
> -		args.v3.ucVoltageMode = ATOM_SET_VOLTAGE;
> -		args.v3.usVoltageLevel = cpu_to_le16(voltage_level);
> -		break;
> -	default:
> -		DRM_ERROR("Unknown table version %d, %d\n", frev, crev);
> -		return;
> -	}
> -
> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
> -}
> -
>  int amdgpu_atombios_get_leakage_id_from_vbios(struct amdgpu_device *adev,
>  					      u16 *leakage_id)
>  {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
> index e4afb16..70e9ace 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
> @@ -163,16 +163,6 @@ int amdgpu_atombios_get_memory_pll_dividers(struct amdgpu_device *adev,
>  					    bool strobe_mode,
>  					    struct atom_mpll_param *mpll_param);
>  
> -uint32_t amdgpu_atombios_get_engine_clock(struct amdgpu_device *adev);
> -uint32_t amdgpu_atombios_get_memory_clock(struct amdgpu_device *adev);
> -void amdgpu_atombios_set_engine_clock(struct amdgpu_device *adev,
> -				      uint32_t eng_clock);
> -void amdgpu_atombios_set_memory_clock(struct amdgpu_device *adev,
> -				      uint32_t mem_clock);
> -void amdgpu_atombios_set_voltage(struct amdgpu_device *adev,
> -				 u16 voltage_level,
> -				 u8 voltage_type);
> -
>  void amdgpu_atombios_set_engine_dram_timings(struct amdgpu_device *adev,
>  					     u32 eng_clock, u32 mem_clock);
>  
> 


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* Re: [PATCH] drm/amdgpu/atom: remove a bunch of unused functions
       [not found]     ` <77779d91-8ccd-4809-3630-c15bf7c5682d-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
@ 2016-10-22 17:48       ` Christian König
  0 siblings, 0 replies; 3+ messages in thread
From: Christian König @ 2016-10-22 17:48 UTC (permalink / raw)
  To: Edward O'Callaghan, Alex Deucher,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Alex Deucher


[-- Attachment #1.1: Type: text/plain, Size: 5452 bytes --]

Reviewed-by: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org>.

Am 22.10.2016 um 10:06 schrieb Edward O'Callaghan:
> Reviewed-by: Edward O'Callaghan <funfunctor-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
>
> On 10/22/2016 06:55 AM, Alex Deucher wrote:
>> Leftovers from the radeon.
>>
>> Signed-off-by: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 82 ----------------------------
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 10 ----
>>   2 files changed, 92 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
>> index 76cbb1d..56a86dd 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
>> @@ -1115,49 +1115,6 @@ int amdgpu_atombios_get_memory_pll_dividers(struct amdgpu_device *adev,
>>   	return 0;
>>   }
>>   
>> -uint32_t amdgpu_atombios_get_engine_clock(struct amdgpu_device *adev)
>> -{
>> -	GET_ENGINE_CLOCK_PS_ALLOCATION args;
>> -	int index = GetIndexIntoMasterTable(COMMAND, GetEngineClock);
>> -
>> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
>> -	return le32_to_cpu(args.ulReturnEngineClock);
>> -}
>> -
>> -uint32_t amdgpu_atombios_get_memory_clock(struct amdgpu_device *adev)
>> -{
>> -	GET_MEMORY_CLOCK_PS_ALLOCATION args;
>> -	int index = GetIndexIntoMasterTable(COMMAND, GetMemoryClock);
>> -
>> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
>> -	return le32_to_cpu(args.ulReturnMemoryClock);
>> -}
>> -
>> -void amdgpu_atombios_set_engine_clock(struct amdgpu_device *adev,
>> -				      uint32_t eng_clock)
>> -{
>> -	SET_ENGINE_CLOCK_PS_ALLOCATION args;
>> -	int index = GetIndexIntoMasterTable(COMMAND, SetEngineClock);
>> -
>> -	args.ulTargetEngineClock = cpu_to_le32(eng_clock);	/* 10 khz */
>> -
>> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
>> -}
>> -
>> -void amdgpu_atombios_set_memory_clock(struct amdgpu_device *adev,
>> -				      uint32_t mem_clock)
>> -{
>> -	SET_MEMORY_CLOCK_PS_ALLOCATION args;
>> -	int index = GetIndexIntoMasterTable(COMMAND, SetMemoryClock);
>> -
>> -	if (adev->flags & AMD_IS_APU)
>> -		return;
>> -
>> -	args.ulTargetMemoryClock = cpu_to_le32(mem_clock);	/* 10 khz */
>> -
>> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
>> -}
>> -
>>   void amdgpu_atombios_set_engine_dram_timings(struct amdgpu_device *adev,
>>   					     u32 eng_clock, u32 mem_clock)
>>   {
>> @@ -1256,45 +1213,6 @@ int amdgpu_atombios_get_leakage_vddc_based_on_leakage_idx(struct amdgpu_device *
>>   	return amdgpu_atombios_get_max_vddc(adev, VOLTAGE_TYPE_VDDC, leakage_idx, voltage);
>>   }
>>   
>> -void amdgpu_atombios_set_voltage(struct amdgpu_device *adev,
>> -				 u16 voltage_level,
>> -				 u8 voltage_type)
>> -{
>> -	union set_voltage args;
>> -	int index = GetIndexIntoMasterTable(COMMAND, SetVoltage);
>> -	u8 frev, crev, volt_index = voltage_level;
>> -
>> -	if (!amdgpu_atom_parse_cmd_header(adev->mode_info.atom_context, index, &frev, &crev))
>> -		return;
>> -
>> -	/* 0xff01 is a flag rather then an actual voltage */
>> -	if (voltage_level == 0xff01)
>> -		return;
>> -
>> -	switch (crev) {
>> -	case 1:
>> -		args.v1.ucVoltageType = voltage_type;
>> -		args.v1.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_ALL_SOURCE;
>> -		args.v1.ucVoltageIndex = volt_index;
>> -		break;
>> -	case 2:
>> -		args.v2.ucVoltageType = voltage_type;
>> -		args.v2.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_SET_VOLTAGE;
>> -		args.v2.usVoltageLevel = cpu_to_le16(voltage_level);
>> -		break;
>> -	case 3:
>> -		args.v3.ucVoltageType = voltage_type;
>> -		args.v3.ucVoltageMode = ATOM_SET_VOLTAGE;
>> -		args.v3.usVoltageLevel = cpu_to_le16(voltage_level);
>> -		break;
>> -	default:
>> -		DRM_ERROR("Unknown table version %d, %d\n", frev, crev);
>> -		return;
>> -	}
>> -
>> -	amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args);
>> -}
>> -
>>   int amdgpu_atombios_get_leakage_id_from_vbios(struct amdgpu_device *adev,
>>   					      u16 *leakage_id)
>>   {
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
>> index e4afb16..70e9ace 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
>> @@ -163,16 +163,6 @@ int amdgpu_atombios_get_memory_pll_dividers(struct amdgpu_device *adev,
>>   					    bool strobe_mode,
>>   					    struct atom_mpll_param *mpll_param);
>>   
>> -uint32_t amdgpu_atombios_get_engine_clock(struct amdgpu_device *adev);
>> -uint32_t amdgpu_atombios_get_memory_clock(struct amdgpu_device *adev);
>> -void amdgpu_atombios_set_engine_clock(struct amdgpu_device *adev,
>> -				      uint32_t eng_clock);
>> -void amdgpu_atombios_set_memory_clock(struct amdgpu_device *adev,
>> -				      uint32_t mem_clock);
>> -void amdgpu_atombios_set_voltage(struct amdgpu_device *adev,
>> -				 u16 voltage_level,
>> -				 u8 voltage_type);
>> -
>>   void amdgpu_atombios_set_engine_dram_timings(struct amdgpu_device *adev,
>>   					     u32 eng_clock, u32 mem_clock);
>>   
>>
>
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



[-- Attachment #1.2: Type: text/html, Size: 6241 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

end of thread, other threads:[~2016-10-22 17:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-21 19:55 [PATCH] drm/amdgpu/atom: remove a bunch of unused functions Alex Deucher
     [not found] ` <1477079709-10093-1-git-send-email-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
2016-10-22  8:06   ` Edward O'Callaghan
     [not found]     ` <77779d91-8ccd-4809-3630-c15bf7c5682d-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
2016-10-22 17:48       ` Christian König

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.