Lines Matching refs:cdev

36 static void ccw_timeout_log(struct ccw_device *cdev)  in ccw_timeout_log()  argument
44 sch = to_subchannel(cdev->dev.parent); in ccw_timeout_log()
55 dev_name(&cdev->dev)); in ccw_timeout_log()
70 (void *)(addr_t)orb->cmd.cpa == cdev->private->iccws) in ccw_timeout_log()
81 cdev->private->state); in ccw_timeout_log()
88 &cdev->private->flags, sizeof(cdev->private->flags), 0); in ccw_timeout_log()
97 struct ccw_device *cdev; in ccw_device_timeout() local
99 cdev = (struct ccw_device *) data; in ccw_device_timeout()
100 spin_lock_irq(cdev->ccwlock); in ccw_device_timeout()
102 ccw_timeout_log(cdev); in ccw_device_timeout()
103 dev_fsm_event(cdev, DEV_EVENT_TIMEOUT); in ccw_device_timeout()
104 spin_unlock_irq(cdev->ccwlock); in ccw_device_timeout()
111 ccw_device_set_timeout(struct ccw_device *cdev, int expires) in ccw_device_set_timeout() argument
114 del_timer(&cdev->private->timer); in ccw_device_set_timeout()
117 if (timer_pending(&cdev->private->timer)) { in ccw_device_set_timeout()
118 if (mod_timer(&cdev->private->timer, jiffies + expires)) in ccw_device_set_timeout()
121 cdev->private->timer.function = ccw_device_timeout; in ccw_device_set_timeout()
122 cdev->private->timer.data = (unsigned long) cdev; in ccw_device_set_timeout()
123 cdev->private->timer.expires = jiffies + expires; in ccw_device_set_timeout()
124 add_timer(&cdev->private->timer); in ccw_device_set_timeout()
136 ccw_device_cancel_halt_clear(struct ccw_device *cdev) in ccw_device_cancel_halt_clear() argument
141 sch = to_subchannel(cdev->dev.parent); in ccw_device_cancel_halt_clear()
157 cdev->private->iretry = 3; /* 3 halt retries. */ in ccw_device_cancel_halt_clear()
161 if (cdev->private->iretry) { in ccw_device_cancel_halt_clear()
162 cdev->private->iretry--; in ccw_device_cancel_halt_clear()
168 cdev->private->iretry = 255; /* 255 clear retries. */ in ccw_device_cancel_halt_clear()
171 if (cdev->private->iretry) { in ccw_device_cancel_halt_clear()
172 cdev->private->iretry--; in ccw_device_cancel_halt_clear()
178 cdev->private->dev_id.ssid, cdev->private->dev_id.devno); in ccw_device_cancel_halt_clear()
182 void ccw_device_update_sense_data(struct ccw_device *cdev) in ccw_device_update_sense_data() argument
184 memset(&cdev->id, 0, sizeof(cdev->id)); in ccw_device_update_sense_data()
185 cdev->id.cu_type = cdev->private->senseid.cu_type; in ccw_device_update_sense_data()
186 cdev->id.cu_model = cdev->private->senseid.cu_model; in ccw_device_update_sense_data()
187 cdev->id.dev_type = cdev->private->senseid.dev_type; in ccw_device_update_sense_data()
188 cdev->id.dev_model = cdev->private->senseid.dev_model; in ccw_device_update_sense_data()
191 int ccw_device_test_sense_data(struct ccw_device *cdev) in ccw_device_test_sense_data() argument
193 return cdev->id.cu_type == cdev->private->senseid.cu_type && in ccw_device_test_sense_data()
194 cdev->id.cu_model == cdev->private->senseid.cu_model && in ccw_device_test_sense_data()
195 cdev->id.dev_type == cdev->private->senseid.dev_type && in ccw_device_test_sense_data()
196 cdev->id.dev_model == cdev->private->senseid.dev_model; in ccw_device_test_sense_data()
227 ccw_device_recog_done(struct ccw_device *cdev, int state) in ccw_device_recog_done() argument
232 sch = to_subchannel(cdev->dev.parent); in ccw_device_recog_done()
248 if (cdev->private->state == DEV_STATE_DISCONNECTED_SENSE_ID) in ccw_device_recog_done()
253 if (cdev->private->state == DEV_STATE_DISCONNECTED_SENSE_ID && in ccw_device_recog_done()
255 cdev->private->flags.recog_done = 1; in ccw_device_recog_done()
256 cdev->private->state = DEV_STATE_DISCONNECTED; in ccw_device_recog_done()
257 wake_up(&cdev->private->wait_q); in ccw_device_recog_done()
260 if (cdev->private->flags.resuming) { in ccw_device_recog_done()
261 cdev->private->state = state; in ccw_device_recog_done()
262 cdev->private->flags.recog_done = 1; in ccw_device_recog_done()
263 wake_up(&cdev->private->wait_q); in ccw_device_recog_done()
270 if (!cdev->online) { in ccw_device_recog_done()
271 ccw_device_update_sense_data(cdev); in ccw_device_recog_done()
274 cdev->private->state = DEV_STATE_OFFLINE; in ccw_device_recog_done()
275 cdev->private->flags.recog_done = 1; in ccw_device_recog_done()
276 if (ccw_device_test_sense_data(cdev)) { in ccw_device_recog_done()
277 cdev->private->flags.donotify = 1; in ccw_device_recog_done()
278 ccw_device_online(cdev); in ccw_device_recog_done()
279 wake_up(&cdev->private->wait_q); in ccw_device_recog_done()
281 ccw_device_update_sense_data(cdev); in ccw_device_recog_done()
282 ccw_device_sched_todo(cdev, CDEV_TODO_REBIND); in ccw_device_recog_done()
286 if (cdev->id.cu_type != 0) { /* device was recognized before */ in ccw_device_recog_done()
287 cdev->private->flags.recog_done = 1; in ccw_device_recog_done()
288 cdev->private->state = DEV_STATE_BOXED; in ccw_device_recog_done()
289 wake_up(&cdev->private->wait_q); in ccw_device_recog_done()
294 cdev->private->state = state; in ccw_device_recog_done()
295 io_subchannel_recog_done(cdev); in ccw_device_recog_done()
296 wake_up(&cdev->private->wait_q); in ccw_device_recog_done()
303 ccw_device_sense_id_done(struct ccw_device *cdev, int err) in ccw_device_sense_id_done() argument
307 ccw_device_recog_done(cdev, DEV_STATE_OFFLINE); in ccw_device_sense_id_done()
310 ccw_device_recog_done(cdev, DEV_STATE_BOXED); in ccw_device_sense_id_done()
313 ccw_device_recog_done(cdev, DEV_STATE_NOT_OPER); in ccw_device_sense_id_done()
329 int ccw_device_notify(struct ccw_device *cdev, int event) in ccw_device_notify() argument
333 if (!cdev->drv) in ccw_device_notify()
335 if (!cdev->online) in ccw_device_notify()
338 cdev->private->dev_id.ssid, cdev->private->dev_id.devno, in ccw_device_notify()
340 if (!cdev->drv->notify) { in ccw_device_notify()
344 if (cdev->drv->notify(cdev, event)) in ccw_device_notify()
352 static void ccw_device_oper_notify(struct ccw_device *cdev) in ccw_device_oper_notify() argument
354 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_oper_notify()
356 if (ccw_device_notify(cdev, CIO_OPER) == NOTIFY_OK) { in ccw_device_oper_notify()
358 ccw_device_sched_todo(cdev, CDEV_TODO_ENABLE_CMF); in ccw_device_oper_notify()
360 cdev->private->path_new_mask = sch->vpm; in ccw_device_oper_notify()
364 ccw_device_set_notoper(cdev); in ccw_device_oper_notify()
365 ccw_device_sched_todo(cdev, CDEV_TODO_REBIND); in ccw_device_oper_notify()
372 ccw_device_done(struct ccw_device *cdev, int state) in ccw_device_done() argument
376 sch = to_subchannel(cdev->dev.parent); in ccw_device_done()
378 ccw_device_set_timeout(cdev, 0); in ccw_device_done()
384 memset(&cdev->private->irb, 0, sizeof(struct irb)); in ccw_device_done()
386 cdev->private->state = state; in ccw_device_done()
391 cdev->private->dev_id.devno, sch->schid.sch_no); in ccw_device_done()
392 if (cdev->online && in ccw_device_done()
393 ccw_device_notify(cdev, CIO_BOXED) != NOTIFY_OK) in ccw_device_done()
394 ccw_device_sched_todo(cdev, CDEV_TODO_UNREG); in ccw_device_done()
395 cdev->private->flags.donotify = 0; in ccw_device_done()
399 cdev->private->dev_id.devno, sch->schid.sch_no); in ccw_device_done()
400 if (ccw_device_notify(cdev, CIO_GONE) != NOTIFY_OK) in ccw_device_done()
401 ccw_device_sched_todo(cdev, CDEV_TODO_UNREG); in ccw_device_done()
403 ccw_device_set_disconnected(cdev); in ccw_device_done()
404 cdev->private->flags.donotify = 0; in ccw_device_done()
408 "%04x\n", cdev->private->dev_id.devno, in ccw_device_done()
410 if (ccw_device_notify(cdev, CIO_NO_PATH) != NOTIFY_OK) { in ccw_device_done()
411 cdev->private->state = DEV_STATE_NOT_OPER; in ccw_device_done()
412 ccw_device_sched_todo(cdev, CDEV_TODO_UNREG); in ccw_device_done()
414 ccw_device_set_disconnected(cdev); in ccw_device_done()
415 cdev->private->flags.donotify = 0; in ccw_device_done()
421 if (cdev->private->flags.donotify) { in ccw_device_done()
422 cdev->private->flags.donotify = 0; in ccw_device_done()
423 ccw_device_oper_notify(cdev); in ccw_device_done()
425 wake_up(&cdev->private->wait_q); in ccw_device_done()
431 void ccw_device_recognition(struct ccw_device *cdev) in ccw_device_recognition() argument
433 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_recognition()
443 cdev->private->flags.recog_done = 0; in ccw_device_recognition()
444 cdev->private->state = DEV_STATE_SENSE_ID; in ccw_device_recognition()
446 ccw_device_recog_done(cdev, DEV_STATE_NOT_OPER); in ccw_device_recognition()
449 ccw_device_sense_id_start(cdev); in ccw_device_recognition()
455 static void ccw_device_request_event(struct ccw_device *cdev, enum dev_event e) in ccw_device_request_event() argument
459 ccw_request_notoper(cdev); in ccw_device_request_event()
462 ccw_request_handler(cdev); in ccw_device_request_event()
465 ccw_request_timeout(cdev); in ccw_device_request_event()
472 static void ccw_device_report_path_events(struct ccw_device *cdev) in ccw_device_report_path_events() argument
474 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_report_path_events()
480 if (mask & cdev->private->path_gone_mask & ~(sch->vpm)) in ccw_device_report_path_events()
482 if (mask & cdev->private->path_new_mask & sch->vpm) in ccw_device_report_path_events()
484 if (mask & cdev->private->pgid_reset_mask & sch->vpm) in ccw_device_report_path_events()
487 if (cdev->online && cdev->drv->path_event) in ccw_device_report_path_events()
488 cdev->drv->path_event(cdev, path_event); in ccw_device_report_path_events()
491 static void ccw_device_reset_path_events(struct ccw_device *cdev) in ccw_device_reset_path_events() argument
493 cdev->private->path_gone_mask = 0; in ccw_device_reset_path_events()
494 cdev->private->path_new_mask = 0; in ccw_device_reset_path_events()
495 cdev->private->pgid_reset_mask = 0; in ccw_device_reset_path_events()
517 void ccw_device_verify_done(struct ccw_device *cdev, int err) in ccw_device_verify_done() argument
521 sch = to_subchannel(cdev->dev.parent); in ccw_device_verify_done()
530 if (cdev->private->flags.doverify) { in ccw_device_verify_done()
531 ccw_device_verify_start(cdev); in ccw_device_verify_done()
537 ccw_device_done(cdev, DEV_STATE_ONLINE); in ccw_device_verify_done()
539 if (cdev->private->flags.fake_irb) { in ccw_device_verify_done()
540 create_fake_irb(&cdev->private->irb, in ccw_device_verify_done()
541 cdev->private->flags.fake_irb); in ccw_device_verify_done()
542 cdev->private->flags.fake_irb = 0; in ccw_device_verify_done()
543 if (cdev->handler) in ccw_device_verify_done()
544 cdev->handler(cdev, cdev->private->intparm, in ccw_device_verify_done()
545 &cdev->private->irb); in ccw_device_verify_done()
546 memset(&cdev->private->irb, 0, sizeof(struct irb)); in ccw_device_verify_done()
548 ccw_device_report_path_events(cdev); in ccw_device_verify_done()
553 cdev->private->flags.donotify = 0; in ccw_device_verify_done()
554 ccw_device_done(cdev, DEV_STATE_BOXED); in ccw_device_verify_done()
558 cdev->private->flags.donotify = 0; in ccw_device_verify_done()
559 ccw_device_done(cdev, DEV_STATE_DISCONNECTED); in ccw_device_verify_done()
563 cdev->private->flags.donotify = 0; in ccw_device_verify_done()
564 ccw_device_done(cdev, DEV_STATE_NOT_OPER); in ccw_device_verify_done()
567 ccw_device_reset_path_events(cdev); in ccw_device_verify_done()
574 ccw_device_online(struct ccw_device *cdev) in ccw_device_online() argument
579 if ((cdev->private->state != DEV_STATE_OFFLINE) && in ccw_device_online()
580 (cdev->private->state != DEV_STATE_BOXED)) in ccw_device_online()
582 sch = to_subchannel(cdev->dev.parent); in ccw_device_online()
587 dev_fsm_event(cdev, DEV_EVENT_NOTOPER); in ccw_device_online()
591 cdev->private->state = DEV_STATE_VERIFY; in ccw_device_online()
592 ccw_device_verify_start(cdev); in ccw_device_online()
597 ccw_device_disband_done(struct ccw_device *cdev, int err) in ccw_device_disband_done() argument
601 ccw_device_done(cdev, DEV_STATE_OFFLINE); in ccw_device_disband_done()
604 ccw_device_done(cdev, DEV_STATE_BOXED); in ccw_device_disband_done()
607 cdev->private->flags.donotify = 0; in ccw_device_disband_done()
608 ccw_device_done(cdev, DEV_STATE_NOT_OPER); in ccw_device_disband_done()
617 ccw_device_offline(struct ccw_device *cdev) in ccw_device_offline() argument
622 if (cdev->private->state == DEV_STATE_DISCONNECTED || in ccw_device_offline()
623 cdev->private->state == DEV_STATE_NOT_OPER) { in ccw_device_offline()
624 cdev->private->flags.donotify = 0; in ccw_device_offline()
625 ccw_device_done(cdev, DEV_STATE_NOT_OPER); in ccw_device_offline()
628 if (cdev->private->state == DEV_STATE_BOXED) { in ccw_device_offline()
629 ccw_device_done(cdev, DEV_STATE_BOXED); in ccw_device_offline()
632 if (ccw_device_is_orphan(cdev)) { in ccw_device_offline()
633 ccw_device_done(cdev, DEV_STATE_OFFLINE); in ccw_device_offline()
636 sch = to_subchannel(cdev->dev.parent); in ccw_device_offline()
641 if (cdev->private->state != DEV_STATE_ONLINE) in ccw_device_offline()
644 if (!cdev->private->flags.pgroup) { in ccw_device_offline()
646 ccw_device_done(cdev, DEV_STATE_OFFLINE); in ccw_device_offline()
650 cdev->private->state = DEV_STATE_DISBAND_PGID; in ccw_device_offline()
651 ccw_device_disband_start(cdev); in ccw_device_offline()
658 static void ccw_device_generic_notoper(struct ccw_device *cdev, in ccw_device_generic_notoper() argument
661 if (ccw_device_notify(cdev, CIO_GONE) != NOTIFY_OK) in ccw_device_generic_notoper()
662 ccw_device_sched_todo(cdev, CDEV_TODO_UNREG); in ccw_device_generic_notoper()
664 ccw_device_set_disconnected(cdev); in ccw_device_generic_notoper()
670 static void ccw_device_offline_verify(struct ccw_device *cdev, in ccw_device_offline_verify() argument
673 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_offline_verify()
682 ccw_device_online_verify(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_online_verify() argument
686 if (cdev->private->state == DEV_STATE_W4SENSE) { in ccw_device_online_verify()
687 cdev->private->flags.doverify = 1; in ccw_device_online_verify()
690 sch = to_subchannel(cdev->dev.parent); in ccw_device_online_verify()
696 ccw_device_verify_done(cdev, -ENODEV); in ccw_device_online_verify()
702 (scsw_stctl(&cdev->private->irb.scsw) & SCSW_STCTL_STATUS_PEND)) { in ccw_device_online_verify()
708 cdev->private->flags.doverify = 1; in ccw_device_online_verify()
712 cdev->private->state = DEV_STATE_VERIFY; in ccw_device_online_verify()
713 ccw_device_verify_start(cdev); in ccw_device_online_verify()
719 static void ccw_device_boxed_verify(struct ccw_device *cdev, in ccw_device_boxed_verify() argument
722 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_boxed_verify()
724 if (cdev->online) { in ccw_device_boxed_verify()
726 ccw_device_done(cdev, DEV_STATE_NOT_OPER); in ccw_device_boxed_verify()
728 ccw_device_online_verify(cdev, dev_event); in ccw_device_boxed_verify()
736 static int ccw_device_call_handler(struct ccw_device *cdev) in ccw_device_call_handler() argument
749 stctl = scsw_stctl(&cdev->private->irb.scsw); in ccw_device_call_handler()
754 !cdev->private->options.repall && in ccw_device_call_handler()
756 !(cdev->private->options.fast && in ccw_device_call_handler()
761 ccw_device_set_timeout(cdev, 0); in ccw_device_call_handler()
763 if (cdev->handler) in ccw_device_call_handler()
764 cdev->handler(cdev, cdev->private->intparm, in ccw_device_call_handler()
765 &cdev->private->irb); in ccw_device_call_handler()
767 memset(&cdev->private->irb, 0, sizeof(struct irb)); in ccw_device_call_handler()
775 ccw_device_irq(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_irq() argument
787 if (ccw_device_do_sense(cdev, irb) != 0) in ccw_device_irq()
789 memcpy(&cdev->private->irb, irb, sizeof(struct irb)); in ccw_device_irq()
790 cdev->private->state = DEV_STATE_W4SENSE; in ccw_device_irq()
791 cdev->private->intparm = 0; in ccw_device_irq()
795 if (cdev->handler) in ccw_device_irq()
796 cdev->handler (cdev, 0, irb); in ccw_device_irq()
797 if (cdev->private->flags.doverify) in ccw_device_irq()
798 ccw_device_online_verify(cdev, 0); in ccw_device_irq()
802 ccw_device_accumulate_irb(cdev, irb); in ccw_device_irq()
803 if (is_cmd && cdev->private->flags.dosense) { in ccw_device_irq()
804 if (ccw_device_do_sense(cdev, irb) == 0) { in ccw_device_irq()
805 cdev->private->state = DEV_STATE_W4SENSE; in ccw_device_irq()
810 if (ccw_device_call_handler(cdev) && cdev->private->flags.doverify) in ccw_device_irq()
812 ccw_device_online_verify(cdev, 0); in ccw_device_irq()
819 ccw_device_online_timeout(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_online_timeout() argument
823 ccw_device_set_timeout(cdev, 0); in ccw_device_online_timeout()
824 cdev->private->iretry = 255; in ccw_device_online_timeout()
825 ret = ccw_device_cancel_halt_clear(cdev); in ccw_device_online_timeout()
827 ccw_device_set_timeout(cdev, 3*HZ); in ccw_device_online_timeout()
828 cdev->private->state = DEV_STATE_TIMEOUT_KILL; in ccw_device_online_timeout()
832 dev_fsm_event(cdev, DEV_EVENT_NOTOPER); in ccw_device_online_timeout()
833 else if (cdev->handler) in ccw_device_online_timeout()
834 cdev->handler(cdev, cdev->private->intparm, in ccw_device_online_timeout()
842 ccw_device_w4sense(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_w4sense() argument
852 ccw_device_do_sense(cdev, irb); in ccw_device_w4sense()
856 cdev->private->dev_id.ssid, in ccw_device_w4sense()
857 cdev->private->dev_id.devno); in ccw_device_w4sense()
858 if (cdev->handler) in ccw_device_w4sense()
859 cdev->handler (cdev, 0, irb); in ccw_device_w4sense()
870 cdev->private->flags.dosense = 0; in ccw_device_w4sense()
871 memset(&cdev->private->irb, 0, sizeof(struct irb)); in ccw_device_w4sense()
872 ccw_device_accumulate_irb(cdev, irb); in ccw_device_w4sense()
876 ccw_device_accumulate_basic_sense(cdev, irb); in ccw_device_w4sense()
877 if (cdev->private->flags.dosense) { in ccw_device_w4sense()
879 ccw_device_do_sense(cdev, irb); in ccw_device_w4sense()
883 cdev->private->state = DEV_STATE_ONLINE; in ccw_device_w4sense()
885 wake_up(&cdev->private->wait_q); in ccw_device_w4sense()
887 if (ccw_device_call_handler(cdev) && cdev->private->flags.doverify) in ccw_device_w4sense()
889 ccw_device_online_verify(cdev, 0); in ccw_device_w4sense()
893 ccw_device_killing_irq(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_killing_irq() argument
895 ccw_device_set_timeout(cdev, 0); in ccw_device_killing_irq()
897 ccw_device_online_verify(cdev, 0); in ccw_device_killing_irq()
899 if (cdev->handler) in ccw_device_killing_irq()
900 cdev->handler(cdev, cdev->private->intparm, in ccw_device_killing_irq()
905 ccw_device_killing_timeout(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_killing_timeout() argument
909 ret = ccw_device_cancel_halt_clear(cdev); in ccw_device_killing_timeout()
911 ccw_device_set_timeout(cdev, 3*HZ); in ccw_device_killing_timeout()
915 ccw_device_online_verify(cdev, 0); in ccw_device_killing_timeout()
916 if (cdev->handler) in ccw_device_killing_timeout()
917 cdev->handler(cdev, cdev->private->intparm, in ccw_device_killing_timeout()
921 void ccw_device_kill_io(struct ccw_device *cdev) in ccw_device_kill_io() argument
925 cdev->private->iretry = 255; in ccw_device_kill_io()
926 ret = ccw_device_cancel_halt_clear(cdev); in ccw_device_kill_io()
928 ccw_device_set_timeout(cdev, 3*HZ); in ccw_device_kill_io()
929 cdev->private->state = DEV_STATE_TIMEOUT_KILL; in ccw_device_kill_io()
933 ccw_device_online_verify(cdev, 0); in ccw_device_kill_io()
934 if (cdev->handler) in ccw_device_kill_io()
935 cdev->handler(cdev, cdev->private->intparm, in ccw_device_kill_io()
940 ccw_device_delay_verify(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_delay_verify() argument
943 cdev->private->flags.doverify = 1; in ccw_device_delay_verify()
947 ccw_device_start_id(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_start_id() argument
951 sch = to_subchannel(cdev->dev.parent); in ccw_device_start_id()
955 cdev->private->state = DEV_STATE_DISCONNECTED_SENSE_ID; in ccw_device_start_id()
956 ccw_device_sense_id_start(cdev); in ccw_device_start_id()
959 void ccw_device_trigger_reprobe(struct ccw_device *cdev) in ccw_device_trigger_reprobe() argument
963 if (cdev->private->state != DEV_STATE_DISCONNECTED) in ccw_device_trigger_reprobe()
966 sch = to_subchannel(cdev->dev.parent); in ccw_device_trigger_reprobe()
985 if (sch->schib.pmcw.dev != cdev->private->dev_id.devno) in ccw_device_trigger_reprobe()
988 ccw_device_start_id(cdev, 0); in ccw_device_trigger_reprobe()
991 static void ccw_device_disabled_irq(struct ccw_device *cdev, in ccw_device_disabled_irq() argument
996 sch = to_subchannel(cdev->dev.parent); in ccw_device_disabled_irq()
1005 ccw_device_change_cmfstate(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_change_cmfstate() argument
1007 retry_set_schib(cdev); in ccw_device_change_cmfstate()
1008 cdev->private->state = DEV_STATE_ONLINE; in ccw_device_change_cmfstate()
1009 dev_fsm_event(cdev, dev_event); in ccw_device_change_cmfstate()
1012 static void ccw_device_update_cmfblock(struct ccw_device *cdev, in ccw_device_update_cmfblock() argument
1015 cmf_retry_copy_block(cdev); in ccw_device_update_cmfblock()
1016 cdev->private->state = DEV_STATE_ONLINE; in ccw_device_update_cmfblock()
1017 dev_fsm_event(cdev, dev_event); in ccw_device_update_cmfblock()
1021 ccw_device_quiesce_done(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_quiesce_done() argument
1023 ccw_device_set_timeout(cdev, 0); in ccw_device_quiesce_done()
1024 cdev->private->state = DEV_STATE_NOT_OPER; in ccw_device_quiesce_done()
1025 wake_up(&cdev->private->wait_q); in ccw_device_quiesce_done()
1029 ccw_device_quiesce_timeout(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_quiesce_timeout() argument
1033 ret = ccw_device_cancel_halt_clear(cdev); in ccw_device_quiesce_timeout()
1035 ccw_device_set_timeout(cdev, HZ/10); in ccw_device_quiesce_timeout()
1037 cdev->private->state = DEV_STATE_NOT_OPER; in ccw_device_quiesce_timeout()
1038 wake_up(&cdev->private->wait_q); in ccw_device_quiesce_timeout()
1047 ccw_device_nop(struct ccw_device *cdev, enum dev_event dev_event) in ccw_device_nop() argument