mlx_softc
static void *mlx_enquire(struct mlx_softc *sc, int command, size_t bufsize,
static int mlx_flush(struct mlx_softc *sc);
static int mlx_check(struct mlx_softc *sc, int drive);
static int mlx_rebuild(struct mlx_softc *sc, int channel, int target);
struct mlx_softc *sc = (struct mlx_softc *)data;
static void mlx_startio(struct mlx_softc *sc);
static int mlx_user_command(struct mlx_softc *sc,
struct mlx_softc *sc = mc->mc_sc;
static struct mlx_command *mlx_alloccmd(struct mlx_softc *sc);
mlx_periodic_eventlog_poll(struct mlx_softc *sc)
static int mlx_shutdown_locked(struct mlx_softc *sc);
struct mlx_softc *sc = mc->mc_sc;
static int mlx_done(struct mlx_softc *sc, int startio);
static void mlx_complete(struct mlx_softc *sc);
struct mlx_softc *sc = mc->mc_sc;
static void mlx_describe_controller(struct mlx_softc *sc);
static int mlx_fw_message(struct mlx_softc *sc, int status, int param1, int param2);
mlx_pause_action(struct mlx_softc *sc)
static struct mlx_sysdrive *mlx_findunit(struct mlx_softc *sc, int unit);
struct mlx_softc *sc = mc->mc_sc;
struct mlx_softc *sc;
mlx_enquire(struct mlx_softc *sc, int command, size_t bufsize, void (* complete)(struct mlx_command *mc))
mlx_free(struct mlx_softc *sc)
mlx_flush(struct mlx_softc *sc)
mlx_check(struct mlx_softc *sc, int drive)
mlx_rebuild(struct mlx_softc *sc, int channel, int target)
struct mlx_softc *sc = mc->mc_sc;
struct mlx_softc *sc = mc->mc_sc;
struct mlx_softc *sc;
mlx_startio(struct mlx_softc *sc)
struct mlx_softc *sc = mc->mc_sc;
mlx_user_command(struct mlx_softc *sc, struct mlx_usercommand *mu)
struct mlx_softc *sc = mc->mc_sc;
struct mlx_softc *sc = mc->mc_sc;
struct mlx_softc *sc = mc->mc_sc;
struct mlx_softc *sc = mc->mc_sc;
struct mlx_softc *sc = (struct mlx_softc *)arg;
mlx_done(struct mlx_softc *sc, int startio)
mlx_complete(struct mlx_softc *sc)
mlx_sglist_map(struct mlx_softc *sc)
mlx_alloccmd(struct mlx_softc *sc)
struct mlx_softc *sc = mc->mc_sc;
mlx_v3_tryqueue(struct mlx_softc *sc, struct mlx_command *mc)
mlx_v3_findcomplete(struct mlx_softc *sc, u_int8_t *slot, u_int16_t *status)
mlx_v3_intaction(struct mlx_softc *sc, int action)
mlx_v3_fw_handshake(struct mlx_softc *sc, int *error, int *param1, int *param2,
mlx_v4_tryqueue(struct mlx_softc *sc, struct mlx_command *mc)
mlx_v4_findcomplete(struct mlx_softc *sc, u_int8_t *slot, u_int16_t *status)
mlx_v4_intaction(struct mlx_softc *sc, int action)
mlx_v4_fw_handshake(struct mlx_softc *sc, int *error, int *param1, int *param2,
mlx_v5_tryqueue(struct mlx_softc *sc, struct mlx_command *mc)
mlx_v5_findcomplete(struct mlx_softc *sc, u_int8_t *slot, u_int16_t *status)
mlx_v5_intaction(struct mlx_softc *sc, int action)
mlx_v5_fw_handshake(struct mlx_softc *sc, int *error, int *param1, int *param2,
mlx_describe_controller(struct mlx_softc *sc)
mlx_fw_message(struct mlx_softc *sc, int error, int param1, int param2)
mlx_attach(struct mlx_softc *sc)
mlx_findunit(struct mlx_softc *sc, int unit)
mlx_startup(struct mlx_softc *sc)
struct mlx_softc *sc = device_get_softc(dev);
struct mlx_softc *sc = device_get_softc(dev);
mlx_shutdown_locked(struct mlx_softc *sc)
struct mlx_softc *sc = device_get_softc(dev);
static int mlx_v3_tryqueue(struct mlx_softc *sc, struct mlx_command *mc);
static int mlx_v3_findcomplete(struct mlx_softc *sc, u_int8_t *slot, u_int16_t *status);
struct mlx_softc *sc = device_get_softc(dev);
static void mlx_v3_intaction(struct mlx_softc *sc, int action);
static int mlx_v3_fw_handshake(struct mlx_softc *sc, int *error, int *param1, int *param2, int first);
struct mlx_softc *sc = (struct mlx_softc *)arg;
static int mlx_v4_tryqueue(struct mlx_softc *sc, struct mlx_command *mc);
mlx_submit_buf(struct mlx_softc *sc, struct bio *bp)
static int mlx_v4_findcomplete(struct mlx_softc *sc, u_int8_t *slot, u_int16_t *status);
static void mlx_v4_intaction(struct mlx_softc *sc, int action);
struct mlx_softc *sc = dev->si_drv1;
static int mlx_v4_fw_handshake(struct mlx_softc *sc, int *error, int *param1, int *param2, int first);
struct mlx_softc *sc = dev->si_drv1;
static int mlx_v5_tryqueue(struct mlx_softc *sc, struct mlx_command *mc);
struct mlx_softc *sc = dev->si_drv1;
static int mlx_v5_findcomplete(struct mlx_softc *sc, u_int8_t *slot, u_int16_t *status);
static void mlx_v5_intaction(struct mlx_softc *sc, int action);
static int mlx_v5_fw_handshake(struct mlx_softc *sc, int *error, int *param1, int *param2, int first);
static void mlx_periodic_eventlog_poll(struct mlx_softc *sc);
static void mlx_pause_action(struct mlx_softc *sc);
mlx_submit_ioctl(struct mlx_softc *sc, struct mlx_sysdrive *drive, u_long cmd,
sc->mlxd_controller = (struct mlx_softc *)device_get_softc(parent);
struct mlx_softc *sc;
sizeof(struct mlx_softc)
int (* mlx_tryqueue)(struct mlx_softc *sc, struct mlx_command *mc);
int (* mlx_findcomplete)(struct mlx_softc *sc, u_int8_t *slot, u_int16_t *status);
void (* mlx_intaction)(struct mlx_softc *sc, int action);
int (* mlx_fw_handshake)(struct mlx_softc *sc, int *error, int *param1, int *param2, int first);
extern void mlx_free(struct mlx_softc *sc);
extern int mlx_attach(struct mlx_softc *sc);
extern void mlx_startup(struct mlx_softc *sc);
struct mlx_softc *mlxd_controller;
extern int mlx_submit_buf(struct mlx_softc *sc, struct bio *bp);
extern int mlx_submit_ioctl(struct mlx_softc *sc,
struct mlx_softc *mc_sc; /* controller that owns us */