mpr_command
static void mpr_enqueue_request(struct mpr_softc *sc, struct mpr_command *cm);
mpr_enqueue_request(struct mpr_softc *sc, struct mpr_command *cm)
struct mpr_command *cm;
sc->commands = kmalloc(sizeof(struct mpr_command) * sc->num_reqs,
struct mpr_command *cm;
mpr_complete_command(struct mpr_softc *sc, struct mpr_command *cm)
struct mpr_command *cm = NULL;
mpr_reregister_events_complete(struct mpr_softc *sc, struct mpr_command *cm)
struct mpr_command *cm = NULL;
struct mpr_command *cm;
mpr_build_nvme_prp(struct mpr_softc *sc, struct mpr_command *cm,
mpr_check_pcie_native_sgl(struct mpr_softc *sc, struct mpr_command *cm,
mpr_add_chain(struct mpr_command *cm, int segsleft)
mpr_push_sge(struct mpr_command *cm, MPI2_SGE_SIMPLE64 *sge, size_t len,
mpr_push_ieee_sge(struct mpr_command *cm, void *sgep, int segsleft)
mpr_add_dmaseg(struct mpr_command *cm, vm_paddr_t pa, size_t len, u_int flags,
struct mpr_command *cm;
cm = (struct mpr_command *)arg;
mpr_map_command(struct mpr_softc *sc, struct mpr_command *cm)
mpr_wait_command(struct mpr_softc *sc, struct mpr_command **cmp, int timeout,
struct mpr_command *cm = *cmp;
mpr_request_polled(struct mpr_softc *sc, struct mpr_command **cmp)
struct mpr_command *cm = *cmp;
struct mpr_command *cm;
mpr_config_complete(struct mpr_softc *sc, struct mpr_command *cm)
struct mpr_command *cm;
struct mpr_command *cm);
static void mpr_config_complete(struct mpr_softc *sc, struct mpr_command *cm);
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
static void mprsas_remove_device(struct mpr_softc *, struct mpr_command *);
struct mpr_command *cm;
static void mprsas_remove_complete(struct mpr_softc *, struct mpr_command *);
static void mprsas_abort_complete(struct mpr_softc *sc, struct mpr_command *cm);
static void mprsas_scsiio_complete(struct mpr_softc *, struct mpr_command *);
static void mprsas_resetdev_complete(struct mpr_softc *, struct mpr_command *);
struct mpr_command *tm = data;
static int mprsas_send_abort(struct mpr_softc *sc, struct mpr_command *tm,
struct mpr_command *cm);
mprsas_logical_unit_reset_complete(struct mpr_softc *sc, struct mpr_command *tm)
struct mpr_command *cm;
mprsas_target_reset_complete(struct mpr_softc *sc, struct mpr_command *tm)
struct mpr_command *cm);
static void mprsas_smpio_complete(struct mpr_softc *sc, struct mpr_command *cm);
mprsas_send_reset(struct mpr_softc *sc, struct mpr_command *tm, uint8_t type)
mprsas_abort_complete(struct mpr_softc *sc, struct mpr_command *tm)
struct mpr_command *cm;
mprsas_send_abort(struct mpr_softc *sc, struct mpr_command *tm,
struct mpr_command *cm)
struct mpr_command *cm;
cm = (struct mpr_command *)data;
mprsas_build_nvme_unmap(struct mpr_softc *sc, struct mpr_command *cm,
struct mpr_command *cm;
struct mpr_command *cm)
struct mpr_command *
struct mpr_command *tm;
mprsas_free_tm(struct mpr_softc *sc, struct mpr_command *tm)
mprsas_complete_nvme_unmap(struct mpr_softc *sc, struct mpr_command *cm)
mprsas_scsiio_complete(struct mpr_softc *sc, struct mpr_command *cm)
mprsas_smpio_complete(struct mpr_softc *sc, struct mpr_command *cm)
struct mpr_command *cm;
mprsas_log_command(struct mpr_command *cm, u_int level, const char *fmt, ...)
struct mpr_command *tm;
mprsas_resetdev_complete(struct mpr_softc *sc, struct mpr_command *tm)
mprsas_remove_volume(struct mpr_softc *sc, struct mpr_command *tm)
mprsas_prepare_for_tm(struct mpr_softc *sc, struct mpr_command *tm,
struct mpr_command *cm;
mprsas_portenable_complete(struct mpr_softc *sc, struct mpr_command *cm)
struct mpr_command *cm;
struct mpr_command *cm;
mprsas_remove_device(struct mpr_softc *sc, struct mpr_command *tm)
struct mpr_command *next_cm;
mprsas_remove_complete(struct mpr_softc *sc, struct mpr_command *tm)
void mprsas_prepare_for_tm(struct mpr_softc *sc, struct mpr_command *tm,
TAILQ_HEAD(, mpr_command) commands;
struct mpr_command *tm;
TAILQ_HEAD(, mpr_command) timedout_commands;
struct mpr_command *cm;
struct mpr_command *cm;
cm = (struct mpr_command *)data;
struct mpr_command *cm;
struct mpr_command *cm;
struct mpr_command *cm;
mpr_print_sgl(struct mpr_softc *sc, struct mpr_command *cm, int offset)
mpr_print_scsiio_cmd(struct mpr_softc *sc, struct mpr_command *cm)
void mpr_print_sgl(struct mpr_softc *, struct mpr_command *, int);
void mpr_print_scsiio_cmd(struct mpr_softc *, struct mpr_command *);
typedef int (mpr_user_f)(struct mpr_command *, struct mpr_usr_command *);
struct mpr_command *cm = NULL;
static int mpr_user_setup_request(struct mpr_command *,
struct mpr_command *cm = NULL;
mpr_init_sge(struct mpr_command *cm, void *req, void *sge)
mpi_pre_ioc_facts(struct mpr_command *cm, struct mpr_usr_command *cmd)
mpi_pre_port_facts(struct mpr_command *cm, struct mpr_usr_command *cmd)
mpi_pre_fw_download(struct mpr_command *cm, struct mpr_usr_command *cmd)
mpi_pre_fw_upload(struct mpr_command *cm, struct mpr_usr_command *cmd)
mpi_pre_sata_passthrough(struct mpr_command *cm, struct mpr_usr_command *cmd)
mpi_pre_smp_passthrough(struct mpr_command *cm, struct mpr_usr_command *cmd)
mpi_pre_config(struct mpr_command *cm, struct mpr_usr_command *cmd)
mpi_pre_sas_io_unit_control(struct mpr_command *cm,
mpr_user_setup_request(struct mpr_command *cm, struct mpr_usr_command *cmd)
struct mpr_command *cm = NULL;
struct mpr_command *cm = NULL;
struct mpr_command;
typedef void mpr_command_callback_t(struct mpr_softc *, struct mpr_command *cm);
TAILQ_ENTRY(mpr_command) cm_link;
TAILQ_ENTRY(mpr_command) cm_recovery;
struct mpr_command *commands;
TAILQ_HEAD(, mpr_command) req_list;
TAILQ_HEAD(, mpr_command) high_priority_req_list;
TAILQ_HEAD(, mpr_command) tm_list;
mpr_free_command(struct mpr_softc *sc, struct mpr_command *cm)
static __inline struct mpr_command *
struct mpr_command *cm;
mpr_free_high_priority_command(struct mpr_softc *sc, struct mpr_command *cm)
static __inline struct mpr_command *
struct mpr_command *cm;
void mpr_build_nvme_prp(struct mpr_softc *sc, struct mpr_command *cm,
int mpr_push_sge(struct mpr_command *, MPI2_SGE_SIMPLE64 *, size_t, int);
int mpr_push_ieee_sge(struct mpr_command *, void *, int);
int mpr_add_dmaseg(struct mpr_command *, vm_paddr_t, size_t, u_int, int);
void mpr_init_sge(struct mpr_command *cm, void *req, void *sge);
int mpr_map_command(struct mpr_softc *sc, struct mpr_command *cm);
int mpr_wait_command(struct mpr_softc *sc, struct mpr_command **cm, int timeout,
int mpr_request_polled(struct mpr_softc *sc, struct mpr_command **cm);
struct mpr_command * mprsas_alloc_tm(struct mpr_softc *sc);
void mprsas_free_tm(struct mpr_softc *sc, struct mpr_command *tm);
int mprsas_send_reset(struct mpr_softc *sc, struct mpr_command *tm,