Lines Matching refs:cmd

161 static int srp_direct_data(struct ibmvscsis_cmd *cmd, struct srp_direct_buf *md,  in srp_direct_data()  argument
170 iue = cmd->iue; in srp_direct_data()
171 sg = cmd->se_cmd.t_data_sg; in srp_direct_data()
172 nsg = dma_map_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents, in srp_direct_data()
176 cmd->se_cmd.t_data_nents); in srp_direct_data()
179 len = min(cmd->se_cmd.data_length, be32_to_cpu(md->len)); in srp_direct_data()
184 err = rdma_io(cmd, sg, nsg, md, 1, dir, len); in srp_direct_data()
192 static int srp_indirect_data(struct ibmvscsis_cmd *cmd, struct srp_cmd *srp_cmd, in srp_indirect_data() argument
205 iue = cmd->iue; in srp_indirect_data()
206 sg = cmd->se_cmd.t_data_sg; in srp_indirect_data()
230 err = rdma_io(cmd, &dummy, 1, &id->table_desc, 1, DMA_TO_DEVICE, in srp_indirect_data()
243 nsg = dma_map_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents, in srp_indirect_data()
247 cmd->se_cmd.t_data_nents); in srp_indirect_data()
251 len = min(cmd->se_cmd.data_length, be32_to_cpu(id->len)); in srp_indirect_data()
256 err = rdma_io(cmd, sg, nsg, md, nmd, dir, len); in srp_indirect_data()
269 static int data_out_desc_size(struct srp_cmd *cmd) in data_out_desc_size() argument
272 u8 fmt = cmd->buf_fmt >> 4; in data_out_desc_size()
282 sizeof(struct srp_direct_buf) * cmd->data_out_desc_cnt; in data_out_desc_size()
295 int srp_transfer_data(struct ibmvscsis_cmd *cmd, struct srp_cmd *srp_cmd, in srp_transfer_data() argument
304 if (!cmd->se_cmd.t_data_nents) in srp_transfer_data()
323 err = srp_direct_data(cmd, md, dir, rdma_io, dma_map, ext_desc); in srp_transfer_data()
327 err = srp_indirect_data(cmd, srp_cmd, id, dir, rdma_io, dma_map, in srp_transfer_data()
338 u64 srp_data_length(struct srp_cmd *cmd, enum dma_data_direction dir) in srp_data_length() argument
343 uint offset = cmd->add_cdb_len & ~3; in srp_data_length()
347 fmt = cmd->buf_fmt >> 4; in srp_data_length()
349 fmt = cmd->buf_fmt & ((1U << 4) - 1); in srp_data_length()
350 offset += data_out_desc_size(cmd); in srp_data_length()
357 md = (struct srp_direct_buf *)(cmd->add_data + offset); in srp_data_length()
361 id = (struct srp_indirect_buf *)(cmd->add_data + offset); in srp_data_length()