From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH v2 063/106] ccs-pll: Document the structs in the header as well as the function
Date: Thu, 5 Nov 2020 13:18:45 +0100 [thread overview]
Message-ID: <20201105131845.0b5b29b0@coco.lan> (raw)
In-Reply-To: <20201007084557.25843-54-sakari.ailus@linux.intel.com>
Em Wed, 7 Oct 2020 11:45:14 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> escreveu:
> The CCS pll is used by the CCS driver at the moment, but documenting the
> interface makes sense. It's non-trivial and the calculator could be used
> elsewhere.
LFTM.
It could make sense to add a .. kernel-doc:: markup at the documentation
somewhere.
Regards,
Mauro
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> drivers/media/i2c/ccs-pll.h | 88 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 88 insertions(+)
>
> diff --git a/drivers/media/i2c/ccs-pll.h b/drivers/media/i2c/ccs-pll.h
> index 1d908b23c934..e01359f61476 100644
> --- a/drivers/media/i2c/ccs-pll.h
> +++ b/drivers/media/i2c/ccs-pll.h
> @@ -20,6 +20,16 @@
> #define CCS_PLL_FLAG_OP_PIX_CLOCK_PER_LANE (1 << 0)
> #define CCS_PLL_FLAG_NO_OP_CLOCKS (1 << 1)
>
> +/**
> + * struct ccs_pll_branch_fr - CCS PLL configuration (front)
> + *
> + * A single branch front-end of the CCS PLL tree.
> + *
> + * @pre_pll_clk_div: Pre-PLL clock divisor
> + * @pll_multiplier: PLL multiplier
> + * @pll_ip_freq_hz: PLL input clock frequency
> + * @pll_op_freq_hz: PLL output clock frequency
> + */
> struct ccs_pll_branch_fr {
> uint16_t pre_pll_clk_div;
> uint16_t pll_multiplier;
> @@ -27,6 +37,16 @@ struct ccs_pll_branch_fr {
> uint32_t pll_op_clk_freq_hz;
> };
>
> +/**
> + * struct ccs_pll_branch_bk - CCS PLL configuration (back)
> + *
> + * A single branch back-end of the CCS PLL tree.
> + *
> + * @sys_clk_div: System clock divider
> + * @pix_clk_div: Pixel clock divider
> + * @sys_clk_freq_hz: System clock frequency
> + * @pix_clk_freq_hz: Pixel clock frequency
> + */
> struct ccs_pll_branch_bk {
> uint16_t sys_clk_div;
> uint16_t pix_clk_div;
> @@ -34,6 +54,29 @@ struct ccs_pll_branch_bk {
> uint32_t pix_clk_freq_hz;
> };
>
> +/**
> + * struct ccs_pll - Full CCS PLL configuration
> + *
> + * All information required to calculate CCS PLL configuration.
> + *
> + * @bus_type: Type of the data bus, CCS_PLL_BUS_TYPE_* (input)
> + * @csi2.lanes: The number of the CSI-2 data lanes (input)
> + * @binning_vertical: Vertical binning factor (input)
> + * @binning_horizontal: Horizontal binning factor (input)
> + * @scale_m: Downscaling factor, M component, [16, max] (input)
> + * @scale_n: Downscaling factor, N component, typically 16 (input)
> + * @bits_per_pixel: Bits per pixel on the output data bus (input)
> + * @flags: CCS_PLL_FLAG_* (input)
> + * @link_freq: Chosen link frequency (input)
> + * @ext_clk_freq_hz: External clock frequency, i.e. the sensor's input clock
> + * (input)
> + * @vt_fr: Video timing front-end configuration (output)
> + * @vt_bk: Video timing back-end configuration (output)
> + * @op_bk: Operational timing back-end configuration (output)
> + * @pixel_rate_csi: Pixel rate on the output data bus (output)
> + * @pixel_rate_pixel_array: Nominal pixel rate in the sensor's pixel array
> + * (output)
> + */
> struct ccs_pll {
> /* input values */
> uint8_t bus_type;
> @@ -58,6 +101,18 @@ struct ccs_pll {
> uint32_t pixel_rate_pixel_array;
> };
>
> +/**
> + * struct ccs_pll_branch_limits_fr - CCS PLL front-end limits
> + *
> + * @min_pre_pll_clk_div: Minimum pre-PLL clock divider
> + * @max_pre_pll_clk_div: Maximum pre-PLL clock divider
> + * @min_pll_ip_freq_hz: Minimum PLL input clock frequency
> + * @max_pll_ip_freq_hz: Maximum PLL input clock frequency
> + * @min_pll_multiplier: Minimum PLL multiplier
> + * @max_pll_multiplier: Maximum PLL multiplier
> + * @min_pll_op_freq_hz: Minimum PLL output clock frequency
> + * @max_pll_op_freq_hz: Maximum PLL output clock frequency
> + */
> struct ccs_pll_branch_limits_fr {
> uint16_t min_pre_pll_clk_div;
> uint16_t max_pre_pll_clk_div;
> @@ -69,6 +124,18 @@ struct ccs_pll_branch_limits_fr {
> uint32_t max_pll_op_clk_freq_hz;
> };
>
> +/**
> + * struct ccs_pll_branch_limits_bk - CCS PLL back-end limits
> + *
> + * @min_sys_clk_div: Minimum system clock divider
> + * @max_sys_clk_div: Maximum system clock divider
> + * @min_sys_clk_freq_hz: Minimum system clock frequency
> + * @max_sys_clk_freq_hz: Maximum system clock frequency
> + * @min_pix_clk_div: Minimum pixel clock divider
> + * @max_pix_clk_div: Maximum pixel clock divider
> + * @min_pix_clk_freq_hz: Minimum pixel clock frequency
> + * @max_pix_clk_freq_hz: Maximum pixel clock frequency
> + */
> struct ccs_pll_branch_limits_bk {
> uint16_t min_sys_clk_div;
> uint16_t max_sys_clk_div;
> @@ -80,6 +147,17 @@ struct ccs_pll_branch_limits_bk {
> uint32_t max_pix_clk_freq_hz;
> };
>
> +/**
> + * struct ccs_pll_limits - CCS PLL limits
> + *
> + * @min_ext_clk_freq_hz: Minimum external clock frequency
> + * @max_ext_clk_freq_hz: Maximum external clock frequency
> + * @vt_fr: Video timing front-end limits
> + * @vt_bk: Video timing back-end limits
> + * @op_bk: Operational timing back-end limits
> + * @min_line_length_pck_bin: Minimum line length in pixels, with binning
> + * @min_line_length_pck: Minimum line length in pixels without binning
> + */
> struct ccs_pll_limits {
> /* Strict PLL limits */
> uint32_t min_ext_clk_freq_hz;
> @@ -96,6 +174,16 @@ struct ccs_pll_limits {
>
> struct device;
>
> +/**
> + * ccs_pll_calculate - Calculate CCS PLL configuration based on input parameters
> + *
> + * @dev: Device pointer, used for printing messages
> + * @limits: Limits specific to the sensor
> + * @pll: Given PLL configuration
> + *
> + * Calculate the CCS PLL configuration based on the limits as well as given
> + * device specific, system specific or user configured input data.
> + */
> int ccs_pll_calculate(struct device *dev, const struct ccs_pll_limits *limits,
> struct ccs_pll *pll);
>
Thanks,
Mauro
next prev parent reply other threads:[~2020-11-05 12:18 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-07 8:44 [PATCH v2 000/106] CCS driver Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 001/106] smiapp: Generate CCS register definitions and limits Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 002/106] smiapp: Use CCS register flags Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 003/106] smiapp: Calculate CCS limit offsets and limit buffer size Sakari Ailus
2020-11-05 7:43 ` Mauro Carvalho Chehab
2020-11-05 7:58 ` Mauro Carvalho Chehab
2020-11-05 8:01 ` Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 004/106] smiapp: Remove macros for defining registers, merge definitions Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 005/106] smiapp: Add macros for accessing CCS registers Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 006/106] smiapp: Use MIPI CCS version and manufacturer ID information Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 007/106] smiapp: Read CCS limit values Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 008/106] smiapp: Switch to CCS limits Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 009/106] smiapp: Obtain frame descriptor from " Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 010/106] smiapp: Use CCS limits in reading data format descriptors Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 011/106] smiapp: Use CCS limits in reading binning capabilities Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 012/106] smiapp: Use CCS registers Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 013/106] smiapp: Remove quirk function for writing a single 8-bit register Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 014/106] smiapp: Rename register access functions Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 015/106] smiapp: Internal rename to CCS Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 016/106] smiapp: Differentiate CCS sensors from SMIA in subdev naming Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 017/106] smiapp: Rename as "ccs" Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 018/106] ccs: Remove profile concept Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 019/106] ccs: Give all subdevs a function Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 027/106] ccs: Request for "reset" GPIO Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 028/106] ccs: Add MIPI CCS compatible strings Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 029/106] ccs: Remove the I²C ID table Sakari Ailus
2020-11-05 9:34 ` Mauro Carvalho Chehab
2020-11-18 22:15 ` Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 030/106] ccs: Remove remaining support for platform data Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 031/106] ccs: Make hwcfg part of the device specific struct Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 032/106] ccs: Fix obtaining bus information from firmware Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 033/106] ccs: Add CCS static data parser library Sakari Ailus
2020-11-05 10:50 ` Mauro Carvalho Chehab
2020-11-05 11:18 ` Sakari Ailus
2020-11-05 12:53 ` Mauro Carvalho Chehab
2020-11-16 12:05 ` Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 034/106] ccs: Combine revision number major and minor into one Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 035/106] ccs: Read CCS static data from firmware binaries Sakari Ailus
2020-11-05 10:56 ` Mauro Carvalho Chehab
2020-10-07 8:44 ` [PATCH v2 036/106] ccs: Stop reading arrays after the first zero Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 037/106] ccs: The functions to get compose or crop rectangle never return NULL Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 038/106] ccs: Replace somewhat harsh internal checks based on BUG with WARN_ON Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 039/106] ccs: Refactor register reading a little Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 040/106] ccs: Make real to integer number conversion optional Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 041/106] ccs: Move limit value real to integer conversion from read to access time Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 042/106] ccs: Read ireal numbers correctly Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 043/106] smiapp-pll: Rename as ccs-pll Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 044/106] ccs-pll: Fix MODULE_LICENSE Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 045/106] ccs: Change my e-mail address Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 046/106] ccs: Add support for manufacturer regs from sensor and module files Sakari Ailus
2020-11-05 11:34 ` Mauro Carvalho Chehab
2020-11-05 11:56 ` Sakari Ailus
2020-11-05 12:46 ` Mauro Carvalho Chehab
2020-10-07 8:45 ` [PATCH v2 047/106] ccs: Use static data read-only registers Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 048/106] ccs: Clean up runtime PM usage Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 049/106] ccs: Wrap long lines, unwrap short ones Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 050/106] ccs: Add device compatible identifiers for telling SMIA and CCS apart Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 051/106] ccs: Use longer pre-I²C sleep for CCS compliant devices Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 052/106] ccs: Remove unnecessary delays from power-up sequence Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 055/106] ccs: Use all regulators Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 056/106] ccs-pll: Don't use div_u64 to divide a 32-bit number Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 057/106] ccs-pll: Split limits and PLL configuration into front and back parts Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 058/106] ccs-pll: Use correct VT divisor for calculating VT SYS divisor Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 059/106] ccs-pll: End search if there are no better values available Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 060/106] ccs-pll: Remove parallel bus support Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 061/106] ccs-pll: Differentiate between CSI-2 D-PHY and C-PHY Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 062/106] ccs-pll: Move the flags field down, away from 8-bit fields Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 063/106] ccs-pll: Document the structs in the header as well as the function Sakari Ailus
2020-11-05 12:18 ` Mauro Carvalho Chehab [this message]
2020-12-02 18:02 ` Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 064/106] ccs-pll: Use the BIT macro Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 065/106] ccs-pll: Begin calculation from OP system clock frequency Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 066/106] ccs-pll: Fix condition for pre-PLL divider lower bound Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 067/106] ccs-pll: Avoid overflow in pre-PLL divisor lower bound search Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 068/106] ccs-pll: Fix comment on check against maximum PLL multiplier Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 069/106] ccs-pll: Fix check for PLL multiplier upper bound Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 070/106] ccs-pll: Use explicit 32-bit unsigned type Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 071/106] ccs-pll: Add support for lane speed model Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 072/106] ccs: " Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 073/106] ccs-pll: Add support for decoupled OP domain calculation Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 074/106] ccs-pll: Add support for extended input PLL clock divider Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 075/106] ccs-pll: Support two cycles per pixel on OP domain Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 076/106] ccs-pll: Add support flexible OP PLL pixel clock divider Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 077/106] ccs-pll: Add sanity checks Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 078/106] ccs-pll: Add C-PHY support Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 079/106] ccs-pll: Split off VT subtree calculation Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 080/106] ccs-pll: Check for derating and overrating, support non-derating sensors Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 081/106] ccs-pll: Better separate OP and VT sub-tree calculation Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 082/106] ccs-pll: Print relevant information on PLL tree Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 083/106] ccs-pll: Rework bounds checks Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 084/106] ccs-pll: Make VT divisors 16-bit Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 085/106] ccs-pll: Fix VT post-PLL divisor calculation Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 086/106] ccs-pll: Separate VT divisor limit calculation from the rest Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 087/106] ccs-pll: Add trivial dual PLL support Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 088/106] ccs: Dual " Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 089/106] ccs-pll: Add support for DDR OP system and pixel clocks Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 090/106] ccs: Add support for DDR OP SYS and OP PIX clocks Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 091/106] ccs: Print written register values Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 092/106] ccs-pll: Print pixel rates Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 093/106] ccs: Add support for obtaining C-PHY configuration from firmware Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 094/106] ccs: Add digital gain support Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 095/106] ccs: Add support for old-style SMIA digital gain Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 096/106] ccs: Remove analogue gain field Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 097/106] ccs: Only add analogue gain control if the device supports it Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 098/106] v4l: uapi: Add user control base for CCS controls Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 099/106] v4l: uapi: ccs: Add controls for analogue gain constants Sakari Ailus
2020-11-05 12:41 ` Hans Verkuil
2020-11-05 12:47 ` Sakari Ailus
2020-11-05 12:56 ` Hans Verkuil
2020-11-05 12:58 ` Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 100/106] ccs: Add support for analogue gain coefficient controls Sakari Ailus
2020-11-05 12:46 ` Hans Verkuil
2020-11-05 12:50 ` Hans Verkuil
2020-11-05 12:55 ` Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 101/106] v4l: uapi: ccs: Add controls for CCS alternative analogue gain Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 102/106] ccs: Add support for alternate analogue global gain Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 103/106] ccs: Add debug prints for MSR registers Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 104/106] v4l: uapi: ccs: Add CCS controls for shading correction Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 105/106] ccs: Add shading correction and luminance correction level controls Sakari Ailus
2020-11-05 12:42 ` Mauro Carvalho Chehab
2020-11-05 16:29 ` Sakari Ailus
2020-11-05 13:03 ` Hans Verkuil
2020-11-16 13:50 ` Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 106/106] ccs: Add CCS ACPI device ID Sakari Ailus
2020-11-05 12:44 ` Mauro Carvalho Chehab
2020-11-05 7:19 ` [PATCH v2 001/106] smiapp: Generate CCS register definitions and limits Mauro Carvalho Chehab
2020-11-05 8:01 ` Sakari Ailus
2020-11-05 9:04 ` Mauro Carvalho Chehab
2020-10-07 8:44 ` [PATCH v2 020/106] dt-bindings: nokia,smia: Fix link-frequencies documentation Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 021/106] dt-bindings: nokia,smia: Make vana-supply optional Sakari Ailus
2020-10-07 8:44 ` [PATCH v2 022/106] dt-bindings: nokia,smia: Remove nokia,nvm-size property Sakari Ailus
2020-10-07 16:04 ` Rob Herring
2020-10-07 8:45 ` [PATCH v2 023/106] dt-bindings: nokia,smia: Convert to YAML Sakari Ailus
2020-10-07 16:06 ` Rob Herring
2020-10-07 8:45 ` [PATCH v2 024/106] dt-bindings: nokia,smia: Use better active polarity for reset Sakari Ailus
2020-10-07 8:45 ` [PATCH v2 025/106] dt-bindings: nokia,smia: Amend SMIA bindings with MIPI CCS support Sakari Ailus
2020-10-07 16:07 ` Rob Herring
2020-10-07 8:45 ` [PATCH v2 026/106] dt-bindings: mipi-ccs: Add bus-type for C-PHY support Sakari Ailus
2020-10-07 13:52 ` Rob Herring
2020-10-07 14:46 ` Sakari Ailus
2020-10-07 14:49 ` [PATCH v3 " Sakari Ailus
2020-10-07 16:24 ` Rob Herring
2020-10-07 8:45 ` [PATCH v2 053/106] dt-bindings: mipi,ccs: Don't mention vana voltage Sakari Ailus
2020-10-07 16:07 ` Rob Herring
2020-10-07 8:45 ` [PATCH v2 054/106] dt-bindings: mipi,ccs: Add vcore and vio supplies Sakari Ailus
2020-10-07 16:08 ` Rob Herring
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=20201105131845.0b5b29b0@coco.lan \
--to=mchehab+huawei@kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@linux.intel.com \
/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 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).