Lines Matching refs:sglq

95 				 struct lpfc_sglq *sglq);
932 * __lpfc_clear_active_sglq - Remove the active sglq for this XRI.
936 * This function clears the sglq pointer from the array of active
937 * sglq's. The xritag that is passed in is used to index into the
941 * Returns sglq ponter = success, NULL = Failure.
946 struct lpfc_sglq *sglq;
948 sglq = phba->sli4_hba.lpfc_sglq_active_list[xritag];
950 return sglq;
954 * __lpfc_get_active_sglq - Get the active sglq for this XRI.
958 * This function returns the sglq pointer from the array of active
959 * sglq's. The xritag that is passed in is used to index into the
963 * Returns sglq ponter = success, NULL = Failure.
968 struct lpfc_sglq *sglq;
970 sglq = phba->sli4_hba.lpfc_sglq_active_list[xritag];
971 return sglq;
1240 * gets a new driver sglq object from the sglq list. If the list is not empty
1241 * then it is successful, it returns pointer to the newly allocated sglq
1248 struct lpfc_sglq *sglq = NULL;
1273 list_remove_head(lpfc_els_sgl_list, sglq, struct lpfc_sglq, list);
1274 start_sglq = sglq;
1276 if (!sglq)
1279 test_bit(sglq->sli4_lxritag,
1284 list_add_tail(&sglq->list, lpfc_els_sgl_list);
1285 sglq = NULL;
1286 list_remove_head(lpfc_els_sgl_list, sglq,
1288 if (sglq == start_sglq) {
1289 list_add_tail(&sglq->list, lpfc_els_sgl_list);
1290 sglq = NULL;
1295 sglq->ndlp = ndlp;
1297 phba->sli4_hba.lpfc_sglq_active_list[sglq->sli4_lxritag] = sglq;
1298 sglq->state = SGL_ALLOCATED;
1301 return sglq;
1310 * gets a new driver sglq object from the sglq list. If the
1312 * allocated sglq object else it returns NULL.
1318 struct lpfc_sglq *sglq = NULL;
1324 list_remove_head(lpfc_nvmet_sgl_list, sglq, struct lpfc_sglq, list);
1325 if (!sglq)
1327 phba->sli4_hba.lpfc_sglq_active_list[sglq->sli4_lxritag] = sglq;
1328 sglq->state = SGL_ALLOCATED;
1329 return sglq;
1364 * active array of sglq. The get of the sglq pointer also clears
1366 * this IO was aborted then the sglq entry it put on the
1368 * IO has good status or fails for any other reason then the sglq
1375 struct lpfc_sglq *sglq;
1380 sglq = NULL;
1382 sglq = __lpfc_clear_active_sglq(phba, iocbq->sli4_lxritag);
1385 if (sglq) {
1389 sglq->state = SGL_FREED;
1390 sglq->ndlp = NULL;
1391 list_add_tail(&sglq->list,
1400 sglq->state != SGL_XRI_ABORTED) {
1405 if (sglq->ndlp && !lpfc_nlp_get(sglq->ndlp))
1406 sglq->ndlp = NULL;
1408 list_add(&sglq->list,
1415 sglq->state = SGL_FREED;
1416 sglq->ndlp = NULL;
1417 list_add_tail(&sglq->list,
10646 struct lpfc_sglq *sglq;
10671 sglq = NULL;
10673 sglq = __lpfc_sli_get_els_sglq(phba, piocb);
10674 if (!sglq) {
10687 sglq = NULL;
10692 * sglq is on the active list
10694 sglq = __lpfc_get_active_sglq(phba, piocb->sli4_lxritag);
10695 if (!sglq)
10699 if (sglq) {
10700 piocb->sli4_lxritag = sglq->sli4_lxritag;
10701 piocb->sli4_xritag = sglq->sli4_xritag;
10715 if (lpfc_wqe_bpl2sgl(phba, piocb, sglq) == NO_XRI)
21189 * @sglq: Pointer to the scatter gather queue object.
21204 struct lpfc_sglq *sglq)
21218 if (!pwqeq || !sglq)
21221 sgl = (struct sli4_sge *)sglq->sgl;
21227 return sglq->sli4_xritag;
21307 return sglq->sli4_xritag;
21323 struct lpfc_sglq *sglq;
21333 sglq = __lpfc_sli_get_els_sglq(phba, pwqe);
21334 if (!sglq) {
21338 pwqe->sli4_lxritag = sglq->sli4_lxritag;
21339 pwqe->sli4_xritag = sglq->sli4_xritag;
21340 if (lpfc_wqe_bpl2sgl(phba, pwqe, sglq) == NO_XRI) {
21388 sglq = ctxp->ctxbuf->sglq;
21390 pwqe->sli4_lxritag = sglq->sli4_lxritag;
21391 pwqe->sli4_xritag = sglq->sli4_xritag;