Lines Matching refs:fpdu_info
152 struct pau_fpdu_info *fpdu_info = cqp_request->cqp_callback_pointer; in nes_download_callback() local
153 struct nes_qp *nesqp = fpdu_info->nesqp; in nes_download_callback()
157 for (i = 0; i < fpdu_info->frag_cnt; i++) { in nes_download_callback()
158 skb = fpdu_info->frags[i].skb; in nes_download_callback()
159 if (fpdu_info->frags[i].cmplt) { in nes_download_callback()
165 if (fpdu_info->hdr_vbase) in nes_download_callback()
166 pci_free_consistent(nesdev->pcidev, fpdu_info->hdr_len, in nes_download_callback()
167 fpdu_info->hdr_vbase, fpdu_info->hdr_pbase); in nes_download_callback()
168 kfree(fpdu_info); in nes_download_callback()
248 struct pau_fpdu_info *fpdu_info = NULL; in get_fpdu_info() local
322 fpdu_info = kzalloc(sizeof(*fpdu_info), GFP_ATOMIC); in get_fpdu_info()
323 if (fpdu_info == NULL) { in get_fpdu_info()
329 fpdu_info->cqp_request = nes_get_cqp_request(nesdev); in get_fpdu_info()
330 if (fpdu_info->cqp_request == NULL) { in get_fpdu_info()
339 fpdu_info->hdr_len = (((unsigned char *)tcph) + 4 * (tcph->doff)) - cb->data_start; in get_fpdu_info()
340 fpdu_info->data_len = fpdu_len; in get_fpdu_info()
341 tot_len = fpdu_info->hdr_len + fpdu_len - ETH_HLEN; in get_fpdu_info()
344 fpdu_info->hdr_pbase = cb->busaddr; in get_fpdu_info()
345 fpdu_info->hdr_vbase = NULL; in get_fpdu_info()
347 fpdu_info->hdr_vbase = pci_alloc_consistent(nesdev->pcidev, in get_fpdu_info()
348 fpdu_info->hdr_len, &fpdu_info->hdr_pbase); in get_fpdu_info()
349 if (!fpdu_info->hdr_vbase) { in get_fpdu_info()
356 memcpy(fpdu_info->hdr_vbase, cb->data_start, fpdu_info->hdr_len); in get_fpdu_info()
357 iph = (struct iphdr *)(fpdu_info->hdr_vbase + ETH_HLEN); in get_fpdu_info()
370 memcpy(fpdu_info->frags, frags, sizeof(fpdu_info->frags)); in get_fpdu_info()
371 fpdu_info->frag_cnt = frag_cnt; in get_fpdu_info()
372 fpdu_info->nesqp = nesqp; in get_fpdu_info()
373 *pau_fpdu_info = fpdu_info; in get_fpdu_info()
394 if (fpdu_info) { in get_fpdu_info()
395 if (fpdu_info->cqp_request) in get_fpdu_info()
396 nes_put_cqp_request(nesdev, fpdu_info->cqp_request); in get_fpdu_info()
397 kfree(fpdu_info); in get_fpdu_info()
409 struct pau_fpdu_info *fpdu_info; in forward_fpdus() local
419 rc = get_fpdu_info(nesdev, nesqp, &fpdu_info); in forward_fpdus()
420 if (rc || (fpdu_info == NULL)) { in forward_fpdus()
425 cqp_request = fpdu_info->cqp_request; in forward_fpdus()
432 u32tmp = fpdu_info->hdr_len << 16; in forward_fpdus()
433 u32tmp |= fpdu_info->hdr_len + (u32)fpdu_info->data_len; in forward_fpdus()
437 u32tmp = (fpdu_info->frags[1].frag_len << 16) | fpdu_info->frags[0].frag_len; in forward_fpdus()
441 u32tmp = (fpdu_info->frags[3].frag_len << 16) | fpdu_info->frags[2].frag_len; in forward_fpdus()
445 u64tmp = (u64)fpdu_info->hdr_pbase; in forward_fpdus()
452 lower_32_bits(fpdu_info->frags[0].physaddr)); in forward_fpdus()
454 upper_32_bits(fpdu_info->frags[0].physaddr)); in forward_fpdus()
457 lower_32_bits(fpdu_info->frags[1].physaddr)); in forward_fpdus()
459 upper_32_bits(fpdu_info->frags[1].physaddr)); in forward_fpdus()
462 lower_32_bits(fpdu_info->frags[2].physaddr)); in forward_fpdus()
464 upper_32_bits(fpdu_info->frags[2].physaddr)); in forward_fpdus()
467 lower_32_bits(fpdu_info->frags[3].physaddr)); in forward_fpdus()
469 upper_32_bits(fpdu_info->frags[3].physaddr)); in forward_fpdus()
471 cqp_request->cqp_callback_pointer = fpdu_info; in forward_fpdus()