Lines Matching defs:vf_idx

584 u16 fm10k_vf_queue_index(struct fm10k_hw *hw, u16 vf_idx)
589 vf_q_idx -= fm10k_queues_per_pool(hw) * (num_vfs - vf_idx);
602 static u16 fm10k_vf_vector_index(struct fm10k_hw *hw, u16 vf_idx)
606 vf_v_idx += fm10k_vectors_per_pool(hw) * vf_idx;
729 * @vf_idx: index of VF receiving GLORT
735 static s32 fm10k_iov_configure_tc_pf(struct fm10k_hw *hw, u16 vf_idx, int rate)
742 if (vf_idx >= hw->iov.num_vfs)
780 fm10k_write_reg(hw, FM10K_TC_RATE(vf_idx), tc_rate | interval);
781 fm10k_write_reg(hw, FM10K_TC_MAXCREDIT(vf_idx), FM10K_TC_MAXCREDIT_64K);
782 fm10k_write_reg(hw, FM10K_TC_CREDIT(vf_idx), FM10K_TC_MAXCREDIT_64K);
790 * @vf_idx: index of VF receiving GLORT
795 static s32 fm10k_iov_assign_int_moderator_pf(struct fm10k_hw *hw, u16 vf_idx)
800 if (vf_idx >= hw->iov.num_vfs)
804 vf_v_idx = fm10k_vf_vector_index(hw, vf_idx);
814 if (vf_idx == (hw->iov.num_vfs - 1))
835 u16 vf_idx, vf_vid;
838 if (!vf_info || vf_info->vf_idx >= hw->iov.num_vfs)
846 vf_idx = vf_info->vf_idx;
847 vf_q_idx = fm10k_vf_queue_index(hw, vf_idx);
848 qmap_idx = qmap_stride * vf_idx;
870 txqctl |= (vf_idx << FM10K_TXQCTL_TC_SHIFT) |
871 FM10K_TXQCTL_VF | vf_idx;
949 u8 vf_idx = vf_info->vf_idx;
953 if (vf_idx >= hw->iov.num_vfs)
957 fm10k_write_reg(hw, FM10K_PFVFLREC(vf_idx / 32), BIT(vf_idx % 32));
965 vf_v_idx = fm10k_vf_vector_index(hw, vf_idx);
971 qmap_idx = qmap_stride * vf_idx;
980 vf_q_idx = fm10k_vf_queue_index(hw, vf_idx);
990 (vf_idx << FM10K_TXQCTL_TC_SHIFT) |
991 FM10K_TXQCTL_VF | vf_idx;
992 rxqctl = (vf_idx << FM10K_RXQCTL_VF_SHIFT) | FM10K_RXQCTL_VF;
1005 fm10k_write_reg(hw, FM10K_TC_MAXCREDIT(vf_idx), 0);
1006 fm10k_write_reg(hw, FM10K_TC_RATE(vf_idx), 0);
1007 fm10k_write_reg(hw, FM10K_TC_CREDIT(vf_idx),
1011 if (!vf_idx)
1014 hw->iov.ops.assign_int_moderator(hw, vf_idx - 1);
1017 if (vf_idx == (hw->iov.num_vfs - 1))
1028 fm10k_write_reg(hw, FM10K_MBMEM_VF(vf_idx, i), 0);
1129 * @vf_idx: index of VF
1135 u16 vf_idx)
1141 idx = fm10k_vf_queue_index(hw, vf_idx);
1159 u8 vf_idx = vf_info->vf_idx;
1161 return hw->iov.ops.assign_int_moderator(hw, vf_idx);
1395 hw->iov.ops.configure_tc(hw, vf_info->vf_idx, vf_info->rate);