Lines Matching refs:smi

42 	struct ipmi_smi_powernv *smi = send_info;  in ipmi_powernv_start_processing()  local
44 smi->intf = intf; in ipmi_powernv_start_processing()
48 static void send_error_reply(struct ipmi_smi_powernv *smi, in send_error_reply() argument
55 ipmi_smi_msg_received(smi->intf, msg); in send_error_reply()
60 struct ipmi_smi_powernv *smi = send_info; in ipmi_powernv_send() local
78 spin_lock_irqsave(&smi->msg_lock, flags); in ipmi_powernv_send()
80 if (smi->cur_msg) { in ipmi_powernv_send()
86 opal_msg = smi->opal_msg; in ipmi_powernv_send()
97 smi->interface_id, opal_msg, size); in ipmi_powernv_send()
98 rc = opal_ipmi_send(smi->interface_id, opal_msg, size); in ipmi_powernv_send()
102 smi->cur_msg = msg; in ipmi_powernv_send()
103 spin_unlock_irqrestore(&smi->msg_lock, flags); in ipmi_powernv_send()
109 spin_unlock_irqrestore(&smi->msg_lock, flags); in ipmi_powernv_send()
111 send_error_reply(smi, msg, comp); in ipmi_powernv_send()
114 static int ipmi_powernv_recv(struct ipmi_smi_powernv *smi) in ipmi_powernv_recv() argument
123 smi->interface_id); in ipmi_powernv_recv()
125 spin_lock_irqsave(&smi->msg_lock, flags); in ipmi_powernv_recv()
127 if (!smi->cur_msg) { in ipmi_powernv_recv()
128 spin_unlock_irqrestore(&smi->msg_lock, flags); in ipmi_powernv_recv()
133 msg = smi->cur_msg; in ipmi_powernv_recv()
134 opal_msg = smi->opal_msg; in ipmi_powernv_recv()
138 rc = opal_ipmi_recv(smi->interface_id, in ipmi_powernv_recv()
145 spin_unlock_irqrestore(&smi->msg_lock, flags); in ipmi_powernv_recv()
151 spin_unlock_irqrestore(&smi->msg_lock, flags); in ipmi_powernv_recv()
157 spin_unlock_irqrestore(&smi->msg_lock, flags); in ipmi_powernv_recv()
169 smi->cur_msg = NULL; in ipmi_powernv_recv()
170 spin_unlock_irqrestore(&smi->msg_lock, flags); in ipmi_powernv_recv()
171 ipmi_smi_msg_received(smi->intf, msg); in ipmi_powernv_recv()
186 struct ipmi_smi_powernv *smi = send_info; in ipmi_powernv_poll() local
188 ipmi_powernv_recv(smi); in ipmi_powernv_poll()
203 struct ipmi_smi_powernv *smi = container_of(nb, in ipmi_opal_event() local
206 if (events & smi->event) in ipmi_opal_event()
207 ipmi_powernv_recv(smi); in ipmi_opal_event()
282 struct ipmi_smi_powernv *smi = dev_get_drvdata(&pdev->dev); in ipmi_powernv_remove() local
284 ipmi_unregister_smi(smi->intf); in ipmi_powernv_remove()
285 opal_notifier_unregister(&smi->event_nb); in ipmi_powernv_remove()