32#ifndef _CAM_CAM_IOSCHED_H
33#define _CAM_CAM_IOSCHED_H
40struct sysctl_ctx_list;
55#define CAM_IOSCHED_TIME_SHIFT 0
57#define CAM_IOSCHED_TIME_SHIFT 8
59static inline uintptr_t
67static inline uintptr_t
75static inline sbintime_t
struct bio * cam_iosched_next_trim(struct cam_iosched_softc *isc)
void cam_iosched_clr_work_flags(struct cam_iosched_softc *isc, uint32_t flags)
void cam_iosched_set_latfcn(struct cam_iosched_softc *isc, cam_iosched_latfcn_t, void *)
static uintptr_t cam_iosched_delta_t(uintptr_t then)
void cam_iosched_finish_trim(struct cam_iosched_softc *isc)
void cam_iosched_set_work_flags(struct cam_iosched_softc *isc, uint32_t flags)
void cam_iosched_flush(struct cam_iosched_softc *isc, struct devstat *stp, int err)
void cam_iosched_set_trim_goal(struct cam_iosched_softc *isc, int goal)
struct bio * cam_iosched_get_trim(struct cam_iosched_softc *isc)
int cam_iosched_init(struct cam_iosched_softc **, struct cam_periph *periph)
void cam_iosched_trim_done(struct cam_iosched_softc *isc)
void cam_iosched_put_back_trim(struct cam_iosched_softc *isc, struct bio *bp)
int cam_iosched_bio_complete(struct cam_iosched_softc *isc, struct bio *bp, union ccb *done_ccb)
void cam_iosched_set_trim_ticks(struct cam_iosched_softc *isc, int ticks)
static uintptr_t cam_iosched_now(void)
void cam_iosched_fini(struct cam_iosched_softc *)
void cam_iosched_schedule(struct cam_iosched_softc *isc, struct cam_periph *periph)
void cam_iosched_sysctl_init(struct cam_iosched_softc *, struct sysctl_ctx_list *, struct sysctl_oid *)
void cam_iosched_set_sort_queue(struct cam_iosched_softc *isc, int val)
void cam_iosched_submit_trim(struct cam_iosched_softc *isc)
struct bio * cam_iosched_next_bio(struct cam_iosched_softc *isc)
int cam_iosched_has_work_flags(struct cam_iosched_softc *isc, uint32_t flags)
static sbintime_t cam_iosched_sbintime_t(uintptr_t delta)
void cam_iosched_queue_work(struct cam_iosched_softc *isc, struct bio *bp)
void(* cam_iosched_latfcn_t)(void *, sbintime_t, struct bio *)
#define CAM_IOSCHED_TIME_SHIFT