/illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/device/ |
H A D | bd_chain.h | 23 __inline static u16_t lm_bd_chain_avail_bds(lm_bd_chain_t* bd_chain) in lm_bd_chain_avail_bds() argument 25 return bd_chain->bd_left; in lm_bd_chain_avail_bds() 29 __inline static u16_t lm_bd_chain_prod_idx(lm_bd_chain_t* bd_chain) in lm_bd_chain_prod_idx() argument 31 return bd_chain->prod_idx; in lm_bd_chain_prod_idx() 35 __inline static u16_t lm_bd_chain_cons_idx(lm_bd_chain_t* bd_chain) in lm_bd_chain_cons_idx() argument 37 return bd_chain->cons_idx; in lm_bd_chain_cons_idx() 41 __inline static u16_t lm_bd_chain_usable_bds_per_page(lm_bd_chain_t* bd_chain) in lm_bd_chain_usable_bds_per_page() argument 43 return bd_chain->usable_bds_per_page; in lm_bd_chain_usable_bds_per_page() 47 __inline static u16_t lm_bd_chain_page_cnt(lm_bd_chain_t* bd_chain) in lm_bd_chain_page_cnt() argument 49 return bd_chain->page_cnt; in lm_bd_chain_page_cnt() [all …]
|
H A D | lm_resc.c | 321 tx_chain->bd_chain.bd_chain_virt = in lm_alloc_txq() 322 mm_alloc_phys_mem( pdev, mem_size, &tx_chain->bd_chain.bd_chain_phy, 0, mm_cli_idx); in lm_alloc_txq() 323 if(ERR_IF(!tx_chain->bd_chain.bd_chain_virt)) in lm_alloc_txq() 328 mm_mem_zero(tx_chain->bd_chain.bd_chain_virt, mem_size); in lm_alloc_txq() 330 tx_chain->bd_chain.page_cnt = page_cnt; in lm_alloc_txq() 353 lm_bd_chain_t * bd_chain = NULL; in lm_alloc_rxq() local 383 bd_chain = &LM_RXQ_CHAIN( pdev, cid, rx_chain_idx_cur ); in lm_alloc_rxq() 385 …bd_chain->bd_chain_virt = mm_alloc_phys_mem( pdev, mem_size, &bd_chain->bd_chain_phy, 0, mm_cli_i… in lm_alloc_rxq() 386 if(ERR_IF(!bd_chain->bd_chain_virt)) in lm_alloc_rxq() 391 mm_mem_zero(bd_chain->bd_chain_virt, mem_size); in lm_alloc_rxq() [all …]
|
H A D | lm_recv.c | 19 lm_bd_chain_cons_idx(&rcq_chain->bd_chain))) in lm_is_rx_completion() 126 bd_chain_to_check = &rcq_chain->bd_chain; in lm_post_buffers() 177 lm_bd_chain_bd_produced(&rcq_chain->bd_chain); in lm_post_buffers() 233 …lm_rx_set_prods(pdev, rcq_chain->iro_prod_offset, &rcq_chain->bd_chain, rx_chain_bd, rx_chain_sge … in lm_post_buffers() 237 …lm_rx_set_prods(pdev, rcq_chain->iro_prod_offset, &rcq_chain->bd_chain, &LM_RXQ_CHAIN_BD(pdev, cha… in lm_post_buffers() 244 … lm_bd_chain_cons_idx(&rcq_chain->bd_chain) ,lm_bd_chain_prod_idx(&rcq_chain->bd_chain)); in lm_post_buffers() 300 lm_bd_chain_t* bd_chain = &LM_TPA_CHAIN_BD(pdev, chain_idx); in lm_tpa_incr_sge_cons() local 305 bd_chain->cons_idx += BIT_VEC64_ELEM_SZ; in lm_tpa_incr_sge_cons() 311 DbgBreakIf(0 != (lm_bd_chain_bds_per_page(bd_chain) & BIT_VEC64_ELEM_MASK)); in lm_tpa_incr_sge_cons() 312 DbgBreakIf(BIT_VEC64_ELEM_SZ >= lm_bd_chain_bds_per_page(bd_chain)); in lm_tpa_incr_sge_cons() [all …]
|
H A D | lm_send.c | 88 prod_bd = (struct eth_tx_bd *)lm_bd_chain_produce_bd(&tx_chain->bd_chain); in lm_handle_lso_split() 218 prod_bd = (struct eth_tx_bd *)lm_bd_chain_produce_bd(&tx_chain->bd_chain); in lm_process_lso_packet() 611 old_prod_idx = lm_bd_chain_prod_idx(&tx_chain->bd_chain); in lm_send_packet() 688 if ((frags->cnt + num_parsing_bds + 1) > lm_bd_chain_avail_bds(&tx_chain->bd_chain)) in lm_send_packet() 701 start_bd = (struct eth_tx_start_bd *)lm_bd_chain_produce_bd(&tx_chain->bd_chain); in lm_send_packet() 778 parse_bd_ptr = lm_bd_chain_produce_bd(&tx_chain->bd_chain); in lm_send_packet() 797 parse_bd_2nd_ptr = lm_bd_chain_produce_bd(&tx_chain->bd_chain); in lm_send_packet() 842 prod_bd = (struct eth_tx_bd *)lm_bd_chain_produce_bd(&tx_chain->bd_chain); in lm_send_packet() 992 packet->u1.tx.next_bd_idx = lm_bd_chain_prod_idx(&tx_chain->bd_chain); in lm_send_packet() 1055 S16_SUB(lm_bd_chain_prod_idx(&tx_chain->bd_chain), old_prod_idx); in lm_send_packet() [all …]
|
H A D | lm_sp.c | 172 …dx_ptr && (mm_le16_to_cpu(*eq_chain->hw_con_idx_ptr) != lm_bd_chain_cons_idx(&eq_chain->bd_chain))) in lm_is_eq_completion() 280 …e.lo = mm_cpu_to_le32(lm_bd_chain_phys_addr(&pdev->rx_info.rcq_chain[cid].bd_chain, 0).as_u32.low); in lm_eth_init_client_init_rx_data() 281 ….hi = mm_cpu_to_le32(lm_bd_chain_phys_addr(&pdev->rx_info.rcq_chain[cid].bd_chain, 0).as_u32.high); in lm_eth_init_client_init_rx_data() 423 …base.hi = mm_cpu_to_le32(lm_bd_chain_phys_addr(&pdev->tx_info.chain[cid].bd_chain, 0).as_u32.high); in lm_eth_init_client_init_tx_data() 424 …_base.lo = mm_cpu_to_le32(lm_bd_chain_phys_addr(&pdev->tx_info.chain[cid].bd_chain, 0).as_u32.low); in lm_eth_init_client_init_tx_data() 760 lm_bd_chain_bds_produced(&rcq_chain->bd_chain, ETH_MIN_RX_CQES_WITH_TPA_E1H_E2); in lm_establish_eth_con() 3343 if((cq_new_idx & lm_bd_chain_usable_bds_per_page(&eq_chain->bd_chain)) in lm_service_eq_intr() 3344 == lm_bd_chain_usable_bds_per_page(&eq_chain->bd_chain)) in lm_service_eq_intr() 3346 cq_new_idx+=lm_bd_chain_bds_skip_eop(&eq_chain->bd_chain); in lm_service_eq_intr() 3348 cq_old_idx = lm_bd_chain_cons_idx(&eq_chain->bd_chain); in lm_service_eq_intr() [all …]
|
H A D | lm_hw_init_reset.c | 4030 eq_data.base_addr.hi = lm_bd_chain_phys_addr(&pdev->eq_info.eq_chain.bd_chain, 0).as_u32.high; in lm_init_intmem_eq() 4031 eq_data.base_addr.lo = lm_bd_chain_phys_addr(&pdev->eq_info.eq_chain.bd_chain, 0).as_u32.low; in lm_init_intmem_eq() 4032 eq_data.producer = lm_bd_chain_prod_idx(&pdev->eq_info.eq_chain.bd_chain); in lm_init_intmem_eq() 4060 DbgBreakIf(lm_bd_chain_phys_addr(&pdev->eq_info.eq_chain.bd_chain, 0).as_u64 == 0); in lm_init_intmem_function() 4061 …OUND_ADDRESS_OFFSET(func),lm_bd_chain_phys_addr(&pdev->eq_info.eq_chain.bd_chain, 0).as_u32.low, B… in lm_init_intmem_function() 4062 …ND_ADDRESS_OFFSET(func)+4,lm_bd_chain_phys_addr(&pdev->eq_info.eq_chain.bd_chain, 0).as_u32.high, … in lm_init_intmem_function()
|
/illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/ |
H A D | lm_l5.c | 185 eq_chain->bd_chain.bd_chain_virt = mm_alloc_phys_mem(pdev, in lm_l5_alloc_eq() 187 &eq_chain->bd_chain.bd_chain_phy, in lm_l5_alloc_eq() 191 if (ERR_IF(!eq_chain->bd_chain.bd_chain_virt)) in lm_l5_alloc_eq() 197 eq_addr_save->bd_chain_virt = eq_chain->bd_chain.bd_chain_virt ; in lm_l5_alloc_eq() 198 eq_addr_save->bd_chain_phy.as_u64 = eq_chain->bd_chain.bd_chain_phy.as_u64; in lm_l5_alloc_eq() 206 eq_chain->bd_chain.bd_chain_virt = eq_addr_save->bd_chain_virt; in lm_l5_alloc_eq() 207 eq_chain->bd_chain.bd_chain_phy.as_u64 = eq_addr_save->bd_chain_phy.as_u64; in lm_l5_alloc_eq() 209 mm_memset(eq_chain->bd_chain.bd_chain_virt, 0, mem_size); in lm_l5_alloc_eq() 211 eq_chain->bd_chain.page_cnt = page_cnt; in lm_l5_alloc_eq() 225 lm_bd_chain_t * bd_chain; in lm_sc_setup_eq() local [all …]
|
/illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l4/ |
H A D | lm_l4tx.c | 107 tx_chain = &tx_con->bd_chain; in lm_tcp_tx_post_buf() 296 *scq->hw_con_idx_ptr != lm_bd_chain_cons_idx(&scq->bd_chain) ) in lm_toe_is_tx_completion() 469 cq_old_idx = lm_bd_chain_cons_idx(&scq->bd_chain); in lm_tcp_tx_process_cqes() 497 cqe = lm_toe_bd_chain_consume_bd(&scq->bd_chain); in lm_tcp_tx_process_cqes() 530 cq_old_idx = lm_bd_chain_cons_idx(&scq->bd_chain); in lm_tcp_tx_process_cqes() 538 lm_toe_bd_chain_bds_produced(&scq->bd_chain, num_to_reproduce); in lm_tcp_tx_process_cqes() 544 lm_bd_chain_prod_idx(&scq->bd_chain), BAR_CSTRORM_INTMEM); in lm_tcp_tx_process_cqes() 616 old_prod = lm_bd_chain_prod_idx(&(tcp_con->bd_chain)); in lm_tcp_graceful_disconnect() 619 tx_bd = (struct toe_tx_bd *)lm_toe_bd_chain_produce_bd(&(tcp_con->bd_chain)); in lm_tcp_graceful_disconnect() 631 new_prod = lm_bd_chain_prod_idx(&(tcp_con->bd_chain)); in lm_tcp_graceful_disconnect()
|
H A D | lm_l4sp.c | 195 lm_bd_chain_t *bd_chain; in lm_tcp_alloc_resc() local 211 bd_chain = &toe_info->scqs[i].bd_chain; in lm_tcp_alloc_resc() 213 …bd_chain->bd_chain_virt = mm_alloc_phys_mem(pdev, mem_size, &bd_chain->bd_chain_phy, 0, mm_cli_idx… in lm_tcp_alloc_resc() 214 if (!bd_chain->bd_chain_virt) { in lm_tcp_alloc_resc() 218 mm_memset(bd_chain->bd_chain_virt, 0, mem_size); in lm_tcp_alloc_resc() 224 bd_chain = &toe_info->rcqs[i].bd_chain; in lm_tcp_alloc_resc() 226 …bd_chain->bd_chain_virt = mm_alloc_phys_mem(pdev, mem_size, &bd_chain->bd_chain_phy, 0, mm_cli_idx… in lm_tcp_alloc_resc() 227 if (!bd_chain->bd_chain_virt) { in lm_tcp_alloc_resc() 231 mm_memset(bd_chain->bd_chain_virt, 0, mem_size); in lm_tcp_alloc_resc() 234 bd_chain = &toe_info->grqs[i].bd_chain; in lm_tcp_alloc_resc() [all …]
|
H A D | lm_l4rx.c | 364 lm_bd_chain_bds_consumed(&con->bd_chain, tcp_buf->bd_used); in lm_tcp_complete_tcp_buf() 526 *rcq->hw_con_idx_ptr != lm_bd_chain_cons_idx(&rcq->bd_chain) ) in lm_toe_is_rx_completion() 1050 lm_bd_chain_bds_consumed(&pdev->toe_info.grqs[sb_idx].bd_chain, 1); in lm_tcp_rx_next_grq_buf() 1443 cq_old_idx = lm_bd_chain_cons_idx(&rcq->bd_chain); in lm_tcp_rx_process_cqes() 1487 cqe = lm_toe_bd_chain_consume_bd(&rcq->bd_chain); in lm_tcp_rx_process_cqes() 1499 cq_old_idx = lm_bd_chain_cons_idx(&rcq->bd_chain); in lm_tcp_rx_process_cqes() 1523 cq_old_idx = lm_bd_chain_cons_idx(&rcq->bd_chain); in lm_tcp_rx_process_cqes() 1584 cq_old_idx = lm_bd_chain_cons_idx(&rcq->bd_chain); in lm_tcp_rx_process_cqes() 1589 lm_toe_bd_chain_bds_produced(&rcq->bd_chain, num_to_reproduce); in lm_tcp_rx_process_cqes() 1595 lm_bd_chain_prod_idx(&rcq->bd_chain), BAR_USTRORM_INTMEM); in lm_tcp_rx_process_cqes() [all …]
|
H A D | lm_l4fp.c | 33 lm_bd_chain_bds_consumed(&con->bd_chain, con->dpc_info.dpc_bd_used); in lm_tcp_complete_bufs()
|
/illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l4/include/ |
H A D | lm_l4st.h | 428 lm_bd_chain_t bd_chain; member 699 lm_bd_chain_t bd_chain; member 735 lm_bd_chain_t bd_chain; member 769 lm_bd_chain_t bd_chain; member
|
/illumos-gate/usr/src/uts/common/io/bnxe/ |
H A D | bnxe_tx.c | 185 if (pTxPkt->frag_list.cnt + 2 > pLmTxChain->bd_chain.bd_left) in BnxeTxSendWaitingPkt() 272 (pLmTxChain->bd_chain.bd_left >= BNXE_MAX_DMA_FRAGS_PER_PKT)) in BnxeTxRingProcess() 935 if (pLmTxChain->bd_chain.bd_left < BNXE_MAX_DMA_FRAGS_PER_PKT + 2) in BnxeTxSendMblk() 960 (pLmTxChain->bd_chain.bd_left >= pTxPkt->frag_list.cnt + 2)) in BnxeTxSendMblk() 993 pLmTxChain->bd_chain.bd_left, pTxPkt->frag_list.cnt); in BnxeTxSendMblk() 1009 if ((pLmTxChain->bd_chain.bd_left >= BNXE_MAX_DMA_FRAGS_PER_PKT) && in BnxeTxSendMblk()
|
H A D | bnxe_kstat.c | 1600 pStats->rcqBdTotal.value.ui64 = pRcq->bd_chain.capacity; in BnxeKstatRxRingUpdate() 1601 pStats->rcqBdLeft.value.ui64 = pRcq->bd_chain.bd_left; in BnxeKstatRxRingUpdate() 1602 pStats->rcqBdPageCnt.value.ui64 = pRcq->bd_chain.page_cnt; in BnxeKstatRxRingUpdate() 1603 pStats->rcqBdsPerPage.value.ui64 = pRcq->bd_chain.bds_per_page; in BnxeKstatRxRingUpdate() 1604 pStats->rcqBdSize.value.ui64 = pRcq->bd_chain.bd_size; in BnxeKstatRxRingUpdate() 1605 pStats->rcqBdsSkipEop.value.ui64 = pRcq->bd_chain.bds_skip_eop; in BnxeKstatRxRingUpdate() 1606 pStats->rcqBdProdIdx.value.ui64 = pRcq->bd_chain.prod_idx; in BnxeKstatRxRingUpdate() 1607 pStats->rcqBdConsIdx.value.ui64 = pRcq->bd_chain.cons_idx; in BnxeKstatRxRingUpdate() 1648 pStats->txBdTotal.value.ui64 = LM_TXQ(pLM, idx).bd_chain.capacity; in BnxeKstatTxRingUpdate() 1649 pStats->txBdLeft.value.ui64 = LM_TXQ(pLM, idx).bd_chain.bd_left; in BnxeKstatTxRingUpdate() [all …]
|
H A D | bnxe_rx.c | 92 if (lm_bd_chain_avail_bds(&pLmRxChain->bd_chain) < 32) in BnxeRxPostBuffers()
|
/illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/vf/channel_vf/ |
H A D | lm_vf.c | 1895 mess->rxq.rcq_addr = lm_bd_chain_phys_addr(&(LM_RCQ(pdev,vf_qid).bd_chain), 0).as_u64; in lm_vf_pf_setup_q() 1896 mess->rxq.rcq_np_addr = lm_bd_chain_phys_addr(&(LM_RCQ(pdev,vf_qid).bd_chain), 1).as_u64; in lm_vf_pf_setup_q() 1927 mess->txq.txq_addr = lm_bd_chain_phys_addr(&(LM_TXQ(pdev,vf_qid).bd_chain), 0).as_u64; in lm_vf_pf_setup_q() 1946 mess->rxq.rcq_addr = lm_bd_chain_phys_addr(&(LM_RCQ(pdev,vf_qid).bd_chain), 0).as_u64; in lm_vf_pf_setup_q() 1947 … mess->rxq.rcq_np_addr = lm_bd_chain_phys_addr(&(LM_RCQ(pdev,vf_qid).bd_chain), 1).as_u64; in lm_vf_pf_setup_q() 1987 mess->txq.txq_addr = lm_bd_chain_phys_addr(&(LM_TXQ(pdev,vf_qid).bd_chain), 0).as_u64; in lm_vf_pf_setup_q()
|
/illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/include/ |
H A D | lm5710.h | 2357 lm_bd_chain_t bd_chain; member 2440 lm_bd_chain_t bd_chain; // The RSC BD chain. member 2442 …_pdev, _idx) ((_pdev)->rx_info.rxq_chain[_idx].tpa_chain.sge_chain.bd_chain) 2579 lm_bd_chain_t bd_chain; member 2592 lm_bd_chain_t bd_chain; member
|
/illumos-gate/exception_lists/ |
H A D | hdrchk | 262 usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/device/bd_chain.h
|