Lines Matching defs:smi_msg
1740 static inline void format_ipmb_msg(struct ipmi_smi_msg *smi_msg,
1752 smi_msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2);
1753 smi_msg->data[1] = IPMI_SEND_MSG_CMD;
1754 smi_msg->data[2] = ipmb_addr->channel;
1756 smi_msg->data[3] = 0;
1757 smi_msg->data[i+3] = ipmb_addr->slave_addr;
1758 smi_msg->data[i+4] = (msg->netfn << 2) | (ipmb_addr->lun & 0x3);
1759 smi_msg->data[i+5] = ipmb_checksum(&smi_msg->data[i + 3], 2);
1760 smi_msg->data[i+6] = source_address;
1761 smi_msg->data[i+7] = (ipmb_seq << 2) | source_lun;
1762 smi_msg->data[i+8] = msg->cmd;
1766 memcpy(&smi_msg->data[i + 9], msg->data, msg->data_len);
1767 smi_msg->data_size = msg->data_len + 9;
1770 smi_msg->data[i+smi_msg->data_size]
1771 = ipmb_checksum(&smi_msg->data[i + 6], smi_msg->data_size - 6);
1777 smi_msg->data_size += 1 + i;
1779 smi_msg->msgid = msgid;
1782 static inline void format_lan_msg(struct ipmi_smi_msg *smi_msg,
1790 smi_msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2);
1791 smi_msg->data[1] = IPMI_SEND_MSG_CMD;
1792 smi_msg->data[2] = lan_addr->channel;
1793 smi_msg->data[3] = lan_addr->session_handle;
1794 smi_msg->data[4] = lan_addr->remote_SWID;
1795 smi_msg->data[5] = (msg->netfn << 2) | (lan_addr->lun & 0x3);
1796 smi_msg->data[6] = ipmb_checksum(&smi_msg->data[4], 2);
1797 smi_msg->data[7] = lan_addr->local_SWID;
1798 smi_msg->data[8] = (ipmb_seq << 2) | source_lun;
1799 smi_msg->data[9] = msg->cmd;
1803 memcpy(&smi_msg->data[10], msg->data, msg->data_len);
1804 smi_msg->data_size = msg->data_len + 10;
1807 smi_msg->data[smi_msg->data_size]
1808 = ipmb_checksum(&smi_msg->data[7], smi_msg->data_size - 7);
1814 smi_msg->data_size += 1;
1816 smi_msg->msgid = msgid;
1820 struct ipmi_smi_msg *smi_msg,
1825 list_add_tail(&smi_msg->link, &intf->hp_xmit_msgs);
1827 list_add_tail(&smi_msg->link, &intf->xmit_msgs);
1828 smi_msg = NULL;
1830 intf->curr_msg = smi_msg;
1833 return smi_msg;
1838 struct ipmi_smi_msg *smi_msg, int priority)
1845 smi_msg = smi_add_send_msg(intf, smi_msg, priority);
1850 if (smi_msg)
1851 handlers->sender(intf->send_info, smi_msg);
1866 struct ipmi_smi_msg *smi_msg,
1917 smi_msg->data[0] = (msg->netfn << 2) | (smi_addr->lun & 0x3);
1918 smi_msg->data[1] = msg->cmd;
1919 smi_msg->msgid = msgid;
1920 smi_msg->user_data = recv_msg;
1922 memcpy(&smi_msg->data[2], msg->data, msg->data_len);
1923 smi_msg->data_size = msg->data_len + 2;
1933 struct ipmi_smi_msg *smi_msg,
1993 format_ipmb_msg(smi_msg, msg, ipmb_addr, msgid,
2001 smi_msg->user_data = recv_msg;
2041 format_ipmb_msg(smi_msg, msg, ipmb_addr,
2050 memcpy(recv_msg->msg_data, smi_msg->data,
2051 smi_msg->data_size);
2053 recv_msg->msg.data_len = smi_msg->data_size;
2074 struct ipmi_smi_msg *smi_msg,
2121 format_lan_msg(smi_msg, msg, lan_addr, msgid,
2128 smi_msg->user_data = recv_msg;
2160 format_lan_msg(smi_msg, msg, lan_addr,
2168 memcpy(recv_msg->msg_data, smi_msg->data,
2169 smi_msg->data_size);
2171 recv_msg->msg.data_len = smi_msg->data_size;
2208 struct ipmi_smi_msg *smi_msg;
2224 smi_msg = (struct ipmi_smi_msg *) supplied_smi;
2226 smi_msg = ipmi_alloc_smi_msg();
2227 if (smi_msg == NULL) {
2253 rv = i_ipmi_req_sysintf(intf, addr, msgid, msg, smi_msg,
2256 rv = i_ipmi_req_ipmb(intf, addr, msgid, msg, smi_msg, recv_msg,
2260 rv = i_ipmi_req_lan(intf, addr, msgid, msg, smi_msg, recv_msg,
2270 ipmi_free_smi_msg(smi_msg);
2273 pr_debug("Send: %*ph\n", smi_msg->data_size, smi_msg->data);
2275 smi_send(intf, intf->handlers, smi_msg, priority);
4443 struct ipmi_smi_msg *smi_msg;
4452 smi_msg = list_entry(intf->waiting_rcv_msgs.next,
4454 list_del(&smi_msg->link);
4458 rv = handle_one_recv_msg(intf, smi_msg);
4469 list_add(&smi_msg->link, &intf->waiting_rcv_msgs);
4474 ipmi_free_smi_msg(smi_msg);
4594 struct ipmi_smi_msg *smi_msg = ipmi_alloc_smi_msg();
4595 if (!smi_msg)
4602 memcpy(smi_msg->data, recv_msg->msg.data, recv_msg->msg.data_len);
4603 smi_msg->data_size = recv_msg->msg.data_len;
4604 smi_msg->msgid = STORE_SEQ_IN_MSGID(seq, seqid);
4606 pr_debug("Resend: %*ph\n", smi_msg->data_size, smi_msg->data);
4608 return smi_msg;
4644 struct ipmi_smi_msg *smi_msg;
4655 smi_msg = smi_from_recv_msg(intf, ent->recv_msg, slot,
4657 if (!smi_msg) {
4684 smi_send(intf, intf->handlers, smi_msg, 0);
4686 ipmi_free_smi_msg(smi_msg);
4880 struct ipmi_smi_msg smi_msg;
4884 smi_msg.done = dummy_smi_done_handler;
4893 &smi_msg,