Print this page
XXXX introduce drv_sectohz

*** 3075,3107 **** n = 1; if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s delay %d second\n", ddi_get_instance(parent), devname, n); ! delay(n * drv_usectohz(1000000)); } else if (strncmp(caddr, "delay", 5) == 0) { if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s delay 1 second\n", ddi_get_instance(parent), devname); ! delay(drv_usectohz(1000000)); } else if (strncmp(caddr, "wait,", 5) == 0) { p = caddr+5; n = stoi(&p); if (*p != 0) n = 1; if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s wait %d second\n", ddi_get_instance(parent), devname, n); ! delay(n * drv_usectohz(1000000)); } else if (strncmp(caddr, "wait", 4) == 0) { if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s wait 1 second\n", ddi_get_instance(parent), devname); ! delay(drv_usectohz(1000000)); } return (NDI_SUCCESS); } --- 3075,3107 ---- n = 1; if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s delay %d second\n", ddi_get_instance(parent), devname, n); ! delay(drv_sectohz(n)); } else if (strncmp(caddr, "delay", 5) == 0) { if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s delay 1 second\n", ddi_get_instance(parent), devname); ! delay(drv_sectohz(1)); } else if (strncmp(caddr, "wait,", 5) == 0) { p = caddr+5; n = stoi(&p); if (*p != 0) n = 1; if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s wait %d second\n", ddi_get_instance(parent), devname, n); ! delay(drv_sectohz(n)); } else if (strncmp(caddr, "wait", 4) == 0) { if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s wait 1 second\n", ddi_get_instance(parent), devname); ! delay(drv_sectohz(1)); } return (NDI_SUCCESS); }
*** 3478,3488 **** cv_init(&pwcv, NULL, CV_DRIVER, NULL); while (1) { pshot_walk_tree(); mutex_enter(&pwl); ! (void) timeout(pshot_timeout, NULL, 5 * drv_usectohz(1000000)); cv_wait(&pwcv, &pwl); mutex_exit(&pwl); } } --- 3478,3488 ---- cv_init(&pwcv, NULL, CV_DRIVER, NULL); while (1) { pshot_walk_tree(); mutex_enter(&pwl); ! (void) timeout(pshot_timeout, NULL, drv_sectohz(5)); cv_wait(&pwcv, &pwl); mutex_exit(&pwl); } }
*** 3547,3693 **** events.ndi_events_version = NDI_EVENTS_REV1; events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; cmn_err(CE_CONT, "pshot: binding set of 8 events\n"); ! delay(drv_usectohz(1000000)); rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n"); ! delay(drv_usectohz(1000000)); rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding all events\n"); ! delay(drv_usectohz(1000000)); rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding one highlevel event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding one highlevel event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding one highlevel event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding one highlevel event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding first 2 events\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 2; events.ndi_event_defs = pshot_test_events; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding first 2 events again\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 2; events.ndi_event_defs = pshot_test_events; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding middle 2 events\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 2; events.ndi_event_defs = &pshot_test_events[4]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding those 2 events back\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 2; events.ndi_event_defs = &pshot_test_events[4]; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 2 events\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 2; events.ndi_event_defs = &pshot_test_events[4]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding all events\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[2]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[3]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[6]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_usectohz(1000000)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[7]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; cmn_err(CE_CONT, "pshot: binding set of 8 events\n"); ! delay(drv_usectohz(1000000)); rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: adding 8 callbacks\n"); ! delay(drv_usectohz(1000000)); for (i = 0; i < 8; i++) { rval = ndi_event_add_callback(hdl, pshot->dip, ndi_event_tag_to_cookie(hdl, pshot_test_events[i].ndi_event_tag), pshot_event_cb_test, --- 3547,3693 ---- events.ndi_events_version = NDI_EVENTS_REV1; events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; cmn_err(CE_CONT, "pshot: binding set of 8 events\n"); ! delay(drv_sectohz(1)); rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n"); ! delay(drv_sectohz(1)); rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding all events\n"); ! delay(drv_sectohz(1)); rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding one highlevel event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding one highlevel event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding one highlevel event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding one highlevel event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = pshot_test_events_high; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding first 2 events\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 2; events.ndi_event_defs = pshot_test_events; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding first 2 events again\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 2; events.ndi_event_defs = pshot_test_events; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding middle 2 events\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 2; events.ndi_event_defs = &pshot_test_events[4]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: binding those 2 events back\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 2; events.ndi_event_defs = &pshot_test_events[4]; rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 2 events\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 2; events.ndi_event_defs = &pshot_test_events[4]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding all events\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[2]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[3]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[6]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: unbinding 1 event\n"); ! delay(drv_sectohz(1)); events.ndi_n_events = 1; events.ndi_event_defs = &pshot_test_events[7]; rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval); events.ndi_n_events = PSHOT_N_TEST_EVENTS; events.ndi_event_defs = pshot_test_events; cmn_err(CE_CONT, "pshot: binding set of 8 events\n"); ! delay(drv_sectohz(1)); rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP); cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval); cmn_err(CE_CONT, "pshot: adding 8 callbacks\n"); ! delay(drv_sectohz(1)); for (i = 0; i < 8; i++) { rval = ndi_event_add_callback(hdl, pshot->dip, ndi_event_tag_to_cookie(hdl, pshot_test_events[i].ndi_event_tag), pshot_event_cb_test,
*** 3704,3714 **** rval = ndi_event_run_callbacks(hdl, pshot->dip, cookie, (void *)hdl); cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n", i, rval); ! delay(drv_usectohz(1000000)); } cmn_err(CE_CONT, "pshot: redo event callbacks\n"); for (i = 10; i < 18; i++) { --- 3704,3714 ---- rval = ndi_event_run_callbacks(hdl, pshot->dip, cookie, (void *)hdl); cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n", i, rval); ! delay(drv_sectohz(1)); } cmn_err(CE_CONT, "pshot: redo event callbacks\n"); for (i = 10; i < 18; i++) {
*** 3717,3741 **** rval = ndi_event_run_callbacks(hdl, pshot->dip, cookie, (void *)hdl); cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n", i, rval); ! delay(drv_usectohz(1000000)); } cmn_err(CE_CONT, "pshot: removing 8 callbacks\n"); ! delay(drv_usectohz(1000000)); for (i = 0; i < 8; i++) { (void) ndi_event_remove_callback(hdl, pshot->test_callback_cache[i]); pshot->test_callback_cache[i] = 0; } cmn_err(CE_CONT, "pshot: freeing handle with bound set\n"); ! delay(drv_usectohz(1000000)); rval = ndi_event_free_hdl(hdl); ASSERT(rval == NDI_SUCCESS); --- 3717,3741 ---- rval = ndi_event_run_callbacks(hdl, pshot->dip, cookie, (void *)hdl); cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n", i, rval); ! delay(drv_sectohz(1)); } cmn_err(CE_CONT, "pshot: removing 8 callbacks\n"); ! delay(drv_sectohz(1)); for (i = 0; i < 8; i++) { (void) ndi_event_remove_callback(hdl, pshot->test_callback_cache[i]); pshot->test_callback_cache[i] = 0; } cmn_err(CE_CONT, "pshot: freeing handle with bound set\n"); ! delay(drv_sectohz(1)); rval = ndi_event_free_hdl(hdl); ASSERT(rval == NDI_SUCCESS);