Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/bge/if_bge.c
Show All 12 Lines | |||||
struct sysctl_oid_list *children; | struct sysctl_oid_list *children; | ||||
int unit; | int unit; | ||||
ctx = device_get_sysctl_ctx(sc->bge_dev); | ctx = device_get_sysctl_ctx(sc->bge_dev); | ||||
children = SYSCTL_CHILDREN(device_get_sysctl_tree(sc->bge_dev)); | children = SYSCTL_CHILDREN(device_get_sysctl_tree(sc->bge_dev)); | ||||
#ifdef BGE_REGISTER_DEBUG | #ifdef BGE_REGISTER_DEBUG | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "debug_info", | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "debug_info", | ||||
CTLTYPE_INT | CTLFLAG_RW, sc, 0, bge_sysctl_debug_info, "I", | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, | ||||
bge_sysctl_debug_info, "I", | |||||
"Debug Information"); | "Debug Information"); | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "reg_read", | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "reg_read", | ||||
CTLTYPE_INT | CTLFLAG_RW, sc, 0, bge_sysctl_reg_read, "I", | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, | ||||
bge_sysctl_reg_read, "I", | |||||
"MAC Register Read"); | "MAC Register Read"); | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "ape_read", | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "ape_read", | ||||
CTLTYPE_INT | CTLFLAG_RW, sc, 0, bge_sysctl_ape_read, "I", | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, | ||||
bge_sysctl_ape_read, "I", | |||||
"APE Register Read"); | "APE Register Read"); | ||||
SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "mem_read", | SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "mem_read", | ||||
CTLTYPE_INT | CTLFLAG_RW, sc, 0, bge_sysctl_mem_read, "I", | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, | ||||
bge_sysctl_mem_read, "I", | |||||
"Memory Read"); | "Memory Read"); | ||||
#endif | #endif | ||||
unit = device_get_unit(sc->bge_dev); | unit = device_get_unit(sc->bge_dev); | ||||
/* | /* | ||||
* A common design characteristic for many Broadcom client controllers | * A common design characteristic for many Broadcom client controllers | ||||
* is that they only support a single outstanding DMA read operation | * is that they only support a single outstanding DMA read operation | ||||
Show All 24 Lines | |||||
if (BGE_IS_5705_PLUS(sc)) | if (BGE_IS_5705_PLUS(sc)) | ||||
bge_add_sysctl_stats_regs(sc, ctx, children); | bge_add_sysctl_stats_regs(sc, ctx, children); | ||||
else | else | ||||
bge_add_sysctl_stats(sc, ctx, children); | bge_add_sysctl_stats(sc, ctx, children); | ||||
} | } | ||||
#define BGE_SYSCTL_STAT(sc, ctx, desc, parent, node, oid) \ | #define BGE_SYSCTL_STAT(sc, ctx, desc, parent, node, oid) \ | ||||
SYSCTL_ADD_PROC(ctx, parent, OID_AUTO, oid, CTLTYPE_UINT|CTLFLAG_RD, \ | SYSCTL_ADD_PROC(ctx, parent, OID_AUTO, oid, \ | ||||
CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, \ | |||||
sc, offsetof(struct bge_stats, node), bge_sysctl_stats, "IU", \ | sc, offsetof(struct bge_stats, node), bge_sysctl_stats, "IU", \ | ||||
desc) | desc) | ||||
static void | static void | ||||
bge_add_sysctl_stats(struct bge_softc *sc, struct sysctl_ctx_list *ctx, | bge_add_sysctl_stats(struct bge_softc *sc, struct sysctl_ctx_list *ctx, | ||||
struct sysctl_oid_list *parent) | struct sysctl_oid_list *parent) | ||||
{ | { | ||||
struct sysctl_oid *tree; | struct sysctl_oid *tree; | ||||
Show All 12 Lines |