Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/isp/isp_freebsd.c
Show All 12 Lines | |||||
ISP_UNLOCK(isp); | ISP_UNLOCK(isp); | ||||
cam_sim_free(fc->sim, FALSE); | cam_sim_free(fc->sim, FALSE); | ||||
return (ENOMEM); | return (ENOMEM); | ||||
} | } | ||||
fc->num_threads += 1; | fc->num_threads += 1; | ||||
if (chan > 0) { | if (chan > 0) { | ||||
snprintf(name, sizeof(name), "chan%d", chan); | snprintf(name, sizeof(name), "chan%d", chan); | ||||
tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(tree), | tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(tree), | ||||
OID_AUTO, name, CTLFLAG_RW, 0, "Virtual channel"); | OID_AUTO, name, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, | ||||
"Virtual channel"); | |||||
} | } | ||||
SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"wwnn", CTLFLAG_RD, &fcp->isp_wwnn, | "wwnn", CTLFLAG_RD, &fcp->isp_wwnn, | ||||
"World Wide Node Name"); | "World Wide Node Name"); | ||||
SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_QUAD(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"wwpn", CTLFLAG_RD, &fcp->isp_wwpn, | "wwpn", CTLFLAG_RD, &fcp->isp_wwpn, | ||||
"World Wide Port Name"); | "World Wide Port Name"); | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"loop_down_limit", CTLFLAG_RW, &fc->loop_down_limit, 0, | "loop_down_limit", CTLFLAG_RW, &fc->loop_down_limit, 0, | ||||
"Loop Down Limit"); | "Loop Down Limit"); | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"gone_device_time", CTLFLAG_RW, &fc->gone_device_time, 0, | "gone_device_time", CTLFLAG_RW, &fc->gone_device_time, 0, | ||||
"Gone Device Time"); | "Gone Device Time"); | ||||
#if defined(ISP_TARGET_MODE) && defined(DEBUG) | #if defined(ISP_TARGET_MODE) && defined(DEBUG) | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"inject_lost_data_frame", CTLFLAG_RW, &fc->inject_lost_data_frame, 0, | "inject_lost_data_frame", CTLFLAG_RW, &fc->inject_lost_data_frame, 0, | ||||
"Cause a Lost Frame on a Read"); | "Cause a Lost Frame on a Read"); | ||||
#endif | #endif | ||||
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"role", CTLTYPE_INT | CTLFLAG_RW, isp, chan, | "role", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | ||||
isp_role_sysctl, "I", "Current role"); | isp, chan, isp_role_sysctl, "I", "Current role"); | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"speed", CTLFLAG_RD, &fcp->isp_gbspeed, 0, | "speed", CTLFLAG_RD, &fcp->isp_gbspeed, 0, | ||||
"Connection speed in gigabits"); | "Connection speed in gigabits"); | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"linkstate", CTLFLAG_RD, &fcp->isp_linkstate, 0, | "linkstate", CTLFLAG_RD, &fcp->isp_linkstate, 0, | ||||
"Link state"); | "Link state"); | ||||
SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, | ||||
"fwstate", CTLFLAG_RD, &fcp->isp_fwstate, 0, | "fwstate", CTLFLAG_RD, &fcp->isp_fwstate, 0, | ||||
Show All 12 Lines |