Lines Matching refs:rxp

562 	struct bna_rxp *rxp;
566 list_for_each_entry(rxp, &rx->rxp_q, qe) {
567 rxf->rit[offset] = rxp->cq.ccb->id;
1470 struct bna_rxp *rxp;
1474 list_for_each_entry(rxp, &rx->rxp_q, qe)
1475 bna_ib_start(rx->bna, &rxp->cq.ib, is_regular);
1616 struct bna_rxp *rxp = NULL;
1628 rxp = rxp ? list_next_entry(rxp, qe)
1630 GET_RXQS(rxp, q0, q1);
1631 switch (rxp->type) {
1665 &rxp->cq.qpt);
1668 rxp->cq.ib.ib_seg_host_addr.lsb;
1670 rxp->cq.ib.ib_seg_host_addr.msb;
1672 htons((u16)rxp->cq.ib.intr_vector);
1679 cfg_req->ib_cfg.msix = (rxp->cq.ib.intr_type == BNA_INTR_T_MSIX)
1683 htonl((u32)rxp->cq.ib.coalescing_timeo);
1685 htonl((u32)rxp->cq.ib.interpkt_timeo);
1686 cfg_req->ib_cfg.inter_pkt_count = (u8)rxp->cq.ib.interpkt_count;
1688 switch (rxp->type) {
1731 struct bna_rxp *rxp;
1734 list_for_each_entry(rxp, &rx->rxp_q, qe)
1735 bna_ib_stop(rx->bna, &rxp->cq.ib);
1783 struct bna_rxp *rxp = NULL;
1785 rxp = list_first_entry(&rx_mod->rxp_free_q, struct bna_rxp, qe);
1786 list_del(&rxp->qe);
1789 return rxp;
1793 bna_rxp_put(struct bna_rx_mod *rx_mod, struct bna_rxp *rxp)
1795 list_add_tail(&rxp->qe, &rx_mod->rxp_free_q);
1831 bna_rxp_add_rxqs(struct bna_rxp *rxp, struct bna_rxq *q0,
1834 switch (rxp->type) {
1836 rxp->rxq.single.only = q0;
1837 rxp->rxq.single.reserved = NULL;
1840 rxp->rxq.slr.large = q0;
1841 rxp->rxq.slr.small = q1;
1844 rxp->rxq.hds.data = q0;
1845 rxp->rxq.hds.hdr = q1;
1854 struct bna_rxp *rxp,
1892 bna_rxp_cqpt_setup(struct bna_rxp *rxp,
1904 rxp->cq.qpt.hw_qpt_ptr.lsb = qpt_mem->dma.lsb;
1905 rxp->cq.qpt.hw_qpt_ptr.msb = qpt_mem->dma.msb;
1906 rxp->cq.qpt.kv_qpt_ptr = qpt_mem->kva;
1907 rxp->cq.qpt.page_count = page_count;
1908 rxp->cq.qpt.page_size = page_size;
1910 rxp->cq.ccb->sw_qpt = (void **) swqpt_mem->kva;
1911 rxp->cq.ccb->sw_q = page_mem->kva;
1916 for (i = 0; i < rxp->cq.qpt.page_count; i++) {
1917 rxp->cq.ccb->sw_qpt[i] = kva;
1921 ((struct bna_dma_addr *)rxp->cq.qpt.kv_qpt_ptr)[i].lsb =
1923 ((struct bna_dma_addr *)rxp->cq.qpt.kv_qpt_ptr)[i].msb =
2036 rx_mod->rxp = (struct bna_rxp *)
2066 rxp_ptr = &rx_mod->rxp[index];
2089 struct bna_rxp *rxp = NULL;
2098 for (i = 0, rxp = list_first_entry(&rx->rxp_q, struct bna_rxp, qe);
2099 i < rx->num_paths; i++, rxp = list_next_entry(rxp, qe)) {
2100 GET_RXQS(rxp, q0, q1);
2103 rxp->cq.ccb->i_dbell->doorbell_addr =
2106 rxp->hw_id = cfg_rsp->q_handles[i].hw_cqid;
2119 (*rxp->cq.ccb->hw_producer_index) = 0;
2120 rxp->cq.ccb->producer_index = 0;
2258 struct bna_rxp *rxp;
2341 rxp = bna_rxp_get(rx_mod);
2342 list_add_tail(&rxp->qe, &rx->rxp_q);
2343 rxp->type = rx_cfg->rxp_type;
2344 rxp->rx = rx;
2345 rxp->cq.rx = rx;
2354 rxp->vector = intr_info->idl[0].vector;
2356 rxp->vector = intr_info->idl[i].vector;
2360 rxp->cq.ib.ib_seg_host_addr.lsb =
2362 rxp->cq.ib.ib_seg_host_addr.msb =
2364 rxp->cq.ib.ib_seg_host_addr_kva =
2366 rxp->cq.ib.intr_type = intr_info->intr_type;
2368 rxp->cq.ib.intr_vector = rxp->vector;
2370 rxp->cq.ib.intr_vector = BIT(rxp->vector);
2371 rxp->cq.ib.coalescing_timeo = rx_cfg->coalescing_timeo;
2372 rxp->cq.ib.interpkt_count = BFI_RX_INTERPKT_COUNT;
2373 rxp->cq.ib.interpkt_timeo = BFI_RX_INTERPKT_TIMEO;
2375 bna_rxp_add_rxqs(rxp, q0, q1);
2380 q0->rxp = rxp;
2397 bna_rxq_qpt_setup(q0, rxp, dpage_count, PAGE_SIZE,
2407 q1->rxp = rxp;
2426 bna_rxq_qpt_setup(q1, rxp, hpage_count, PAGE_SIZE,
2436 rxp->cq.ccb = (struct bna_ccb *) ccb_mem[i].kva;
2444 rxp->cq.ccb->q_depth = cq_depth;
2445 rxp->cq.ccb->cq = &rxp->cq;
2446 rxp->cq.ccb->rcb[0] = q0->rcb;
2447 q0->rcb->ccb = rxp->cq.ccb;
2449 rxp->cq.ccb->rcb[1] = q1->rcb;
2450 q1->rcb->ccb = rxp->cq.ccb;
2452 rxp->cq.ccb->hw_producer_index =
2453 (u32 *)rxp->cq.ib.ib_seg_host_addr_kva;
2454 rxp->cq.ccb->i_dbell = &rxp->cq.ib.door_bell;
2455 rxp->cq.ccb->intr_type = rxp->cq.ib.intr_type;
2456 rxp->cq.ccb->intr_vector = rxp->cq.ib.intr_vector;
2457 rxp->cq.ccb->rx_coalescing_timeo =
2458 rxp->cq.ib.coalescing_timeo;
2459 rxp->cq.ccb->pkt_rate.small_pkt_cnt = 0;
2460 rxp->cq.ccb->pkt_rate.large_pkt_cnt = 0;
2461 rxp->cq.ccb->bnad = bna->bnad;
2462 rxp->cq.ccb->id = i;
2464 bna_rxp_cqpt_setup(rxp, page_count, PAGE_SIZE,
2468 rx->ccb_setup_cbfn(bnad, rxp->cq.ccb);
2488 struct bna_rxp *rxp;
2494 rxp = list_first_entry(&rx->rxp_q, struct bna_rxp, qe);
2495 list_del(&rxp->qe);
2496 GET_RXQS(rxp, q0, q1);
2500 q0->rxp = NULL;
2508 q1->rxp = NULL;
2512 rxp->rxq.slr.large = NULL;
2513 rxp->rxq.slr.small = NULL;
2516 rx->ccb_destroy_cbfn(rx->bna->bnad, rxp->cq.ccb);
2517 rxp->cq.ccb = NULL;
2518 rxp->rx = NULL;
2519 bna_rxp_put(rx_mod, rxp);
2676 struct bna_rxp *rxp;
2678 list_for_each_entry(rxp, &rx->rxp_q, qe) {
2679 rxp->cq.ccb->rx_coalescing_timeo = coalescing_timeo;
2680 bna_ib_coalescing_timeo_set(&rxp->cq.ib, coalescing_timeo);