diff options
| author | Jani Nikula <jani.nikula@intel.com> | 2025-06-09 12:40:46 +0300 | 
|---|---|---|
| committer | Jani Nikula <jani.nikula@intel.com> | 2025-06-09 12:40:46 +0300 | 
| commit | 34c55367af96f62e89221444f04487440ebc6487 (patch) | |
| tree | fdb36ba67d7dea09455b55037e26043b7e051ef9 /drivers/net/ethernet/intel/ice/ice_common.c | |
| parent | 7247efca0dcbc8ac6147db9200ed1549c0662465 (diff) | |
| parent | 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 (diff) | |
| download | linux-34c55367af96f62e89221444f04487440ebc6487.tar.xz | |
Merge drm/drm-next into drm-intel-next
Sync to v6.16-rc1, among other things to get the fixed size GENMASK_U*()
and BIT_U*() macros.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_common.c')
| -rw-r--r-- | drivers/net/ethernet/intel/ice/ice_common.c | 22 | 
1 files changed, 16 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c index 59df31c2c83f..4fedf0181c4e 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.c +++ b/drivers/net/ethernet/intel/ice/ice_common.c @@ -1135,6 +1135,8 @@ int ice_init_hw(struct ice_hw *hw)  		}  	} +	hw->lane_num = ice_get_phy_lane_number(hw); +  	return 0;  err_unroll_fltr_mgmt_struct:  	ice_cleanup_fltr_mgmt_struct(hw); @@ -3434,7 +3436,7 @@ int ice_aq_get_fec_stats(struct ice_hw *hw, u16 pcs_quad, u16 pcs_port,  	msg.msg_addr_low = lower_16_bits(reg_offset);  	msg.msg_addr_high = receiver_id;  	msg.opcode = ice_sbq_msg_rd; -	msg.dest_dev = rmn_0; +	msg.dest_dev = ice_sbq_dev_phy_0;  	err = ice_sbq_rw_reg(hw, &msg, flag);  	if (err) @@ -4082,10 +4084,12 @@ int ice_get_phy_lane_number(struct ice_hw *hw)  			continue;  		if (hw->pf_id == lport) { +			if (hw->mac_type == ICE_MAC_GENERIC_3K_E825 && +			    ice_is_dual(hw) && !ice_is_primary(hw)) +				lane += ICE_PORTS_PER_QUAD;  			kfree(options);  			return lane;  		} -  		lport++;  	} @@ -6011,15 +6015,21 @@ bool ice_fw_supports_lldp_fltr_ctrl(struct ice_hw *hw)  /**   * ice_lldp_fltr_add_remove - add or remove a LLDP Rx switch filter   * @hw: pointer to HW struct - * @vsi_num: absolute HW index for VSI + * @vsi: VSI to add the filter to   * @add: boolean for if adding or removing a filter + * + * Return: 0 on success, -EOPNOTSUPP if the operation cannot be performed + *	   with this HW or VSI, otherwise an error corresponding to + *	   the AQ transaction result.   */ -int -ice_lldp_fltr_add_remove(struct ice_hw *hw, u16 vsi_num, bool add) +int ice_lldp_fltr_add_remove(struct ice_hw *hw, struct ice_vsi *vsi, bool add)  {  	struct ice_aqc_lldp_filter_ctrl *cmd;  	struct ice_aq_desc desc; +	if (vsi->type != ICE_VSI_PF || !ice_fw_supports_lldp_fltr_ctrl(hw)) +		return -EOPNOTSUPP; +  	cmd = &desc.params.lldp_filter_ctrl;  	ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_lldp_filter_ctrl); @@ -6029,7 +6039,7 @@ ice_lldp_fltr_add_remove(struct ice_hw *hw, u16 vsi_num, bool add)  	else  		cmd->cmd_flags = ICE_AQC_LLDP_FILTER_ACTION_DELETE; -	cmd->vsi_num = cpu_to_le16(vsi_num); +	cmd->vsi_num = cpu_to_le16(vsi->vsi_num);  	return ice_aq_send_cmd(hw, &desc, NULL, 0, NULL);  }  | 
