* [PATCH 0/7] Fixes to amd_sfh
@ 2023-04-11 16:10 Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 1/7] HID: amd_sfh: Correct the structure fields Basavaraj Natikar
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
Changes include correcting structure fields, illuminance values,
shutdown PM operations, stop all command, increasing sensor
command timeout and no sensor condition.
Basavaraj Natikar (7):
HID: amd_sfh: Correct the structure fields
HID: amd_sfh: Correct the sensor enable and disable command
HID: amd_sfh: Fix illuminance value
HID: amd_sfh: Add support for shutdown operation
HID: amd_sfh: Correct the stop all command
HID: amd_sfh: Increase sensor command timeout for SFH1.1
HID: amd_sfh: Handle "no sensors" enabled for SFH1.1
drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 9 +++++++++
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c | 2 +-
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c | 11 +++++++++++
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c | 10 +++++++---
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h | 8 ++++----
5 files changed, 32 insertions(+), 8 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/7] HID: amd_sfh: Correct the structure fields
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
@ 2023-04-11 16:10 ` Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 2/7] HID: amd_sfh: Correct the sensor enable and disable command Basavaraj Natikar
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
Misinterpreted sfh_cmd_base structure member fields. Therefore, adjust
the structure member fields accordingly to reflect functionality.
Fixes: 93ce5e0231d7 ("HID: amd_sfh: Implement SFH1.1 functionality")
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
---
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
index ae47a369dc05..a3e0ec289e3f 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
@@ -33,9 +33,9 @@ struct sfh_cmd_base {
struct {
u32 sensor_id : 4;
u32 cmd_id : 4;
- u32 sub_cmd_id : 6;
- u32 length : 12;
- u32 rsvd : 5;
+ u32 sub_cmd_id : 8;
+ u32 sub_cmd_value : 12;
+ u32 rsvd : 3;
u32 intr_disable : 1;
} cmd;
};
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/7] HID: amd_sfh: Correct the sensor enable and disable command
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 1/7] HID: amd_sfh: Correct the structure fields Basavaraj Natikar
@ 2023-04-11 16:10 ` Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 3/7] HID: amd_sfh: Fix illuminance value Basavaraj Natikar
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
In order to start or stop sensors, the firmware command needs to be
changed to add an additional default subcommand value. For this reason,
add a subcommand value to enable or disable sensors accordingly.
Fixes: 93ce5e0231d7 ("HID: amd_sfh: Implement SFH1.1 functionality")
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
---
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
index c6df959ec725..6e19ccc12450 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
@@ -33,6 +33,7 @@ static void amd_start_sensor(struct amd_mp2_dev *privdata, struct amd_mp2_sensor
cmd_base.ul = 0;
cmd_base.cmd.cmd_id = ENABLE_SENSOR;
cmd_base.cmd.intr_disable = 0;
+ cmd_base.cmd.sub_cmd_value = 1;
cmd_base.cmd.sensor_id = info.sensor_idx;
writel(cmd_base.ul, privdata->mmio + AMD_C2P_MSG(0));
@@ -45,6 +46,7 @@ static void amd_stop_sensor(struct amd_mp2_dev *privdata, u16 sensor_idx)
cmd_base.ul = 0;
cmd_base.cmd.cmd_id = DISABLE_SENSOR;
cmd_base.cmd.intr_disable = 0;
+ cmd_base.cmd.sub_cmd_value = 1;
cmd_base.cmd.sensor_id = sensor_idx;
writeq(0x0, privdata->mmio + AMD_C2P_MSG(1));
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/7] HID: amd_sfh: Fix illuminance value
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 1/7] HID: amd_sfh: Correct the structure fields Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 2/7] HID: amd_sfh: Correct the sensor enable and disable command Basavaraj Natikar
@ 2023-04-11 16:10 ` Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 4/7] HID: amd_sfh: Add support for shutdown operation Basavaraj Natikar
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
Illuminance value is actually 32 bits, but is incorrectly trancated to
16 bits. Hence convert to integer illuminace accordingly to reflect
correct values.
Fixes: 93ce5e0231d7 ("HID: amd_sfh: Implement SFH1.1 functionality")
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
---
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c | 2 +-
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c
index 0609fea581c9..6f0d332ccf51 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c
@@ -218,7 +218,7 @@ static u8 get_input_rep(u8 current_index, int sensor_idx, int report_id,
OFFSET_SENSOR_DATA_DEFAULT;
memcpy_fromio(&als_data, sensoraddr, sizeof(struct sfh_als_data));
get_common_inputs(&als_input.common_property, report_id);
- als_input.illuminance_value = als_data.lux;
+ als_input.illuminance_value = float_to_int(als_data.lux);
report_size = sizeof(als_input);
memcpy(input_report, &als_input, sizeof(als_input));
break;
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
index a3e0ec289e3f..9d31d5b510eb 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
@@ -133,7 +133,7 @@ struct sfh_mag_data {
struct sfh_als_data {
struct sfh_common_data commondata;
- u16 lux;
+ u32 lux;
};
struct hpd_status {
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/7] HID: amd_sfh: Add support for shutdown operation
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
` (2 preceding siblings ...)
2023-04-11 16:10 ` [PATCH 3/7] HID: amd_sfh: Fix illuminance value Basavaraj Natikar
@ 2023-04-11 16:10 ` Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 5/7] HID: amd_sfh: Correct the stop all command Basavaraj Natikar
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
As soon as the system is booted after shutdown, the sensors may remain in
a weird state and fail to initialize. Therefore, all sensors should be
turned off during shutdown.
Fixes: 4f567b9f8141 ("SFH: PCIe driver to add support of AMD sensor fusion hub")
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
---
drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
index 47774b9ab3de..c936d6a51c0c 100644
--- a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
+++ b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
@@ -367,6 +367,14 @@ static int amd_mp2_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i
return devm_add_action_or_reset(&pdev->dev, privdata->mp2_ops->remove, privdata);
}
+static void amd_sfh_shutdown(struct pci_dev *pdev)
+{
+ struct amd_mp2_dev *mp2 = pci_get_drvdata(pdev);
+
+ if (mp2 && mp2->mp2_ops)
+ mp2->mp2_ops->stop_all(mp2);
+}
+
static int __maybe_unused amd_mp2_pci_resume(struct device *dev)
{
struct amd_mp2_dev *mp2 = dev_get_drvdata(dev);
@@ -401,6 +409,7 @@ static struct pci_driver amd_mp2_pci_driver = {
.id_table = amd_mp2_pci_tbl,
.probe = amd_mp2_pci_probe,
.driver.pm = &amd_mp2_pm_ops,
+ .shutdown = amd_sfh_shutdown,
};
module_pci_driver(amd_mp2_pci_driver);
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 5/7] HID: amd_sfh: Correct the stop all command
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
` (3 preceding siblings ...)
2023-04-11 16:10 ` [PATCH 4/7] HID: amd_sfh: Add support for shutdown operation Basavaraj Natikar
@ 2023-04-11 16:10 ` Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 6/7] HID: amd_sfh: Increase sensor command timeout for SFH1.1 Basavaraj Natikar
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
Misinterpreted the stop all command in SHF1.1 firmware. Therefore, it is
necessary to update the stop all command accordingly to disable all
sensors.
Fixes: 93ce5e0231d7 ("HID: amd_sfh: Implement SFH1.1 functionality")
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
---
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
index 6e19ccc12450..6f6047f7f12e 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
@@ -58,8 +58,10 @@ static void amd_stop_all_sensor(struct amd_mp2_dev *privdata)
struct sfh_cmd_base cmd_base;
cmd_base.ul = 0;
- cmd_base.cmd.cmd_id = STOP_ALL_SENSORS;
+ cmd_base.cmd.cmd_id = DISABLE_SENSOR;
cmd_base.cmd.intr_disable = 0;
+ /* 0xf indicates all sensors */
+ cmd_base.cmd.sensor_id = 0xf;
writel(cmd_base.ul, privdata->mmio + AMD_C2P_MSG(0));
}
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 6/7] HID: amd_sfh: Increase sensor command timeout for SFH1.1
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
` (4 preceding siblings ...)
2023-04-11 16:10 ` [PATCH 5/7] HID: amd_sfh: Correct the stop all command Basavaraj Natikar
@ 2023-04-11 16:10 ` Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 7/7] HID: amd_sfh: Handle "no sensors" enabled " Basavaraj Natikar
2023-04-13 13:56 ` [PATCH 0/7] Fixes to amd_sfh Jiri Kosina
7 siblings, 0 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
The initialization of SFH1.1 sensors may take some time. Hence, increase
sensor command timeouts in order to obtain status responses within a
maximum timeout.
Fixes: 93ce5e0231d7 ("HID: amd_sfh: Implement SFH1.1 functionality")
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
---
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
index 6f6047f7f12e..4f81ef2d4f56 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c
@@ -16,11 +16,11 @@ static int amd_sfh_wait_response(struct amd_mp2_dev *mp2, u8 sid, u32 cmd_id)
{
struct sfh_cmd_response cmd_resp;
- /* Get response with status within a max of 1600 ms timeout */
+ /* Get response with status within a max of 10000 ms timeout */
if (!readl_poll_timeout(mp2->mmio + AMD_P2C_MSG(0), cmd_resp.resp,
(cmd_resp.response.response == 0 &&
cmd_resp.response.cmd_id == cmd_id && (sid == 0xff ||
- cmd_resp.response.sensor_id == sid)), 500, 1600000))
+ cmd_resp.response.sensor_id == sid)), 500, 10000000))
return cmd_resp.response.response;
return -1;
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 7/7] HID: amd_sfh: Handle "no sensors" enabled for SFH1.1
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
` (5 preceding siblings ...)
2023-04-11 16:10 ` [PATCH 6/7] HID: amd_sfh: Increase sensor command timeout for SFH1.1 Basavaraj Natikar
@ 2023-04-11 16:10 ` Basavaraj Natikar
2023-04-13 13:56 ` [PATCH 0/7] Fixes to amd_sfh Jiri Kosina
7 siblings, 0 replies; 9+ messages in thread
From: Basavaraj Natikar @ 2023-04-11 16:10 UTC (permalink / raw)
To: jikos, benjamin.tissoires, linux-input; +Cc: Basavaraj Natikar
Based on num_hid_devices, each sensor device is initialized. If
"no sensors" is initialized, amd_sfh work initialization and scheduling
doesn’t make sense and returns EOPNOTSUPP to stop driver probe. Hence,
add a check for "no sensors" enabled to handle the special case.
Fixes: 93ce5e0231d7 ("HID: amd_sfh: Implement SFH1.1 functionality")
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
---
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c
index a1d6e08fab7d..bb8bd7892b67 100644
--- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c
+++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c
@@ -112,6 +112,7 @@ static int amd_sfh1_1_hid_client_init(struct amd_mp2_dev *privdata)
cl_data->num_hid_devices = amd_sfh_get_sensor_num(privdata, &cl_data->sensor_idx[0]);
if (cl_data->num_hid_devices == 0)
return -ENODEV;
+ cl_data->is_any_sensor_enabled = false;
INIT_DELAYED_WORK(&cl_data->work, amd_sfh_work);
INIT_DELAYED_WORK(&cl_data->work_buffer, amd_sfh_work_buffer);
@@ -170,6 +171,7 @@ static int amd_sfh1_1_hid_client_init(struct amd_mp2_dev *privdata)
status = (status == 0) ? SENSOR_ENABLED : SENSOR_DISABLED;
if (status == SENSOR_ENABLED) {
+ cl_data->is_any_sensor_enabled = true;
cl_data->sensor_sts[i] = SENSOR_ENABLED;
rc = amdtp_hid_probe(i, cl_data);
if (rc) {
@@ -186,12 +188,21 @@ static int amd_sfh1_1_hid_client_init(struct amd_mp2_dev *privdata)
cl_data->sensor_sts[i]);
goto cleanup;
}
+ } else {
+ cl_data->sensor_sts[i] = SENSOR_DISABLED;
}
dev_dbg(dev, "sid 0x%x (%s) status 0x%x\n",
cl_data->sensor_idx[i], get_sensor_name(cl_data->sensor_idx[i]),
cl_data->sensor_sts[i]);
}
+ if (!cl_data->is_any_sensor_enabled) {
+ dev_warn(dev, "Failed to discover, sensors not enabled is %d\n",
+ cl_data->is_any_sensor_enabled);
+ rc = -EOPNOTSUPP;
+ goto cleanup;
+ }
+
schedule_delayed_work(&cl_data->work_buffer, msecs_to_jiffies(AMD_SFH_IDLE_LOOP));
return 0;
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 0/7] Fixes to amd_sfh
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
` (6 preceding siblings ...)
2023-04-11 16:10 ` [PATCH 7/7] HID: amd_sfh: Handle "no sensors" enabled " Basavaraj Natikar
@ 2023-04-13 13:56 ` Jiri Kosina
7 siblings, 0 replies; 9+ messages in thread
From: Jiri Kosina @ 2023-04-13 13:56 UTC (permalink / raw)
To: Basavaraj Natikar; +Cc: benjamin.tissoires, linux-input
On Tue, 11 Apr 2023, Basavaraj Natikar wrote:
> Changes include correcting structure fields, illuminance values,
> shutdown PM operations, stop all command, increasing sensor
> command timeout and no sensor condition.
>
> Basavaraj Natikar (7):
> HID: amd_sfh: Correct the structure fields
> HID: amd_sfh: Correct the sensor enable and disable command
> HID: amd_sfh: Fix illuminance value
> HID: amd_sfh: Add support for shutdown operation
> HID: amd_sfh: Correct the stop all command
> HID: amd_sfh: Increase sensor command timeout for SFH1.1
> HID: amd_sfh: Handle "no sensors" enabled for SFH1.1
>
> drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 9 +++++++++
> drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c | 2 +-
> drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c | 11 +++++++++++
> drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c | 10 +++++++---
> drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h | 8 ++++----
> 5 files changed, 32 insertions(+), 8 deletions(-)
Applied, thanks.
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-04-13 13:56 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-11 16:10 [PATCH 0/7] Fixes to amd_sfh Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 1/7] HID: amd_sfh: Correct the structure fields Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 2/7] HID: amd_sfh: Correct the sensor enable and disable command Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 3/7] HID: amd_sfh: Fix illuminance value Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 4/7] HID: amd_sfh: Add support for shutdown operation Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 5/7] HID: amd_sfh: Correct the stop all command Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 6/7] HID: amd_sfh: Increase sensor command timeout for SFH1.1 Basavaraj Natikar
2023-04-11 16:10 ` [PATCH 7/7] HID: amd_sfh: Handle "no sensors" enabled " Basavaraj Natikar
2023-04-13 13:56 ` [PATCH 0/7] Fixes to amd_sfh Jiri Kosina
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).