Lines Matching +full:enable +full:- +full:remote +full:- +full:sense

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
5 * Copyright (c) 2014-2015 Alexander Motin <mav@FreeBSD.org>
33 * $Id: //depot/users/kenm/FreeBSD-test2/sys/cam/ctl/ctl_io.h#5 $
54 * Uncomment this next line to enable printing out times for I/Os
64 * Uncomment this next line to enable the CTL I/O delay feature. You
65 * can delay I/O at two different points -- datamove and done. This is
77 CTL_SCSI_ERROR, /* SCSI error, look at status byte/sense data */
170 #define CTL_LUN(io) ((io)->io_hdr.ctl_private[CTL_PRIV_LUN].ptrs[0])
171 #define CTL_SOFTC(io) ((io)->io_hdr.ctl_private[CTL_PRIV_LUN].ptrs[1])
172 #define CTL_BACKEND_LUN(io) ((io)->io_hdr.ctl_private[CTL_PRIV_BACKEND_LUN].ptrs[0])
173 #define CTL_PORT(io) (((struct ctl_softc *)CTL_SOFTC(io))-> \
174 ctl_ports[(io)->io_hdr.nexus.targ_port])
180 #define CTL_RSGL(io) ((io)->io_hdr.ctl_private[CTL_PRIV_BACKEND].ptrs[0])
181 #define CTL_LSGL(io) ((io)->io_hdr.ctl_private[CTL_PRIV_BACKEND].ptrs[1])
205 uint32_t targ_mapped_lun; /* Destination lun CTL-wide */
249 union ctl_io *remote_io; /* I/O counterpart on remote HA side */
334 struct scsi_sense_data sense_data; /* sense data */
335 uint8_t sense_len; /* Returned sense length */
530 * kern_data_ptr field. So kern_sg_entries here will always be non-zero,
564 uint8_t sense_len; /* Returned sense length */
569 struct scsi_sense_data sense_data; /* sense data */
669 KASSERT((io)->io_hdr.io_type == CTL_IO_##_1, \
670 ("%s: unexpected I/O type %x", __func__, (io)->io_hdr.io_type))
673 KASSERT((io)->io_hdr.io_type == CTL_IO_##_1 || \
674 (io)->io_hdr.io_type == CTL_IO_##_2, \
675 ("%s: unexpected I/O type %x", __func__, (io)->io_hdr.io_type))
687 switch (io->io_hdr.io_type) {
689 return (io->scsiio.kern_sg_entries);
692 return (io->nvmeio.kern_sg_entries);
701 switch (io->io_hdr.io_type) {
703 return (io->scsiio.kern_data_ptr);
706 return (io->nvmeio.kern_data_ptr);
715 switch (io->io_hdr.io_type) {
717 return (io->scsiio.kern_data_len);
720 return (io->nvmeio.kern_data_len);
729 switch (io->io_hdr.io_type) {
731 return (io->scsiio.kern_total_len);
734 return (io->nvmeio.kern_total_len);
743 switch (io->io_hdr.io_type) {
745 return (io->scsiio.kern_data_resid);
748 return (io->nvmeio.kern_data_resid);
757 switch (io->io_hdr.io_type) {
759 return (io->scsiio.kern_rel_offset);
762 return (io->nvmeio.kern_rel_offset);
771 switch (io->io_hdr.io_type) {
773 io->scsiio.kern_rel_offset += offset;
777 io->nvmeio.kern_rel_offset += offset;
787 switch (io->io_hdr.io_type) {
789 io->scsiio.kern_sg_entries = kern_sg_entries;
793 io->nvmeio.kern_sg_entries = kern_sg_entries;
803 switch (io->io_hdr.io_type) {
805 io->scsiio.kern_data_ptr = kern_data_ptr;
809 io->nvmeio.kern_data_ptr = kern_data_ptr;
819 switch (io->io_hdr.io_type) {
821 io->scsiio.kern_data_len = kern_data_len;
825 io->nvmeio.kern_data_len = kern_data_len;
835 switch (io->io_hdr.io_type) {
837 io->scsiio.kern_total_len = kern_total_len;
841 io->nvmeio.kern_total_len = kern_total_len;
851 switch (io->io_hdr.io_type) {
853 io->scsiio.kern_data_resid = kern_data_resid;
857 io->nvmeio.kern_data_resid = kern_data_resid;
867 switch (io->io_hdr.io_type) {
869 io->scsiio.kern_rel_offset = kern_rel_offset;
873 io->nvmeio.kern_rel_offset = kern_rel_offset;
883 switch (io->io_hdr.io_type) {
885 io->scsiio.be_move_done = be_move_done;
889 io->nvmeio.be_move_done = be_move_done;
899 switch (io->io_hdr.io_type) {
901 io->scsiio.io_cont = io_cont;
905 io->nvmeio.io_cont = io_cont;
915 switch (io->io_hdr.io_type) {
917 io->scsiio.kern_data_ref = kern_data_ref;
921 io->nvmeio.kern_data_ref = kern_data_ref;
931 switch (io->io_hdr.io_type) {
933 io->scsiio.kern_data_arg = kern_data_arg;
937 io->nvmeio.kern_data_arg = kern_data_arg;