* [Intel-wired-lan] [PATCH 0/5] ixgbe: fixes for configuring link on x550a
@ 2017-05-17 22:17 Emil Tantilov
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY identification Emil Tantilov
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Emil Tantilov @ 2017-05-17 22:17 UTC (permalink / raw)
To: intel-wired-lan
The following series introduces small fixes needed to address issues
with setting up link on SFP+ based x550a parts.
---
Emil Tantilov (5):
ixgbe: correct CS4223/7 PHY identification
ixgbe: add write flush when configuring CS4223/7
ixgbe: always call setup_mac_link for multispeed fiber
ixgbe: add missing configuration for rate select 1
ixgbe: fix incorrect status check
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 37 ++++++++++++-----------
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 5 ++-
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 30 ++++++++++++++-----
3 files changed, 45 insertions(+), 27 deletions(-)
--
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY identification
2017-05-17 22:17 [Intel-wired-lan] [PATCH 0/5] ixgbe: fixes for configuring link on x550a Emil Tantilov
@ 2017-05-17 22:17 ` Emil Tantilov
2017-05-18 23:55 ` Bowers, AndrewX
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 2/5] ixgbe: add write flush when configuring CS4223/7 Emil Tantilov
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Emil Tantilov @ 2017-05-17 22:17 UTC (permalink / raw)
To: intel-wired-lan
Previous method was unreliable. Use a different register to
diferentiate between the SKUs.
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 5 +++--
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 8 ++++----
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
index 5aa2c3c..b0cac96 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
@@ -84,8 +84,9 @@
#define IXGBE_CS4227_GLOBAL_ID_LSB 0
#define IXGBE_CS4227_GLOBAL_ID_MSB 1
#define IXGBE_CS4227_SCRATCH 2
-#define IXGBE_CS4223_PHY_ID 0x7003 /* Quad port */
-#define IXGBE_CS4227_PHY_ID 0x3003 /* Dual port */
+#define IXGBE_CS4227_EFUSE_PDF_SKU 0x19F
+#define IXGBE_CS4223_SKU_ID 0x0010 /* Quad port */
+#define IXGBE_CS4227_SKU_ID 0x0014 /* Dual port */
#define IXGBE_CS4227_RESET_PENDING 0x1357
#define IXGBE_CS4227_RESET_COMPLETE 0x5AA5
#define IXGBE_CS4227_RETRIES 15
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
index b8d9097..870f9e1 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
@@ -1807,16 +1807,16 @@ static s32 ixgbe_setup_sfi_x550a(struct ixgbe_hw *hw, ixgbe_link_speed *speed)
if (hw->phy.mdio.prtad == MDIO_PRTAD_NONE)
return IXGBE_ERR_PHY_ADDR_INVALID;
- /* Get external PHY device id */
- ret_val = hw->phy.ops.read_reg(hw, IXGBE_CS4227_GLOBAL_ID_MSB,
- IXGBE_MDIO_ZERO_DEV_TYPE, ®_phy_ext);
+ /* Get external PHY SKU id */
+ ret_val = hw->phy.ops.read_reg(hw, IXGBE_CS4227_EFUSE_PDF_SKU,
+ IXGBE_MDIO_ZERO_DEV_TYPE, ®_phy_ext);
if (ret_val)
return ret_val;
/* When configuring quad port CS4223, the MAC instance is part
* of the slice offset.
*/
- if (reg_phy_ext == IXGBE_CS4223_PHY_ID)
+ if (reg_phy_ext == IXGBE_CS4223_SKU_ID)
slice_offset = (hw->bus.lan_id +
(hw->bus.instance_id << 1)) << 12;
else
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 2/5] ixgbe: add write flush when configuring CS4223/7
2017-05-17 22:17 [Intel-wired-lan] [PATCH 0/5] ixgbe: fixes for configuring link on x550a Emil Tantilov
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY identification Emil Tantilov
@ 2017-05-17 22:17 ` Emil Tantilov
2017-05-18 23:56 ` Bowers, AndrewX
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 3/5] ixgbe: always call setup_mac_link for multispeed fiber Emil Tantilov
` (2 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Emil Tantilov @ 2017-05-17 22:17 UTC (permalink / raw)
To: intel-wired-lan
Make sure the writes are processed immediately. Without the flush it
is possible for operations on one port to spill over the other as the
resource is shared.
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
index 870f9e1..cb5d363 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
@@ -1824,12 +1824,28 @@ static s32 ixgbe_setup_sfi_x550a(struct ixgbe_hw *hw, ixgbe_link_speed *speed)
/* Configure CS4227/CS4223 LINE side to proper mode. */
reg_slice = IXGBE_CS4227_LINE_SPARE24_LSB + slice_offset;
+
+ ret_val = hw->phy.ops.read_reg(hw, reg_slice,
+ IXGBE_MDIO_ZERO_DEV_TYPE, ®_phy_ext);
+ if (ret_val)
+ return ret_val;
+
+ reg_phy_ext &= ~((IXGBE_CS4227_EDC_MODE_CX1 << 1) |
+ (IXGBE_CS4227_EDC_MODE_SR << 1));
+
if (setup_linear)
reg_phy_ext = (IXGBE_CS4227_EDC_MODE_CX1 << 1) | 1;
else
reg_phy_ext = (IXGBE_CS4227_EDC_MODE_SR << 1) | 1;
- return hw->phy.ops.write_reg(hw, reg_slice, IXGBE_MDIO_ZERO_DEV_TYPE,
- reg_phy_ext);
+
+ ret_val = hw->phy.ops.write_reg(hw, reg_slice,
+ IXGBE_MDIO_ZERO_DEV_TYPE, reg_phy_ext);
+ if (ret_val)
+ return ret_val;
+
+ /* Flush previous write with a read */
+ return hw->phy.ops.read_reg(hw, reg_slice,
+ IXGBE_MDIO_ZERO_DEV_TYPE, ®_phy_ext);
}
/**
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 3/5] ixgbe: always call setup_mac_link for multispeed fiber
2017-05-17 22:17 [Intel-wired-lan] [PATCH 0/5] ixgbe: fixes for configuring link on x550a Emil Tantilov
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY identification Emil Tantilov
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 2/5] ixgbe: add write flush when configuring CS4223/7 Emil Tantilov
@ 2017-05-17 22:17 ` Emil Tantilov
2017-05-18 22:39 ` Bowers, AndrewX
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 4/5] ixgbe: add missing configuration for rate select 1 Emil Tantilov
2017-05-17 22:18 ` [Intel-wired-lan] [PATCH 5/5] ixgbe: fix incorrect status check Emil Tantilov
4 siblings, 1 reply; 11+ messages in thread
From: Emil Tantilov @ 2017-05-17 22:17 UTC (permalink / raw)
To: intel-wired-lan
Remove the logic which would previously skip the link configuration
in the case where we are already at the requested speed in
ixgbe_setup_mac_link_multispeed_fiber().
By exiting early we are skipping the link configuration and as such
the driver may not always configure the PHY correctly for SFP+.
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 3af6127..8a2e8bf8 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -4121,15 +4121,6 @@ s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw,
speedcnt++;
highest_link_speed = IXGBE_LINK_SPEED_10GB_FULL;
- /* If we already have link at this speed, just jump out */
- status = hw->mac.ops.check_link(hw, &link_speed, &link_up,
- false);
- if (status)
- return status;
-
- if (link_speed == IXGBE_LINK_SPEED_10GB_FULL && link_up)
- goto out;
-
/* Set the module link speed */
switch (hw->phy.media_type) {
case ixgbe_media_type_fiber:
@@ -4181,15 +4172,6 @@ s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw,
if (highest_link_speed == IXGBE_LINK_SPEED_UNKNOWN)
highest_link_speed = IXGBE_LINK_SPEED_1GB_FULL;
- /* If we already have link at this speed, just jump out */
- status = hw->mac.ops.check_link(hw, &link_speed, &link_up,
- false);
- if (status)
- return status;
-
- if (link_speed == IXGBE_LINK_SPEED_1GB_FULL && link_up)
- goto out;
-
/* Set the module link speed */
switch (hw->phy.media_type) {
case ixgbe_media_type_fiber:
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 4/5] ixgbe: add missing configuration for rate select 1
2017-05-17 22:17 [Intel-wired-lan] [PATCH 0/5] ixgbe: fixes for configuring link on x550a Emil Tantilov
` (2 preceding siblings ...)
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 3/5] ixgbe: always call setup_mac_link for multispeed fiber Emil Tantilov
@ 2017-05-17 22:17 ` Emil Tantilov
2017-05-18 22:39 ` Bowers, AndrewX
2017-05-17 22:18 ` [Intel-wired-lan] [PATCH 5/5] ixgbe: fix incorrect status check Emil Tantilov
4 siblings, 1 reply; 11+ messages in thread
From: Emil Tantilov @ 2017-05-17 22:17 UTC (permalink / raw)
To: intel-wired-lan
Add RS1 configuration to ixgbe_set_soft_rate_select_speed()
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 8a2e8bf8..9b8e594 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -4278,4 +4278,23 @@ void ixgbe_set_soft_rate_select_speed(struct ixgbe_hw *hw,
hw_dbg(hw, "Failed to write Rx Rate Select RS0\n");
return;
}
+
+ /* Set RS1 */
+ status = hw->phy.ops.read_i2c_byte(hw, IXGBE_SFF_SFF_8472_ESCB,
+ IXGBE_I2C_EEPROM_DEV_ADDR2,
+ &eeprom_data);
+ if (status) {
+ hw_dbg(hw, "Failed to read Rx Rate Select RS1\n");
+ return;
+ }
+
+ eeprom_data = (eeprom_data & ~IXGBE_SFF_SOFT_RS_SELECT_MASK) | rs;
+
+ status = hw->phy.ops.write_i2c_byte(hw, IXGBE_SFF_SFF_8472_ESCB,
+ IXGBE_I2C_EEPROM_DEV_ADDR2,
+ eeprom_data);
+ if (status) {
+ hw_dbg(hw, "Failed to write Rx Rate Select RS1\n");
+ return;
+ }
}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 5/5] ixgbe: fix incorrect status check
2017-05-17 22:17 [Intel-wired-lan] [PATCH 0/5] ixgbe: fixes for configuring link on x550a Emil Tantilov
` (3 preceding siblings ...)
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 4/5] ixgbe: add missing configuration for rate select 1 Emil Tantilov
@ 2017-05-17 22:18 ` Emil Tantilov
2017-05-18 22:40 ` Bowers, AndrewX
4 siblings, 1 reply; 11+ messages in thread
From: Emil Tantilov @ 2017-05-17 22:18 UTC (permalink / raw)
To: intel-wired-lan
Check for ret_val instead of !ret_val to allow the rest of
the code to execute and configure the speed properly.
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
index cb5d363..47c8f24 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
@@ -1798,7 +1798,7 @@ static s32 ixgbe_setup_sfi_x550a(struct ixgbe_hw *hw, ixgbe_link_speed *speed)
if (ret_val == IXGBE_ERR_SFP_NOT_PRESENT)
return 0;
- if (!ret_val)
+ if (ret_val)
return ret_val;
/* Configure internal PHY for KR/KX. */
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 3/5] ixgbe: always call setup_mac_link for multispeed fiber
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 3/5] ixgbe: always call setup_mac_link for multispeed fiber Emil Tantilov
@ 2017-05-18 22:39 ` Bowers, AndrewX
0 siblings, 0 replies; 11+ messages in thread
From: Bowers, AndrewX @ 2017-05-18 22:39 UTC (permalink / raw)
To: intel-wired-lan
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Emil Tantilov
> Sent: Wednesday, May 17, 2017 3:18 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH 3/5] ixgbe: always call setup_mac_link for
> multispeed fiber
>
> Remove the logic which would previously skip the link configuration in the
> case where we are already at the requested speed in
> ixgbe_setup_mac_link_multispeed_fiber().
>
> By exiting early we are skipping the link configuration and as such the driver
> may not always configure the PHY correctly for SFP+.
>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 18 ------------------
> 1 file changed, 18 deletions(-)
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 4/5] ixgbe: add missing configuration for rate select 1
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 4/5] ixgbe: add missing configuration for rate select 1 Emil Tantilov
@ 2017-05-18 22:39 ` Bowers, AndrewX
0 siblings, 0 replies; 11+ messages in thread
From: Bowers, AndrewX @ 2017-05-18 22:39 UTC (permalink / raw)
To: intel-wired-lan
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Emil Tantilov
> Sent: Wednesday, May 17, 2017 3:18 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH 4/5] ixgbe: add missing configuration for
> rate select 1
>
> Add RS1 configuration to ixgbe_set_soft_rate_select_speed()
>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 19
> +++++++++++++++++++
> 1 file changed, 19 insertions(+)
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 5/5] ixgbe: fix incorrect status check
2017-05-17 22:18 ` [Intel-wired-lan] [PATCH 5/5] ixgbe: fix incorrect status check Emil Tantilov
@ 2017-05-18 22:40 ` Bowers, AndrewX
0 siblings, 0 replies; 11+ messages in thread
From: Bowers, AndrewX @ 2017-05-18 22:40 UTC (permalink / raw)
To: intel-wired-lan
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Emil Tantilov
> Sent: Wednesday, May 17, 2017 3:18 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH 5/5] ixgbe: fix incorrect status check
>
> Check for ret_val instead of !ret_val to allow the rest of the code to execute
> and configure the speed properly.
>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY identification
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY identification Emil Tantilov
@ 2017-05-18 23:55 ` Bowers, AndrewX
0 siblings, 0 replies; 11+ messages in thread
From: Bowers, AndrewX @ 2017-05-18 23:55 UTC (permalink / raw)
To: intel-wired-lan
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Emil Tantilov
> Sent: Wednesday, May 17, 2017 3:18 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY
> identification
>
> Previous method was unreliable. Use a different register to diferentiate
> between the SKUs.
>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 5 +++--
> drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 8 ++++----
> 2 files changed, 7 insertions(+), 6 deletions(-)
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-wired-lan] [PATCH 2/5] ixgbe: add write flush when configuring CS4223/7
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 2/5] ixgbe: add write flush when configuring CS4223/7 Emil Tantilov
@ 2017-05-18 23:56 ` Bowers, AndrewX
0 siblings, 0 replies; 11+ messages in thread
From: Bowers, AndrewX @ 2017-05-18 23:56 UTC (permalink / raw)
To: intel-wired-lan
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Emil Tantilov
> Sent: Wednesday, May 17, 2017 3:18 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH 2/5] ixgbe: add write flush when
> configuring CS4223/7
>
> Make sure the writes are processed immediately. Without the flush it is
> possible for operations on one port to spill over the other as the resource is
> shared.
>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 20
> ++++++++++++++++++--
> 1 file changed, 18 insertions(+), 2 deletions(-)
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2017-05-18 23:56 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-17 22:17 [Intel-wired-lan] [PATCH 0/5] ixgbe: fixes for configuring link on x550a Emil Tantilov
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 1/5] ixgbe: correct CS4223/7 PHY identification Emil Tantilov
2017-05-18 23:55 ` Bowers, AndrewX
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 2/5] ixgbe: add write flush when configuring CS4223/7 Emil Tantilov
2017-05-18 23:56 ` Bowers, AndrewX
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 3/5] ixgbe: always call setup_mac_link for multispeed fiber Emil Tantilov
2017-05-18 22:39 ` Bowers, AndrewX
2017-05-17 22:17 ` [Intel-wired-lan] [PATCH 4/5] ixgbe: add missing configuration for rate select 1 Emil Tantilov
2017-05-18 22:39 ` Bowers, AndrewX
2017-05-17 22:18 ` [Intel-wired-lan] [PATCH 5/5] ixgbe: fix incorrect status check Emil Tantilov
2017-05-18 22:40 ` Bowers, AndrewX
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox