Lines Matching refs:fw_event

221 	struct fw_event_work *fw_event;  in alloc_fw_event_work()  local
223 fw_event = kzalloc(sizeof(*fw_event) + len, GFP_ATOMIC); in alloc_fw_event_work()
224 if (!fw_event) in alloc_fw_event_work()
227 kref_init(&fw_event->refcount); in alloc_fw_event_work()
228 return fw_event; in alloc_fw_event_work()
2628 _scsih_fw_event_add(struct MPT3SAS_ADAPTER *ioc, struct fw_event_work *fw_event) in _scsih_fw_event_add() argument
2636 fw_event_work_get(fw_event); in _scsih_fw_event_add()
2637 INIT_LIST_HEAD(&fw_event->list); in _scsih_fw_event_add()
2638 list_add_tail(&fw_event->list, &ioc->fw_event_list); in _scsih_fw_event_add()
2639 INIT_WORK(&fw_event->work, _firmware_event_work); in _scsih_fw_event_add()
2640 fw_event_work_get(fw_event); in _scsih_fw_event_add()
2641 queue_work(ioc->firmware_event_thread, &fw_event->work); in _scsih_fw_event_add()
2657 *fw_event) in _scsih_fw_event_del_from_list()
2662 if (!list_empty(&fw_event->list)) { in _scsih_fw_event_del_from_list()
2663 list_del_init(&fw_event->list); in _scsih_fw_event_del_from_list()
2664 fw_event_work_put(fw_event); in _scsih_fw_event_del_from_list()
2681 struct fw_event_work *fw_event; in mpt3sas_send_trigger_data_event() local
2687 fw_event = alloc_fw_event_work(sz); in mpt3sas_send_trigger_data_event()
2688 if (!fw_event) in mpt3sas_send_trigger_data_event()
2690 fw_event->event = MPT3SAS_PROCESS_TRIGGER_DIAG; in mpt3sas_send_trigger_data_event()
2691 fw_event->ioc = ioc; in mpt3sas_send_trigger_data_event()
2692 memcpy(fw_event->event_data, event_data, sizeof(*event_data)); in mpt3sas_send_trigger_data_event()
2693 _scsih_fw_event_add(ioc, fw_event); in mpt3sas_send_trigger_data_event()
2694 fw_event_work_put(fw_event); in mpt3sas_send_trigger_data_event()
2706 struct fw_event_work *fw_event; in _scsih_error_recovery_delete_devices() local
2710 fw_event = alloc_fw_event_work(0); in _scsih_error_recovery_delete_devices()
2711 if (!fw_event) in _scsih_error_recovery_delete_devices()
2713 fw_event->event = MPT3SAS_REMOVE_UNRESPONDING_DEVICES; in _scsih_error_recovery_delete_devices()
2714 fw_event->ioc = ioc; in _scsih_error_recovery_delete_devices()
2715 _scsih_fw_event_add(ioc, fw_event); in _scsih_error_recovery_delete_devices()
2716 fw_event_work_put(fw_event); in _scsih_error_recovery_delete_devices()
2728 struct fw_event_work *fw_event; in mpt3sas_port_enable_complete() local
2730 fw_event = alloc_fw_event_work(0); in mpt3sas_port_enable_complete()
2731 if (!fw_event) in mpt3sas_port_enable_complete()
2733 fw_event->event = MPT3SAS_PORT_ENABLE_COMPLETE; in mpt3sas_port_enable_complete()
2734 fw_event->ioc = ioc; in mpt3sas_port_enable_complete()
2735 _scsih_fw_event_add(ioc, fw_event); in mpt3sas_port_enable_complete()
2736 fw_event_work_put(fw_event); in mpt3sas_port_enable_complete()
2742 struct fw_event_work *fw_event = NULL; in dequeue_next_fw_event() local
2746 fw_event = list_first_entry(&ioc->fw_event_list, in dequeue_next_fw_event()
2748 list_del_init(&fw_event->list); in dequeue_next_fw_event()
2752 return fw_event; in dequeue_next_fw_event()
2767 struct fw_event_work *fw_event; in _scsih_fw_event_cleanup_queue() local
2773 while ((fw_event = dequeue_next_fw_event(ioc))) { in _scsih_fw_event_cleanup_queue()
2782 if (cancel_delayed_work_sync(&fw_event->delayed_work)) in _scsih_fw_event_cleanup_queue()
2783 fw_event_work_put(fw_event); in _scsih_fw_event_cleanup_queue()
2785 fw_event_work_put(fw_event); in _scsih_fw_event_cleanup_queue()
3448 struct fw_event_work *fw_event; in _scsih_check_topo_delete_events() local
3493 list_for_each_entry(fw_event, &ioc->fw_event_list, list) { in _scsih_check_topo_delete_events()
3494 if (fw_event->event != MPI2_EVENT_SAS_TOPOLOGY_CHANGE_LIST || in _scsih_check_topo_delete_events()
3495 fw_event->ignore) in _scsih_check_topo_delete_events()
3498 fw_event->event_data; in _scsih_check_topo_delete_events()
3507 fw_event->ignore = 1; in _scsih_check_topo_delete_events()
4303 struct fw_event_work *fw_event; in _scsih_send_event_to_turn_on_pfa_led() local
4305 fw_event = alloc_fw_event_work(0); in _scsih_send_event_to_turn_on_pfa_led()
4306 if (!fw_event) in _scsih_send_event_to_turn_on_pfa_led()
4308 fw_event->event = MPT3SAS_TURN_ON_PFA_LED; in _scsih_send_event_to_turn_on_pfa_led()
4309 fw_event->device_handle = handle; in _scsih_send_event_to_turn_on_pfa_led()
4310 fw_event->ioc = ioc; in _scsih_send_event_to_turn_on_pfa_led()
4311 _scsih_fw_event_add(ioc, fw_event); in _scsih_send_event_to_turn_on_pfa_led()
4312 fw_event_work_put(fw_event); in _scsih_send_event_to_turn_on_pfa_led()
5506 struct fw_event_work *fw_event) in _scsih_sas_topology_change_event() argument
5518 fw_event->event_data; in _scsih_sas_topology_change_event()
5531 if (fw_event->ignore) { in _scsih_sas_topology_change_event()
5561 if (fw_event->ignore) { in _scsih_sas_topology_change_event()
5705 struct fw_event_work *fw_event) in _scsih_sas_device_status_change_event() argument
5713 fw_event->event_data; in _scsih_sas_device_status_change_event()
5802 struct fw_event_work *fw_event) in _scsih_sas_enclosure_dev_status_change_event() argument
5807 fw_event->event_data); in _scsih_sas_enclosure_dev_status_change_event()
5820 struct fw_event_work *fw_event) in _scsih_sas_broadcast_primitive_event() argument
5832 fw_event->event_data; in _scsih_sas_broadcast_primitive_event()
5982 struct fw_event_work *fw_event) in _scsih_sas_discovery_event() argument
5985 (Mpi2EventDataSasDiscovery_t *) fw_event->event_data; in _scsih_sas_discovery_event()
6467 struct fw_event_work *fw_event) in _scsih_sas_ir_config_change_event() argument
6474 fw_event->event_data; in _scsih_sas_ir_config_change_event()
6539 struct fw_event_work *fw_event) in _scsih_sas_ir_volume_event() argument
6548 (Mpi2EventDataIrVolume_t *) fw_event->event_data; in _scsih_sas_ir_volume_event()
6623 struct fw_event_work *fw_event) in _scsih_sas_ir_physical_disk_event() argument
6632 (Mpi2EventDataIrPhysicalDisk_t *) fw_event->event_data; in _scsih_sas_ir_physical_disk_event()
6751 struct fw_event_work *fw_event) in _scsih_sas_ir_operation_status_event() argument
6755 fw_event->event_data; in _scsih_sas_ir_operation_status_event()
7547 _mpt3sas_fw_work(struct MPT3SAS_ADAPTER *ioc, struct fw_event_work *fw_event) in _mpt3sas_fw_work() argument
7549 _scsih_fw_event_del_from_list(ioc, fw_event); in _mpt3sas_fw_work()
7553 fw_event_work_put(fw_event); in _mpt3sas_fw_work()
7557 switch (fw_event->event) { in _mpt3sas_fw_work()
7561 fw_event->event_data); in _mpt3sas_fw_work()
7587 _scsih_turn_on_pfa_led(ioc, fw_event->device_handle); in _mpt3sas_fw_work()
7590 _scsih_sas_topology_change_event(ioc, fw_event); in _mpt3sas_fw_work()
7593 _scsih_sas_device_status_change_event(ioc, fw_event); in _mpt3sas_fw_work()
7596 _scsih_sas_discovery_event(ioc, fw_event); in _mpt3sas_fw_work()
7599 _scsih_sas_broadcast_primitive_event(ioc, fw_event); in _mpt3sas_fw_work()
7603 fw_event); in _mpt3sas_fw_work()
7606 _scsih_sas_ir_config_change_event(ioc, fw_event); in _mpt3sas_fw_work()
7609 _scsih_sas_ir_volume_event(ioc, fw_event); in _mpt3sas_fw_work()
7612 _scsih_sas_ir_physical_disk_event(ioc, fw_event); in _mpt3sas_fw_work()
7615 _scsih_sas_ir_operation_status_event(ioc, fw_event); in _mpt3sas_fw_work()
7619 fw_event_work_put(fw_event); in _mpt3sas_fw_work()
7636 struct fw_event_work *fw_event = container_of(work, in _firmware_event_work() local
7639 _mpt3sas_fw_work(fw_event->ioc, fw_event); in _firmware_event_work()
7659 struct fw_event_work *fw_event; in mpt3sas_scsih_event_callback() local
7781 fw_event = alloc_fw_event_work(sz); in mpt3sas_scsih_event_callback()
7782 if (!fw_event) { in mpt3sas_scsih_event_callback()
7788 memcpy(fw_event->event_data, mpi_reply->EventData, sz); in mpt3sas_scsih_event_callback()
7789 fw_event->ioc = ioc; in mpt3sas_scsih_event_callback()
7790 fw_event->VF_ID = mpi_reply->VF_ID; in mpt3sas_scsih_event_callback()
7791 fw_event->VP_ID = mpi_reply->VP_ID; in mpt3sas_scsih_event_callback()
7792 fw_event->event = event; in mpt3sas_scsih_event_callback()
7793 _scsih_fw_event_add(ioc, fw_event); in mpt3sas_scsih_event_callback()
7794 fw_event_work_put(fw_event); in mpt3sas_scsih_event_callback()