linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support
@ 2018-06-21  9:22 Keerthy
  2018-06-21  9:22 ` [PATCH RESEND 2/2] soc: ti: wkup_m3_ipc: Add wkup_m3_request_wake_src Keerthy
  2018-07-04  4:23 ` [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support Keerthy
  0 siblings, 2 replies; 7+ messages in thread
From: Keerthy @ 2018-06-21  9:22 UTC (permalink / raw)
  To: santosh.shilimkar
  Cc: t-kristo, j-keerthy, linux-omap, linux-arm-kernel, d-gerlach

Adds rtc_only support. This needs resume function to shutdown and
reboot the m3.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---

This is tested on am437x-gp-evm and target for 4.19

 drivers/soc/ti/wkup_m3_ipc.c | 41 +++++++++++++++++++++++++++++++++++++++++
 include/linux/wkup_m3_ipc.h  |  3 +++
 2 files changed, 44 insertions(+)

diff --git a/drivers/soc/ti/wkup_m3_ipc.c b/drivers/soc/ti/wkup_m3_ipc.c
index 369aef5..b732c39 100644
--- a/drivers/soc/ti/wkup_m3_ipc.c
+++ b/drivers/soc/ti/wkup_m3_ipc.c
@@ -329,12 +329,24 @@ static int wkup_m3_finish_low_power(struct wkup_m3_ipc *m3_ipc)
 	return 0;
 }
 
+/**
+ * wkup_m3_set_rtc_only - Set the rtc_only flag
+ * @wkup_m3_wakeup: struct wkup_m3_wakeup_src * gets assigned the
+ *                  wakeup src value
+ */
+static void wkup_m3_set_rtc_only(struct wkup_m3_ipc *m3_ipc)
+{
+	if (m3_ipc_state)
+		m3_ipc_state->is_rtc_only = true;
+}
+
 static struct wkup_m3_ipc_ops ipc_ops = {
 	.set_mem_type = wkup_m3_set_mem_type,
 	.set_resume_address = wkup_m3_set_resume_address,
 	.prepare_low_power = wkup_m3_prepare_low_power,
 	.finish_low_power = wkup_m3_finish_low_power,
 	.request_pm_status = wkup_m3_request_pm_status,
+	.set_rtc_only = wkup_m3_set_rtc_only,
 };
 
 /**
@@ -484,6 +496,32 @@ static int wkup_m3_ipc_remove(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_PM
+static int wkup_m3_ipc_suspend(struct device *dev)
+{
+	/*
+	 * Nothing needs to be done on suspend even with rtc_only flag set
+	 */
+	return 0;
+}
+
+static int wkup_m3_ipc_resume(struct device *dev)
+{
+	if (m3_ipc_state->is_rtc_only) {
+		rproc_shutdown(m3_ipc_state->rproc);
+		rproc_boot(m3_ipc_state->rproc);
+	}
+
+	m3_ipc_state->is_rtc_only = false;
+
+	return 0;
+}
+
+static const struct dev_pm_ops wkup_m3_ipc_pm_ops = {
+	SET_SYSTEM_SLEEP_PM_OPS(wkup_m3_ipc_suspend, wkup_m3_ipc_resume)
+};
+#endif
+
 static const struct of_device_id wkup_m3_ipc_of_match[] = {
 	{ .compatible = "ti,am3352-wkup-m3-ipc", },
 	{ .compatible = "ti,am4372-wkup-m3-ipc", },
@@ -497,6 +535,9 @@ static int wkup_m3_ipc_remove(struct platform_device *pdev)
 	.driver = {
 		.name = "wkup_m3_ipc",
 		.of_match_table = wkup_m3_ipc_of_match,
+#ifdef CONFIG_PM
+		.pm = &wkup_m3_ipc_pm_ops,
+#endif
 	},
 };
 
diff --git a/include/linux/wkup_m3_ipc.h b/include/linux/wkup_m3_ipc.h
index d6ba7d3..d639df1 100644
--- a/include/linux/wkup_m3_ipc.h
+++ b/include/linux/wkup_m3_ipc.h
@@ -40,6 +40,7 @@ struct wkup_m3_ipc {
 	struct mbox_chan *mbox;
 
 	struct wkup_m3_ipc_ops *ops;
+	int is_rtc_only;
 };
 
 struct wkup_m3_ipc_ops {
@@ -48,8 +49,10 @@ struct wkup_m3_ipc_ops {
 	int (*prepare_low_power)(struct wkup_m3_ipc *m3_ipc, int state);
 	int (*finish_low_power)(struct wkup_m3_ipc *m3_ipc);
 	int (*request_pm_status)(struct wkup_m3_ipc *m3_ipc);
+	void (*set_rtc_only)(struct wkup_m3_ipc *m3_ipc);
 };
 
 struct wkup_m3_ipc *wkup_m3_ipc_get(void);
 void wkup_m3_ipc_put(struct wkup_m3_ipc *m3_ipc);
+void wkup_m3_set_rtc_only_mode(void);
 #endif /* _LINUX_WKUP_M3_IPC_H */
-- 
1.9.1

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

* [PATCH RESEND 2/2] soc: ti: wkup_m3_ipc: Add wkup_m3_request_wake_src
  2018-06-21  9:22 [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support Keerthy
@ 2018-06-21  9:22 ` Keerthy
  2018-07-04  4:23 ` [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support Keerthy
  1 sibling, 0 replies; 7+ messages in thread
From: Keerthy @ 2018-06-21  9:22 UTC (permalink / raw)
  To: santosh.shilimkar
  Cc: t-kristo, j-keerthy, linux-omap, linux-arm-kernel, d-gerlach

From: Dave Gerlach <d-gerlach@ti.com>

Add wkup_m3_request_wake_src to allow users to get the name of
the wakeup source after a DeepSleep or Standby transition.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
---

This is tested on am437x-gp-evm and target for 4.19

 drivers/soc/ti/wkup_m3_ipc.c | 39 +++++++++++++++++++++++++++++++++++++++
 include/linux/wkup_m3_ipc.h  |  6 ++++++
 2 files changed, 45 insertions(+)

diff --git a/drivers/soc/ti/wkup_m3_ipc.c b/drivers/soc/ti/wkup_m3_ipc.c
index b732c39..6840688 100644
--- a/drivers/soc/ti/wkup_m3_ipc.c
+++ b/drivers/soc/ti/wkup_m3_ipc.c
@@ -46,6 +46,7 @@
 #define M3_BASELINE_VERSION		0x191
 #define M3_STATUS_RESP_MASK		(0xffff << 16)
 #define M3_FW_VERSION_MASK		0xffff
+#define M3_WAKE_SRC_MASK		0xff
 
 #define M3_STATE_UNKNOWN		0
 #define M3_STATE_RESET			1
@@ -55,6 +56,23 @@
 
 static struct wkup_m3_ipc *m3_ipc_state;
 
+static const struct wkup_m3_wakeup_src wakeups[] = {
+	{.irq_nr = 35,	.src = "USB0_PHY"},
+	{.irq_nr = 36,	.src = "USB1_PHY"},
+	{.irq_nr = 40,	.src = "I2C0"},
+	{.irq_nr = 41,	.src = "RTC Timer"},
+	{.irq_nr = 42,	.src = "RTC Alarm"},
+	{.irq_nr = 43,	.src = "Timer0"},
+	{.irq_nr = 44,	.src = "Timer1"},
+	{.irq_nr = 45,	.src = "UART"},
+	{.irq_nr = 46,	.src = "GPIO0"},
+	{.irq_nr = 48,	.src = "MPU_WAKE"},
+	{.irq_nr = 49,	.src = "WDT0"},
+	{.irq_nr = 50,	.src = "WDT1"},
+	{.irq_nr = 51,	.src = "ADC_TSC"},
+	{.irq_nr = 0,	.src = "Unknown"},
+};
+
 static void am33xx_txev_eoi(struct wkup_m3_ipc *m3_ipc)
 {
 	writel(AM33XX_M3_TXEV_ACK,
@@ -330,6 +348,26 @@ static int wkup_m3_finish_low_power(struct wkup_m3_ipc *m3_ipc)
 }
 
 /**
+ * wkup_m3_request_wake_src - Get the wakeup source info passed from wkup_m3
+ * @m3_ipc: Pointer to wkup_m3_ipc context
+ */
+static const char *wkup_m3_request_wake_src(struct wkup_m3_ipc *m3_ipc)
+{
+	unsigned int wakeup_src_idx;
+	int j, val;
+
+	val = wkup_m3_ctrl_ipc_read(m3_ipc, 6);
+
+	wakeup_src_idx = val & M3_WAKE_SRC_MASK;
+
+	for (j = 0; j < ARRAY_SIZE(wakeups) - 1; j++) {
+		if (wakeups[j].irq_nr == wakeup_src_idx)
+			return wakeups[j].src;
+	}
+	return wakeups[j].src;
+}
+
+/**
  * wkup_m3_set_rtc_only - Set the rtc_only flag
  * @wkup_m3_wakeup: struct wkup_m3_wakeup_src * gets assigned the
  *                  wakeup src value
@@ -346,6 +384,7 @@ static void wkup_m3_set_rtc_only(struct wkup_m3_ipc *m3_ipc)
 	.prepare_low_power = wkup_m3_prepare_low_power,
 	.finish_low_power = wkup_m3_finish_low_power,
 	.request_pm_status = wkup_m3_request_pm_status,
+	.request_wake_src = wkup_m3_request_wake_src,
 	.set_rtc_only = wkup_m3_set_rtc_only,
 };
 
diff --git a/include/linux/wkup_m3_ipc.h b/include/linux/wkup_m3_ipc.h
index d639df1..e497e62 100644
--- a/include/linux/wkup_m3_ipc.h
+++ b/include/linux/wkup_m3_ipc.h
@@ -43,12 +43,18 @@ struct wkup_m3_ipc {
 	int is_rtc_only;
 };
 
+struct wkup_m3_wakeup_src {
+	int irq_nr;
+	char src[10];
+};
+
 struct wkup_m3_ipc_ops {
 	void (*set_mem_type)(struct wkup_m3_ipc *m3_ipc, int mem_type);
 	void (*set_resume_address)(struct wkup_m3_ipc *m3_ipc, void *addr);
 	int (*prepare_low_power)(struct wkup_m3_ipc *m3_ipc, int state);
 	int (*finish_low_power)(struct wkup_m3_ipc *m3_ipc);
 	int (*request_pm_status)(struct wkup_m3_ipc *m3_ipc);
+	const char *(*request_wake_src)(struct wkup_m3_ipc *m3_ipc);
 	void (*set_rtc_only)(struct wkup_m3_ipc *m3_ipc);
 };
 
-- 
1.9.1

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

* Re: [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support
  2018-06-21  9:22 [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support Keerthy
  2018-06-21  9:22 ` [PATCH RESEND 2/2] soc: ti: wkup_m3_ipc: Add wkup_m3_request_wake_src Keerthy
@ 2018-07-04  4:23 ` Keerthy
  2018-07-04  4:37   ` santosh.shilimkar
  1 sibling, 1 reply; 7+ messages in thread
From: Keerthy @ 2018-07-04  4:23 UTC (permalink / raw)
  To: santosh.shilimkar; +Cc: t-kristo, linux-omap, linux-arm-kernel, d-gerlach



On Thursday 21 June 2018 02:52 PM, Keerthy wrote:
> Adds rtc_only support. This needs resume function to shutdown and
> reboot the m3.

A gentle ping on this series.

> 
> Signed-off-by: Keerthy <j-keerthy@ti.com>
> ---
> 
> This is tested on am437x-gp-evm and target for 4.19
> 
>  drivers/soc/ti/wkup_m3_ipc.c | 41 +++++++++++++++++++++++++++++++++++++++++
>  include/linux/wkup_m3_ipc.h  |  3 +++
>  2 files changed, 44 insertions(+)
> 
> diff --git a/drivers/soc/ti/wkup_m3_ipc.c b/drivers/soc/ti/wkup_m3_ipc.c
> index 369aef5..b732c39 100644
> --- a/drivers/soc/ti/wkup_m3_ipc.c
> +++ b/drivers/soc/ti/wkup_m3_ipc.c
> @@ -329,12 +329,24 @@ static int wkup_m3_finish_low_power(struct wkup_m3_ipc *m3_ipc)
>  	return 0;
>  }
>  
> +/**
> + * wkup_m3_set_rtc_only - Set the rtc_only flag
> + * @wkup_m3_wakeup: struct wkup_m3_wakeup_src * gets assigned the
> + *                  wakeup src value
> + */
> +static void wkup_m3_set_rtc_only(struct wkup_m3_ipc *m3_ipc)
> +{
> +	if (m3_ipc_state)
> +		m3_ipc_state->is_rtc_only = true;
> +}
> +
>  static struct wkup_m3_ipc_ops ipc_ops = {
>  	.set_mem_type = wkup_m3_set_mem_type,
>  	.set_resume_address = wkup_m3_set_resume_address,
>  	.prepare_low_power = wkup_m3_prepare_low_power,
>  	.finish_low_power = wkup_m3_finish_low_power,
>  	.request_pm_status = wkup_m3_request_pm_status,
> +	.set_rtc_only = wkup_m3_set_rtc_only,
>  };
>  
>  /**
> @@ -484,6 +496,32 @@ static int wkup_m3_ipc_remove(struct platform_device *pdev)
>  	return 0;
>  }
>  
> +#ifdef CONFIG_PM
> +static int wkup_m3_ipc_suspend(struct device *dev)
> +{
> +	/*
> +	 * Nothing needs to be done on suspend even with rtc_only flag set
> +	 */
> +	return 0;
> +}
> +
> +static int wkup_m3_ipc_resume(struct device *dev)
> +{
> +	if (m3_ipc_state->is_rtc_only) {
> +		rproc_shutdown(m3_ipc_state->rproc);
> +		rproc_boot(m3_ipc_state->rproc);
> +	}
> +
> +	m3_ipc_state->is_rtc_only = false;
> +
> +	return 0;
> +}
> +
> +static const struct dev_pm_ops wkup_m3_ipc_pm_ops = {
> +	SET_SYSTEM_SLEEP_PM_OPS(wkup_m3_ipc_suspend, wkup_m3_ipc_resume)
> +};
> +#endif
> +
>  static const struct of_device_id wkup_m3_ipc_of_match[] = {
>  	{ .compatible = "ti,am3352-wkup-m3-ipc", },
>  	{ .compatible = "ti,am4372-wkup-m3-ipc", },
> @@ -497,6 +535,9 @@ static int wkup_m3_ipc_remove(struct platform_device *pdev)
>  	.driver = {
>  		.name = "wkup_m3_ipc",
>  		.of_match_table = wkup_m3_ipc_of_match,
> +#ifdef CONFIG_PM
> +		.pm = &wkup_m3_ipc_pm_ops,
> +#endif
>  	},
>  };
>  
> diff --git a/include/linux/wkup_m3_ipc.h b/include/linux/wkup_m3_ipc.h
> index d6ba7d3..d639df1 100644
> --- a/include/linux/wkup_m3_ipc.h
> +++ b/include/linux/wkup_m3_ipc.h
> @@ -40,6 +40,7 @@ struct wkup_m3_ipc {
>  	struct mbox_chan *mbox;
>  
>  	struct wkup_m3_ipc_ops *ops;
> +	int is_rtc_only;
>  };
>  
>  struct wkup_m3_ipc_ops {
> @@ -48,8 +49,10 @@ struct wkup_m3_ipc_ops {
>  	int (*prepare_low_power)(struct wkup_m3_ipc *m3_ipc, int state);
>  	int (*finish_low_power)(struct wkup_m3_ipc *m3_ipc);
>  	int (*request_pm_status)(struct wkup_m3_ipc *m3_ipc);
> +	void (*set_rtc_only)(struct wkup_m3_ipc *m3_ipc);
>  };
>  
>  struct wkup_m3_ipc *wkup_m3_ipc_get(void);
>  void wkup_m3_ipc_put(struct wkup_m3_ipc *m3_ipc);
> +void wkup_m3_set_rtc_only_mode(void);
>  #endif /* _LINUX_WKUP_M3_IPC_H */
> 

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

* Re: [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support
  2018-07-04  4:23 ` [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support Keerthy
@ 2018-07-04  4:37   ` santosh.shilimkar
  2018-07-04  4:41     ` Keerthy
  0 siblings, 1 reply; 7+ messages in thread
From: santosh.shilimkar @ 2018-07-04  4:37 UTC (permalink / raw)
  To: Keerthy; +Cc: t-kristo, linux-omap, linux-arm-kernel, d-gerlach

On 7/3/18 9:23 PM, Keerthy wrote:
> 
> 
> On Thursday 21 June 2018 02:52 PM, Keerthy wrote:
>> Adds rtc_only support. This needs resume function to shutdown and
>> reboot the m3.
> 
> A gentle ping on this series.
> 
>>
>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>> ---
>>
>> This is tested on am437x-gp-evm and target for 4.19

Am I suppose to pick up this series ?

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

* Re: [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support
  2018-07-04  4:37   ` santosh.shilimkar
@ 2018-07-04  4:41     ` Keerthy
  2018-07-04  4:48       ` santosh.shilimkar
  0 siblings, 1 reply; 7+ messages in thread
From: Keerthy @ 2018-07-04  4:41 UTC (permalink / raw)
  To: santosh.shilimkar@oracle.com
  Cc: t-kristo, linux-omap, linux-arm-kernel, d-gerlach



On Wednesday 04 July 2018 10:07 AM, santosh.shilimkar@oracle.com wrote:
> On 7/3/18 9:23 PM, Keerthy wrote:
>>
>>
>> On Thursday 21 June 2018 02:52 PM, Keerthy wrote:
>>> Adds rtc_only support. This needs resume function to shutdown and
>>> reboot the m3.
>>
>> A gentle ping on this series.
>>
>>>
>>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>>> ---
>>>
>>> This is tested on am437x-gp-evm and target for 4.19
> 
> Am I suppose to pick up this series 

./scripts/get_maintainer.pl
wkm3/0001-ti-wkup_m3_ipc-Add-rtc_only-with-ddr-in-self-refresh.patch

Santosh Shilimkar <ssantosh@kernel.org> (maintainer:TI KEYSTONE
MULTICORE NAVIGATOR DRIVERS)
linux-kernel@vger.kernel.org (open list:TI KEYSTONE MULTICORE NAVIGATOR
DRIVERS)
linux-arm-kernel@lists.infradead.org (moderated list:TI KEYSTONE
MULTICORE NAVIGATOR DRIVERS)

./scripts/get_maintainer.pl
wkm3/0002-soc-ti-wkup_m3_ipc-Add-wkup_m3_request_wake_src.patch

Santosh Shilimkar <ssantosh@kernel.org> (maintainer:TI KEYSTONE
MULTICORE NAVIGATOR DRIVERS)
linux-kernel@vger.kernel.org (open list:TI KEYSTONE MULTICORE NAVIGATOR
DRIVERS)
linux-arm-kernel@lists.infradead.org (moderated list:TI KEYSTONE
MULTICORE NAVIGATOR DRIVERS)

For some reason both patches points you as the Maintainer :-P.

Regards,
Keerthy

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

* Re: [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support
  2018-07-04  4:41     ` Keerthy
@ 2018-07-04  4:48       ` santosh.shilimkar
  2018-07-04  4:49         ` Keerthy
  0 siblings, 1 reply; 7+ messages in thread
From: santosh.shilimkar @ 2018-07-04  4:48 UTC (permalink / raw)
  To: Keerthy; +Cc: t-kristo, linux-omap, linux-arm-kernel, d-gerlach

On 7/3/18 9:41 PM, Keerthy wrote:
> 
> 
> On Wednesday 04 July 2018 10:07 AM, santosh.shilimkar@oracle.com wrote:
>> On 7/3/18 9:23 PM, Keerthy wrote:
>>>
>>>
>>> On Thursday 21 June 2018 02:52 PM, Keerthy wrote:
>>>> Adds rtc_only support. This needs resume function to shutdown and
>>>> reboot the m3.
>>>
>>> A gentle ping on this series.
>>>
>>>>
>>>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>>>> ---
>>>>
>>>> This is tested on am437x-gp-evm and target for 4.19
>>
>> Am I suppose to pick up this series
> 
[...]

> 
> For some reason both patches points you as the Maintainer :-P.
> 
I was not aware if you wanted me to pick it up. Will add them.

Regards,
Santosh

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

* Re: [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support
  2018-07-04  4:48       ` santosh.shilimkar
@ 2018-07-04  4:49         ` Keerthy
  0 siblings, 0 replies; 7+ messages in thread
From: Keerthy @ 2018-07-04  4:49 UTC (permalink / raw)
  To: santosh.shilimkar@oracle.com
  Cc: t-kristo, linux-omap, linux-arm-kernel, d-gerlach



On Wednesday 04 July 2018 10:18 AM, santosh.shilimkar@oracle.com wrote:
> On 7/3/18 9:41 PM, Keerthy wrote:
>>
>>
>> On Wednesday 04 July 2018 10:07 AM, santosh.shilimkar@oracle.com wrote:
>>> On 7/3/18 9:23 PM, Keerthy wrote:
>>>>
>>>>
>>>> On Thursday 21 June 2018 02:52 PM, Keerthy wrote:
>>>>> Adds rtc_only support. This needs resume function to shutdown and
>>>>> reboot the m3.
>>>>
>>>> A gentle ping on this series.
>>>>
>>>>>
>>>>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>>>>> ---
>>>>>
>>>>> This is tested on am437x-gp-evm and target for 4.19
>>>
>>> Am I suppose to pick up this series
>>
> [...]
> 
>>
>> For some reason both patches points you as the Maintainer :-P.
>>
> I was not aware if you wanted me to pick it up. Will add them.

Thanks a Lot Santosh :-)

> 
> Regards,
> Santosh

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

end of thread, other threads:[~2018-07-04  4:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-21  9:22 [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support Keerthy
2018-06-21  9:22 ` [PATCH RESEND 2/2] soc: ti: wkup_m3_ipc: Add wkup_m3_request_wake_src Keerthy
2018-07-04  4:23 ` [PATCH RESEND 1/2] ti: wkup_m3_ipc: Add rtc_only with ddr in self refresh mode support Keerthy
2018-07-04  4:37   ` santosh.shilimkar
2018-07-04  4:41     ` Keerthy
2018-07-04  4:48       ` santosh.shilimkar
2018-07-04  4:49         ` Keerthy

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