Lines Matching defs:task
862 struct fcoe_task_ctx_entry *task)
887 rx_state = ((task->rxwr_txrd.var_ctx.rx_flags &
895 bnx2fc_process_scsi_cmd_compl(io_req, task, num_rq,
902 bnx2fc_process_abts_compl(io_req, task, num_rq);
905 bnx2fc_process_cleanup_compl(io_req, task, num_rq);
913 bnx2fc_process_tm_compl(io_req, task, num_rq, rq_data);
919 * will be delivered to the task belonging to the IO
928 bnx2fc_process_els_compl(io_req, task, num_rq);
930 bnx2fc_process_abts_compl(io_req, task, num_rq);
933 bnx2fc_process_cleanup_compl(io_req, task, num_rq);
947 bnx2fc_process_seq_cleanup_compl(io_req, task, rx_state);
973 struct fcoe_task_ctx_entry *task)
984 work->task = task;
997 struct fcoe_task_ctx_entry *task;
1018 task = &task_page[index];
1020 num_rq = ((task->rxwr_txrd.var_ctx.rx_flags &
1050 num_rq, task);
1060 rq_data_buff, num_rq, task);
1490 struct fcoe_task_ctx_entry *task,
1507 memset(task, 0, sizeof(struct fcoe_task_ctx_entry));
1515 task->txwr_rxrd.const_ctx.tx_flags =
1519 task->txwr_rxrd.const_ctx.init_flags = task_type <<
1521 task->txwr_rxrd.const_ctx.init_flags |= FCOE_TASK_CLASS_TYPE_3 <<
1523 task->rxwr_txrd.const_ctx.init_flags = context_id <<
1525 task->rxwr_txrd.const_ctx.init_flags = context_id <<
1528 task->txwr_rxrd.union_ctx.cleanup.ctx.cleaned_task_id = orig_xid;
1530 task->txwr_rxrd.union_ctx.cleanup.ctx.rolled_tx_seq_cnt = 0;
1531 task->txwr_rxrd.union_ctx.cleanup.ctx.rolled_tx_data_offset = offset;
1544 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.lo =
1546 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.hi =
1548 task->txwr_only.sgl_ctx.sgl.mul_sgl.sgl_size =
1550 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_off =
1552 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_idx = i;
1556 sgl = &task->rxwr_only.union_ctx.read_info.sgl_ctx.sgl;
1563 memset(&task->rxwr_only.rx_seq_ctx, 0,
1565 task->rxwr_only.rx_seq_ctx.low_exp_ro = orig_offset;
1566 task->rxwr_only.rx_seq_ctx.high_exp_ro = orig_offset;
1570 struct fcoe_task_ctx_entry *task,
1577 memset(task, 0, sizeof(struct fcoe_task_ctx_entry));
1581 task->txwr_rxrd.const_ctx.init_flags = task_type <<
1583 task->txwr_rxrd.const_ctx.init_flags |= FCOE_TASK_CLASS_TYPE_3 <<
1586 task->txwr_rxrd.const_ctx.init_flags |=
1590 task->txwr_rxrd.const_ctx.init_flags |=
1593 task->txwr_rxrd.union_ctx.cleanup.ctx.cleaned_task_id = orig_xid;
1596 task->txwr_rxrd.const_ctx.tx_flags =
1601 task->rxwr_txrd.const_ctx.init_flags = context_id <<
1603 task->rxwr_txrd.var_ctx.rx_flags |= 1 <<
1608 struct fcoe_task_ctx_entry *task)
1628 memset(task, 0, sizeof(struct fcoe_task_ctx_entry));
1630 /* Setup the task from io_req for easy reference */
1631 io_req->task = task;
1633 BNX2FC_IO_DBG(io_req, "Init MP task for cmd_type = %d task_type = %d\n",
1639 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.lo =
1641 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.hi =
1643 task->txwr_only.sgl_ctx.sgl.mul_sgl.sgl_size = 1;
1648 task->txwr_rxrd.const_ctx.init_flags = task_type <<
1651 task->txwr_rxrd.const_ctx.init_flags |=
1655 task->txwr_rxrd.const_ctx.init_flags |=
1658 task->txwr_rxrd.const_ctx.init_flags |= FCOE_TASK_CLASS_TYPE_3 <<
1662 task->txwr_rxrd.const_ctx.tx_flags = FCOE_TASK_TX_STATE_INIT <<
1666 task->rxwr_txrd.const_ctx.data_2_trns = io_req->data_xfer_len;
1669 task->rxwr_txrd.var_ctx.rx_flags |= 1 <<
1673 task->rxwr_txrd.const_ctx.init_flags = context_id <<
1680 task->rxwr_txrd.var_ctx.rx_id = 0xffff;
1686 hdr = (u64 *) &task->txwr_rxrd.union_ctx.tx_frame.fc_hdr;
1694 sgl = &task->rxwr_only.union_ctx.read_info.sgl_ctx.sgl;
1704 struct fcoe_task_ctx_entry *task)
1719 memset(task, 0, sizeof(struct fcoe_task_ctx_entry));
1721 /* Setup the task from io_req for easy reference */
1722 io_req->task = task;
1731 cached_sge = &task->rxwr_only.union_ctx.read_info.sgl_ctx.cached_sge;
1736 task->txwr_only.sgl_ctx.cached_sge.cur_buf_addr.lo =
1739 task->txwr_only.sgl_ctx.cached_sge.cur_buf_addr.hi =
1742 task->txwr_only.sgl_ctx.cached_sge.cur_buf_rem =
1746 task->txwr_rxrd.const_ctx.init_flags |= 1 <<
1749 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.lo =
1751 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.hi =
1753 task->txwr_only.sgl_ctx.sgl.mul_sgl.sgl_size =
1760 task->txwr_rxrd.const_ctx.init_flags |= task_type <<
1763 task->txwr_rxrd.const_ctx.init_flags |=
1769 task->txwr_rxrd.const_ctx.init_flags |=
1772 task->txwr_rxrd.const_ctx.init_flags |= FCOE_TASK_CLASS_TYPE_3 <<
1775 task->txwr_rxrd.const_ctx.tx_flags = FCOE_TASK_TX_STATE_NORMAL <<
1779 task->txwr_rxrd.union_ctx.tx_seq.ctx.seq_cnt = 1;
1783 task->txwr_rxrd.union_ctx.fcp_cmd.opaque;
1795 task->rxwr_txrd.const_ctx.data_2_trns = io_req->data_xfer_len;
1798 task->rxwr_txrd.const_ctx.init_flags = context_id <<
1803 task->rxwr_txrd.var_ctx.rx_flags |= 1 <<
1806 task->rxwr_txrd.var_ctx.rx_id = 0xffff;
1812 sgl = &task->rxwr_only.union_ctx.read_info.sgl_ctx.sgl;
1823 task->txwr_rxrd.const_ctx.init_flags |= 1 <<
1838 task->txwr_rxrd.const_ctx.init_flags |= 1 <<
1856 * bnx2fc_setup_task_ctx - allocate and map task context
1860 * allocate memory for task context, and associated BD table to be used
1873 * Allocate task context bd table. A page size of bd table
1874 * can map 256 buffers. Each buffer contains 32 task context
1875 * entries. Hence the limit with one page is 8192 task context
1883 printk(KERN_ERR PFX "unable to allocate task context BDT\n");
1890 * a page containing 32 task contexts
1896 printk(KERN_ERR PFX "unable to allocate task context array\n");
1920 printk(KERN_ERR PFX "unable to alloc task context\n");