ice: add ice driver for arm64

PTP feature of ice NIC is depend on x86 cpu feature of known
Constant TSC frequency there is no tsc on arm64, so do not
init the PTP callback function on arm64.

btw: we compile the ice driver as modules from now on

Reviewed-by: yuehongwu <yuehongwu@tencent.com>
Signed-off-by: MengEn Sun <mengensun@tencent.com>
Signed-off-by: Jinliang Zheng <alexjlzheng@tencent.com>
Reviewed-by: mengensun <mengensun@tencent.com>
Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
This commit is contained in:
MengEn Sun 2024-04-24 18:17:02 +08:00 committed by Jianping Liu
parent a2936f347e
commit 0f790584f3
3 changed files with 5 additions and 2 deletions

View File

@ -857,7 +857,7 @@ CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_ICE=m
CONFIG_THIRDPARTY_ICE=m
CONFIG_FM10K=m
CONFIG_IGC=m
CONFIG_JME=m

View File

@ -60,7 +60,6 @@ config THIRDPARTY_I40E
config THIRDPARTY_ICE
tristate "Intel(R) Ethernet Connection E800 Series Support"
depends on m
depends on X86
default n
depends on PCI_MSI
select AUXILIARY_BUS

View File

@ -3223,6 +3223,7 @@ static int ice_ptp_gpio_enable_e823(struct ptp_clock_info *info,
}
#ifdef HAVE_PTP_CROSSTIMESTAMP
#ifdef CONFIG_X86
/**
* ice_ptp_get_syncdevicetime - Get the cross time stamp info
* @device: Current device time
@ -3323,6 +3324,7 @@ ice_ptp_getcrosststamp_generic(struct ptp_clock_info *info,
return get_device_system_crosststamp(ice_ptp_get_syncdevicetime,
pf, NULL, cts);
}
#endif /* CONFIG_X86 */
#endif /* HAVE_PTP_CROSSTIMESTAMP */
/**
@ -3593,9 +3595,11 @@ static void
ice_ptp_set_funcs_generic(struct ice_pf *pf, struct ptp_clock_info *info)
{
#ifdef HAVE_PTP_CROSSTIMESTAMP
#ifdef CONFIG_X86
if (boot_cpu_has(X86_FEATURE_ART) &&
boot_cpu_has(X86_FEATURE_TSC_KNOWN_FREQ))
info->getcrosststamp = ice_ptp_getcrosststamp_generic;
#endif /* CONFIG_X86 */
#endif /* HAVE_PTP_CROSSTIMESTAMP */
info->enable = ice_ptp_gpio_enable_generic;