Lines Matching refs:softs

34 boolean_t pqisrc_ctrl_offline(pqisrc_softstate_t *softs)
40 return !softs->ctrl_online;
46 void pqisrc_take_devices_offline(pqisrc_softstate_t *softs)
54 if(softs->device_list[i][j] == NULL)
56 device = softs->device_list[i][j];
57 pqisrc_remove_device(softs, device);
67 void pqisrc_take_ctrl_offline(pqisrc_softstate_t *softs)
72 softs->ctrl_online = false;
73 pqisrc_trigger_nmi_sis(softs);
74 os_complete_outstanding_cmds_nodevice(softs);
75 pqisrc_take_devices_offline(softs);
83 void pqisrc_heartbeat_timer_handler(pqisrc_softstate_t *softs)
90 num_intrs = OS_ATOMIC64_READ(softs, num_intrs);
92 if (PQI_NEW_HEARTBEAT_MECHANISM(softs)) {
93 if (CTRLR_HEARTBEAT_CNT(softs) == softs->prev_heartbeat_count) {
97 softs->prev_heartbeat_count = CTRLR_HEARTBEAT_CNT(softs);
98 DBG_INFO("CTRLR_HEARTBEAT_CNT(softs) = %lx \
99 softs->prev_heartbeat_count = %lx\n",
100 CTRLR_HEARTBEAT_CNT(softs), softs->prev_heartbeat_count);
102 if (num_intrs == softs->prev_num_intrs) {
103 softs->num_heartbeats_requested++;
104 if (softs->num_heartbeats_requested > PQI_MAX_HEARTBEAT_REQUESTS) {
108 softs->pending_events[PQI_EVENT_HEARTBEAT].pending = true;
110 pqisrc_ack_all_events((void*)softs);
113 softs->num_heartbeats_requested = 0;
115 softs->prev_num_intrs = num_intrs;
121 pqisrc_take_ctrl_offline(softs);
122 os_stop_heartbeat_timer(softs);
130 int pqisrc_wait_on_condition(pqisrc_softstate_t *softs, rcb_t *rcb){
144 IS_POLLING_REQUIRED(softs);
152 if (pqisrc_ctrl_offline(softs)) {
231 void pqisrc_display_device_info(pqisrc_softstate_t *softs,