Lines Matching refs:tx_cmd
66 static int qla_tx_tso(qla_host_t *ha, struct mbuf *mp, q80_tx_cmd_t *tx_cmd,
2259 qla_tx_tso(qla_host_t *ha, struct mbuf *mp, q80_tx_cmd_t *tx_cmd, uint8_t *hdr) in qla_tx_tso() argument
2356 tx_cmd->mss = mp->m_pkthdr.tso_segsz; in qla_tx_tso()
2358 tx_cmd->flags_opcode = opcode ; in qla_tx_tso()
2359 tx_cmd->tcp_hdr_off = ip_hlen + ehdrlen; in qla_tx_tso()
2360 tx_cmd->total_hdr_len = hdrlen; in qla_tx_tso()
2364 tx_cmd->flags_opcode |= Q8_TX_CMD_FLAGS_MULTICAST; in qla_tx_tso()
2481 q80_tx_cmd_t *tx_cmd, tso_cmd; in ql_hw_send() local
2568 tx_cmd = &hw->tx_cntxt[txr_idx].tx_ring_base[tx_idx]; in ql_hw_send()
2574 bzero((void *)tx_cmd, sizeof(q80_tx_cmd_t)); in ql_hw_send()
2577 tx_cmd->flags_opcode = op_code; in ql_hw_send()
2578 tx_cmd->tcp_hdr_off = tcp_hdr_off; in ql_hw_send()
2581 tx_cmd->flags_opcode = Q8_TX_CMD_OP_XMT_ETHER; in ql_hw_send()
2584 bcopy(&tso_cmd, tx_cmd, sizeof(q80_tx_cmd_t)); in ql_hw_send()
2589 tx_cmd->flags_opcode |= Q8_TX_CMD_FLAGS_VLAN_TAGGED; in ql_hw_send()
2596 tx_cmd->flags_opcode |= (Q8_TX_CMD_FLAGS_VLAN_TAGGED | in ql_hw_send()
2598 tx_cmd->tcp_hdr_off += ETHER_VLAN_ENCAP_LEN; in ql_hw_send()
2600 tx_cmd->flags_opcode |= Q8_TX_CMD_FLAGS_HW_VLAN_ID; in ql_hw_send()
2603 tx_cmd->vlan_tci = mp->m_pkthdr.ether_vtag; in ql_hw_send()
2606 tx_cmd->vlan_tci |= ha->hw.user_pri_iscsi << 13; in ql_hw_send()
2607 mp->m_pkthdr.ether_vtag = tx_cmd->vlan_tci; in ql_hw_send()
2611 tx_cmd->n_bufs = (uint8_t)nsegs; in ql_hw_send()
2612 tx_cmd->data_len_lo = (uint8_t)(total_length & 0xFF); in ql_hw_send()
2613 tx_cmd->data_len_hi = qla_host_to_le16(((uint16_t)(total_length >> 8))); in ql_hw_send()
2614 tx_cmd->cntxtid = Q8_TX_CMD_PORT_CNXTID(ha->pci_func); in ql_hw_send()
2622 tx_cmd->buf1_addr = c_seg->ds_addr; in ql_hw_send()
2623 tx_cmd->buf1_len = c_seg->ds_len; in ql_hw_send()
2627 tx_cmd->buf2_addr = c_seg->ds_addr; in ql_hw_send()
2628 tx_cmd->buf2_len = c_seg->ds_len; in ql_hw_send()
2632 tx_cmd->buf3_addr = c_seg->ds_addr; in ql_hw_send()
2633 tx_cmd->buf3_len = c_seg->ds_len; in ql_hw_send()
2637 tx_cmd->buf4_addr = c_seg->ds_addr; in ql_hw_send()
2638 tx_cmd->buf4_len = c_seg->ds_len; in ql_hw_send()
2654 tx_cmd = &hw->tx_cntxt[txr_idx].tx_ring_base[txr_next]; in ql_hw_send()
2655 bzero((void *)tx_cmd, sizeof(q80_tx_cmd_t)); in ql_hw_send()
2663 tx_cmd = &hw->tx_cntxt[txr_idx].tx_ring_base[txr_next]; in ql_hw_send()
2664 bzero((void *)tx_cmd, sizeof(q80_tx_cmd_t)); in ql_hw_send()
2669 dst = (uint8_t *)tx_cmd + Q8_TX_CMD_TSO_ALIGN; in ql_hw_send()
2704 tx_cmd = &hw->tx_cntxt[txr_idx].tx_ring_base[txr_next]; in ql_hw_send()
2705 bzero((void *)tx_cmd, sizeof(q80_tx_cmd_t)); in ql_hw_send()
2709 bcopy(src, tx_cmd, bytes); in ql_hw_send()