public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Milena Olech <milena.olech@intel.com>,
	Dan Nowlin <dan.nowlin@intel.com>,
	Scott Taylor <scott.w.taylor@intel.com>,
	Pawel Chmielewski <pawel.chmielewski@intel.com>,
	Simon Horman <horms@kernel.org>,
	Paul Greenwalt <paul.greenwalt@intel.com>,
	Tony Brelinski <tony.brelinski@intel.com>,
	Jacob Keller <jacob.e.keller@intel.com>,
	Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 038/142] ice: Add E830 device IDs, MAC type and registers
Date: Wed,  5 Mar 2025 18:47:37 +0100	[thread overview]
Message-ID: <20250305174501.868482060@linuxfoundation.org> (raw)
In-Reply-To: <20250305174500.327985489@linuxfoundation.org>

6.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Paul Greenwalt <paul.greenwalt@intel.com>

[ Upstream commit ba1124f58afd37d9ff155d4ab7c9f209346aaed9 ]

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 <milena.olech@intel.com>
Signed-off-by: Milena Olech <milena.olech@intel.com>
Co-developed-by: Dan Nowlin <dan.nowlin@intel.com>
Signed-off-by: Dan Nowlin <dan.nowlin@intel.com>
Co-developed-by: Scott Taylor <scott.w.taylor@intel.com>
Signed-off-by: Scott Taylor <scott.w.taylor@intel.com>
Co-developed-by: Pawel Chmielewski <pawel.chmielewski@intel.com>
Signed-off-by: Pawel Chmielewski <pawel.chmielewski@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Tested-by: Tony Brelinski <tony.brelinski@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20231025214157.1222758-2-jacob.e.keller@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 79990cf5e7ad ("ice: Fix deinitializing VF in error path")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/intel/ice/ice_common.c   | 71 ++++++++++++-------
 drivers/net/ethernet/intel/ice/ice_devids.h   | 10 ++-
 .../net/ethernet/intel/ice/ice_ethtool_fdir.c | 24 ++++---
 .../net/ethernet/intel/ice/ice_hw_autogen.h   | 52 ++++++++++----
 drivers/net/ethernet/intel/ice/ice_main.c     | 13 ++--
 drivers/net/ethernet/intel/ice/ice_type.h     |  3 +-
 .../ethernet/intel/ice/ice_virtchnl_fdir.c    | 29 +++++---
 7 files changed, 141 insertions(+), 61 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 80deca45ab599..983332cbace21 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
-/* Copyright (c) 2018, Intel Corporation. */
+/* Copyright (c) 2018-2023, Intel Corporation. */
 
 #include "ice_common.h"
 #include "ice_sched.h"
@@ -153,6 +153,12 @@ static int ice_set_mac_type(struct ice_hw *hw)
 	case ICE_DEV_ID_E823L_SFP:
 		hw->mac_type = ICE_MAC_GENERIC;
 		break;
+	case ICE_DEV_ID_E830_BACKPLANE:
+	case ICE_DEV_ID_E830_QSFP56:
+	case ICE_DEV_ID_E830_SFP:
+	case ICE_DEV_ID_E830_SFP_DD:
+		hw->mac_type = ICE_MAC_E830;
+		break;
 	default:
 		hw->mac_type = ICE_MAC_UNKNOWN;
 		break;
@@ -684,8 +690,7 @@ static void
 ice_fill_tx_timer_and_fc_thresh(struct ice_hw *hw,
 				struct ice_aqc_set_mac_cfg *cmd)
 {
-	u16 fc_thres_val, tx_timer_val;
-	u32 val;
+	u32 val, fc_thres_m;
 
 	/* We read back the transmit timer and FC threshold value of
 	 * LFC. Thus, we will use index =
@@ -694,19 +699,32 @@ ice_fill_tx_timer_and_fc_thresh(struct ice_hw *hw,
 	 * Also, because we are operating on transmit timer and FC
 	 * threshold of LFC, we don't turn on any bit in tx_tmr_priority
 	 */
-#define IDX_OF_LFC PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX
-
-	/* Retrieve the transmit timer */
-	val = rd32(hw, PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(IDX_OF_LFC));
-	tx_timer_val = val &
-		PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M;
-	cmd->tx_tmr_value = cpu_to_le16(tx_timer_val);
-
-	/* Retrieve the FC threshold */
-	val = rd32(hw, PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(IDX_OF_LFC));
-	fc_thres_val = val & PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER_M;
-
-	cmd->fc_refresh_threshold = cpu_to_le16(fc_thres_val);
+#define E800_IDX_OF_LFC E800_PRTMAC_HSEC_CTL_TX_PS_QNT_MAX
+#define E800_REFRESH_TMR E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR
+
+	if (hw->mac_type == ICE_MAC_E830) {
+		/* Retrieve the transmit timer */
+		val = rd32(hw, E830_PRTMAC_CL01_PS_QNT);
+		cmd->tx_tmr_value =
+			le16_encode_bits(val, E830_PRTMAC_CL01_PS_QNT_CL0_M);
+
+		/* Retrieve the fc threshold */
+		val = rd32(hw, E830_PRTMAC_CL01_QNT_THR);
+		fc_thres_m = E830_PRTMAC_CL01_QNT_THR_CL0_M;
+	} else {
+		/* Retrieve the transmit timer */
+		val = rd32(hw,
+			   E800_PRTMAC_HSEC_CTL_TX_PS_QNT(E800_IDX_OF_LFC));
+		cmd->tx_tmr_value =
+			le16_encode_bits(val,
+					 E800_PRTMAC_HSEC_CTL_TX_PS_QNT_M);
+
+		/* Retrieve the fc threshold */
+		val = rd32(hw,
+			   E800_REFRESH_TMR(E800_IDX_OF_LFC));
+		fc_thres_m = E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR_M;
+	}
+	cmd->fc_refresh_threshold = le16_encode_bits(val, fc_thres_m);
 }
 
 /**
@@ -2389,16 +2407,21 @@ ice_parse_1588_func_caps(struct ice_hw *hw, struct ice_hw_func_caps *func_p,
 static void
 ice_parse_fdir_func_caps(struct ice_hw *hw, struct ice_hw_func_caps *func_p)
 {
-	u32 reg_val, val;
+	u32 reg_val, gsize, bsize;
 
 	reg_val = rd32(hw, GLQF_FD_SIZE);
-	val = (reg_val & GLQF_FD_SIZE_FD_GSIZE_M) >>
-		GLQF_FD_SIZE_FD_GSIZE_S;
-	func_p->fd_fltr_guar =
-		ice_get_num_per_func(hw, val);
-	val = (reg_val & GLQF_FD_SIZE_FD_BSIZE_M) >>
-		GLQF_FD_SIZE_FD_BSIZE_S;
-	func_p->fd_fltr_best_effort = val;
+	switch (hw->mac_type) {
+	case ICE_MAC_E830:
+		gsize = FIELD_GET(E830_GLQF_FD_SIZE_FD_GSIZE_M, reg_val);
+		bsize = FIELD_GET(E830_GLQF_FD_SIZE_FD_BSIZE_M, reg_val);
+		break;
+	case ICE_MAC_E810:
+	default:
+		gsize = FIELD_GET(E800_GLQF_FD_SIZE_FD_GSIZE_M, reg_val);
+		bsize = FIELD_GET(E800_GLQF_FD_SIZE_FD_BSIZE_M, reg_val);
+	}
+	func_p->fd_fltr_guar = ice_get_num_per_func(hw, gsize);
+	func_p->fd_fltr_best_effort = bsize;
 
 	ice_debug(hw, ICE_DBG_INIT, "func caps: fd_fltr_guar = %d\n",
 		  func_p->fd_fltr_guar);
diff --git a/drivers/net/ethernet/intel/ice/ice_devids.h b/drivers/net/ethernet/intel/ice/ice_devids.h
index 6d560d1c74a4a..a2d384dbfc767 100644
--- a/drivers/net/ethernet/intel/ice/ice_devids.h
+++ b/drivers/net/ethernet/intel/ice/ice_devids.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright (c) 2018, Intel Corporation. */
+/* Copyright (c) 2018-2023, Intel Corporation. */
 
 #ifndef _ICE_DEVIDS_H_
 #define _ICE_DEVIDS_H_
@@ -16,6 +16,14 @@
 #define ICE_DEV_ID_E823L_1GBE		0x124F
 /* Intel(R) Ethernet Connection E823-L for QSFP */
 #define ICE_DEV_ID_E823L_QSFP		0x151D
+/* Intel(R) Ethernet Controller E830-C for backplane */
+#define ICE_DEV_ID_E830_BACKPLANE	0x12D1
+/* Intel(R) Ethernet Controller E830-C for QSFP */
+#define ICE_DEV_ID_E830_QSFP56		0x12D2
+/* Intel(R) Ethernet Controller E830-C for SFP */
+#define ICE_DEV_ID_E830_SFP		0x12D3
+/* Intel(R) Ethernet Controller E830-C for SFP-DD */
+#define ICE_DEV_ID_E830_SFP_DD		0x12D4
 /* Intel(R) Ethernet Controller E810-C for backplane */
 #define ICE_DEV_ID_E810C_BACKPLANE	0x1591
 /* Intel(R) Ethernet Controller E810-C for QSFP */
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c b/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
index b6bbf2376ef5c..d43b642cbc01c 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
-/* Copyright (C) 2018-2020, Intel Corporation. */
+/* Copyright (C) 2018-2023, Intel Corporation. */
 
 /* flow director ethtool support for ice */
 
@@ -540,16 +540,24 @@ int ice_fdir_num_avail_fltr(struct ice_hw *hw, struct ice_vsi *vsi)
 	/* total guaranteed filters assigned to this VSI */
 	num_guar = vsi->num_gfltr;
 
-	/* minus the guaranteed filters programed by this VSI */
-	num_guar -= (rd32(hw, VSIQF_FD_CNT(vsi_num)) &
-		     VSIQF_FD_CNT_FD_GCNT_M) >> VSIQF_FD_CNT_FD_GCNT_S;
-
 	/* total global best effort filters */
 	num_be = hw->func_caps.fd_fltr_best_effort;
 
-	/* minus the global best effort filters programmed */
-	num_be -= (rd32(hw, GLQF_FD_CNT) & GLQF_FD_CNT_FD_BCNT_M) >>
-		   GLQF_FD_CNT_FD_BCNT_S;
+	/* Subtract the number of programmed filters from the global values */
+	switch (hw->mac_type) {
+	case ICE_MAC_E830:
+		num_guar -= FIELD_GET(E830_VSIQF_FD_CNT_FD_GCNT_M,
+				      rd32(hw, VSIQF_FD_CNT(vsi_num)));
+		num_be -= FIELD_GET(E830_GLQF_FD_CNT_FD_BCNT_M,
+				    rd32(hw, GLQF_FD_CNT));
+		break;
+	case ICE_MAC_E810:
+	default:
+		num_guar -= FIELD_GET(E800_VSIQF_FD_CNT_FD_GCNT_M,
+				      rd32(hw, VSIQF_FD_CNT(vsi_num)));
+		num_be -= FIELD_GET(E800_GLQF_FD_CNT_FD_BCNT_M,
+				    rd32(hw, GLQF_FD_CNT));
+	}
 
 	return num_guar + num_be;
 }
diff --git a/drivers/net/ethernet/intel/ice/ice_hw_autogen.h b/drivers/net/ethernet/intel/ice/ice_hw_autogen.h
index 531cc2194741e..67519a985b327 100644
--- a/drivers/net/ethernet/intel/ice/ice_hw_autogen.h
+++ b/drivers/net/ethernet/intel/ice/ice_hw_autogen.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright (c) 2018, Intel Corporation. */
+/* Copyright (c) 2018-2023, Intel Corporation. */
 
 /* Machine-generated file */
 
@@ -284,11 +284,11 @@
 #define VPLAN_TX_QBASE_VFNUMQ_M			ICE_M(0xFF, 16)
 #define VPLAN_TXQ_MAPENA(_VF)			(0x00073800 + ((_VF) * 4))
 #define VPLAN_TXQ_MAPENA_TX_ENA_M		BIT(0)
-#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(_i)	(0x001E36E0 + ((_i) * 32))
-#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX 8
-#define PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M ICE_M(0xFFFF, 0)
-#define PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(_i) (0x001E3800 + ((_i) * 32))
-#define PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER_M ICE_M(0xFFFF, 0)
+#define E800_PRTMAC_HSEC_CTL_TX_PS_QNT(_i)	(0x001E36E0 + ((_i) * 32))
+#define E800_PRTMAC_HSEC_CTL_TX_PS_QNT_MAX	8
+#define E800_PRTMAC_HSEC_CTL_TX_PS_QNT_M	GENMASK(15, 0)
+#define E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR(_i)	(0x001E3800 + ((_i) * 32))
+#define E800_PRTMAC_HSEC_CTL_TX_PS_RFSH_TMR_M	GENMASK(15, 0)
 #define GL_MDCK_TX_TDPU				0x00049348
 #define GL_MDCK_TX_TDPU_RCU_ANTISPOOF_ITR_DIS_M BIT(1)
 #define GL_MDET_RX				0x00294C00
@@ -311,7 +311,11 @@
 #define GL_MDET_TX_PQM_MAL_TYPE_S		26
 #define GL_MDET_TX_PQM_MAL_TYPE_M		ICE_M(0x1F, 26)
 #define GL_MDET_TX_PQM_VALID_M			BIT(31)
-#define GL_MDET_TX_TCLAN			0x000FC068
+#define GL_MDET_TX_TCLAN_BY_MAC(hw)				  \
+	((hw)->mac_type == ICE_MAC_E830 ? E830_GL_MDET_TX_TCLAN : \
+	 E800_GL_MDET_TX_TCLAN)
+#define E800_GL_MDET_TX_TCLAN			0x000FC068
+#define E830_GL_MDET_TX_TCLAN			0x000FCCC0
 #define GL_MDET_TX_TCLAN_QNUM_S			0
 #define GL_MDET_TX_TCLAN_QNUM_M			ICE_M(0x7FFF, 0)
 #define GL_MDET_TX_TCLAN_VF_NUM_S		15
@@ -325,7 +329,11 @@
 #define PF_MDET_RX_VALID_M			BIT(0)
 #define PF_MDET_TX_PQM				0x002D2C80
 #define PF_MDET_TX_PQM_VALID_M			BIT(0)
-#define PF_MDET_TX_TCLAN			0x000FC000
+#define PF_MDET_TX_TCLAN_BY_MAC(hw)				  \
+	((hw)->mac_type == ICE_MAC_E830 ? E830_PF_MDET_TX_TCLAN : \
+	 E800_PF_MDET_TX_TCLAN)
+#define E800_PF_MDET_TX_TCLAN			0x000FC000
+#define E830_PF_MDET_TX_TCLAN			0x000FCC00
 #define PF_MDET_TX_TCLAN_VALID_M		BIT(0)
 #define VP_MDET_RX(_VF)				(0x00294400 + ((_VF) * 4))
 #define VP_MDET_RX_VALID_M			BIT(0)
@@ -335,6 +343,8 @@
 #define VP_MDET_TX_TCLAN_VALID_M		BIT(0)
 #define VP_MDET_TX_TDPU(_VF)			(0x00040000 + ((_VF) * 4))
 #define VP_MDET_TX_TDPU_VALID_M			BIT(0)
+#define E800_GL_MNG_FWSM_FW_MODES_M		GENMASK(2, 0)
+#define E830_GL_MNG_FWSM_FW_MODES_M		GENMASK(1, 0)
 #define GL_MNG_FWSM				0x000B6134
 #define GL_MNG_FWSM_FW_LOADING_M		BIT(30)
 #define GLNVM_FLA				0x000B6108
@@ -363,13 +373,18 @@
 #define GL_PWR_MODE_CTL_CAR_MAX_BW_S		30
 #define GL_PWR_MODE_CTL_CAR_MAX_BW_M		ICE_M(0x3, 30)
 #define GLQF_FD_CNT				0x00460018
+#define E800_GLQF_FD_CNT_FD_GCNT_M		GENMASK(14, 0)
+#define E830_GLQF_FD_CNT_FD_GCNT_M		GENMASK(15, 0)
 #define GLQF_FD_CNT_FD_BCNT_S			16
-#define GLQF_FD_CNT_FD_BCNT_M			ICE_M(0x7FFF, 16)
+#define E800_GLQF_FD_CNT_FD_BCNT_M		GENMASK(30, 16)
+#define E830_GLQF_FD_CNT_FD_BCNT_M		GENMASK(31, 16)
 #define GLQF_FD_SIZE				0x00460010
 #define GLQF_FD_SIZE_FD_GSIZE_S			0
-#define GLQF_FD_SIZE_FD_GSIZE_M			ICE_M(0x7FFF, 0)
+#define E800_GLQF_FD_SIZE_FD_GSIZE_M		GENMASK(14, 0)
+#define E830_GLQF_FD_SIZE_FD_GSIZE_M		GENMASK(15, 0)
 #define GLQF_FD_SIZE_FD_BSIZE_S			16
-#define GLQF_FD_SIZE_FD_BSIZE_M			ICE_M(0x7FFF, 16)
+#define E800_GLQF_FD_SIZE_FD_BSIZE_M		GENMASK(30, 16)
+#define E830_GLQF_FD_SIZE_FD_BSIZE_M		GENMASK(31, 16)
 #define GLQF_FDINSET(_i, _j)			(0x00412000 + ((_i) * 4 + (_j) * 512))
 #define GLQF_FDMASK(_i)				(0x00410800 + ((_i) * 4))
 #define GLQF_FDMASK_MAX_INDEX			31
@@ -388,6 +403,10 @@
 #define GLQF_HMASK_SEL(_i)			(0x00410000 + ((_i) * 4))
 #define GLQF_HMASK_SEL_MAX_INDEX		127
 #define GLQF_HMASK_SEL_MASK_SEL_S		0
+#define E800_PFQF_FD_CNT_FD_GCNT_M		GENMASK(14, 0)
+#define E830_PFQF_FD_CNT_FD_GCNT_M		GENMASK(15, 0)
+#define E800_PFQF_FD_CNT_FD_BCNT_M		GENMASK(30, 16)
+#define E830_PFQF_FD_CNT_FD_BCNT_M		GENMASK(31, 16)
 #define PFQF_FD_ENA				0x0043A000
 #define PFQF_FD_ENA_FD_ENA_M			BIT(0)
 #define PFQF_FD_SIZE				0x00460100
@@ -478,6 +497,7 @@
 #define GLTSYN_SYNC_DLAY			0x00088818
 #define GLTSYN_TGT_H_0(_i)			(0x00088930 + ((_i) * 4))
 #define GLTSYN_TGT_L_0(_i)			(0x00088928 + ((_i) * 4))
+#define GLTSYN_TIME_0(_i)			(0x000888C8 + ((_i) * 4))
 #define GLTSYN_TIME_H(_i)			(0x000888D8 + ((_i) * 4))
 #define GLTSYN_TIME_L(_i)			(0x000888D0 + ((_i) * 4))
 #define PFHH_SEM				0x000A4200 /* Reset Source: PFR */
@@ -486,9 +506,11 @@
 #define PFTSYN_SEM_BUSY_M			BIT(0)
 #define VSIQF_FD_CNT(_VSI)			(0x00464000 + ((_VSI) * 4))
 #define VSIQF_FD_CNT_FD_GCNT_S			0
-#define VSIQF_FD_CNT_FD_GCNT_M			ICE_M(0x3FFF, 0)
+#define E800_VSIQF_FD_CNT_FD_GCNT_M		GENMASK(13, 0)
+#define E830_VSIQF_FD_CNT_FD_GCNT_M		GENMASK(15, 0)
 #define VSIQF_FD_CNT_FD_BCNT_S			16
-#define VSIQF_FD_CNT_FD_BCNT_M			ICE_M(0x3FFF, 16)
+#define E800_VSIQF_FD_CNT_FD_BCNT_M		GENMASK(29, 16)
+#define E830_VSIQF_FD_CNT_FD_BCNT_M		GENMASK(31, 16)
 #define VSIQF_FD_SIZE(_VSI)			(0x00462000 + ((_VSI) * 4))
 #define VSIQF_HKEY_MAX_INDEX			12
 #define PFPM_APM				0x000B8080
@@ -500,6 +522,10 @@
 #define PFPM_WUS_MAG_M				BIT(1)
 #define PFPM_WUS_MNG_M				BIT(3)
 #define PFPM_WUS_FW_RST_WK_M			BIT(31)
+#define E830_PRTMAC_CL01_PS_QNT			0x001E32A0
+#define E830_PRTMAC_CL01_PS_QNT_CL0_M		GENMASK(15, 0)
+#define E830_PRTMAC_CL01_QNT_THR		0x001E3320
+#define E830_PRTMAC_CL01_QNT_THR_CL0_M		GENMASK(15, 0)
 #define VFINT_DYN_CTLN(_i)			(0x00003800 + ((_i) * 4))
 #define VFINT_DYN_CTLN_CLEARPBA_M		BIT(1)
 
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 9f12c9a0fe296..ef5d43f2804e7 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
-/* Copyright (c) 2018, Intel Corporation. */
+/* Copyright (c) 2018-2023, Intel Corporation. */
 
 /* Intel(R) Ethernet Connection E800 Series Linux Driver */
 
@@ -1748,7 +1748,7 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
 		wr32(hw, GL_MDET_TX_PQM, 0xffffffff);
 	}
 
-	reg = rd32(hw, GL_MDET_TX_TCLAN);
+	reg = rd32(hw, GL_MDET_TX_TCLAN_BY_MAC(hw));
 	if (reg & GL_MDET_TX_TCLAN_VALID_M) {
 		u8 pf_num = (reg & GL_MDET_TX_TCLAN_PF_NUM_M) >>
 				GL_MDET_TX_TCLAN_PF_NUM_S;
@@ -1762,7 +1762,7 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
 		if (netif_msg_tx_err(pf))
 			dev_info(dev, "Malicious Driver Detection event %d on TX queue %d PF# %d VF# %d\n",
 				 event, queue, pf_num, vf_num);
-		wr32(hw, GL_MDET_TX_TCLAN, 0xffffffff);
+		wr32(hw, GL_MDET_TX_TCLAN_BY_MAC(hw), U32_MAX);
 	}
 
 	reg = rd32(hw, GL_MDET_RX);
@@ -1790,9 +1790,9 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
 			dev_info(dev, "Malicious Driver Detection event TX_PQM detected on PF\n");
 	}
 
-	reg = rd32(hw, PF_MDET_TX_TCLAN);
+	reg = rd32(hw, PF_MDET_TX_TCLAN_BY_MAC(hw));
 	if (reg & PF_MDET_TX_TCLAN_VALID_M) {
-		wr32(hw, PF_MDET_TX_TCLAN, 0xFFFF);
+		wr32(hw, PF_MDET_TX_TCLAN_BY_MAC(hw), 0xffff);
 		if (netif_msg_tx_err(pf))
 			dev_info(dev, "Malicious Driver Detection event TX_TCLAN detected on PF\n");
 	}
@@ -3873,7 +3873,8 @@ static void ice_set_pf_caps(struct ice_pf *pf)
 	}
 
 	clear_bit(ICE_FLAG_PTP_SUPPORTED, pf->flags);
-	if (func_caps->common_cap.ieee_1588)
+	if (func_caps->common_cap.ieee_1588 &&
+	    !(pf->hw.mac_type == ICE_MAC_E830))
 		set_bit(ICE_FLAG_PTP_SUPPORTED, pf->flags);
 
 	pf->max_pf_txqs = func_caps->common_cap.num_txq;
diff --git a/drivers/net/ethernet/intel/ice/ice_type.h b/drivers/net/ethernet/intel/ice/ice_type.h
index 5e353b0cbe6f7..35ee5b29ea34e 100644
--- a/drivers/net/ethernet/intel/ice/ice_type.h
+++ b/drivers/net/ethernet/intel/ice/ice_type.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright (c) 2018, Intel Corporation. */
+/* Copyright (c) 2018-2023, Intel Corporation. */
 
 #ifndef _ICE_TYPE_H_
 #define _ICE_TYPE_H_
@@ -129,6 +129,7 @@ enum ice_set_fc_aq_failures {
 enum ice_mac_type {
 	ICE_MAC_UNKNOWN = 0,
 	ICE_MAC_E810,
+	ICE_MAC_E830,
 	ICE_MAC_GENERIC,
 };
 
diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c b/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
index 974c71490d97c..3ca5f44dea26e 100644
--- a/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
+++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
-/* Copyright (C) 2021, Intel Corporation. */
+/* Copyright (C) 2021-2023, Intel Corporation. */
 
 #include "ice.h"
 #include "ice_base.h"
@@ -1421,8 +1421,8 @@ ice_vc_fdir_irq_handler(struct ice_vsi *ctrl_vsi,
  */
 static void ice_vf_fdir_dump_info(struct ice_vf *vf)
 {
+	u32 fd_size, fd_cnt, fd_size_g, fd_cnt_g, fd_size_b, fd_cnt_b;
 	struct ice_vsi *vf_vsi;
-	u32 fd_size, fd_cnt;
 	struct device *dev;
 	struct ice_pf *pf;
 	struct ice_hw *hw;
@@ -1441,12 +1441,25 @@ static void ice_vf_fdir_dump_info(struct ice_vf *vf)
 
 	fd_size = rd32(hw, VSIQF_FD_SIZE(vsi_num));
 	fd_cnt = rd32(hw, VSIQF_FD_CNT(vsi_num));
-	dev_dbg(dev, "VF %d: space allocated: guar:0x%x, be:0x%x, space consumed: guar:0x%x, be:0x%x\n",
-		vf->vf_id,
-		(fd_size & VSIQF_FD_CNT_FD_GCNT_M) >> VSIQF_FD_CNT_FD_GCNT_S,
-		(fd_size & VSIQF_FD_CNT_FD_BCNT_M) >> VSIQF_FD_CNT_FD_BCNT_S,
-		(fd_cnt & VSIQF_FD_CNT_FD_GCNT_M) >> VSIQF_FD_CNT_FD_GCNT_S,
-		(fd_cnt & VSIQF_FD_CNT_FD_BCNT_M) >> VSIQF_FD_CNT_FD_BCNT_S);
+	switch (hw->mac_type) {
+	case ICE_MAC_E830:
+		fd_size_g = FIELD_GET(E830_VSIQF_FD_CNT_FD_GCNT_M, fd_size);
+		fd_size_b = FIELD_GET(E830_VSIQF_FD_CNT_FD_BCNT_M, fd_size);
+		fd_cnt_g = FIELD_GET(E830_VSIQF_FD_CNT_FD_GCNT_M, fd_cnt);
+		fd_cnt_b = FIELD_GET(E830_VSIQF_FD_CNT_FD_BCNT_M, fd_cnt);
+		break;
+	case ICE_MAC_E810:
+	default:
+		fd_size_g = FIELD_GET(E800_VSIQF_FD_CNT_FD_GCNT_M, fd_size);
+		fd_size_b = FIELD_GET(E800_VSIQF_FD_CNT_FD_BCNT_M, fd_size);
+		fd_cnt_g = FIELD_GET(E800_VSIQF_FD_CNT_FD_GCNT_M, fd_cnt);
+		fd_cnt_b = FIELD_GET(E800_VSIQF_FD_CNT_FD_BCNT_M, fd_cnt);
+	}
+
+	dev_dbg(dev, "VF %d: Size in the FD table: guaranteed:0x%x, best effort:0x%x\n",
+		vf->vf_id, fd_size_g, fd_size_b);
+	dev_dbg(dev, "VF %d: Filter counter in the FD table: guaranteed:0x%x, best effort:0x%x\n",
+		vf->vf_id, fd_cnt_g, fd_cnt_b);
 }
 
 /**
-- 
2.39.5




  parent reply	other threads:[~2025-03-05 18:01 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-05 17:46 [PATCH 6.6 000/142] 6.6.81-rc1 review Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 001/142] IB/mlx5: Set and get correct qp_num for a DCT QP Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 002/142] RDMA/mana_ib: Allocate PAGE aligned doorbell index Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 003/142] scsi: ufs: core: Add ufshcd_is_ufs_dev_busy() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 004/142] scsi: ufs: core: Add UFS RTC support Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 005/142] scsi: ufs: core: Introduce ufshcd_has_pending_tasks() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 006/142] scsi: ufs: core: Prepare to introduce a new clock_gating lock Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 007/142] scsi: ufs: core: Fix ufshcd_is_ufs_dev_busy() and ufshcd_eh_timed_out() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 008/142] ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 009/142] SUNRPC: convert RPC_TASK_* constants to enum Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 010/142] SUNRPC: Prevent looping due to rpc_signal_task() races Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 011/142] SUNRPC: Handle -ETIMEDOUT return from tlshd Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 012/142] IB/core: Add support for XDR link speed Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 013/142] RDMA/mlx5: Fix AH static rate parsing Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 014/142] scsi: core: Clear driver private data when retrying request Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 015/142] RDMA/mlx5: Fix bind QP error cleanup flow Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 016/142] sunrpc: suppress warnings for unused procfs functions Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 017/142] ALSA: usb-audio: Avoid dropping MIDI events at closing multiple ports Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 018/142] Bluetooth: L2CAP: Fix L2CAP_ECRED_CONN_RSP response Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 019/142] rxrpc: rxperf: Fix missing decoding of terminal magic cookie Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 020/142] afs: Make it possible to find the volumes that are using a server Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 021/142] afs: Fix the server_list to unuse a displaced server rather than putting it Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 022/142] net: loopback: Avoid sending IP packets without an Ethernet header Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 023/142] net: set the minimum for net_hotdata.netdev_budget_usecs Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 024/142] net/ipv4: add tracepoint for icmp_send Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 025/142] ipv4: icmp: Pass full DS field to ip_route_input() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 026/142] ipv4: icmp: Unmask upper DSCP bits in icmp_route_lookup() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 027/142] ipvlan: Unmask upper DSCP bits in ipvlan_process_v4_outbound() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 028/142] ipv4: Convert icmp_route_lookup() to dscp_t Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 029/142] ipv4: Convert ip_route_input() " Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 030/142] ipvlan: Prepare ipvlan_process_v4_outbound() to future .flowi4_tos conversion Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 031/142] ipvlan: ensure network headers are in skb linear part Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 032/142] net: cadence: macb: Synchronize stats calculations Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 033/142] ASoC: es8328: fix route from DAC to output Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 034/142] ipvs: Always clear ipvs_property flag in skb_scrub_packet() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 035/142] firmware: cs_dsp: Remove async regmap writes Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 036/142] ALSA: hda/realtek: Add quirks for ASUS ROG 2023 models Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 037/142] ALSA: hda/realtek: Fix wrong mic setup for ASUS VivoBook 15 Greg Kroah-Hartman
2025-03-05 17:47 ` Greg Kroah-Hartman [this message]
2025-03-05 17:47 ` [PATCH 6.6 039/142] ice: add E830 HW VF mailbox message limit support Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 040/142] ice: Fix deinitializing VF in error path Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 041/142] tcp: Defer ts_recent changes until req is owned Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 042/142] net: Clear old fragment checksum value in napi_reuse_skb Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 043/142] net: mvpp2: cls: Fixed Non IP flow, with vlan tag flow defination Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 044/142] net/mlx5: IRQ, Fix null string in debug print Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 045/142] include: net: add static inline dst_dev_overhead() to dst.h Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 046/142] net: ipv6: seg6_iptunnel: mitigate 2-realloc issue Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 047/142] net: ipv6: fix dst ref loop on input in seg6 lwt Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 048/142] net: ipv6: rpl_iptunnel: mitigate 2-realloc issue Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 049/142] net: ipv6: fix dst ref loop on input in rpl lwt Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 050/142] net: ti: icss-iep: Remove spinlock-based synchronization Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 051/142] net: ti: icss-iep: Reject perout generation request Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 052/142] perf/core: Order the PMU list to fix warning about unordered pmu_ctx_list Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 053/142] uprobes: Reject the shared zeropage in uprobe_write_opcode() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 054/142] io_uring/net: save msg_control for compat Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 055/142] x86/CPU: Fix warm boot hang regression on AMD SC1100 SoC systems Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 056/142] phy: rockchip: naneng-combphy: compatible reset with old DT Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 057/142] RISCV: KVM: Introduce mp_state_lock to avoid lock inversion Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 058/142] riscv: KVM: Fix hart suspend status check Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 059/142] riscv: KVM: Fix SBI IPI error generation Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.6 060/142] riscv: KVM: Fix SBI TIME " Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 061/142] tracing: Fix bad hist from corrupting named_triggers list Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 062/142] ftrace: Avoid potential division by zero in function_stat_show() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 063/142] ALSA: usb-audio: Re-add sample rate quirk for Pioneer DJM-900NXS2 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 064/142] ALSA: hda/realtek: Fix microphone regression on ASUS N705UD Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 065/142] perf/core: Add RCU read lock protection to perf_iterate_ctx() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 066/142] perf/x86: Fix low freqency setting issue Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 067/142] perf/core: Fix low freq setting via IOC_PERIOD Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 068/142] drm/amd/display: Disable PSR-SU on eDP panels Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 069/142] drm/amd/display: Fix HPD after gpu reset Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 070/142] i2c: npcm: disable interrupt enable bit before devm_request_irq Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 071/142] i2c: ls2x: Fix frequency division register access Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 072/142] usbnet: gl620a: fix endpoint checking in genelink_bind() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 073/142] net: enetc: fix the off-by-one issue in enetc_map_tx_buffs() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 074/142] net: enetc: keep track of correct Tx BD count in enetc_map_tx_tso_buffs() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 075/142] net: enetc: update UDP checksum when updating originTimestamp field Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 076/142] net: enetc: correct the xdp_tx statistics Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 077/142] net: enetc: fix the off-by-one issue in enetc_map_tx_tso_buffs() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 078/142] phy: tegra: xusb: reset VBUS & ID OVERRIDE Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 079/142] phy: exynos5-usbdrd: fix MPLL_MULTIPLIER and SSC_REFCLKSEL masks in refclk Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 080/142] mptcp: always handle address removal under msk socket lock Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 081/142] mptcp: reset when MPTCP opts are dropped after join Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 082/142] vmlinux.lds: Ensure that const vars with relocations are mapped R/O Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 083/142] rcuref: Plug slowpath race in rcuref_put() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 084/142] sched/core: Prevent rescheduling when interrupts are disabled Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 085/142] scsi: ufs: core: bsg: Fix crash when arpmb command fails Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 086/142] rseq/selftests: Fix riscv rseq_offset_deref_addv inline asm Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 087/142] riscv/futex: sign extend compare value in atomic cmpxchg Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 088/142] riscv: signal: fix signal frame size Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 089/142] Revert "rtla/timerlat_top: Set OSNOISE_WORKLOAD for kernel threads" Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 090/142] Revert "rtla/timerlat_hist: " Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 091/142] rtla/timerlat_hist: Set OSNOISE_WORKLOAD for kernel threads Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 092/142] rtla/timerlat_top: " Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 093/142] amdgpu/pm/legacy: fix suspend/resume issues Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 094/142] gve: set xdp redirect target only when it is available Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 095/142] intel_idle: Handle older CPUs, which stop the TSC in deeper C states, correctly Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 096/142] arm64: dts: rockchip: Disable DMA for uart5 on px30-ringneck Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 097/142] x86/microcode/32: Move early loading after paging enable Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 098/142] x86/microcode/intel: Rip out mixed stepping support for Intel CPUs Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 099/142] x86/microcode/intel: Simplify scan_microcode() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 100/142] x86/microcode/intel: Simplify and rename generic_load_microcode() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 101/142] x86/microcode/intel: Cleanup code further Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 102/142] x86/microcode/intel: Simplify early loading Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 103/142] x86/microcode/intel: Save the microcode only after a successful late-load Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 104/142] x86/microcode/intel: Switch to kvmalloc() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 105/142] x86/microcode/intel: Unify microcode apply() functions Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 106/142] x86/microcode/intel: Rework intel_cpu_collect_info() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 107/142] x86/microcode/intel: Reuse intel_cpu_collect_info() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 108/142] x86/microcode/intel: Rework intel_find_matching_signature() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 109/142] x86/microcode: Remove pointless apply() invocation Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 110/142] x86/microcode/amd: Use correct per CPU ucode_cpu_info Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 111/142] x86/microcode/amd: Cache builtin microcode too Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 112/142] x86/microcode/amd: Cache builtin/initrd microcode early Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 113/142] x86/microcode/amd: Use cached microcode for AP load Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 114/142] x86/microcode: Mop up early loading leftovers Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 115/142] x86/microcode: Get rid of the schedule work indirection Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 116/142] x86/microcode: Clean up mc_cpu_down_prep() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 117/142] x86/microcode: Handle "nosmt" correctly Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 118/142] x86/microcode: Clarify the late load logic Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 119/142] x86/microcode: Sanitize __wait_for_cpus() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.6 120/142] x86/microcode: Add per CPU result state Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 121/142] x86/microcode: Add per CPU control field Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 122/142] x86/microcode: Provide new control functions Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 123/142] x86/microcode: Replace the all-in-one rendevous handler Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 124/142] x86/microcode: Rendezvous and load in NMI Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 125/142] x86/microcode: Protect against instrumentation Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 126/142] x86/apic: Provide apic_force_nmi_on_cpu() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 127/142] x86/microcode: Handle "offline" CPUs correctly Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 128/142] x86/microcode: Prepare for minimal revision check Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 129/142] x86/microcode: Rework early revisions reporting Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 130/142] x86/microcode/intel: Set new revision only after a successful update Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 131/142] x86/microcode/AMD: Use the family,model,stepping encoded in the patch ID Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 132/142] x86/microcode/AMD: Pay attention to the stepping dynamically Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 133/142] x86/microcode/AMD: Split load_microcode_amd() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 134/142] x86/microcode/intel: Remove unnecessary cache writeback and invalidation Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 135/142] x86/microcode/AMD: Flush patch buffer mapping after application Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 136/142] x86/microcode/AMD: Return bool from find_blobs_in_containers() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 137/142] x86/microcode/AMD: Make __verify_patch_size() return bool Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 138/142] x86/microcode/AMD: Have __apply_microcode_amd() " Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 139/142] x86/microcode/AMD: Merge early_apply_microcode() into its single callsite Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 140/142] x86/microcode/AMD: Get rid of the _load_microcode_amd() forward declaration Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 141/142] x86/microcode/AMD: Add get_patch_level() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.6 142/142] x86/microcode/AMD: Load only SHA256-checksummed patches Greg Kroah-Hartman
2025-03-05 21:56 ` [PATCH 6.6 000/142] 6.6.81-rc1 review Pavel Machek
2025-03-06  1:10 ` SeongJae Park
2025-03-06  2:03 ` Peter Schneider
2025-03-06  8:17 ` Ron Economos
2025-03-06 13:14 ` Mark Brown
2025-03-06 14:06 ` Naresh Kamboju
2025-03-06 16:03 ` Shuah Khan
2025-03-06 17:04 ` Hardik Garg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250305174501.868482060@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dan.nowlin@intel.com \
    --cc=horms@kernel.org \
    --cc=jacob.e.keller@intel.com \
    --cc=kuba@kernel.org \
    --cc=milena.olech@intel.com \
    --cc=patches@lists.linux.dev \
    --cc=paul.greenwalt@intel.com \
    --cc=pawel.chmielewski@intel.com \
    --cc=sashal@kernel.org \
    --cc=scott.w.taylor@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=tony.brelinski@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox