Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/cxgbe/t4_main.c
Show First 20 Lines • Show All 4,586 Lines • ▼ Show 20 Lines | t4_sysctls(struct adapter *sc) | ||||
sc->sc_do_rxcopy = 1; | sc->sc_do_rxcopy = 1; | ||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "do_rx_copy", CTLFLAG_RW, | SYSCTL_ADD_INT(ctx, children, OID_AUTO, "do_rx_copy", CTLFLAG_RW, | ||||
&sc->sc_do_rxcopy, 1, "Do RX copy of small frames"); | &sc->sc_do_rxcopy, 1, "Do RX copy of small frames"); | ||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nports", CTLFLAG_RD, NULL, | SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nports", CTLFLAG_RD, NULL, | ||||
sc->params.nports, "# of ports"); | sc->params.nports, "# of ports"); | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "doorbells", | |||||
CTLTYPE_STRING | CTLFLAG_RD, doorbells, sc->doorbells, | |||||
sysctl_bitfield, "A", "available doorbells"); | |||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "core_clock", CTLFLAG_RD, NULL, | |||||
sc->params.vpd.cclk, "core clock frequency (in KHz)"); | |||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_timers", | |||||
CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.timer_val, | |||||
sizeof(sc->params.sge.timer_val), sysctl_int_array, "A", | |||||
"interrupt holdoff timer values (us)"); | |||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_pkt_counts", | |||||
CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.counter_val, | |||||
sizeof(sc->params.sge.counter_val), sysctl_int_array, "A", | |||||
"interrupt holdoff packet counter values"); | |||||
t4_sge_sysctls(sc, ctx, children); | |||||
sc->lro_timeout = 100; | |||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "lro_timeout", CTLFLAG_RW, | |||||
&sc->lro_timeout, 0, "lro inactive-flush timeout (in us)"); | |||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "debug_flags", CTLFLAG_RW, | |||||
&sc->debug_flags, 0, "flags to enable runtime debugging"); | |||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "hw_revision", CTLFLAG_RD, | SYSCTL_ADD_INT(ctx, children, OID_AUTO, "hw_revision", CTLFLAG_RD, | ||||
NULL, chip_rev(sc), "chip hardware revision"); | NULL, chip_rev(sc), "chip hardware revision"); | ||||
SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "tp_version", | SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "tp_version", | ||||
CTLFLAG_RD, sc->tp_version, 0, "TP microcode version"); | CTLFLAG_RD, sc->tp_version, 0, "TP microcode version"); | ||||
if (sc->params.exprom_vers != 0) { | if (sc->params.exprom_vers != 0) { | ||||
SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "exprom_version", | SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "exprom_version", | ||||
CTLFLAG_RD, sc->exprom_version, 0, "expansion ROM version"); | CTLFLAG_RD, sc->exprom_version, 0, "expansion ROM version"); | ||||
} | } | ||||
SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "firmware_version", | SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "firmware_version", | ||||
CTLFLAG_RD, sc->fw_version, 0, "firmware version"); | CTLFLAG_RD, sc->fw_version, 0, "firmware version"); | ||||
SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "cf", | SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "cf", | ||||
CTLFLAG_RD, sc->cfg_file, 0, "configuration file"); | CTLFLAG_RD, sc->cfg_file, 0, "configuration file"); | ||||
SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "cfcsum", CTLFLAG_RD, NULL, | SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "cfcsum", CTLFLAG_RD, NULL, | ||||
sc->cfcsum, "config file checksum"); | sc->cfcsum, "config file checksum"); | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "doorbells", | |||||
CTLTYPE_STRING | CTLFLAG_RD, doorbells, sc->doorbells, | |||||
sysctl_bitfield, "A", "available doorbells"); | |||||
#define SYSCTL_CAP(name, n, text) \ | #define SYSCTL_CAP(name, n, text) \ | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, #name, \ | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, #name, \ | ||||
CTLTYPE_STRING | CTLFLAG_RD, caps_decoder[n], sc->name, \ | CTLTYPE_STRING | CTLFLAG_RD, caps_decoder[n], sc->name, \ | ||||
sysctl_bitfield, "A", "available " text "capabilities") | sysctl_bitfield, "A", "available " text "capabilities") | ||||
SYSCTL_CAP(nbmcaps, 0, "NBM"); | SYSCTL_CAP(nbmcaps, 0, "NBM"); | ||||
SYSCTL_CAP(linkcaps, 1, "link"); | SYSCTL_CAP(linkcaps, 1, "link"); | ||||
SYSCTL_CAP(switchcaps, 2, "switch"); | SYSCTL_CAP(switchcaps, 2, "switch"); | ||||
SYSCTL_CAP(niccaps, 3, "NIC"); | SYSCTL_CAP(niccaps, 3, "NIC"); | ||||
SYSCTL_CAP(toecaps, 4, "TCP offload"); | SYSCTL_CAP(toecaps, 4, "TCP offload"); | ||||
SYSCTL_CAP(rdmacaps, 5, "RDMA"); | SYSCTL_CAP(rdmacaps, 5, "RDMA"); | ||||
SYSCTL_CAP(iscsicaps, 6, "iSCSI"); | SYSCTL_CAP(iscsicaps, 6, "iSCSI"); | ||||
SYSCTL_CAP(tlscaps, 7, "TLS"); | SYSCTL_CAP(tlscaps, 7, "TLS"); | ||||
SYSCTL_CAP(fcoecaps, 8, "FCoE"); | SYSCTL_CAP(fcoecaps, 8, "FCoE"); | ||||
#undef SYSCTL_CAP | #undef SYSCTL_CAP | ||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "core_clock", CTLFLAG_RD, NULL, | |||||
sc->params.vpd.cclk, "core clock frequency (in KHz)"); | |||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_timers", | |||||
CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.timer_val, | |||||
sizeof(sc->params.sge.timer_val), sysctl_int_array, "A", | |||||
"interrupt holdoff timer values (us)"); | |||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_pkt_counts", | |||||
CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.counter_val, | |||||
sizeof(sc->params.sge.counter_val), sysctl_int_array, "A", | |||||
"interrupt holdoff packet counter values"); | |||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nfilters", CTLFLAG_RD, | SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nfilters", CTLFLAG_RD, | ||||
NULL, sc->tids.nftids, "number of filters"); | NULL, sc->tids.nftids, "number of filters"); | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "temperature", CTLTYPE_INT | | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "temperature", CTLTYPE_INT | | ||||
CTLFLAG_RD, sc, 0, sysctl_temperature, "I", | CTLFLAG_RD, sc, 0, sysctl_temperature, "I", | ||||
"chip temperature (in Celsius)"); | "chip temperature (in Celsius)"); | ||||
t4_sge_sysctls(sc, ctx, children); | |||||
sc->lro_timeout = 100; | |||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "lro_timeout", CTLFLAG_RW, | |||||
&sc->lro_timeout, 0, "lro inactive-flush timeout (in us)"); | |||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "debug_flags", CTLFLAG_RW, | |||||
&sc->debug_flags, 0, "flags to enable runtime debugging"); | |||||
#ifdef SBUF_DRAIN | #ifdef SBUF_DRAIN | ||||
/* | /* | ||||
* dev.t4nex.X.misc. Marked CTLFLAG_SKIP to avoid information overload. | * dev.t4nex.X.misc. Marked CTLFLAG_SKIP to avoid information overload. | ||||
*/ | */ | ||||
oid = SYSCTL_ADD_NODE(ctx, c0, OID_AUTO, "misc", | oid = SYSCTL_ADD_NODE(ctx, c0, OID_AUTO, "misc", | ||||
CTLFLAG_RD | CTLFLAG_SKIP, NULL, | CTLFLAG_RD | CTLFLAG_SKIP, NULL, | ||||
"logs and miscellaneous information"); | "logs and miscellaneous information"); | ||||
▲ Show 20 Lines • Show All 4,864 Lines • Show Last 20 Lines |