Lines Matching refs:cqp_request
565 struct nes_cqp_request *cqp_request = NULL; in nes_get_cqp_request() local
570 cqp_request = list_entry(nesdev->cqp_avail_reqs.next, in nes_get_cqp_request()
572 list_del_init(&cqp_request->list); in nes_get_cqp_request()
576 if (cqp_request == NULL) { in nes_get_cqp_request()
577 cqp_request = kzalloc(sizeof(struct nes_cqp_request), GFP_ATOMIC); in nes_get_cqp_request()
578 if (cqp_request) { in nes_get_cqp_request()
579 cqp_request->dynamic = 1; in nes_get_cqp_request()
580 INIT_LIST_HEAD(&cqp_request->list); in nes_get_cqp_request()
584 if (cqp_request) { in nes_get_cqp_request()
585 init_waitqueue_head(&cqp_request->waitq); in nes_get_cqp_request()
586 cqp_request->waiting = 0; in nes_get_cqp_request()
587 cqp_request->request_done = 0; in nes_get_cqp_request()
588 cqp_request->callback = 0; in nes_get_cqp_request()
589 init_waitqueue_head(&cqp_request->waitq); in nes_get_cqp_request()
591 cqp_request); in nes_get_cqp_request()
596 return cqp_request; in nes_get_cqp_request()
600 struct nes_cqp_request *cqp_request) in nes_free_cqp_request() argument
605 cqp_request, in nes_free_cqp_request()
606 le32_to_cpu(cqp_request->cqp_wqe.wqe_words[NES_CQP_WQE_OPCODE_IDX]) & 0x3f); in nes_free_cqp_request()
608 if (cqp_request->dynamic) { in nes_free_cqp_request()
609 kfree(cqp_request); in nes_free_cqp_request()
612 list_add_tail(&cqp_request->list, &nesdev->cqp_avail_reqs); in nes_free_cqp_request()
618 struct nes_cqp_request *cqp_request) in nes_put_cqp_request() argument
620 if (atomic_dec_and_test(&cqp_request->refcount)) in nes_put_cqp_request()
621 nes_free_cqp_request(nesdev, cqp_request); in nes_put_cqp_request()
629 struct nes_cqp_request *cqp_request) in nes_post_cqp_request() argument
646 memcpy(cqp_wqe, &cqp_request->cqp_wqe, sizeof(*cqp_wqe)); in nes_post_cqp_request()
651 u64temp = (unsigned long)cqp_request; in nes_post_cqp_request()
657 le32_to_cpu(cqp_wqe->wqe_words[NES_CQP_WQE_ID_IDX]), cqp_request, in nes_post_cqp_request()
659 cqp_request->waiting, atomic_read(&cqp_request->refcount)); in nes_post_cqp_request()
670 cqp_request, in nes_post_cqp_request()
671 le32_to_cpu(cqp_request->cqp_wqe.wqe_words[NES_CQP_WQE_OPCODE_IDX])&0x3f, in nes_post_cqp_request()
672 le32_to_cpu(cqp_request->cqp_wqe.wqe_words[NES_CQP_WQE_ID_IDX])); in nes_post_cqp_request()
673 list_add_tail(&cqp_request->list, &nesdev->cqp_pending_reqs); in nes_post_cqp_request()