Skip to content

Commit ba1124f

Browse files
pgreenwakuba-moo
authored andcommitted
ice: Add E830 device IDs, MAC type and registers
E830 is the 200G NIC family which uses the ice driver. Add specific E830 registers. Embed macros to use proper register based on (hw)->mac_type & name those macros to [ORIGINAL]_BY_MAC(hw). Registers only available on one of the macs will need to be explicitly referred to as E800_NAME instead of just NAME. PTP is not yet supported. Co-developed-by: Milena Olech <[email protected]> Signed-off-by: Milena Olech <[email protected]> Co-developed-by: Dan Nowlin <[email protected]> Signed-off-by: Dan Nowlin <[email protected]> Co-developed-by: Scott Taylor <[email protected]> Signed-off-by: Scott Taylor <[email protected]> Co-developed-by: Pawel Chmielewski <[email protected]> Signed-off-by: Pawel Chmielewski <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: Paul Greenwalt <[email protected]> Tested-by: Tony Brelinski <[email protected]> Signed-off-by: Jacob Keller <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent edd6815 commit ba1124f

File tree

7 files changed

+141
-61
lines changed

7 files changed

+141
-61
lines changed

drivers/net/ethernet/intel/ice/ice_common.c

Lines changed: 47 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: GPL-2.0
2-
/* Copyright (c) 2018, Intel Corporation. */
2+
/* Copyright (c) 2018-2023, Intel Corporation. */
33

44
#include "ice_common.h"
55
#include "ice_sched.h"
@@ -154,6 +154,12 @@ static int ice_set_mac_type(struct ice_hw *hw)
154154
case ICE_DEV_ID_E823L_SFP:
155155
hw->mac_type = ICE_MAC_GENERIC;
156156
break;
157+
case ICE_DEV_ID_E830_BACKPLANE:
158+
case ICE_DEV_ID_E830_QSFP56:
159+
case ICE_DEV_ID_E830_SFP:
160+
case ICE_DEV_ID_E830_SFP_DD:
161+
hw->mac_type = ICE_MAC_E830;
162+
break;
157163
default:
158164
hw->mac_type = ICE_MAC_UNKNOWN;
159165
break;
@@ -759,8 +765,7 @@ static void
759765
ice_fill_tx_timer_and_fc_thresh(struct ice_hw *hw,
760766
struct ice_aqc_set_mac_cfg *cmd)
761767
{
762-
u16 fc_thres_val, tx_timer_val;
763-
u32 val;
768+
u32 val, fc_thres_m;
764769

765770
/* We read back the transmit timer and FC threshold value of
766771
* LFC. Thus, we will use index =
@@ -769,19 +774,32 @@ ice_fill_tx_timer_and_fc_thresh(struct ice_hw *hw,
769774
* Also, because we are operating on transmit timer and FC
770775
* threshold of LFC, we don't turn on any bit in tx_tmr_priority
771776
*/
772-
#define IDX_OF_LFC PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX
773-
774-
/* Retrieve the transmit timer */
775-
val = rd32(hw, PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(IDX_OF_LFC));
776-
tx_timer_val = val &
777-
PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M;
778-
cmd->tx_tmr_value = cpu_to_le16(tx_timer_val);
779-
780-
/* Retrieve the FC threshold */
781-
val = rd32(hw, PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(IDX_OF_LFC));
782-
fc_thres_val = val & PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER_M;
783-
784-
cmd->fc_refresh_threshold = cpu_to_le16(fc_thres_val);
777+
#define E800_IDX_OF_LFC E800_PRTMAC_HSEC_CTL_TX_PS_QNT_MAX
778+
#define E800_REFRESH_TMR E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR
779+
780+
if (hw->mac_type == ICE_MAC_E830) {
781+
/* Retrieve the transmit timer */
782+
val = rd32(hw, E830_PRTMAC_CL01_PS_QNT);
783+
cmd->tx_tmr_value =
784+
le16_encode_bits(val, E830_PRTMAC_CL01_PS_QNT_CL0_M);
785+
786+
/* Retrieve the fc threshold */
787+
val = rd32(hw, E830_PRTMAC_CL01_QNT_THR);
788+
fc_thres_m = E830_PRTMAC_CL01_QNT_THR_CL0_M;
789+
} else {
790+
/* Retrieve the transmit timer */
791+
val = rd32(hw,
792+
E800_PRTMAC_HSEC_CTL_TX_PS_QNT(E800_IDX_OF_LFC));
793+
cmd->tx_tmr_value =
794+
le16_encode_bits(val,
795+
E800_PRTMAC_HSEC_CTL_TX_PS_QNT_M);
796+
797+
/* Retrieve the fc threshold */
798+
val = rd32(hw,
799+
E800_REFRESH_TMR(E800_IDX_OF_LFC));
800+
fc_thres_m = E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR_M;
801+
}
802+
cmd->fc_refresh_threshold = le16_encode_bits(val, fc_thres_m);
785803
}
786804

787805
/**
@@ -2464,16 +2482,21 @@ ice_parse_1588_func_caps(struct ice_hw *hw, struct ice_hw_func_caps *func_p,
24642482
static void
24652483
ice_parse_fdir_func_caps(struct ice_hw *hw, struct ice_hw_func_caps *func_p)
24662484
{
2467-
u32 reg_val, val;
2485+
u32 reg_val, gsize, bsize;
24682486

24692487
reg_val = rd32(hw, GLQF_FD_SIZE);
2470-
val = (reg_val & GLQF_FD_SIZE_FD_GSIZE_M) >>
2471-
GLQF_FD_SIZE_FD_GSIZE_S;
2472-
func_p->fd_fltr_guar =
2473-
ice_get_num_per_func(hw, val);
2474-
val = (reg_val & GLQF_FD_SIZE_FD_BSIZE_M) >>
2475-
GLQF_FD_SIZE_FD_BSIZE_S;
2476-
func_p->fd_fltr_best_effort = val;
2488+
switch (hw->mac_type) {
2489+
case ICE_MAC_E830:
2490+
gsize = FIELD_GET(E830_GLQF_FD_SIZE_FD_GSIZE_M, reg_val);
2491+
bsize = FIELD_GET(E830_GLQF_FD_SIZE_FD_BSIZE_M, reg_val);
2492+
break;
2493+
case ICE_MAC_E810:
2494+
default:
2495+
gsize = FIELD_GET(E800_GLQF_FD_SIZE_FD_GSIZE_M, reg_val);
2496+
bsize = FIELD_GET(E800_GLQF_FD_SIZE_FD_BSIZE_M, reg_val);
2497+
}
2498+
func_p->fd_fltr_guar = ice_get_num_per_func(hw, gsize);
2499+
func_p->fd_fltr_best_effort = bsize;
24772500

24782501
ice_debug(hw, ICE_DBG_INIT, "func caps: fd_fltr_guar = %d\n",
24792502
func_p->fd_fltr_guar);

drivers/net/ethernet/intel/ice/ice_devids.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
2-
/* Copyright (c) 2018, Intel Corporation. */
2+
/* Copyright (c) 2018-2023, Intel Corporation. */
33

44
#ifndef _ICE_DEVIDS_H_
55
#define _ICE_DEVIDS_H_
@@ -16,6 +16,14 @@
1616
#define ICE_DEV_ID_E823L_1GBE 0x124F
1717
/* Intel(R) Ethernet Connection E823-L for QSFP */
1818
#define ICE_DEV_ID_E823L_QSFP 0x151D
19+
/* Intel(R) Ethernet Controller E830-C for backplane */
20+
#define ICE_DEV_ID_E830_BACKPLANE 0x12D1
21+
/* Intel(R) Ethernet Controller E830-C for QSFP */
22+
#define ICE_DEV_ID_E830_QSFP56 0x12D2
23+
/* Intel(R) Ethernet Controller E830-C for SFP */
24+
#define ICE_DEV_ID_E830_SFP 0x12D3
25+
/* Intel(R) Ethernet Controller E830-C for SFP-DD */
26+
#define ICE_DEV_ID_E830_SFP_DD 0x12D4
1927
/* Intel(R) Ethernet Controller E810-C for backplane */
2028
#define ICE_DEV_ID_E810C_BACKPLANE 0x1591
2129
/* Intel(R) Ethernet Controller E810-C for QSFP */

drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: GPL-2.0
2-
/* Copyright (C) 2018-2020, Intel Corporation. */
2+
/* Copyright (C) 2018-2023, Intel Corporation. */
33

44
/* flow director ethtool support for ice */
55

@@ -540,16 +540,24 @@ static int ice_fdir_num_avail_fltr(struct ice_hw *hw, struct ice_vsi *vsi)
540540
/* total guaranteed filters assigned to this VSI */
541541
num_guar = vsi->num_gfltr;
542542

543-
/* minus the guaranteed filters programed by this VSI */
544-
num_guar -= (rd32(hw, VSIQF_FD_CNT(vsi_num)) &
545-
VSIQF_FD_CNT_FD_GCNT_M) >> VSIQF_FD_CNT_FD_GCNT_S;
546-
547543
/* total global best effort filters */
548544
num_be = hw->func_caps.fd_fltr_best_effort;
549545

550-
/* minus the global best effort filters programmed */
551-
num_be -= (rd32(hw, GLQF_FD_CNT) & GLQF_FD_CNT_FD_BCNT_M) >>
552-
GLQF_FD_CNT_FD_BCNT_S;
546+
/* Subtract the number of programmed filters from the global values */
547+
switch (hw->mac_type) {
548+
case ICE_MAC_E830:
549+
num_guar -= FIELD_GET(E830_VSIQF_FD_CNT_FD_GCNT_M,
550+
rd32(hw, VSIQF_FD_CNT(vsi_num)));
551+
num_be -= FIELD_GET(E830_GLQF_FD_CNT_FD_BCNT_M,
552+
rd32(hw, GLQF_FD_CNT));
553+
break;
554+
case ICE_MAC_E810:
555+
default:
556+
num_guar -= FIELD_GET(E800_VSIQF_FD_CNT_FD_GCNT_M,
557+
rd32(hw, VSIQF_FD_CNT(vsi_num)));
558+
num_be -= FIELD_GET(E800_GLQF_FD_CNT_FD_BCNT_M,
559+
rd32(hw, GLQF_FD_CNT));
560+
}
553561

554562
return num_guar + num_be;
555563
}

drivers/net/ethernet/intel/ice/ice_hw_autogen.h

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
2-
/* Copyright (c) 2018, Intel Corporation. */
2+
/* Copyright (c) 2018-2023, Intel Corporation. */
33

44
/* Machine-generated file */
55

@@ -285,11 +285,11 @@
285285
#define VPLAN_TX_QBASE_VFNUMQ_M ICE_M(0xFF, 16)
286286
#define VPLAN_TXQ_MAPENA(_VF) (0x00073800 + ((_VF) * 4))
287287
#define VPLAN_TXQ_MAPENA_TX_ENA_M BIT(0)
288-
#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(_i) (0x001E36E0 + ((_i) * 32))
289-
#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX 8
290-
#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M ICE_M(0xFFFF, 0)
291-
#define PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(_i) (0x001E3800 + ((_i) * 32))
292-
#define PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER_M ICE_M(0xFFFF, 0)
288+
#define E800_PRTMAC_HSEC_CTL_TX_PS_QNT(_i) (0x001E36E0 + ((_i) * 32))
289+
#define E800_PRTMAC_HSEC_CTL_TX_PS_QNT_MAX 8
290+
#define E800_PRTMAC_HSEC_CTL_TX_PS_QNT_M GENMASK(15, 0)
291+
#define E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR(_i) (0x001E3800 + ((_i) * 32))
292+
#define E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR_M GENMASK(15, 0)
293293
#define GL_MDCK_TX_TDPU 0x00049348
294294
#define GL_MDCK_TX_TDPU_RCU_ANTISPOOF_ITR_DIS_M BIT(1)
295295
#define GL_MDET_RX 0x00294C00
@@ -312,7 +312,11 @@
312312
#define GL_MDET_TX_PQM_MAL_TYPE_S 26
313313
#define GL_MDET_TX_PQM_MAL_TYPE_M ICE_M(0x1F, 26)
314314
#define GL_MDET_TX_PQM_VALID_M BIT(31)
315-
#define GL_MDET_TX_TCLAN 0x000FC068
315+
#define GL_MDET_TX_TCLAN_BY_MAC(hw) \
316+
((hw)->mac_type == ICE_MAC_E830 ? E830_GL_MDET_TX_TCLAN : \
317+
E800_GL_MDET_TX_TCLAN)
318+
#define E800_GL_MDET_TX_TCLAN 0x000FC068
319+
#define E830_GL_MDET_TX_TCLAN 0x000FCCC0
316320
#define GL_MDET_TX_TCLAN_QNUM_S 0
317321
#define GL_MDET_TX_TCLAN_QNUM_M ICE_M(0x7FFF, 0)
318322
#define GL_MDET_TX_TCLAN_VF_NUM_S 15
@@ -326,7 +330,11 @@
326330
#define PF_MDET_RX_VALID_M BIT(0)
327331
#define PF_MDET_TX_PQM 0x002D2C80
328332
#define PF_MDET_TX_PQM_VALID_M BIT(0)
329-
#define PF_MDET_TX_TCLAN 0x000FC000
333+
#define PF_MDET_TX_TCLAN_BY_MAC(hw) \
334+
((hw)->mac_type == ICE_MAC_E830 ? E830_PF_MDET_TX_TCLAN : \
335+
E800_PF_MDET_TX_TCLAN)
336+
#define E800_PF_MDET_TX_TCLAN 0x000FC000
337+
#define E830_PF_MDET_TX_TCLAN 0x000FCC00
330338
#define PF_MDET_TX_TCLAN_VALID_M BIT(0)
331339
#define VP_MDET_RX(_VF) (0x00294400 + ((_VF) * 4))
332340
#define VP_MDET_RX_VALID_M BIT(0)
@@ -336,6 +344,8 @@
336344
#define VP_MDET_TX_TCLAN_VALID_M BIT(0)
337345
#define VP_MDET_TX_TDPU(_VF) (0x00040000 + ((_VF) * 4))
338346
#define VP_MDET_TX_TDPU_VALID_M BIT(0)
347+
#define E800_GL_MNG_FWSM_FW_MODES_M GENMASK(2, 0)
348+
#define E830_GL_MNG_FWSM_FW_MODES_M GENMASK(1, 0)
339349
#define GL_MNG_FWSM 0x000B6134
340350
#define GL_MNG_FWSM_FW_LOADING_M BIT(30)
341351
#define GLNVM_FLA 0x000B6108
@@ -364,13 +374,18 @@
364374
#define GL_PWR_MODE_CTL_CAR_MAX_BW_S 30
365375
#define GL_PWR_MODE_CTL_CAR_MAX_BW_M ICE_M(0x3, 30)
366376
#define GLQF_FD_CNT 0x00460018
377+
#define E800_GLQF_FD_CNT_FD_GCNT_M GENMASK(14, 0)
378+
#define E830_GLQF_FD_CNT_FD_GCNT_M GENMASK(15, 0)
367379
#define GLQF_FD_CNT_FD_BCNT_S 16
368-
#define GLQF_FD_CNT_FD_BCNT_M ICE_M(0x7FFF, 16)
380+
#define E800_GLQF_FD_CNT_FD_BCNT_M GENMASK(30, 16)
381+
#define E830_GLQF_FD_CNT_FD_BCNT_M GENMASK(31, 16)
369382
#define GLQF_FD_SIZE 0x00460010
370383
#define GLQF_FD_SIZE_FD_GSIZE_S 0
371-
#define GLQF_FD_SIZE_FD_GSIZE_M ICE_M(0x7FFF, 0)
384+
#define E800_GLQF_FD_SIZE_FD_GSIZE_M GENMASK(14, 0)
385+
#define E830_GLQF_FD_SIZE_FD_GSIZE_M GENMASK(15, 0)
372386
#define GLQF_FD_SIZE_FD_BSIZE_S 16
373-
#define GLQF_FD_SIZE_FD_BSIZE_M ICE_M(0x7FFF, 16)
387+
#define E800_GLQF_FD_SIZE_FD_BSIZE_M GENMASK(30, 16)
388+
#define E830_GLQF_FD_SIZE_FD_BSIZE_M GENMASK(31, 16)
374389
#define GLQF_FDINSET(_i, _j) (0x00412000 + ((_i) * 4 + (_j) * 512))
375390
#define GLQF_FDMASK(_i) (0x00410800 + ((_i) * 4))
376391
#define GLQF_FDMASK_MAX_INDEX 31
@@ -389,6 +404,10 @@
389404
#define GLQF_HMASK_SEL(_i) (0x00410000 + ((_i) * 4))
390405
#define GLQF_HMASK_SEL_MAX_INDEX 127
391406
#define GLQF_HMASK_SEL_MASK_SEL_S 0
407+
#define E800_PFQF_FD_CNT_FD_GCNT_M GENMASK(14, 0)
408+
#define E830_PFQF_FD_CNT_FD_GCNT_M GENMASK(15, 0)
409+
#define E800_PFQF_FD_CNT_FD_BCNT_M GENMASK(30, 16)
410+
#define E830_PFQF_FD_CNT_FD_BCNT_M GENMASK(31, 16)
392411
#define PFQF_FD_ENA 0x0043A000
393412
#define PFQF_FD_ENA_FD_ENA_M BIT(0)
394413
#define PFQF_FD_SIZE 0x00460100
@@ -479,6 +498,7 @@
479498
#define GLTSYN_SYNC_DLAY 0x00088818
480499
#define GLTSYN_TGT_H_0(_i) (0x00088930 + ((_i) * 4))
481500
#define GLTSYN_TGT_L_0(_i) (0x00088928 + ((_i) * 4))
501+
#define GLTSYN_TIME_0(_i) (0x000888C8 + ((_i) * 4))
482502
#define GLTSYN_TIME_H(_i) (0x000888D8 + ((_i) * 4))
483503
#define GLTSYN_TIME_L(_i) (0x000888D0 + ((_i) * 4))
484504
#define PFHH_SEM 0x000A4200 /* Reset Source: PFR */
@@ -487,9 +507,11 @@
487507
#define PFTSYN_SEM_BUSY_M BIT(0)
488508
#define VSIQF_FD_CNT(_VSI) (0x00464000 + ((_VSI) * 4))
489509
#define VSIQF_FD_CNT_FD_GCNT_S 0
490-
#define VSIQF_FD_CNT_FD_GCNT_M ICE_M(0x3FFF, 0)
510+
#define E800_VSIQF_FD_CNT_FD_GCNT_M GENMASK(13, 0)
511+
#define E830_VSIQF_FD_CNT_FD_GCNT_M GENMASK(15, 0)
491512
#define VSIQF_FD_CNT_FD_BCNT_S 16
492-
#define VSIQF_FD_CNT_FD_BCNT_M ICE_M(0x3FFF, 16)
513+
#define E800_VSIQF_FD_CNT_FD_BCNT_M GENMASK(29, 16)
514+
#define E830_VSIQF_FD_CNT_FD_BCNT_M GENMASK(31, 16)
493515
#define VSIQF_FD_SIZE(_VSI) (0x00462000 + ((_VSI) * 4))
494516
#define VSIQF_HKEY_MAX_INDEX 12
495517
#define PFPM_APM 0x000B8080
@@ -501,6 +523,10 @@
501523
#define PFPM_WUS_MAG_M BIT(1)
502524
#define PFPM_WUS_MNG_M BIT(3)
503525
#define PFPM_WUS_FW_RST_WK_M BIT(31)
526+
#define E830_PRTMAC_CL01_PS_QNT 0x001E32A0
527+
#define E830_PRTMAC_CL01_PS_QNT_CL0_M GENMASK(15, 0)
528+
#define E830_PRTMAC_CL01_QNT_THR 0x001E3320
529+
#define E830_PRTMAC_CL01_QNT_THR_CL0_M GENMASK(15, 0)
504530
#define VFINT_DYN_CTLN(_i) (0x00003800 + ((_i) * 4))
505531
#define VFINT_DYN_CTLN_CLEARPBA_M BIT(1)
506532

drivers/net/ethernet/intel/ice/ice_main.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: GPL-2.0
2-
/* Copyright (c) 2018, Intel Corporation. */
2+
/* Copyright (c) 2018-2023, Intel Corporation. */
33

44
/* Intel(R) Ethernet Connection E800 Series Linux Driver */
55

@@ -1759,7 +1759,7 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
17591759
wr32(hw, GL_MDET_TX_PQM, 0xffffffff);
17601760
}
17611761

1762-
reg = rd32(hw, GL_MDET_TX_TCLAN);
1762+
reg = rd32(hw, GL_MDET_TX_TCLAN_BY_MAC(hw));
17631763
if (reg & GL_MDET_TX_TCLAN_VALID_M) {
17641764
u8 pf_num = (reg & GL_MDET_TX_TCLAN_PF_NUM_M) >>
17651765
GL_MDET_TX_TCLAN_PF_NUM_S;
@@ -1773,7 +1773,7 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
17731773
if (netif_msg_tx_err(pf))
17741774
dev_info(dev, "Malicious Driver Detection event %d on TX queue %d PF# %d VF# %d\n",
17751775
event, queue, pf_num, vf_num);
1776-
wr32(hw, GL_MDET_TX_TCLAN, 0xffffffff);
1776+
wr32(hw, GL_MDET_TX_TCLAN_BY_MAC(hw), U32_MAX);
17771777
}
17781778

17791779
reg = rd32(hw, GL_MDET_RX);
@@ -1801,9 +1801,9 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
18011801
dev_info(dev, "Malicious Driver Detection event TX_PQM detected on PF\n");
18021802
}
18031803

1804-
reg = rd32(hw, PF_MDET_TX_TCLAN);
1804+
reg = rd32(hw, PF_MDET_TX_TCLAN_BY_MAC(hw));
18051805
if (reg & PF_MDET_TX_TCLAN_VALID_M) {
1806-
wr32(hw, PF_MDET_TX_TCLAN, 0xFFFF);
1806+
wr32(hw, PF_MDET_TX_TCLAN_BY_MAC(hw), 0xffff);
18071807
if (netif_msg_tx_err(pf))
18081808
dev_info(dev, "Malicious Driver Detection event TX_TCLAN detected on PF\n");
18091809
}
@@ -3871,7 +3871,8 @@ static void ice_set_pf_caps(struct ice_pf *pf)
38713871
}
38723872

38733873
clear_bit(ICE_FLAG_PTP_SUPPORTED, pf->flags);
3874-
if (func_caps->common_cap.ieee_1588)
3874+
if (func_caps->common_cap.ieee_1588 &&
3875+
!(pf->hw.mac_type == ICE_MAC_E830))
38753876
set_bit(ICE_FLAG_PTP_SUPPORTED, pf->flags);
38763877

38773878
pf->max_pf_txqs = func_caps->common_cap.num_txq;

drivers/net/ethernet/intel/ice/ice_type.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
2-
/* Copyright (c) 2018, Intel Corporation. */
2+
/* Copyright (c) 2018-2023, Intel Corporation. */
33

44
#ifndef _ICE_TYPE_H_
55
#define _ICE_TYPE_H_
@@ -129,6 +129,7 @@ enum ice_set_fc_aq_failures {
129129
enum ice_mac_type {
130130
ICE_MAC_UNKNOWN = 0,
131131
ICE_MAC_E810,
132+
ICE_MAC_E830,
132133
ICE_MAC_GENERIC,
133134
};
134135

0 commit comments

Comments
 (0)