Message ID | 20230718162857.3566306-1-sasha.neftin@intel.com |
---|---|
State | Accepted |
Delegated to: | Anthony Nguyen |
Headers | show |
Series | [iwl-next,v1,1/1] e1000e: Add support for the next LOM generation | expand |
Dear Sasha, Thank you for the patch. It’d be great if you mentioned NVL in the commit message title. Am 18.07.23 um 18:28 schrieb Sasha Neftin: > Add devices IDs for the next LOM generations that will be available on the > next Intel Client platforms. This patch provides the initial support for > these devices. … by adding the ids from datasheet … and treating it like PTP. Kind regards, Paul > Signed-off-by: Sasha Neftin <sasha.neftin@intel.com> > --- > drivers/net/ethernet/intel/e1000e/ethtool.c | 2 ++ > drivers/net/ethernet/intel/e1000e/hw.h | 3 +++ > drivers/net/ethernet/intel/e1000e/ich8lan.c | 7 +++++++ > drivers/net/ethernet/intel/e1000e/netdev.c | 4 ++++ > drivers/net/ethernet/intel/e1000e/ptp.c | 1 + > 5 files changed, 17 insertions(+) > > diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c > index 721f86fd5802..9835e6a90d56 100644 > --- a/drivers/net/ethernet/intel/e1000e/ethtool.c > +++ b/drivers/net/ethernet/intel/e1000e/ethtool.c > @@ -917,6 +917,7 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > mask |= BIT(18); > break; > default: > @@ -1585,6 +1586,7 @@ static void e1000_loopback_cleanup(struct e1000_adapter *adapter) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > fext_nvm11 = er32(FEXTNVM11); > fext_nvm11 &= ~E1000_FEXTNVM11_DISABLE_MULR_FIX; > ew32(FEXTNVM11, fext_nvm11); > diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h > index 29f9fae35f42..1fef6bb5a5fb 100644 > --- a/drivers/net/ethernet/intel/e1000e/hw.h > +++ b/drivers/net/ethernet/intel/e1000e/hw.h > @@ -122,6 +122,8 @@ struct e1000_hw; > #define E1000_DEV_ID_PCH_PTP_I219_V26 0x57B6 > #define E1000_DEV_ID_PCH_PTP_I219_LM27 0x57B7 > #define E1000_DEV_ID_PCH_PTP_I219_V27 0x57B8 > +#define E1000_DEV_ID_PCH_NVL_I219_LM29 0x57B9 > +#define E1000_DEV_ID_PCH_NVL_I219_V29 0x57BA > > #define E1000_REVISION_4 4 > > @@ -150,6 +152,7 @@ enum e1000_mac_type { > e1000_pch_mtp, > e1000_pch_lnp, > e1000_pch_ptp, > + e1000_pch_nvp, > }; > > enum e1000_media_type { > diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c > index 0c7fd10312c8..39e9fc601bf5 100644 > --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c > +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c > @@ -323,6 +323,7 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > if (e1000_phy_is_accessible_pchlan(hw)) > break; > > @@ -470,6 +471,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > /* In case the PHY needs to be in mdio slow mode, > * set slow mode and try to get the PHY id again. > */ > @@ -717,6 +719,7 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_hw *hw) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > case e1000_pchlan: > /* check management mode */ > mac->ops.check_mng_mode = e1000_check_mng_mode_pchlan; > @@ -1685,6 +1688,7 @@ static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > rc = e1000_init_phy_params_pchlan(hw); > break; > default: > @@ -2142,6 +2146,7 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M; > break; > default: > @@ -3188,6 +3193,7 @@ static s32 e1000_valid_nvm_bank_detect_ich8lan(struct e1000_hw *hw, u32 *bank) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > bank1_offset = nvm->flash_bank_size; > act_offset = E1000_ICH_NVM_SIG_WORD; > > @@ -4129,6 +4135,7 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > word = NVM_COMPAT; > valid_csum_mask = NVM_COMPAT_VALID_CSUM; > break; > diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c > index 18a5e73b8680..f536c856727c 100644 > --- a/drivers/net/ethernet/intel/e1000e/netdev.c > +++ b/drivers/net/ethernet/intel/e1000e/netdev.c > @@ -3545,6 +3545,7 @@ s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) { > /* Stable 24MHz frequency */ > incperiod = INCPERIOD_24MHZ; > @@ -4061,6 +4062,7 @@ void e1000e_reset(struct e1000_adapter *adapter) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > fc->refresh_time = 0xFFFF; > fc->pause_time = 0xFFFF; > > @@ -7913,6 +7915,8 @@ static const struct pci_device_id e1000_pci_tbl[] = { > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V26), board_pch_mtp }, > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM27), board_pch_mtp }, > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V27), board_pch_mtp }, > + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_LM29), board_pch_mtp }, > + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_V29), board_pch_mtp }, > > { 0, 0, 0, 0, 0, 0, 0 } /* terminate list */ > }; > diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c b/drivers/net/ethernet/intel/e1000e/ptp.c > index def4566a916f..02d871bc112a 100644 > --- a/drivers/net/ethernet/intel/e1000e/ptp.c > +++ b/drivers/net/ethernet/intel/e1000e/ptp.c > @@ -288,6 +288,7 @@ void e1000e_ptp_init(struct e1000_adapter *adapter) > case e1000_pch_mtp: > case e1000_pch_lnp: > case e1000_pch_ptp: > + case e1000_pch_nvp: > if ((hw->mac.type < e1000_pch_lpt) || > (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI)) { > adapter->ptp_clock_info.max_adj = 24000000 - 1;
On 7/18/2023 19:33, Paul Menzel wrote: > Thank you for the patch. It’d be great if you mentioned NVL in the > commit message title. We prefer to stay aligned with the same format as we added new device IDs in the past.
Dear Sasha, Am 19.07.23 um 13:26 schrieb Neftin, Sasha: > On 7/18/2023 19:33, Paul Menzel wrote: >> Thank you for the patch. It’d be great if you mentioned NVL in the >> commit message title. > We prefer to stay aligned with the same format as we added new device > IDs in the past. Why not improve it? `git log --oneline` is going to show the same message, which is not useful. Kind regards, Paul
On 7/18/2023 19:28, Sasha Neftin wrote: > Add devices IDs for the next LOM generations that will be available on the > next Intel Client platforms. This patch provides the initial support for > these devices. > > Signed-off-by: Sasha Neftin <sasha.neftin@intel.com> > --- > drivers/net/ethernet/intel/e1000e/ethtool.c | 2 ++ > drivers/net/ethernet/intel/e1000e/hw.h | 3 +++ > drivers/net/ethernet/intel/e1000e/ich8lan.c | 7 +++++++ > drivers/net/ethernet/intel/e1000e/netdev.c | 4 ++++ > drivers/net/ethernet/intel/e1000e/ptp.c | 1 + > 5 files changed, 17 insertions(+) Tested-by: Naama Meir <naamax.meir@linux.intel.com>
diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c index 721f86fd5802..9835e6a90d56 100644 --- a/drivers/net/ethernet/intel/e1000e/ethtool.c +++ b/drivers/net/ethernet/intel/e1000e/ethtool.c @@ -917,6 +917,7 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: mask |= BIT(18); break; default: @@ -1585,6 +1586,7 @@ static void e1000_loopback_cleanup(struct e1000_adapter *adapter) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: fext_nvm11 = er32(FEXTNVM11); fext_nvm11 &= ~E1000_FEXTNVM11_DISABLE_MULR_FIX; ew32(FEXTNVM11, fext_nvm11); diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h index 29f9fae35f42..1fef6bb5a5fb 100644 --- a/drivers/net/ethernet/intel/e1000e/hw.h +++ b/drivers/net/ethernet/intel/e1000e/hw.h @@ -122,6 +122,8 @@ struct e1000_hw; #define E1000_DEV_ID_PCH_PTP_I219_V26 0x57B6 #define E1000_DEV_ID_PCH_PTP_I219_LM27 0x57B7 #define E1000_DEV_ID_PCH_PTP_I219_V27 0x57B8 +#define E1000_DEV_ID_PCH_NVL_I219_LM29 0x57B9 +#define E1000_DEV_ID_PCH_NVL_I219_V29 0x57BA #define E1000_REVISION_4 4 @@ -150,6 +152,7 @@ enum e1000_mac_type { e1000_pch_mtp, e1000_pch_lnp, e1000_pch_ptp, + e1000_pch_nvp, }; enum e1000_media_type { diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c index 0c7fd10312c8..39e9fc601bf5 100644 --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c @@ -323,6 +323,7 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: if (e1000_phy_is_accessible_pchlan(hw)) break; @@ -470,6 +471,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: /* In case the PHY needs to be in mdio slow mode, * set slow mode and try to get the PHY id again. */ @@ -717,6 +719,7 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_hw *hw) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: case e1000_pchlan: /* check management mode */ mac->ops.check_mng_mode = e1000_check_mng_mode_pchlan; @@ -1685,6 +1688,7 @@ static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: rc = e1000_init_phy_params_pchlan(hw); break; default: @@ -2142,6 +2146,7 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M; break; default: @@ -3188,6 +3193,7 @@ static s32 e1000_valid_nvm_bank_detect_ich8lan(struct e1000_hw *hw, u32 *bank) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: bank1_offset = nvm->flash_bank_size; act_offset = E1000_ICH_NVM_SIG_WORD; @@ -4129,6 +4135,7 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: word = NVM_COMPAT; valid_csum_mask = NVM_COMPAT_VALID_CSUM; break; diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 18a5e73b8680..f536c856727c 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -3545,6 +3545,7 @@ s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) { /* Stable 24MHz frequency */ incperiod = INCPERIOD_24MHZ; @@ -4061,6 +4062,7 @@ void e1000e_reset(struct e1000_adapter *adapter) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: fc->refresh_time = 0xFFFF; fc->pause_time = 0xFFFF; @@ -7913,6 +7915,8 @@ static const struct pci_device_id e1000_pci_tbl[] = { { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V26), board_pch_mtp }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM27), board_pch_mtp }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V27), board_pch_mtp }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_LM29), board_pch_mtp }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_V29), board_pch_mtp }, { 0, 0, 0, 0, 0, 0, 0 } /* terminate list */ }; diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c b/drivers/net/ethernet/intel/e1000e/ptp.c index def4566a916f..02d871bc112a 100644 --- a/drivers/net/ethernet/intel/e1000e/ptp.c +++ b/drivers/net/ethernet/intel/e1000e/ptp.c @@ -288,6 +288,7 @@ void e1000e_ptp_init(struct e1000_adapter *adapter) case e1000_pch_mtp: case e1000_pch_lnp: case e1000_pch_ptp: + case e1000_pch_nvp: if ((hw->mac.type < e1000_pch_lpt) || (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI)) { adapter->ptp_clock_info.max_adj = 24000000 - 1;
Add devices IDs for the next LOM generations that will be available on the next Intel Client platforms. This patch provides the initial support for these devices. Signed-off-by: Sasha Neftin <sasha.neftin@intel.com> --- drivers/net/ethernet/intel/e1000e/ethtool.c | 2 ++ drivers/net/ethernet/intel/e1000e/hw.h | 3 +++ drivers/net/ethernet/intel/e1000e/ich8lan.c | 7 +++++++ drivers/net/ethernet/intel/e1000e/netdev.c | 4 ++++ drivers/net/ethernet/intel/e1000e/ptp.c | 1 + 5 files changed, 17 insertions(+)