From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Karol Kolacinski <karol.kolacinski@intel.com>,
Tony Nguyen <anthony.l.nguyen@intel.com>,
Sasha Levin <sashal@kernel.org>,
Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com>
Subject: [PATCH 6.14 101/183] ice: Remove unnecessary ice_is_e8xx() functions
Date: Wed, 7 May 2025 20:39:06 +0200 [thread overview]
Message-ID: <20250507183828.918467371@linuxfoundation.org> (raw)
In-Reply-To: <20250507183824.682671926@linuxfoundation.org>
6.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: Karol Kolacinski <karol.kolacinski@intel.com>
[ Upstream commit 9973ac9f23a79285d70365c72e98bffdb94a429d ]
Remove unnecessary ice_is_e8xx() functions and PHY model. Instead, use
MAC type where applicable.
Don't check device type in ice_ptp_maybe_trigger_tx_interrupt(), because
in reality it depends on the ready bitmap, which only E810 does not
have.
Call ice_ptp_cfg_phy_interrupt() unconditionally, because all further
function calls check the MAC type anyway and this allows simpler code
in the future with addition of the new MAC types.
Reorder ICE_MAC_* cases in switches in ice_ptp* as in enum ice_mac_type.
Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Stable-dep-of: 3ffcd7b657c9 ("ice: fix Get Tx Topology AQ command error on E830")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/intel/ice/ice.h | 5 -
drivers/net/ethernet/intel/ice/ice_common.c | 118 +---------------
drivers/net/ethernet/intel/ice/ice_common.h | 5 -
drivers/net/ethernet/intel/ice/ice_ddp.c | 4 +-
drivers/net/ethernet/intel/ice/ice_ptp.c | 133 +++++++++---------
drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 142 ++++++++++----------
drivers/net/ethernet/intel/ice/ice_ptp_hw.h | 10 +-
drivers/net/ethernet/intel/ice/ice_type.h | 9 --
8 files changed, 147 insertions(+), 279 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h
index 71e05d30f0fda..d7b90a77bb49a 100644
--- a/drivers/net/ethernet/intel/ice/ice.h
+++ b/drivers/net/ethernet/intel/ice/ice.h
@@ -1047,10 +1047,5 @@ static inline void ice_clear_rdma_cap(struct ice_pf *pf)
clear_bit(ICE_FLAG_RDMA_ENA, pf->flags);
}
-static inline enum ice_phy_model ice_get_phy_model(const struct ice_hw *hw)
-{
- return hw->ptp.phy_model;
-}
-
extern const struct xdp_metadata_ops ice_xdp_md_ops;
#endif /* _ICE_H_ */
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index f48cb93e10183..59df31c2c83f7 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -186,7 +186,7 @@ static int ice_set_mac_type(struct ice_hw *hw)
* ice_is_generic_mac - check if device's mac_type is generic
* @hw: pointer to the hardware structure
*
- * Return: true if mac_type is generic (with SBQ support), false if not
+ * Return: true if mac_type is ICE_MAC_GENERIC*, false otherwise.
*/
bool ice_is_generic_mac(struct ice_hw *hw)
{
@@ -194,120 +194,6 @@ bool ice_is_generic_mac(struct ice_hw *hw)
hw->mac_type == ICE_MAC_GENERIC_3K_E825);
}
-/**
- * ice_is_e810
- * @hw: pointer to the hardware structure
- *
- * returns true if the device is E810 based, false if not.
- */
-bool ice_is_e810(struct ice_hw *hw)
-{
- return hw->mac_type == ICE_MAC_E810;
-}
-
-/**
- * ice_is_e810t
- * @hw: pointer to the hardware structure
- *
- * returns true if the device is E810T based, false if not.
- */
-bool ice_is_e810t(struct ice_hw *hw)
-{
- switch (hw->device_id) {
- case ICE_DEV_ID_E810C_SFP:
- switch (hw->subsystem_device_id) {
- case ICE_SUBDEV_ID_E810T:
- case ICE_SUBDEV_ID_E810T2:
- case ICE_SUBDEV_ID_E810T3:
- case ICE_SUBDEV_ID_E810T4:
- case ICE_SUBDEV_ID_E810T6:
- case ICE_SUBDEV_ID_E810T7:
- return true;
- }
- break;
- case ICE_DEV_ID_E810C_QSFP:
- switch (hw->subsystem_device_id) {
- case ICE_SUBDEV_ID_E810T2:
- case ICE_SUBDEV_ID_E810T3:
- case ICE_SUBDEV_ID_E810T5:
- return true;
- }
- break;
- default:
- break;
- }
-
- return false;
-}
-
-/**
- * ice_is_e822 - Check if a device is E822 family device
- * @hw: pointer to the hardware structure
- *
- * Return: true if the device is E822 based, false if not.
- */
-bool ice_is_e822(struct ice_hw *hw)
-{
- switch (hw->device_id) {
- case ICE_DEV_ID_E822C_BACKPLANE:
- case ICE_DEV_ID_E822C_QSFP:
- case ICE_DEV_ID_E822C_SFP:
- case ICE_DEV_ID_E822C_10G_BASE_T:
- case ICE_DEV_ID_E822C_SGMII:
- case ICE_DEV_ID_E822L_BACKPLANE:
- case ICE_DEV_ID_E822L_SFP:
- case ICE_DEV_ID_E822L_10G_BASE_T:
- case ICE_DEV_ID_E822L_SGMII:
- return true;
- default:
- return false;
- }
-}
-
-/**
- * ice_is_e823
- * @hw: pointer to the hardware structure
- *
- * returns true if the device is E823-L or E823-C based, false if not.
- */
-bool ice_is_e823(struct ice_hw *hw)
-{
- switch (hw->device_id) {
- case ICE_DEV_ID_E823L_BACKPLANE:
- case ICE_DEV_ID_E823L_SFP:
- case ICE_DEV_ID_E823L_10G_BASE_T:
- case ICE_DEV_ID_E823L_1GBE:
- case ICE_DEV_ID_E823L_QSFP:
- case ICE_DEV_ID_E823C_BACKPLANE:
- case ICE_DEV_ID_E823C_QSFP:
- case ICE_DEV_ID_E823C_SFP:
- case ICE_DEV_ID_E823C_10G_BASE_T:
- case ICE_DEV_ID_E823C_SGMII:
- return true;
- default:
- return false;
- }
-}
-
-/**
- * ice_is_e825c - Check if a device is E825C family device
- * @hw: pointer to the hardware structure
- *
- * Return: true if the device is E825-C based, false if not.
- */
-bool ice_is_e825c(struct ice_hw *hw)
-{
- switch (hw->device_id) {
- case ICE_DEV_ID_E825C_BACKPLANE:
- case ICE_DEV_ID_E825C_QSFP:
- case ICE_DEV_ID_E825C_SFP:
- case ICE_DEV_ID_E825C_SGMII:
- return true;
- default:
- return false;
- }
-}
-
/**
* ice_is_pf_c827 - check if pf contains c827 phy
* @hw: pointer to the hw struct
@@ -2409,7 +2295,7 @@ ice_parse_1588_func_caps(struct ice_hw *hw, struct ice_hw_func_caps *func_p,
info->tmr_index_owned = ((number & ICE_TS_TMR_IDX_OWND_M) != 0);
info->tmr_index_assoc = ((number & ICE_TS_TMR_IDX_ASSOC_M) != 0);
- if (!ice_is_e825c(hw)) {
+ if (hw->mac_type != ICE_MAC_GENERIC_3K_E825) {
info->clk_freq = FIELD_GET(ICE_TS_CLK_FREQ_M, number);
info->clk_src = ((number & ICE_TS_CLK_SRC_M) != 0);
} else {
diff --git a/drivers/net/ethernet/intel/ice/ice_common.h b/drivers/net/ethernet/intel/ice/ice_common.h
index 54a8692839dd0..9b00aa0ddf10e 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.h
+++ b/drivers/net/ethernet/intel/ice/ice_common.h
@@ -131,7 +131,6 @@ int
ice_aq_manage_mac_write(struct ice_hw *hw, const u8 *mac_addr, u8 flags,
struct ice_sq_cd *cd);
bool ice_is_generic_mac(struct ice_hw *hw);
-bool ice_is_e810(struct ice_hw *hw);
int ice_clear_pf_cfg(struct ice_hw *hw);
int
ice_aq_set_phy_cfg(struct ice_hw *hw, struct ice_port_info *pi,
@@ -276,10 +275,6 @@ ice_stat_update40(struct ice_hw *hw, u32 reg, bool prev_stat_loaded,
void
ice_stat_update32(struct ice_hw *hw, u32 reg, bool prev_stat_loaded,
u64 *prev_stat, u64 *cur_stat);
-bool ice_is_e810t(struct ice_hw *hw);
-bool ice_is_e822(struct ice_hw *hw);
-bool ice_is_e823(struct ice_hw *hw);
-bool ice_is_e825c(struct ice_hw *hw);
int
ice_sched_query_elem(struct ice_hw *hw, u32 node_teid,
struct ice_aqc_txsched_elem_data *buf);
diff --git a/drivers/net/ethernet/intel/ice/ice_ddp.c b/drivers/net/ethernet/intel/ice/ice_ddp.c
index 03988be03729b..69d5b1a28491d 100644
--- a/drivers/net/ethernet/intel/ice/ice_ddp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ddp.c
@@ -2345,14 +2345,14 @@ ice_get_set_tx_topo(struct ice_hw *hw, u8 *buf, u16 buf_size,
cmd->set_flags |= ICE_AQC_TX_TOPO_FLAGS_SRC_RAM |
ICE_AQC_TX_TOPO_FLAGS_LOAD_NEW;
- if (ice_is_e825c(hw))
+ if (hw->mac_type == ICE_MAC_GENERIC_3K_E825)
desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD);
} else {
ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_get_tx_topo);
cmd->get_flags = ICE_AQC_TX_TOPO_GET_RAM;
}
- if (!ice_is_e825c(hw))
+ if (hw->mac_type != ICE_MAC_GENERIC_3K_E825)
desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD);
status = ice_aq_send_cmd(hw, &desc, buf, buf_size, cd);
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index a99e0fbd0b8b5..92ce419ff0bcb 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -1318,20 +1318,20 @@ ice_ptp_port_phy_stop(struct ice_ptp_port *ptp_port)
struct ice_hw *hw = &pf->hw;
int err;
- if (ice_is_e810(hw))
- return 0;
-
mutex_lock(&ptp_port->ps_lock);
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- err = ice_stop_phy_timer_eth56g(hw, port, true);
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
+ err = 0;
break;
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
kthread_cancel_delayed_work_sync(&ptp_port->ov_work);
err = ice_stop_phy_timer_e82x(hw, port, true);
break;
+ case ICE_MAC_GENERIC_3K_E825:
+ err = ice_stop_phy_timer_eth56g(hw, port, true);
+ break;
default:
err = -ENODEV;
}
@@ -1361,19 +1361,16 @@ ice_ptp_port_phy_restart(struct ice_ptp_port *ptp_port)
unsigned long flags;
int err;
- if (ice_is_e810(hw))
- return 0;
-
if (!ptp_port->link_up)
return ice_ptp_port_phy_stop(ptp_port);
mutex_lock(&ptp_port->ps_lock);
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- err = ice_start_phy_timer_eth56g(hw, port);
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
+ err = 0;
break;
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
/* Start the PHY timer in Vernier mode */
kthread_cancel_delayed_work_sync(&ptp_port->ov_work);
@@ -1398,6 +1395,9 @@ ice_ptp_port_phy_restart(struct ice_ptp_port *ptp_port)
kthread_queue_delayed_work(pf->ptp.kworker, &ptp_port->ov_work,
0);
break;
+ case ICE_MAC_GENERIC_3K_E825:
+ err = ice_start_phy_timer_eth56g(hw, port);
+ break;
default:
err = -ENODEV;
}
@@ -1432,12 +1432,13 @@ void ice_ptp_link_change(struct ice_pf *pf, bool linkup)
/* Skip HW writes if reset is in progress */
if (pf->hw.reset_ongoing)
return;
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_E810:
+
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
/* Do not reconfigure E810 PHY */
return;
- case ICE_PHY_ETH56G:
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
+ case ICE_MAC_GENERIC_3K_E825:
ice_ptp_port_phy_restart(ptp_port);
return;
default:
@@ -1465,46 +1466,44 @@ static int ice_ptp_cfg_phy_interrupt(struct ice_pf *pf, bool ena, u32 threshold)
ice_ptp_reset_ts_memory(hw);
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G: {
- int port;
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
+ return 0;
+ case ICE_MAC_GENERIC: {
+ int quad;
- for (port = 0; port < hw->ptp.num_lports; port++) {
+ for (quad = 0; quad < ICE_GET_QUAD_NUM(hw->ptp.num_lports);
+ quad++) {
int err;
- err = ice_phy_cfg_intr_eth56g(hw, port, ena, threshold);
+ err = ice_phy_cfg_intr_e82x(hw, quad, ena, threshold);
if (err) {
- dev_err(dev, "Failed to configure PHY interrupt for port %d, err %d\n",
- port, err);
+ dev_err(dev, "Failed to configure PHY interrupt for quad %d, err %d\n",
+ quad, err);
return err;
}
}
return 0;
}
- case ICE_PHY_E82X: {
- int quad;
+ case ICE_MAC_GENERIC_3K_E825: {
+ int port;
- for (quad = 0; quad < ICE_GET_QUAD_NUM(hw->ptp.num_lports);
- quad++) {
+ for (port = 0; port < hw->ptp.num_lports; port++) {
int err;
- err = ice_phy_cfg_intr_e82x(hw, quad, ena, threshold);
+ err = ice_phy_cfg_intr_eth56g(hw, port, ena, threshold);
if (err) {
- dev_err(dev, "Failed to configure PHY interrupt for quad %d, err %d\n",
- quad, err);
+ dev_err(dev, "Failed to configure PHY interrupt for port %d, err %d\n",
+ port, err);
return err;
}
}
return 0;
}
- case ICE_PHY_E810:
- return 0;
- case ICE_PHY_UNSUP:
+ case ICE_MAC_UNKNOWN:
default:
- dev_warn(dev, "%s: Unexpected PHY model %d\n", __func__,
- ice_get_phy_model(hw));
return -EOPNOTSUPP;
}
}
@@ -1740,7 +1739,7 @@ static int ice_ptp_write_perout(struct ice_hw *hw, unsigned int chan,
/* 0. Reset mode & out_en in AUX_OUT */
wr32(hw, GLTSYN_AUX_OUT(chan, tmr_idx), 0);
- if (ice_is_e825c(hw)) {
+ if (hw->mac_type == ICE_MAC_GENERIC_3K_E825) {
int err;
/* Enable/disable CGU 1PPS output for E825C */
@@ -1825,7 +1824,7 @@ static int ice_ptp_cfg_perout(struct ice_pf *pf, struct ptp_perout_request *rq,
return ice_ptp_write_perout(hw, rq->index, gpio_pin, 0, 0);
if (strncmp(pf->ptp.pin_desc[pin_desc_idx].name, "1PPS", 64) == 0 &&
- period != NSEC_PER_SEC && hw->ptp.phy_model == ICE_PHY_E82X) {
+ period != NSEC_PER_SEC && hw->mac_type == ICE_MAC_GENERIC) {
dev_err(ice_pf_to_dev(pf), "1PPS pin supports only 1 s period\n");
return -EOPNOTSUPP;
}
@@ -2080,7 +2079,7 @@ ice_ptp_settime64(struct ptp_clock_info *info, const struct timespec64 *ts)
/* For Vernier mode on E82X, we need to recalibrate after new settime.
* Start with marking timestamps as invalid.
*/
- if (ice_get_phy_model(hw) == ICE_PHY_E82X) {
+ if (hw->mac_type == ICE_MAC_GENERIC) {
err = ice_ptp_clear_phy_offset_ready_e82x(hw);
if (err)
dev_warn(ice_pf_to_dev(pf), "Failed to mark timestamps as invalid before settime\n");
@@ -2104,7 +2103,7 @@ ice_ptp_settime64(struct ptp_clock_info *info, const struct timespec64 *ts)
ice_ptp_enable_all_perout(pf);
/* Recalibrate and re-enable timestamp blocks for E822/E823 */
- if (ice_get_phy_model(hw) == ICE_PHY_E82X)
+ if (hw->mac_type == ICE_MAC_GENERIC)
ice_ptp_restart_all_phy(pf);
exit:
if (err) {
@@ -2558,7 +2557,7 @@ static void ice_ptp_set_funcs_e82x(struct ice_pf *pf)
pf->ptp.info.getcrosststamp = ice_ptp_getcrosststamp_e82x;
#endif /* CONFIG_ICE_HWTS */
- if (ice_is_e825c(&pf->hw)) {
+ if (pf->hw.mac_type == ICE_MAC_GENERIC_3K_E825) {
pf->ptp.ice_pin_desc = ice_pin_desc_e825c;
pf->ptp.info.n_pins = ICE_PIN_DESC_ARR_LEN(ice_pin_desc_e825c);
} else {
@@ -2646,10 +2645,17 @@ static void ice_ptp_set_caps(struct ice_pf *pf)
info->enable = ice_ptp_gpio_enable;
info->verify = ice_verify_pin;
- if (ice_is_e810(&pf->hw))
+ switch (pf->hw.mac_type) {
+ case ICE_MAC_E810:
ice_ptp_set_funcs_e810(pf);
- else
+ return;
+ case ICE_MAC_GENERIC:
+ case ICE_MAC_GENERIC_3K_E825:
ice_ptp_set_funcs_e82x(pf);
+ return;
+ default:
+ return;
+ }
}
/**
@@ -2779,7 +2785,7 @@ static void ice_ptp_maybe_trigger_tx_interrupt(struct ice_pf *pf)
bool trigger_oicr = false;
unsigned int i;
- if (ice_is_e810(hw))
+ if (!pf->ptp.port.tx.has_ready_bitmap)
return;
if (!ice_pf_src_tmr_owned(pf))
@@ -2914,14 +2920,12 @@ static int ice_ptp_rebuild_owner(struct ice_pf *pf)
*/
ice_ptp_flush_all_tx_tracker(pf);
- if (!ice_is_e810(hw)) {
- /* Enable quad interrupts */
- err = ice_ptp_cfg_phy_interrupt(pf, true, 1);
- if (err)
- return err;
+ /* Enable quad interrupts */
+ err = ice_ptp_cfg_phy_interrupt(pf, true, 1);
+ if (err)
+ return err;
- ice_ptp_restart_all_phy(pf);
- }
+ ice_ptp_restart_all_phy(pf);
/* Re-enable all periodic outputs and external timestamp events */
ice_ptp_enable_all_perout(pf);
@@ -2973,8 +2977,9 @@ void ice_ptp_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
static bool ice_is_primary(struct ice_hw *hw)
{
- return ice_is_e825c(hw) && ice_is_dual(hw) ?
- !!(hw->dev_caps.nac_topo.mode & ICE_NAC_TOPO_PRIMARY_M) : true;
+ return hw->mac_type == ICE_MAC_GENERIC_3K_E825 && ice_is_dual(hw) ?
+ !!(hw->dev_caps.nac_topo.mode & ICE_NAC_TOPO_PRIMARY_M) :
+ true;
}
static int ice_ptp_setup_adapter(struct ice_pf *pf)
@@ -2992,7 +2997,7 @@ static int ice_ptp_setup_pf(struct ice_pf *pf)
struct ice_ptp *ctrl_ptp = ice_get_ctrl_ptp(pf);
struct ice_ptp *ptp = &pf->ptp;
- if (WARN_ON(!ctrl_ptp) || ice_get_phy_model(&pf->hw) == ICE_PHY_UNSUP)
+ if (WARN_ON(!ctrl_ptp) || pf->hw.mac_type == ICE_MAC_UNKNOWN)
return -ENODEV;
INIT_LIST_HEAD(&ptp->port.list_node);
@@ -3009,7 +3014,7 @@ static void ice_ptp_cleanup_pf(struct ice_pf *pf)
{
struct ice_ptp *ptp = &pf->ptp;
- if (ice_get_phy_model(&pf->hw) != ICE_PHY_UNSUP) {
+ if (pf->hw.mac_type != ICE_MAC_UNKNOWN) {
mutex_lock(&pf->adapter->ports.lock);
list_del(&ptp->port.list_node);
mutex_unlock(&pf->adapter->ports.lock);
@@ -3136,18 +3141,18 @@ static int ice_ptp_init_port(struct ice_pf *pf, struct ice_ptp_port *ptp_port)
mutex_init(&ptp_port->ps_lock);
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- return ice_ptp_init_tx_eth56g(pf, &ptp_port->tx,
- ptp_port->port_num);
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ice_ptp_init_tx_e810(pf, &ptp_port->tx);
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
kthread_init_delayed_work(&ptp_port->ov_work,
ice_ptp_wait_for_offsets);
return ice_ptp_init_tx_e82x(pf, &ptp_port->tx,
ptp_port->port_num);
+ case ICE_MAC_GENERIC_3K_E825:
+ return ice_ptp_init_tx_eth56g(pf, &ptp_port->tx,
+ ptp_port->port_num);
default:
return -ENODEV;
}
@@ -3164,8 +3169,8 @@ static int ice_ptp_init_port(struct ice_pf *pf, struct ice_ptp_port *ptp_port)
*/
static void ice_ptp_init_tx_interrupt_mode(struct ice_pf *pf)
{
- switch (ice_get_phy_model(&pf->hw)) {
- case ICE_PHY_E82X:
+ switch (pf->hw.mac_type) {
+ case ICE_MAC_GENERIC:
/* E822 based PHY has the clock owner process the interrupt
* for all ports.
*/
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp_hw.c b/drivers/net/ethernet/intel/ice/ice_ptp_hw.c
index 53ce40fa2fe6b..8475d422f1ec4 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp_hw.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp_hw.c
@@ -746,7 +746,7 @@ static int ice_init_cgu_e82x(struct ice_hw *hw)
int err;
/* Disable sticky lock detection so lock err reported is accurate */
- if (ice_is_e825c(hw))
+ if (hw->mac_type == ICE_MAC_GENERIC_3K_E825)
err = ice_cfg_cgu_pll_dis_sticky_bits_e825c(hw);
else
err = ice_cfg_cgu_pll_dis_sticky_bits_e82x(hw);
@@ -756,7 +756,7 @@ static int ice_init_cgu_e82x(struct ice_hw *hw)
/* Configure the CGU PLL using the parameters from the function
* capabilities.
*/
- if (ice_is_e825c(hw))
+ if (hw->mac_type == ICE_MAC_GENERIC_3K_E825)
err = ice_cfg_cgu_pll_e825c(hw, ts_info->time_ref,
(enum ice_clk_src)ts_info->clk_src);
else
@@ -827,8 +827,8 @@ static u32 ice_ptp_tmr_cmd_to_port_reg(struct ice_hw *hw,
/* Certain hardware families share the same register values for the
* port register and source timer register.
*/
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ice_ptp_tmr_cmd_to_src_reg(hw, cmd) & TS_CMD_MASK_E810;
default:
break;
@@ -2729,10 +2729,7 @@ static void ice_ptp_init_phy_e825(struct ice_hw *hw)
{
struct ice_ptp_hw *ptp = &hw->ptp;
struct ice_eth56g_params *params;
- u32 phy_rev;
- int err;
- ptp->phy_model = ICE_PHY_ETH56G;
params = &ptp->phy.eth56g;
params->onestep_ena = false;
params->peer_delay = 0;
@@ -2742,9 +2739,6 @@ static void ice_ptp_init_phy_e825(struct ice_hw *hw)
ptp->num_lports = params->num_phys * ptp->ports_per_phy;
ice_sb_access_ena_eth56g(hw, true);
- err = ice_read_phy_eth56g(hw, hw->pf_id, PHY_REG_REVISION, &phy_rev);
- if (err || phy_rev != PHY_REVISION_ETH56G)
- ptp->phy_model = ICE_PHY_UNSUP;
}
/* E822 family functions
@@ -4792,7 +4786,6 @@ int ice_phy_cfg_intr_e82x(struct ice_hw *hw, u8 quad, bool ena, u8 threshold)
*/
static void ice_ptp_init_phy_e82x(struct ice_ptp_hw *ptp)
{
- ptp->phy_model = ICE_PHY_E82X;
ptp->num_lports = 8;
ptp->ports_per_phy = 8;
}
@@ -5445,7 +5438,6 @@ int ice_ptp_read_sdp_ac(struct ice_hw *hw, __le16 *entries, uint *num_entries)
*/
static void ice_ptp_init_phy_e810(struct ice_ptp_hw *ptp)
{
- ptp->phy_model = ICE_PHY_E810;
ptp->num_lports = 8;
ptp->ports_per_phy = 4;
@@ -5454,9 +5446,8 @@ static void ice_ptp_init_phy_e810(struct ice_ptp_hw *ptp)
/* Device agnostic functions
*
- * The following functions implement shared behavior common to both E822 and
- * E810 devices, possibly calling a device specific implementation where
- * necessary.
+ * The following functions implement shared behavior common to all devices,
+ * possibly calling a device specific implementation where necessary.
*/
/**
@@ -5519,14 +5510,19 @@ void ice_ptp_init_hw(struct ice_hw *hw)
{
struct ice_ptp_hw *ptp = &hw->ptp;
- if (ice_is_e822(hw) || ice_is_e823(hw))
- ice_ptp_init_phy_e82x(ptp);
- else if (ice_is_e810(hw))
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
ice_ptp_init_phy_e810(ptp);
- else if (ice_is_e825c(hw))
+ break;
+ case ICE_MAC_GENERIC:
+ ice_ptp_init_phy_e82x(ptp);
+ break;
+ case ICE_MAC_GENERIC_3K_E825:
ice_ptp_init_phy_e825(hw);
- else
- ptp->phy_model = ICE_PHY_UNSUP;
+ break;
+ default:
+ return;
+ }
}
/**
@@ -5547,11 +5543,11 @@ void ice_ptp_init_hw(struct ice_hw *hw)
static int ice_ptp_write_port_cmd(struct ice_hw *hw, u8 port,
enum ice_ptp_tmr_cmd cmd)
{
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- return ice_ptp_write_port_cmd_eth56g(hw, port, cmd);
- case ICE_PHY_E82X:
+ switch (hw->mac_type) {
+ case ICE_MAC_GENERIC:
return ice_ptp_write_port_cmd_e82x(hw, port, cmd);
+ case ICE_MAC_GENERIC_3K_E825:
+ return ice_ptp_write_port_cmd_eth56g(hw, port, cmd);
default:
return -EOPNOTSUPP;
}
@@ -5612,8 +5608,8 @@ static int ice_ptp_port_cmd(struct ice_hw *hw, enum ice_ptp_tmr_cmd cmd)
u32 port;
/* PHY models which can program all ports simultaneously */
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ice_ptp_port_cmd_e810(hw, cmd);
default:
break;
@@ -5691,17 +5687,17 @@ int ice_ptp_init_time(struct ice_hw *hw, u64 time)
/* PHY timers */
/* Fill Rx and Tx ports and send msg to PHY */
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- err = ice_ptp_prep_phy_time_eth56g(hw,
- (u32)(time & 0xFFFFFFFF));
- break;
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
err = ice_ptp_prep_phy_time_e810(hw, time & 0xFFFFFFFF);
break;
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
err = ice_ptp_prep_phy_time_e82x(hw, time & 0xFFFFFFFF);
break;
+ case ICE_MAC_GENERIC_3K_E825:
+ err = ice_ptp_prep_phy_time_eth56g(hw,
+ (u32)(time & 0xFFFFFFFF));
+ break;
default:
err = -EOPNOTSUPP;
}
@@ -5737,16 +5733,16 @@ int ice_ptp_write_incval(struct ice_hw *hw, u64 incval)
wr32(hw, GLTSYN_SHADJ_L(tmr_idx), lower_32_bits(incval));
wr32(hw, GLTSYN_SHADJ_H(tmr_idx), upper_32_bits(incval));
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- err = ice_ptp_prep_phy_incval_eth56g(hw, incval);
- break;
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
err = ice_ptp_prep_phy_incval_e810(hw, incval);
break;
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
err = ice_ptp_prep_phy_incval_e82x(hw, incval);
break;
+ case ICE_MAC_GENERIC_3K_E825:
+ err = ice_ptp_prep_phy_incval_eth56g(hw, incval);
+ break;
default:
err = -EOPNOTSUPP;
}
@@ -5806,16 +5802,16 @@ int ice_ptp_adj_clock(struct ice_hw *hw, s32 adj)
wr32(hw, GLTSYN_SHADJ_L(tmr_idx), 0);
wr32(hw, GLTSYN_SHADJ_H(tmr_idx), adj);
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- err = ice_ptp_prep_phy_adj_eth56g(hw, adj);
- break;
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
err = ice_ptp_prep_phy_adj_e810(hw, adj);
break;
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
err = ice_ptp_prep_phy_adj_e82x(hw, adj);
break;
+ case ICE_MAC_GENERIC_3K_E825:
+ err = ice_ptp_prep_phy_adj_eth56g(hw, adj);
+ break;
default:
err = -EOPNOTSUPP;
}
@@ -5839,13 +5835,13 @@ int ice_ptp_adj_clock(struct ice_hw *hw, s32 adj)
*/
int ice_read_phy_tstamp(struct ice_hw *hw, u8 block, u8 idx, u64 *tstamp)
{
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- return ice_read_ptp_tstamp_eth56g(hw, block, idx, tstamp);
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ice_read_phy_tstamp_e810(hw, block, idx, tstamp);
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
return ice_read_phy_tstamp_e82x(hw, block, idx, tstamp);
+ case ICE_MAC_GENERIC_3K_E825:
+ return ice_read_ptp_tstamp_eth56g(hw, block, idx, tstamp);
default:
return -EOPNOTSUPP;
}
@@ -5869,13 +5865,13 @@ int ice_read_phy_tstamp(struct ice_hw *hw, u8 block, u8 idx, u64 *tstamp)
*/
int ice_clear_phy_tstamp(struct ice_hw *hw, u8 block, u8 idx)
{
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- return ice_clear_ptp_tstamp_eth56g(hw, block, idx);
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ice_clear_phy_tstamp_e810(hw, block, idx);
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
return ice_clear_phy_tstamp_e82x(hw, block, idx);
+ case ICE_MAC_GENERIC_3K_E825:
+ return ice_clear_ptp_tstamp_eth56g(hw, block, idx);
default:
return -EOPNOTSUPP;
}
@@ -5932,14 +5928,14 @@ static int ice_get_pf_c827_idx(struct ice_hw *hw, u8 *idx)
*/
void ice_ptp_reset_ts_memory(struct ice_hw *hw)
{
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- ice_ptp_reset_ts_memory_eth56g(hw);
- break;
- case ICE_PHY_E82X:
+ switch (hw->mac_type) {
+ case ICE_MAC_GENERIC:
ice_ptp_reset_ts_memory_e82x(hw);
break;
- case ICE_PHY_E810:
+ case ICE_MAC_GENERIC_3K_E825:
+ ice_ptp_reset_ts_memory_eth56g(hw);
+ break;
+ case ICE_MAC_E810:
default:
return;
}
@@ -5961,13 +5957,13 @@ int ice_ptp_init_phc(struct ice_hw *hw)
/* Clear event err indications for auxiliary pins */
(void)rd32(hw, GLTSYN_STAT(src_idx));
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- return ice_ptp_init_phc_eth56g(hw);
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ice_ptp_init_phc_e810(hw);
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
return ice_ptp_init_phc_e82x(hw);
+ case ICE_MAC_GENERIC_3K_E825:
+ return ice_ptp_init_phc_eth56g(hw);
default:
return -EOPNOTSUPP;
}
@@ -5986,16 +5982,16 @@ int ice_ptp_init_phc(struct ice_hw *hw)
*/
int ice_get_phy_tx_tstamp_ready(struct ice_hw *hw, u8 block, u64 *tstamp_ready)
{
- switch (ice_get_phy_model(hw)) {
- case ICE_PHY_ETH56G:
- return ice_get_phy_tx_tstamp_ready_eth56g(hw, block,
- tstamp_ready);
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ice_get_phy_tx_tstamp_ready_e810(hw, block,
tstamp_ready);
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
return ice_get_phy_tx_tstamp_ready_e82x(hw, block,
tstamp_ready);
+ case ICE_MAC_GENERIC_3K_E825:
+ return ice_get_phy_tx_tstamp_ready_eth56g(hw, block,
+ tstamp_ready);
break;
default:
return -EOPNOTSUPP;
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp_hw.h b/drivers/net/ethernet/intel/ice/ice_ptp_hw.h
index 15f048d9b5823..6b46794075584 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp_hw.h
+++ b/drivers/net/ethernet/intel/ice/ice_ptp_hw.h
@@ -430,13 +430,13 @@ int ice_phy_cfg_ptp_1step_eth56g(struct ice_hw *hw, u8 port);
*/
static inline u64 ice_get_base_incval(struct ice_hw *hw)
{
- switch (hw->ptp.phy_model) {
- case ICE_PHY_ETH56G:
- return ICE_ETH56G_NOMINAL_INCVAL;
- case ICE_PHY_E810:
+ switch (hw->mac_type) {
+ case ICE_MAC_E810:
return ICE_PTP_NOMINAL_INCVAL_E810;
- case ICE_PHY_E82X:
+ case ICE_MAC_GENERIC:
return ice_e82x_nominal_incval(ice_e82x_time_ref(hw));
+ case ICE_MAC_GENERIC_3K_E825:
+ return ICE_ETH56G_NOMINAL_INCVAL;
default:
return 0;
}
diff --git a/drivers/net/ethernet/intel/ice/ice_type.h b/drivers/net/ethernet/intel/ice/ice_type.h
index 33a1a5934c0d5..0aab21113cc43 100644
--- a/drivers/net/ethernet/intel/ice/ice_type.h
+++ b/drivers/net/ethernet/intel/ice/ice_type.h
@@ -871,14 +871,6 @@ union ice_phy_params {
struct ice_eth56g_params eth56g;
};
-/* PHY model */
-enum ice_phy_model {
- ICE_PHY_UNSUP = -1,
- ICE_PHY_E810 = 1,
- ICE_PHY_E82X,
- ICE_PHY_ETH56G,
-};
-
/* Global Link Topology */
enum ice_global_link_topo {
ICE_LINK_TOPO_UP_TO_2_LINKS,
@@ -888,7 +880,6 @@ enum ice_global_link_topo {
};
struct ice_ptp_hw {
- enum ice_phy_model phy_model;
union ice_phy_params phy;
u8 num_lports;
u8 ports_per_phy;
--
2.39.5
next prev parent reply other threads:[~2025-05-07 18:54 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-07 18:37 [PATCH 6.14 000/183] 6.14.6-rc1 review Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 001/183] Revert "rndis_host: Flag RNDIS modems as WWAN devices" Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 002/183] ALSA: hda/realtek - Add more HP laptops which need mute led fixup Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 003/183] ALSA: usb-audio: Add retry on -EPROTO from usb_set_interface() Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 004/183] ALSA: usb-audio: Add second USB ID for Jabra Evolve 65 headset Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 005/183] ASoC: renesas: rz-ssi: Use NOIRQ_SYSTEM_SLEEP_PM_OPS() Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 006/183] btrfs: adjust subpage bit start based on sectorsize Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 007/183] btrfs: fix COW handling in run_delalloc_nocow() Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 008/183] cpufreq: intel_pstate: Unchecked MSR aceess in legacy mode Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 009/183] drm/fdinfo: Protect against driver unbind Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 010/183] drm/nouveau: Fix WARN_ON in nouveau_fence_context_kill() Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 011/183] EDAC/altera: Test the correct error reg offset Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 012/183] EDAC/altera: Set DDR and SDMMC interrupt mask before registration Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 013/183] i2c: imx-lpi2c: Fix clock count when probe defers Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 014/183] arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 015/183] parisc: Fix double SIGFPE crash Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 016/183] pinctrl: airoha: fix wrong PHY LED mapping and PHY2 LED defines Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 017/183] perf/x86/intel: Only check the group flag for X86 leader Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 018/183] perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPUs value Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 019/183] amd-xgbe: Fix to ensure dependent features are toggled with RX checksum offload Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 020/183] irqchip/qcom-mpm: Prevent crash when trying to handle non-wake GPIOs Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 021/183] mm/memblock: pass size instead of end to memblock_set_node() Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 022/183] mm/memblock: repeat setting reserved region nid if array is doubled Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 023/183] mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 024/183] spi: tegra114: Dont fail set_cs_timing when delays are zero Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 025/183] tracing: Do not take trace_event_sem in print_event_fields() Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 026/183] wifi: brcm80211: fmac: Add error handling for brcmf_usb_dl_writeimage() Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 027/183] x86/boot/sev: Support memory acceptance in the EFI stub under SVSM Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 028/183] dm-bufio: dont schedule in atomic context Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 029/183] dm-integrity: fix a warning on invalid table line Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 030/183] dm: always update the array size in realloc_argv on success Greg Kroah-Hartman
2025-05-07 20:34 ` Mikulas Patocka
2025-05-08 5:31 ` Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 031/183] drm/amdgpu: Fix offset for HDP remap in nbio v7.11 Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 032/183] drm: Select DRM_KMS_HELPER from DRM_DEBUG_DP_MST_TOPOLOGY_REFS Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 033/183] iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid Greg Kroah-Hartman
2025-05-07 18:37 ` [PATCH 6.14 034/183] iommu/arm-smmu-v3: Fix iommu_device_probe bug due to duplicated stream ids Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 035/183] iommu/arm-smmu-v3: Fix pgsize_bit for sva domains Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 036/183] iommu/vt-d: Apply quirk_iommu_igfx for 8086:0044 (QM57/QS57) Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 037/183] iommu: Fix two issues in iommu_copy_struct_from_user() Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 038/183] platform/x86/amd: pmc: Require at least 2.5 seconds between HW sleep cycles Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 039/183] platform/x86/intel-uncore-freq: Fix missing uncore sysfs during CPU hotplug Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 040/183] ksmbd: fix use-after-free in ksmbd_session_rpc_open Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 041/183] ksmbd: fix use-after-free in kerberos authentication Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 042/183] ksmbd: fix use-after-free in session logoff Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 043/183] smb: client: fix zero length for mkdir POSIX create context Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 044/183] cpufreq: Avoid using inconsistent policy->min and policy->max Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 045/183] cpufreq: Fix setting policy limits when frequency tables are used Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 046/183] tracing: Fix oob write in trace_seq_to_buffer() Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 047/183] bcachefs: Remove incorrect __counted_by annotation Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 048/183] drm/amd/display: Default IPS to RCG_IN_ACTIVE_IPS2_IN_OFF Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 049/183] ASoC: soc-core: Stop using of_property_read_bool() for non-boolean properties Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 050/183] ASoC: cs-amp-lib-test: Dont select SND_SOC_CS_AMP_LIB Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 051/183] firmware: cs_dsp: tests: Depend on FW_CS_DSP rather then enabling it Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 052/183] ASoC: soc-pcm: Fix hw_params() and DAPM widget sequence Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 053/183] book3s64/radix : Align section vmemmap start address to PAGE_SIZE Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 054/183] powerpc64/ftrace: fix module loading without patchable function entries Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 055/183] pinctrl: imx: Return NULL if no group is matched and found Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 056/183] powerpc/boot: Check for ld-option support Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 057/183] ASoC: Intel: sof_sdw: Add NULL check in asoc_sdw_rt_dmic_rtd_init() Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 058/183] iommu/arm-smmu-v3: Add missing S2FWB feature detection Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 059/183] ALSA: hda/realtek - Enable speaker for HP platform Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 060/183] drm/i915/pxp: fix undefined reference to `intel_pxp_gsccs_is_ready_for_sessions Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 061/183] wifi: iwlwifi: back off on continuous errors Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 062/183] wifi: iwlwifi: dont warn if the NIC is gone in resume Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 063/183] wifi: iwlwifi: fix the check for the SCRATCH register upon resume Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 064/183] wifi: plfxlc: Remove erroneous assert in plfxlc_mac_release Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 065/183] powerpc/boot: Fix dash warning Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 066/183] vxlan: vnifilter: Fix unlocked deletion of default FDB entry Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 067/183] xsk: Fix race condition in AF_XDP generic RX path Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 068/183] xsk: Fix offset calculation in unaligned mode Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 069/183] net/mlx5e: Use custom tunnel header for vxlan gbp Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 070/183] net/mlx5: E-Switch, Initialize MAC Address for Default GID Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 071/183] net/mlx5e: TC, Continue the attr process even if encap entry is invalid Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 072/183] net/mlx5e: Fix lock order in mlx5e_tx_reporter_ptpsq_unhealthy_recover Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 073/183] net/mlx5: E-switch, Fix error handling for enabling roce Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 074/183] accel/ivpu: Correct DCT interrupt handling Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 075/183] spi: spi-mem: Add fix to avoid divide error Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 076/183] ASoC: amd: acp: Fix NULL pointer deref in acp_i2s_set_tdm_slot Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 077/183] cpufreq: Introduce policy->boost_supported flag Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 078/183] cpufreq: acpi: Set policy->boost_supported Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 079/183] cpufreq: ACPI: Re-sync CPU boost state on system resume Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 080/183] Bluetooth: hci_conn: Fix not setting conn_timeout for Broadcast Receiver Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 081/183] Bluetooth: hci_conn: Fix not setting timeout for BIG Create Sync Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 082/183] Bluetooth: btintel_pcie: Avoid redundant buffer allocation Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 083/183] Bluetooth: btusb: avoid NULL pointer dereference in skb_dequeue() Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 084/183] Bluetooth: btintel_pcie: Add additional to checks to clear TX/RX paths Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 085/183] Bluetooth: L2CAP: copy RX timestamp to new fragments Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 086/183] net: mscc: ocelot: delete PVID VLAN when readding it as non-PVID Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 087/183] octeon_ep_vf: Resolve netdevice usage count issue Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 088/183] bnxt_en: improve TX timestamping FIFO configuration Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 089/183] rtase: Modify the condition used to detect overflow in rtase_calc_time_mitigation Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 090/183] net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 091/183] net: ethernet: mtk-star-emac: rearm interrupts in rx_poll only when advised Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 092/183] net: ethernet: mtk_eth_soc: sync mtk_clks_source_name array Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 093/183] pds_core: make pdsc_auxbus_dev_del() void Greg Kroah-Hartman
2025-05-07 18:38 ` [PATCH 6.14 094/183] pds_core: specify auxiliary_device to be created Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 095/183] pds_core: remove write-after-free of client_id Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 096/183] net_sched: drr: Fix double list add in class with netem as child qdisc Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 097/183] net_sched: hfsc: Fix a UAF vulnerability " Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 098/183] net_sched: ets: Fix double list add " Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 099/183] net_sched: qfq: " Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 100/183] ice: Dont check device type when checking GNSS presence Greg Kroah-Hartman
2025-05-07 18:39 ` Greg Kroah-Hartman [this message]
2025-05-07 18:39 ` [PATCH 6.14 102/183] ice: fix Get Tx Topology AQ command error on E830 Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 103/183] ice: Check VF VSI Pointer Value in ice_vc_add_fdir_fltr() Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 104/183] idpf: fix offloads support for encapsulated packets Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 105/183] scsi: ufs: core: Remove redundant query_complete trace Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 106/183] drm/xe/guc: Fix capture of steering registers Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 107/183] pinctrl: qcom: Fix PINGROUP definition for sm8750 Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 108/183] ALSA: ump: Fix buffer overflow at UMP SysEx message conversion Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 109/183] nvme-pci: fix queue unquiesce check on slot_reset Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 110/183] drm/tests: shmem: Fix memleak Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 111/183] drm/mipi-dbi: Fix blanking for non-16 bit formats Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 112/183] net: dlink: Correct endianness handling of led_mode Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 113/183] net: mdio: mux-meson-gxl: set reversed bit when using internal phy Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 114/183] idpf: fix potential memory leak on kcalloc() failure Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 115/183] idpf: protect shutdown from reset Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 116/183] igc: fix lock order in igc_ptp_reset Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 117/183] net: ethernet: mtk_eth_soc: fix SER panic with 4GB+ RAM Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 118/183] net: dsa: felix: fix broken taprio gate states after clock jump Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 119/183] net: ipv6: fix UDPv6 GSO segmentation with NAT Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 120/183] ALSA: hda/realtek: Fix built-mic regression on other ASUS models Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 121/183] bnxt_en: Fix error handling path in bnxt_init_chip() Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 122/183] bnxt_en: Fix ethtool selftest output in one of the failure cases Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 123/183] bnxt_en: Add missing skb_mark_for_recycle() in bnxt_rx_vlan() Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 124/183] bnxt_en: call pci_alloc_irq_vectors() after bnxt_reserve_rings() Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 125/183] bnxt_en: Fix coredump logic to free allocated buffer Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 126/183] bnxt_en: Fix out-of-bound memcpy() during ethtool -w Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 127/183] bnxt_en: Fix ethtool -d byte order for 32-bit values Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 128/183] nvme-tcp: fix premature queue removal and I/O failover Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 129/183] nvme-tcp: select CONFIG_TLS from CONFIG_NVME_TCP_TLS Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 130/183] nvmet-tcp: select CONFIG_TLS from CONFIG_NVME_TARGET_TCP_TLS Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 131/183] ASoC: stm32: sai: skip useless iterations on kernel rate loop Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 132/183] ASoC: stm32: sai: add a check on minimal kernel frequency Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 133/183] ASoC: simple-card-utils: Fix pointer check in graph_util_parse_link_direction Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 134/183] bnxt_en: fix module unload sequence Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 135/183] net: use sock_gen_put() when sk_state is TCP_TIME_WAIT Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 136/183] ptp: ocp: Fix NULL dereference in Adva board SMA sysfs operations Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 137/183] net: lan743x: Fix memleak issue when GSO enabled Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 138/183] net: fec: ERR007885 Workaround for conventional TX Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 139/183] octeon_ep: Fix host hang issue during device reboot Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 140/183] net: hns3: store rx VLAN tag offload state for VF Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 141/183] net: hns3: fix an interrupt residual problem Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 142/183] net: hns3: fixed debugfs tm_qset size Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 143/183] net: hns3: defer calling ptp_clock_register() Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 144/183] net: vertexcom: mse102x: Fix possible stuck of SPI interrupt Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 145/183] net: vertexcom: mse102x: Fix LEN_MASK Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 146/183] net: vertexcom: mse102x: Add range check for CMD_RTS Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 147/183] net: vertexcom: mse102x: Fix RX error handling Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 148/183] mm, slab: clean up slab->obj_exts always Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 149/183] accel/ivpu: Abort all jobs after command queue unregister Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 150/183] accel/ivpu: Fix locking order in ivpu_job_submit Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 151/183] accel/ivpu: Add handling of VPU_JSM_STATUS_MVNCI_CONTEXT_VIOLATION_HW Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 152/183] drm/xe: Invalidate L3 read-only cachelines for geometry streams too Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 153/183] platform/x86: alienware-wmi-wmax: Add support for Alienware m15 R7 Greg Kroah-Hartman
2025-05-07 18:39 ` [PATCH 6.14 154/183] ublk: add helper of ublk_need_map_io() Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 155/183] ublk: properly serialize all FETCH_REQs Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 156/183] ublk: move device reset into ublk_ch_release() Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 157/183] ublk: improve detection and handling of ublk server exit Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 158/183] ublk: remove __ublk_quiesce_dev() Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 159/183] ublk: simplify aborting ublk request Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 160/183] ublk: fix race between io_uring_cmd_complete_in_task and ublk_cancel_cmd Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 161/183] sch_htb: make htb_qlen_notify() idempotent Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 162/183] sch_drr: make drr_qlen_notify() idempotent Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 163/183] sch_hfsc: make hfsc_qlen_notify() idempotent Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 164/183] sch_qfq: make qfq_qlen_notify() idempotent Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 165/183] sch_ets: make est_qlen_notify() idempotent Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 166/183] firmware: arm_scmi: Balance device refcount when destroying devices Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 167/183] firmware: arm_ffa: Skip Rx buffer ownership release if not acquired Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 168/183] arm64: dts: imx95: Correct the range of PCIe app-reg region Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 169/183] ARM: dts: opos6ul: add ksz8081 phy properties Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 170/183] arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 171/183] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 172/183] block: introduce zone capacity helper Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 173/183] btrfs: zoned: skip reporting zone for new block group Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 174/183] kernel: param: rename locate_module_kobject Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 175/183] kernel: globalize lookup_or_create_module_kobject() Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 176/183] drivers: base: handle module_kobject creation Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 177/183] btrfs: expose per-inode stable writes flag Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 178/183] btrfs: pass struct btrfs_inode to btrfs_read_locked_inode() Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 179/183] btrfs: pass struct btrfs_inode to btrfs_iget_locked() Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 180/183] btrfs: fix the inode leak in btrfs_iget() Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 181/183] drm/amd/display: Add scoped mutexes for amdgpu_dm_dhcp Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 182/183] drm/amd/display: Fix slab-use-after-free in hdcp Greg Kroah-Hartman
2025-05-07 18:40 ` [PATCH 6.14 183/183] bcachefs: Change btree_insert_node() assertion to error Greg Kroah-Hartman
2025-05-07 20:58 ` [PATCH 6.14 000/183] 6.14.6-rc1 review Ronald Warsow
2025-05-08 1:46 ` Justin Forbes
2025-05-08 6:11 ` Naresh Kamboju
2025-05-08 8:38 ` Luna Jernberg
2025-05-08 9:45 ` Jon Hunter
2025-05-08 12:12 ` Takeshi Ogasawara
2025-05-08 13:37 ` Miguel Ojeda
2025-05-08 14:24 ` Mark Brown
2025-05-08 14:47 ` Shuah Khan
2025-05-08 15:49 ` Peter Schneider
2025-05-08 20:37 ` Florian Fainelli
2025-05-09 7:48 ` Ron Economos
2025-05-09 8:41 ` Christian Heusel
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=20250507183828.918467371@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=anthony.l.nguyen@intel.com \
--cc=himasekharx.reddy.pucha@intel.com \
--cc=karol.kolacinski@intel.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).