diff for duplicates of <51308ed3-09c1-6bf2-190b-306abd42f3da@intel.com> diff --git a/a/1.txt b/N1/1.txt index 4e3e651..348291c 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -4,7 +4,7 @@ On 3/18/2022 4:47 PM, Tony Nguyen wrote: > > On 3/16/2022 12:27 PM, Jeff Daly wrote: >> Some (Juniper MX5) SFP link partners exhibit a disinclination to ->> autonegotiate with X550 configured in SFI mode.? This patch enables +>> autonegotiate with X550 configured in SFI mode. This patch enables >> a manual AN-37 restart to work around the problem. > > Hi Jeff, @@ -25,9 +25,9 @@ Tony > >> Signed-off-by: Jeff Daly <jeffd@silicom-usa.com> >> --- ->> ? drivers/net/ethernet/intel/ixgbe/ixgbe_type.h |? 3 ++ ->> ? drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 50 +++++++++++++++++++ ->> ? 2 files changed, 53 insertions(+) +>> drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 3 ++ +>> drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 50 +++++++++++++++++++ +>> 2 files changed, 53 insertions(+) >> >> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h >> b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h @@ -35,22 +35,22 @@ Tony >> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h >> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h >> @@ -3705,7 +3705,9 @@ struct ixgbe_info { ->> ? #define IXGBE_KRM_LINK_S1(P)??????? ((P) ? 0x8200 : 0x4200) ->> ? #define IXGBE_KRM_LINK_CTRL_1(P)??? ((P) ? 0x820C : 0x420C) ->> ? #define IXGBE_KRM_AN_CNTL_1(P)??????? ((P) ? 0x822C : 0x422C) ->> +#define IXGBE_KRM_AN_CNTL_4(P)??????? ((P) ? 0x8238 : 0x4238) ->> ? #define IXGBE_KRM_AN_CNTL_8(P)??????? ((P) ? 0x8248 : 0x4248) ->> +#define IXGBE_KRM_PCS_KX_AN(P)??????? ((P) ? 0x9918 : 0x5918) ->> ? #define IXGBE_KRM_SGMII_CTRL(P)??????? ((P) ? 0x82A0 : 0x42A0) ->> ? #define IXGBE_KRM_LP_BASE_PAGE_HIGH(P)??? ((P) ? 0x836C : 0x436C) ->> ? #define IXGBE_KRM_DSP_TXFFE_STATE_4(P)??? ((P) ? 0x8634 : 0x4634) +>> #define IXGBE_KRM_LINK_S1(P) ((P) ? 0x8200 : 0x4200) +>> #define IXGBE_KRM_LINK_CTRL_1(P) ((P) ? 0x820C : 0x420C) +>> #define IXGBE_KRM_AN_CNTL_1(P) ((P) ? 0x822C : 0x422C) +>> +#define IXGBE_KRM_AN_CNTL_4(P) ((P) ? 0x8238 : 0x4238) +>> #define IXGBE_KRM_AN_CNTL_8(P) ((P) ? 0x8248 : 0x4248) +>> +#define IXGBE_KRM_PCS_KX_AN(P) ((P) ? 0x9918 : 0x5918) +>> #define IXGBE_KRM_SGMII_CTRL(P) ((P) ? 0x82A0 : 0x42A0) +>> #define IXGBE_KRM_LP_BASE_PAGE_HIGH(P) ((P) ? 0x836C : 0x436C) +>> #define IXGBE_KRM_DSP_TXFFE_STATE_4(P) ((P) ? 0x8634 : 0x4634) >> @@ -3715,6 +3717,7 @@ struct ixgbe_info { ->> ? #define IXGBE_KRM_PMD_FLX_MASK_ST20(P)??? ((P) ? 0x9054 : 0x5054) ->> ? #define IXGBE_KRM_TX_COEFF_CTRL_1(P)??? ((P) ? 0x9520 : 0x5520) ->> ? #define IXGBE_KRM_RX_ANA_CTL(P)??????? ((P) ? 0x9A00 : 0x5A00) ->> +#define IXGBE_KRM_FLX_TMRS_CTRL_ST31(P)??? ((P) ? 0x9180 : 0x5180) ->> ? #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_DA??????? ~(0x3 << 20) ->> ? #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_SR??????? BIT(20) +>> #define IXGBE_KRM_PMD_FLX_MASK_ST20(P) ((P) ? 0x9054 : 0x5054) +>> #define IXGBE_KRM_TX_COEFF_CTRL_1(P) ((P) ? 0x9520 : 0x5520) +>> #define IXGBE_KRM_RX_ANA_CTL(P) ((P) ? 0x9A00 : 0x5A00) +>> +#define IXGBE_KRM_FLX_TMRS_CTRL_ST31(P) ((P) ? 0x9180 : 0x5180) +>> #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_DA ~(0x3 << 20) +>> #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_SR BIT(20) >> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c >> b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c >> index e4b50c7781ff..f48a422ae83f 100644 @@ -58,17 +58,17 @@ Tony >> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c >> @@ -1725,6 +1725,56 @@ static s32 ixgbe_setup_sfi_x550a(struct >> ixgbe_hw *hw, ixgbe_link_speed *speed) ->> ????????????????? IXGBE_KRM_PMD_FLX_MASK_ST20(hw->bus.lan_id), ->> ????????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); ->> +??? /* change mode enforcement rules to hybrid */ ->> +??? status = mac->ops.read_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); ->> +??? reg_val |= 0x0400; +>> IXGBE_KRM_PMD_FLX_MASK_ST20(hw->bus.lan_id), +>> IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); +>> + /* change mode enforcement rules to hybrid */ +>> + status = mac->ops.read_iosf_sb_reg(hw, +>> + IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); +>> + reg_val |= 0x0400; >> + ->> +??? status = mac->ops.write_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); +>> + status = mac->ops.write_iosf_sb_reg(hw, +>> + IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); > > I don't see a need for all the status assignments, they're not being > used before being overwritten. @@ -77,49 +77,49 @@ Tony > > Tony > ->> +??? /* manually control the config */ ->> +??? status = mac->ops.read_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); ->> +??? reg_val |= 0x20002240; +>> + /* manually control the config */ +>> + status = mac->ops.read_iosf_sb_reg(hw, +>> + IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); +>> + reg_val |= 0x20002240; >> + ->> +??? status = mac->ops.write_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); +>> + status = mac->ops.write_iosf_sb_reg(hw, +>> + IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); >> + ->> +??? /* move the AN base page values */ ->> +??? status = mac->ops.read_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); ->> +??? reg_val |= 0x1; +>> + /* move the AN base page values */ +>> + status = mac->ops.read_iosf_sb_reg(hw, +>> + IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); +>> + reg_val |= 0x1; >> + ->> +??? status = mac->ops.write_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); +>> + status = mac->ops.write_iosf_sb_reg(hw, +>> + IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); >> + ->> +??? /* set the AN37 over CB mode */ ->> +??? status = mac->ops.read_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); ->> +??? reg_val |= 0x20000000; +>> + /* set the AN37 over CB mode */ +>> + status = mac->ops.read_iosf_sb_reg(hw, +>> + IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); +>> + reg_val |= 0x20000000; >> + ->> +??? status = mac->ops.write_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); +>> + status = mac->ops.write_iosf_sb_reg(hw, +>> + IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); >> + ->> +??? /* restart AN manually */ ->> +??? status = mac->ops.read_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); ->> +??? reg_val |= IXGBE_KRM_LINK_CTRL_1_TETH_AN_RESTART; +>> + /* restart AN manually */ +>> + status = mac->ops.read_iosf_sb_reg(hw, +>> + IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val); +>> + reg_val |= IXGBE_KRM_LINK_CTRL_1_TETH_AN_RESTART; >> + ->> +??? status = mac->ops.write_iosf_sb_reg(hw, ->> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), ->> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); +>> + status = mac->ops.write_iosf_sb_reg(hw, +>> + IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id), +>> + IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val); >> + ->> ????? /* Toggle port SW reset by AN reset. */ ->> ????? status = ixgbe_restart_an_internal_phy_x550em(hw); +>> /* Toggle port SW reset by AN reset. */ +>> status = ixgbe_restart_an_internal_phy_x550em(hw); > _______________________________________________ > Intel-wired-lan mailing list -> Intel-wired-lan at osuosl.org +> Intel-wired-lan@osuosl.org > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan diff --git a/a/content_digest b/N1/content_digest index ef037cf..0995ab3 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,9 +1,16 @@ "ref\020220316192710.9947-1-jeffd@silicom-usa.com\0" "ref\056cd0dde-600d-1bb0-1555-e66de8c37236@intel.com\0" "From\0Tony Nguyen <anthony.l.nguyen@intel.com>\0" - "Subject\0[Intel-wired-lan] [PATCH] ixgbe: Manual AN-37 for troublesome link partners for X550 SFI\0" + "Subject\0Re: [Intel-wired-lan] [PATCH] ixgbe: Manual AN-37 for troublesome link partners for X550 SFI\0" "Date\0Thu, 12 May 2022 10:09:09 -0700\0" - "To\0intel-wired-lan@osuosl.org\0" + "To\0Jeff Daly <jeffd@silicom-usa.com>" + <intel-wired-lan@lists.osuosl.org> + Skajewski + " PiotrX <piotrx.skajewski@intel.com>\0" + "Cc\0Jakub Kicinski <kuba@kernel.org>" + open list:NETWORKING DRIVERS <netdev@vger.kernel.org> + open list <linux-kernel@vger.kernel.org> + " David S. Miller <davem@davemloft.net>\0" "\00:1\0" "b\0" "\n" @@ -12,7 +19,7 @@ "> \n" "> On 3/16/2022 12:27 PM, Jeff Daly wrote:\n" ">> Some (Juniper MX5) SFP link partners exhibit a disinclination to\n" - ">> autonegotiate with X550 configured in SFI mode.? This patch enables\n" + ">> autonegotiate with X550 configured in SFI mode.\302\240 This patch enables\n" ">> a manual AN-37 restart to work around the problem.\n" "> \n" "> Hi Jeff,\n" @@ -33,9 +40,9 @@ "> \n" ">> Signed-off-by: Jeff Daly <jeffd@silicom-usa.com>\n" ">> ---\n" - ">> ? drivers/net/ethernet/intel/ixgbe/ixgbe_type.h |? 3 ++\n" - ">> ? drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 50 +++++++++++++++++++\n" - ">> ? 2 files changed, 53 insertions(+)\n" + ">> \302\240 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h |\302\240 3 ++\n" + ">> \302\240 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 50 +++++++++++++++++++\n" + ">> \302\240 2 files changed, 53 insertions(+)\n" ">>\n" ">> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h \n" ">> b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h\n" @@ -43,22 +50,22 @@ ">> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h\n" ">> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h\n" ">> @@ -3705,7 +3705,9 @@ struct ixgbe_info {\n" - ">> ? #define IXGBE_KRM_LINK_S1(P)??????? ((P) ? 0x8200 : 0x4200)\n" - ">> ? #define IXGBE_KRM_LINK_CTRL_1(P)??? ((P) ? 0x820C : 0x420C)\n" - ">> ? #define IXGBE_KRM_AN_CNTL_1(P)??????? ((P) ? 0x822C : 0x422C)\n" - ">> +#define IXGBE_KRM_AN_CNTL_4(P)??????? ((P) ? 0x8238 : 0x4238)\n" - ">> ? #define IXGBE_KRM_AN_CNTL_8(P)??????? ((P) ? 0x8248 : 0x4248)\n" - ">> +#define IXGBE_KRM_PCS_KX_AN(P)??????? ((P) ? 0x9918 : 0x5918)\n" - ">> ? #define IXGBE_KRM_SGMII_CTRL(P)??????? ((P) ? 0x82A0 : 0x42A0)\n" - ">> ? #define IXGBE_KRM_LP_BASE_PAGE_HIGH(P)??? ((P) ? 0x836C : 0x436C)\n" - ">> ? #define IXGBE_KRM_DSP_TXFFE_STATE_4(P)??? ((P) ? 0x8634 : 0x4634)\n" + ">> \302\240 #define IXGBE_KRM_LINK_S1(P)\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ((P) ? 0x8200 : 0x4200)\n" + ">> \302\240 #define IXGBE_KRM_LINK_CTRL_1(P)\302\240\302\240\302\240 ((P) ? 0x820C : 0x420C)\n" + ">> \302\240 #define IXGBE_KRM_AN_CNTL_1(P)\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ((P) ? 0x822C : 0x422C)\n" + ">> +#define IXGBE_KRM_AN_CNTL_4(P)\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ((P) ? 0x8238 : 0x4238)\n" + ">> \302\240 #define IXGBE_KRM_AN_CNTL_8(P)\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ((P) ? 0x8248 : 0x4248)\n" + ">> +#define IXGBE_KRM_PCS_KX_AN(P)\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ((P) ? 0x9918 : 0x5918)\n" + ">> \302\240 #define IXGBE_KRM_SGMII_CTRL(P)\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ((P) ? 0x82A0 : 0x42A0)\n" + ">> \302\240 #define IXGBE_KRM_LP_BASE_PAGE_HIGH(P)\302\240\302\240\302\240 ((P) ? 0x836C : 0x436C)\n" + ">> \302\240 #define IXGBE_KRM_DSP_TXFFE_STATE_4(P)\302\240\302\240\302\240 ((P) ? 0x8634 : 0x4634)\n" ">> @@ -3715,6 +3717,7 @@ struct ixgbe_info {\n" - ">> ? #define IXGBE_KRM_PMD_FLX_MASK_ST20(P)??? ((P) ? 0x9054 : 0x5054)\n" - ">> ? #define IXGBE_KRM_TX_COEFF_CTRL_1(P)??? ((P) ? 0x9520 : 0x5520)\n" - ">> ? #define IXGBE_KRM_RX_ANA_CTL(P)??????? ((P) ? 0x9A00 : 0x5A00)\n" - ">> +#define IXGBE_KRM_FLX_TMRS_CTRL_ST31(P)??? ((P) ? 0x9180 : 0x5180)\n" - ">> ? #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_DA??????? ~(0x3 << 20)\n" - ">> ? #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_SR??????? BIT(20)\n" + ">> \302\240 #define IXGBE_KRM_PMD_FLX_MASK_ST20(P)\302\240\302\240\302\240 ((P) ? 0x9054 : 0x5054)\n" + ">> \302\240 #define IXGBE_KRM_TX_COEFF_CTRL_1(P)\302\240\302\240\302\240 ((P) ? 0x9520 : 0x5520)\n" + ">> \302\240 #define IXGBE_KRM_RX_ANA_CTL(P)\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ((P) ? 0x9A00 : 0x5A00)\n" + ">> +#define IXGBE_KRM_FLX_TMRS_CTRL_ST31(P)\302\240\302\240\302\240 ((P) ? 0x9180 : 0x5180)\n" + ">> \302\240 #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_DA\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ~(0x3 << 20)\n" + ">> \302\240 #define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_SR\302\240\302\240\302\240\302\240\302\240\302\240\302\240 BIT(20)\n" ">> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c \n" ">> b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c\n" ">> index e4b50c7781ff..f48a422ae83f 100644\n" @@ -66,17 +73,17 @@ ">> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c\n" ">> @@ -1725,6 +1725,56 @@ static s32 ixgbe_setup_sfi_x550a(struct \n" ">> ixgbe_hw *hw, ixgbe_link_speed *speed)\n" - ">> ????????????????? IXGBE_KRM_PMD_FLX_MASK_ST20(hw->bus.lan_id),\n" - ">> ????????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" - ">> +??? /* change mode enforcement rules to hybrid */\n" - ">> +??? status = mac->ops.read_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" - ">> +??? reg_val |= 0x0400;\n" + ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_PMD_FLX_MASK_ST20(hw->bus.lan_id),\n" + ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" + ">> +\302\240\302\240\302\240 /* change mode enforcement rules to hybrid */\n" + ">> +\302\240\302\240\302\240 status = mac->ops.read_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" + ">> +\302\240\302\240\302\240 reg_val |= 0x0400;\n" ">> +\n" - ">> +??? status = mac->ops.write_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" + ">> +\302\240\302\240\302\240 status = mac->ops.write_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_FLX_TMRS_CTRL_ST31(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" "> \n" "> I don't see a need for all the status assignments, they're not being \n" "> used before being overwritten.\n" @@ -85,51 +92,51 @@ "> \n" "> Tony\n" "> \n" - ">> +??? /* manually control the config */\n" - ">> +??? status = mac->ops.read_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" - ">> +??? reg_val |= 0x20002240;\n" + ">> +\302\240\302\240\302\240 /* manually control the config */\n" + ">> +\302\240\302\240\302\240 status = mac->ops.read_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" + ">> +\302\240\302\240\302\240 reg_val |= 0x20002240;\n" ">> +\n" - ">> +??? status = mac->ops.write_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" + ">> +\302\240\302\240\302\240 status = mac->ops.write_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" ">> +\n" - ">> +??? /* move the AN base page values */\n" - ">> +??? status = mac->ops.read_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" - ">> +??? reg_val |= 0x1;\n" + ">> +\302\240\302\240\302\240 /* move the AN base page values */\n" + ">> +\302\240\302\240\302\240 status = mac->ops.read_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" + ">> +\302\240\302\240\302\240 reg_val |= 0x1;\n" ">> +\n" - ">> +??? status = mac->ops.write_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" + ">> +\302\240\302\240\302\240 status = mac->ops.write_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_PCS_KX_AN(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" ">> +\n" - ">> +??? /* set the AN37 over CB mode */\n" - ">> +??? status = mac->ops.read_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" - ">> +??? reg_val |= 0x20000000;\n" + ">> +\302\240\302\240\302\240 /* set the AN37 over CB mode */\n" + ">> +\302\240\302\240\302\240 status = mac->ops.read_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" + ">> +\302\240\302\240\302\240 reg_val |= 0x20000000;\n" ">> +\n" - ">> +??? status = mac->ops.write_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" + ">> +\302\240\302\240\302\240 status = mac->ops.write_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_AN_CNTL_4(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" ">> +\n" - ">> +??? /* restart AN manually */\n" - ">> +??? status = mac->ops.read_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" - ">> +??? reg_val |= IXGBE_KRM_LINK_CTRL_1_TETH_AN_RESTART;\n" + ">> +\302\240\302\240\302\240 /* restart AN manually */\n" + ">> +\302\240\302\240\302\240 status = mac->ops.read_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, ®_val);\n" + ">> +\302\240\302\240\302\240 reg_val |= IXGBE_KRM_LINK_CTRL_1_TETH_AN_RESTART;\n" ">> +\n" - ">> +??? status = mac->ops.write_iosf_sb_reg(hw,\n" - ">> +??????????????? IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" - ">> +??????????????? IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" + ">> +\302\240\302\240\302\240 status = mac->ops.write_iosf_sb_reg(hw,\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_KRM_LINK_CTRL_1(hw->bus.lan_id),\n" + ">> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);\n" ">> +\n" - ">> ????? /* Toggle port SW reset by AN reset. */\n" - ">> ????? status = ixgbe_restart_an_internal_phy_x550em(hw);\n" + ">> \302\240\302\240\302\240\302\240\302\240 /* Toggle port SW reset by AN reset. */\n" + ">> \302\240\302\240\302\240\302\240\302\240 status = ixgbe_restart_an_internal_phy_x550em(hw);\n" "> _______________________________________________\n" "> Intel-wired-lan mailing list\n" - "> Intel-wired-lan at osuosl.org\n" + "> Intel-wired-lan@osuosl.org\n" > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan -c0ec7a38df539056abbb8438f8d0b25b5131912e9b0a94402d20118414813de1 +0f59184a4ce2e147ff7e967deccc4f66ba2c41aeb3eb8ef8abd932ae7201a953
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.