Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/arm/busdma_machdep-v4.c
Show All 12 Lines | |||||
static counter_u64_t maploads_bounced; | static counter_u64_t maploads_bounced; | ||||
static counter_u64_t maploads_coherent; | static counter_u64_t maploads_coherent; | ||||
static counter_u64_t maploads_dmamem; | static counter_u64_t maploads_dmamem; | ||||
static counter_u64_t maploads_mbuf; | static counter_u64_t maploads_mbuf; | ||||
static counter_u64_t maploads_physmem; | static counter_u64_t maploads_physmem; | ||||
static STAILQ_HEAD(, bounce_zone) bounce_zone_list; | static STAILQ_HEAD(, bounce_zone) bounce_zone_list; | ||||
SYSCTL_NODE(_hw, OID_AUTO, busdma, CTLFLAG_RD, 0, "Busdma parameters"); | SYSCTL_NODE(_hw, OID_AUTO, busdma, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, | ||||
"Busdma parameters"); | |||||
SYSCTL_UINT(_hw_busdma, OID_AUTO, tags_total, CTLFLAG_RD, &tags_total, 0, | SYSCTL_UINT(_hw_busdma, OID_AUTO, tags_total, CTLFLAG_RD, &tags_total, 0, | ||||
"Number of active tags"); | "Number of active tags"); | ||||
SYSCTL_UINT(_hw_busdma, OID_AUTO, maps_total, CTLFLAG_RD, &maps_total, 0, | SYSCTL_UINT(_hw_busdma, OID_AUTO, maps_total, CTLFLAG_RD, &maps_total, 0, | ||||
"Number of active maps"); | "Number of active maps"); | ||||
SYSCTL_UINT(_hw_busdma, OID_AUTO, maps_dmamem, CTLFLAG_RD, &maps_dmamem, 0, | SYSCTL_UINT(_hw_busdma, OID_AUTO, maps_dmamem, CTLFLAG_RD, &maps_dmamem, 0, | ||||
"Number of active maps for bus_dmamem_alloc buffers"); | "Number of active maps for bus_dmamem_alloc buffers"); | ||||
SYSCTL_UINT(_hw_busdma, OID_AUTO, maps_coherent, CTLFLAG_RD, &maps_coherent, 0, | SYSCTL_UINT(_hw_busdma, OID_AUTO, maps_coherent, CTLFLAG_RD, &maps_coherent, 0, | ||||
"Number of active maps with BUS_DMA_COHERENT flag set"); | "Number of active maps with BUS_DMA_COHERENT flag set"); | ||||
Show All 24 Lines | |||||
busdma_zonecount++; | busdma_zonecount++; | ||||
snprintf(bz->lowaddrid, 18, "%#jx", (uintmax_t)bz->lowaddr); | snprintf(bz->lowaddrid, 18, "%#jx", (uintmax_t)bz->lowaddr); | ||||
STAILQ_INSERT_TAIL(&bounce_zone_list, bz, links); | STAILQ_INSERT_TAIL(&bounce_zone_list, bz, links); | ||||
dmat->bounce_zone = bz; | dmat->bounce_zone = bz; | ||||
sysctl_ctx_init(&bz->sysctl_tree); | sysctl_ctx_init(&bz->sysctl_tree); | ||||
bz->sysctl_tree_top = SYSCTL_ADD_NODE(&bz->sysctl_tree, | bz->sysctl_tree_top = SYSCTL_ADD_NODE(&bz->sysctl_tree, | ||||
SYSCTL_STATIC_CHILDREN(_hw_busdma), OID_AUTO, bz->zoneid, | SYSCTL_STATIC_CHILDREN(_hw_busdma), OID_AUTO, bz->zoneid, | ||||
CTLFLAG_RD, 0, ""); | CTLFLAG_RD | CTLFLAG_MPSAFE, 0, | ||||
""); | |||||
if (bz->sysctl_tree_top == NULL) { | if (bz->sysctl_tree_top == NULL) { | ||||
sysctl_ctx_free(&bz->sysctl_tree); | sysctl_ctx_free(&bz->sysctl_tree); | ||||
return (0); /* XXX error code? */ | return (0); /* XXX error code? */ | ||||
} | } | ||||
SYSCTL_ADD_INT(busdma_sysctl_tree(bz), | SYSCTL_ADD_INT(busdma_sysctl_tree(bz), | ||||
SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO, | SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO, | ||||
"total_bpages", CTLFLAG_RD, &bz->total_bpages, 0, | "total_bpages", CTLFLAG_RD, &bz->total_bpages, 0, | ||||
Show All 12 Lines |