diff options
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_common.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_common.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c index 3730daf1bc1a..2937c6be1aee 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.c +++ b/drivers/net/ethernet/intel/ice/ice_common.c | |||
@@ -3106,3 +3106,28 @@ ice_stat_update32(struct ice_hw *hw, u32 reg, bool prev_stat_loaded, | |||
3106 | /* to manage the potential roll-over */ | 3106 | /* to manage the potential roll-over */ |
3107 | *cur_stat = (new_data + BIT_ULL(32)) - *prev_stat; | 3107 | *cur_stat = (new_data + BIT_ULL(32)) - *prev_stat; |
3108 | } | 3108 | } |
3109 | |||
3110 | /** | ||
3111 | * ice_sched_query_elem - query element information from HW | ||
3112 | * @hw: pointer to the HW struct | ||
3113 | * @node_teid: node TEID to be queried | ||
3114 | * @buf: buffer to element information | ||
3115 | * | ||
3116 | * This function queries HW element information | ||
3117 | */ | ||
3118 | enum ice_status | ||
3119 | ice_sched_query_elem(struct ice_hw *hw, u32 node_teid, | ||
3120 | struct ice_aqc_get_elem *buf) | ||
3121 | { | ||
3122 | u16 buf_size, num_elem_ret = 0; | ||
3123 | enum ice_status status; | ||
3124 | |||
3125 | buf_size = sizeof(*buf); | ||
3126 | memset(buf, 0, buf_size); | ||
3127 | buf->generic[0].node_teid = cpu_to_le32(node_teid); | ||
3128 | status = ice_aq_query_sched_elems(hw, 1, buf, buf_size, &num_elem_ret, | ||
3129 | NULL); | ||
3130 | if (status || num_elem_ret != 1) | ||
3131 | ice_debug(hw, ICE_DBG_SCHED, "query element failed\n"); | ||
3132 | return status; | ||
3133 | } | ||