Lines Matching full:qs
957 static int idpf_init_queue_set(const struct idpf_queue_set *qs) in idpf_init_queue_set() argument
959 const struct idpf_vport *vport = qs->vport; in idpf_init_queue_set()
965 for (u32 i = 0; i < qs->num; i++) { in idpf_init_queue_set()
966 const struct idpf_queue_ptr *q = &qs->qs[i]; in idpf_init_queue_set()
1031 static void idpf_clean_queue_set(const struct idpf_queue_set *qs) in idpf_clean_queue_set() argument
1033 const struct idpf_vport *vport = qs->vport; in idpf_clean_queue_set()
1036 for (u32 i = 0; i < qs->num; i++) { in idpf_clean_queue_set()
1037 const struct idpf_queue_ptr *q = &qs->qs[i]; in idpf_clean_queue_set()
1114 struct idpf_queue_set *qs; in idpf_vector_to_queue_set() local
1122 qs = idpf_alloc_queue_set(vport, num); in idpf_vector_to_queue_set()
1123 if (!qs) in idpf_vector_to_queue_set()
1129 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_RX_BUFFER; in idpf_vector_to_queue_set()
1130 qs->qs[num++].bufq = qv->bufq[i]; in idpf_vector_to_queue_set()
1134 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_RX; in idpf_vector_to_queue_set()
1135 qs->qs[num++].rxq = qv->rx[i]; in idpf_vector_to_queue_set()
1139 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_TX; in idpf_vector_to_queue_set()
1140 qs->qs[num++].txq = qv->tx[i]; in idpf_vector_to_queue_set()
1144 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_TX_COMPLETION; in idpf_vector_to_queue_set()
1145 qs->qs[num++].complq = qv->complq[i]; in idpf_vector_to_queue_set()
1155 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_TX; in idpf_vector_to_queue_set()
1156 qs->qs[num++].txq = vport->txqs[idx]; in idpf_vector_to_queue_set()
1158 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_TX_COMPLETION; in idpf_vector_to_queue_set()
1159 qs->qs[num++].complq = vport->txqs[idx]->complq; in idpf_vector_to_queue_set()
1163 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_TX; in idpf_vector_to_queue_set()
1164 qs->qs[num++].txq = qv->xsksq[i]; in idpf_vector_to_queue_set()
1166 qs->qs[num].type = VIRTCHNL2_QUEUE_TYPE_TX_COMPLETION; in idpf_vector_to_queue_set()
1167 qs->qs[num++].complq = qv->xsksq[i]->complq; in idpf_vector_to_queue_set()
1172 if (num != qs->num) { in idpf_vector_to_queue_set()
1173 kfree(qs); in idpf_vector_to_queue_set()
1177 return qs; in idpf_vector_to_queue_set()
1180 static int idpf_qp_enable(const struct idpf_queue_set *qs, u32 qid) in idpf_qp_enable() argument
1182 struct idpf_vport *vport = qs->vport; in idpf_qp_enable()
1188 err = idpf_init_queue_set(qs); in idpf_qp_enable()
1204 for (u32 i = 0; i < qs->num; i++) { in idpf_qp_enable()
1205 const struct idpf_queue_ptr *q = &qs->qs[i]; in idpf_qp_enable()
1220 err = idpf_send_config_queue_set_msg(qs); in idpf_qp_enable()
1227 err = idpf_send_enable_queue_set_msg(qs); in idpf_qp_enable()
1242 static int idpf_qp_disable(const struct idpf_queue_set *qs, u32 qid) in idpf_qp_disable() argument
1244 struct idpf_vport *vport = qs->vport; in idpf_qp_disable()
1254 err = idpf_send_disable_queue_set_msg(qs); in idpf_qp_disable()
1261 idpf_clean_queue_set(qs); in idpf_qp_disable()
1280 struct idpf_queue_set *qs __free(kfree) = NULL; in idpf_qp_switch()
1285 qs = idpf_vector_to_queue_set(q_vector); in idpf_qp_switch()
1286 if (!qs) in idpf_qp_switch()
1289 return en ? idpf_qp_enable(qs, qid) : idpf_qp_disable(qs, qid); in idpf_qp_switch()