Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mps/mps.c
Show First 20 Lines • Show All 1,344 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
char tmpstr[80]; | char tmpstr[80]; | ||||
/* XXX default to some debugging for now */ | /* XXX default to some debugging for now */ | ||||
sc->mps_debug = MPS_INFO|MPS_FAULT; | sc->mps_debug = MPS_INFO|MPS_FAULT; | ||||
sc->disable_msix = 0; | sc->disable_msix = 0; | ||||
sc->disable_msi = 0; | sc->disable_msi = 0; | ||||
sc->max_chains = MPS_CHAIN_FRAMES; | sc->max_chains = MPS_CHAIN_FRAMES; | ||||
sc->max_io_pages = MPS_MAXIO_PAGES; | |||||
sc->enable_ssu = MPS_SSU_ENABLE_SSD_DISABLE_HDD; | sc->enable_ssu = MPS_SSU_ENABLE_SSD_DISABLE_HDD; | ||||
sc->spinup_wait_time = DEFAULT_SPINUP_WAIT; | sc->spinup_wait_time = DEFAULT_SPINUP_WAIT; | ||||
/* | /* | ||||
* Grab the global variables. | * Grab the global variables. | ||||
*/ | */ | ||||
TUNABLE_INT_FETCH("hw.mps.debug_level", &sc->mps_debug); | TUNABLE_INT_FETCH("hw.mps.debug_level", &sc->mps_debug); | ||||
TUNABLE_INT_FETCH("hw.mps.disable_msix", &sc->disable_msix); | TUNABLE_INT_FETCH("hw.mps.disable_msix", &sc->disable_msix); | ||||
TUNABLE_INT_FETCH("hw.mps.disable_msi", &sc->disable_msi); | TUNABLE_INT_FETCH("hw.mps.disable_msi", &sc->disable_msi); | ||||
TUNABLE_INT_FETCH("hw.mps.max_chains", &sc->max_chains); | TUNABLE_INT_FETCH("hw.mps.max_chains", &sc->max_chains); | ||||
TUNABLE_INT_FETCH("hw.mps.max_io_pages", &sc->max_io_pages); | |||||
TUNABLE_INT_FETCH("hw.mps.enable_ssu", &sc->enable_ssu); | TUNABLE_INT_FETCH("hw.mps.enable_ssu", &sc->enable_ssu); | ||||
TUNABLE_INT_FETCH("hw.mps.spinup_wait_time", &sc->spinup_wait_time); | TUNABLE_INT_FETCH("hw.mps.spinup_wait_time", &sc->spinup_wait_time); | ||||
/* Grab the unit-instance variables */ | /* Grab the unit-instance variables */ | ||||
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.debug_level", | snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.debug_level", | ||||
device_get_unit(sc->mps_dev)); | device_get_unit(sc->mps_dev)); | ||||
TUNABLE_INT_FETCH(tmpstr, &sc->mps_debug); | TUNABLE_INT_FETCH(tmpstr, &sc->mps_debug); | ||||
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.disable_msix", | snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.disable_msix", | ||||
device_get_unit(sc->mps_dev)); | device_get_unit(sc->mps_dev)); | ||||
TUNABLE_INT_FETCH(tmpstr, &sc->disable_msix); | TUNABLE_INT_FETCH(tmpstr, &sc->disable_msix); | ||||
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.disable_msi", | snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.disable_msi", | ||||
device_get_unit(sc->mps_dev)); | device_get_unit(sc->mps_dev)); | ||||
TUNABLE_INT_FETCH(tmpstr, &sc->disable_msi); | TUNABLE_INT_FETCH(tmpstr, &sc->disable_msi); | ||||
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.max_chains", | snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.max_chains", | ||||
device_get_unit(sc->mps_dev)); | device_get_unit(sc->mps_dev)); | ||||
TUNABLE_INT_FETCH(tmpstr, &sc->max_chains); | TUNABLE_INT_FETCH(tmpstr, &sc->max_chains); | ||||
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.max_io_pages", | |||||
device_get_unit(sc->mps_dev)); | |||||
TUNABLE_INT_FETCH(tmpstr, &sc->max_io_pages); | |||||
bzero(sc->exclude_ids, sizeof(sc->exclude_ids)); | bzero(sc->exclude_ids, sizeof(sc->exclude_ids)); | ||||
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.exclude_ids", | snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.exclude_ids", | ||||
device_get_unit(sc->mps_dev)); | device_get_unit(sc->mps_dev)); | ||||
TUNABLE_STR_FETCH(tmpstr, sc->exclude_ids, sizeof(sc->exclude_ids)); | TUNABLE_STR_FETCH(tmpstr, sc->exclude_ids, sizeof(sc->exclude_ids)); | ||||
snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.enable_ssu", | snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.enable_ssu", | ||||
device_get_unit(sc->mps_dev)); | device_get_unit(sc->mps_dev)); | ||||
TUNABLE_INT_FETCH(tmpstr, &sc->enable_ssu); | TUNABLE_INT_FETCH(tmpstr, &sc->enable_ssu); | ||||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | mps_setup_sysctl(struct mps_softc *sc) | ||||
SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | ||||
OID_AUTO, "chain_free_lowwater", CTLFLAG_RD, | OID_AUTO, "chain_free_lowwater", CTLFLAG_RD, | ||||
&sc->chain_free_lowwater, 0,"lowest number of free chain elements"); | &sc->chain_free_lowwater, 0,"lowest number of free chain elements"); | ||||
SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | ||||
OID_AUTO, "max_chains", CTLFLAG_RD, | OID_AUTO, "max_chains", CTLFLAG_RD, | ||||
&sc->max_chains, 0,"maximum chain frames that will be allocated"); | &sc->max_chains, 0,"maximum chain frames that will be allocated"); | ||||
SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | |||||
OID_AUTO, "max_io_pages", CTLFLAG_RD, | |||||
&sc->max_io_pages, 0,"maximum pages to allow per I/O (if <1 use " | |||||
"IOCFacts)"); | |||||
SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | ||||
OID_AUTO, "enable_ssu", CTLFLAG_RW, &sc->enable_ssu, 0, | OID_AUTO, "enable_ssu", CTLFLAG_RW, &sc->enable_ssu, 0, | ||||
"enable SSU to SATA SSD/HDD at shutdown"); | "enable SSU to SATA SSD/HDD at shutdown"); | ||||
SYSCTL_ADD_UQUAD(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | SYSCTL_ADD_UQUAD(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), | ||||
OID_AUTO, "chain_alloc_fail", CTLFLAG_RD, | OID_AUTO, "chain_alloc_fail", CTLFLAG_RD, | ||||
&sc->chain_alloc_fail, "chain allocation failures"); | &sc->chain_alloc_fail, "chain allocation failures"); | ||||
▲ Show 20 Lines • Show All 1,216 Lines • Show Last 20 Lines |