Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/cxgbe/t4_main.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 730 Lines • ▼ Show 20 Lines | |||||
static int sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tp_la_mask(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_la_mask(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tp_la(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_la(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tx_rate(SYSCTL_HANDLER_ARGS); | static int sysctl_tx_rate(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); | static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); | static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_cpus(SYSCTL_HANDLER_ARGS); | static int sysctl_cpus(SYSCTL_HANDLER_ARGS); | ||||
#ifdef TCP_OFFLOAD | #ifdef TCP_OFFLOAD | ||||
static int sysctl_tls(SYSCTL_HANDLER_ARGS); | |||||
static int sysctl_tls_rx_ports(SYSCTL_HANDLER_ARGS); | static int sysctl_tls_rx_ports(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tp_timer(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_timer(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tp_shift_cnt(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_shift_cnt(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_tp_backoff(SYSCTL_HANDLER_ARGS); | static int sysctl_tp_backoff(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_holdoff_tmr_idx_ofld(SYSCTL_HANDLER_ARGS); | static int sysctl_holdoff_tmr_idx_ofld(SYSCTL_HANDLER_ARGS); | ||||
static int sysctl_holdoff_pktc_idx_ofld(SYSCTL_HANDLER_ARGS); | static int sysctl_holdoff_pktc_idx_ofld(SYSCTL_HANDLER_ARGS); | ||||
▲ Show 20 Lines • Show All 5,855 Lines • ▼ Show 20 Lines | if (is_offload(sc)) { | ||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "rx_zcopy", CTLFLAG_RW, | SYSCTL_ADD_INT(ctx, children, OID_AUTO, "rx_zcopy", CTLFLAG_RW, | ||||
&sc->tt.ddp, 0, "Enable zero-copy aio_read(2)"); | &sc->tt.ddp, 0, "Enable zero-copy aio_read(2)"); | ||||
sc->tt.rx_coalesce = -1; | sc->tt.rx_coalesce = -1; | ||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "rx_coalesce", | SYSCTL_ADD_INT(ctx, children, OID_AUTO, "rx_coalesce", | ||||
CTLFLAG_RW, &sc->tt.rx_coalesce, 0, "receive coalescing"); | CTLFLAG_RW, &sc->tt.rx_coalesce, 0, "receive coalescing"); | ||||
sc->tt.tls = 0; | sc->tt.tls = 0; | ||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "tls", CTLFLAG_RW, | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tls", CTLTYPE_INT | | ||||
&sc->tt.tls, 0, "Inline TLS allowed"); | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, sysctl_tls, "I", | ||||
"Inline TLS allowed"); | |||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tls_rx_ports", | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tls_rx_ports", | ||||
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, | ||||
sysctl_tls_rx_ports, "I", | sysctl_tls_rx_ports, "I", | ||||
"TCP ports that use inline TLS+TOE RX"); | "TCP ports that use inline TLS+TOE RX"); | ||||
sc->tt.tx_align = -1; | sc->tt.tx_align = -1; | ||||
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "tx_align", | SYSCTL_ADD_INT(ctx, children, OID_AUTO, "tx_align", | ||||
▲ Show 20 Lines • Show All 3,074 Lines • ▼ Show 20 Lines | CPU_FOREACH(i) | ||||
sbuf_printf(sb, "%d ", i); | sbuf_printf(sb, "%d ", i); | ||||
rc = sbuf_finish(sb); | rc = sbuf_finish(sb); | ||||
sbuf_delete(sb); | sbuf_delete(sb); | ||||
return (rc); | return (rc); | ||||
} | } | ||||
#ifdef TCP_OFFLOAD | #ifdef TCP_OFFLOAD | ||||
static int | |||||
sysctl_tls(SYSCTL_HANDLER_ARGS) | |||||
{ | |||||
struct adapter *sc = arg1; | |||||
int i, j, v, rc; | |||||
struct vi_info *vi; | |||||
v = sc->tt.tls; | |||||
rc = sysctl_handle_int(oidp, &v, 0, req); | |||||
if (rc != 0 || req->newptr == NULL) | |||||
return (rc); | |||||
if (v != 0 && !(sc->cryptocaps & FW_CAPS_CONFIG_TLSKEYS)) | |||||
return (ENOTSUP); | |||||
rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4stls"); | |||||
if (rc) | |||||
return (rc); | |||||
sc->tt.tls = !!v; | |||||
for_each_port(sc, i) { | |||||
for_each_vi(sc->port[i], j, vi) { | |||||
if (vi->flags & VI_INIT_DONE) | |||||
t4_update_fl_bufsize(vi->ifp); | |||||
} | |||||
} | |||||
end_synchronized_op(sc, 0); | |||||
return (0); | |||||
} | |||||
static int | static int | ||||
sysctl_tls_rx_ports(SYSCTL_HANDLER_ARGS) | sysctl_tls_rx_ports(SYSCTL_HANDLER_ARGS) | ||||
{ | { | ||||
struct adapter *sc = arg1; | struct adapter *sc = arg1; | ||||
int *old_ports, *new_ports; | int *old_ports, *new_ports; | ||||
int i, new_count, rc; | int i, new_count, rc; | ||||
if (req->newptr == NULL && req->oldptr == NULL) | if (req->newptr == NULL && req->oldptr == NULL) | ||||
▲ Show 20 Lines • Show All 1,642 Lines • Show Last 20 Lines |