qs_cfg
struct qs_cfg *qs_cfg;
qs_cfg = (struct qs_cfg *)&mbx.qs.cfg;
qs_cfg->ena = 1;
qs_cfg->be = 1;
qs_cfg->vnic = qs->vnic_id;
qs_cfg->send_tstmp_ena = 1;
static int __ice_vsi_get_qs_contig(struct ice_qs_cfg *qs_cfg)
mutex_lock(qs_cfg->qs_mutex);
offset = bitmap_find_next_zero_area(qs_cfg->pf_map, qs_cfg->pf_map_size,
0, qs_cfg->q_count, 0);
if (offset >= qs_cfg->pf_map_size) {
mutex_unlock(qs_cfg->qs_mutex);
bitmap_set(qs_cfg->pf_map, offset, qs_cfg->q_count);
for (i = 0; i < qs_cfg->q_count; i++)
qs_cfg->vsi_map[i + qs_cfg->vsi_map_offset] = (u16)(i + offset);
mutex_unlock(qs_cfg->qs_mutex);
static int __ice_vsi_get_qs_sc(struct ice_qs_cfg *qs_cfg)
mutex_lock(qs_cfg->qs_mutex);
for (i = 0; i < qs_cfg->q_count; i++) {
index = find_next_zero_bit(qs_cfg->pf_map,
qs_cfg->pf_map_size, index);
if (index >= qs_cfg->pf_map_size)
set_bit(index, qs_cfg->pf_map);
qs_cfg->vsi_map[i + qs_cfg->vsi_map_offset] = (u16)index;
mutex_unlock(qs_cfg->qs_mutex);
clear_bit(qs_cfg->vsi_map[index], qs_cfg->pf_map);
qs_cfg->vsi_map[index + qs_cfg->vsi_map_offset] = 0;
mutex_unlock(qs_cfg->qs_mutex);
int __ice_vsi_get_qs(struct ice_qs_cfg *qs_cfg)
ret = __ice_vsi_get_qs_contig(qs_cfg);
qs_cfg->mapping_mode = ICE_VSI_MAP_SCATTER;
qs_cfg->q_count = min_t(unsigned int, qs_cfg->q_count,
qs_cfg->scatter_count);
ret = __ice_vsi_get_qs_sc(qs_cfg);
int __ice_vsi_get_qs(struct ice_qs_cfg *qs_cfg);