Lines Matching refs:ctsio
333 ctl_ioctl_do_datamove(struct ctl_scsiio *ctsio) in ctl_ioctl_do_datamove() argument
349 if (ctsio->io_hdr.flags & CTL_FLAG_NO_DATAMOVE) { in ctl_ioctl_do_datamove()
351 ctsio->ext_data_filled += ctsio->kern_data_len; in ctl_ioctl_do_datamove()
352 ctsio->kern_data_resid = 0; in ctl_ioctl_do_datamove()
360 if (ctsio->ext_sg_entries > 0) { in ctl_ioctl_do_datamove()
363 ext_sglen = ctsio->ext_sg_entries * sizeof(*ext_sglist); in ctl_ioctl_do_datamove()
367 if (copyin(ctsio->ext_data_ptr, ext_sglist, ext_sglen) != 0) { in ctl_ioctl_do_datamove()
368 ctsio->io_hdr.port_status = 31343; in ctl_ioctl_do_datamove()
371 ext_sg_entries = ctsio->ext_sg_entries; in ctl_ioctl_do_datamove()
377 ctsio->ext_data_filled) { in ctl_ioctl_do_datamove()
379 ext_offset = ctsio->ext_data_filled - len_seen; in ctl_ioctl_do_datamove()
387 ext_sglist->addr = ctsio->ext_data_ptr; in ctl_ioctl_do_datamove()
388 ext_sglist->len = ctsio->ext_data_len; in ctl_ioctl_do_datamove()
391 ext_offset = ctsio->ext_data_filled; in ctl_ioctl_do_datamove()
394 if (ctsio->kern_sg_entries > 0) { in ctl_ioctl_do_datamove()
395 kern_sglist = (struct ctl_sg_entry *)ctsio->kern_data_ptr; in ctl_ioctl_do_datamove()
396 kern_sg_entries = ctsio->kern_sg_entries; in ctl_ioctl_do_datamove()
399 kern_sglist->addr = ctsio->kern_data_ptr; in ctl_ioctl_do_datamove()
400 kern_sglist->len = ctsio->kern_data_len; in ctl_ioctl_do_datamove()
415 if (ctsio->io_hdr.flags & CTL_FLAG_BUS_ADDR) { in ctl_ioctl_do_datamove()
427 if ((ctsio->io_hdr.flags & CTL_FLAG_DATA_MASK) == in ctl_ioctl_do_datamove()
434 ctsio->io_hdr.port_status = 31344; in ctl_ioctl_do_datamove()
443 ctsio->io_hdr.port_status = 31345; in ctl_ioctl_do_datamove()
448 ctsio->ext_data_filled += len_to_copy; in ctl_ioctl_do_datamove()
449 ctsio->kern_data_resid -= len_to_copy; in ctl_ioctl_do_datamove()
468 "kern_data_len = %d\n", ctsio->ext_data_len, in ctl_ioctl_do_datamove()
469 ctsio->kern_data_len)); in ctl_ioctl_do_datamove()