Lines Matching defs:smi_msg
1787 static inline void format_ipmb_msg(struct ipmi_smi_msg *smi_msg,
1799 smi_msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2);
1800 smi_msg->data[1] = IPMI_SEND_MSG_CMD;
1801 smi_msg->data[2] = ipmb_addr->channel;
1803 smi_msg->data[3] = 0;
1804 smi_msg->data[i+3] = ipmb_addr->slave_addr;
1805 smi_msg->data[i+4] = (msg->netfn << 2) | (ipmb_addr->lun & 0x3);
1806 smi_msg->data[i+5] = ipmb_checksum(&smi_msg->data[i + 3], 2);
1807 smi_msg->data[i+6] = source_address;
1808 smi_msg->data[i+7] = (ipmb_seq << 2) | source_lun;
1809 smi_msg->data[i+8] = msg->cmd;
1813 memcpy(&smi_msg->data[i + 9], msg->data, msg->data_len);
1814 smi_msg->data_size = msg->data_len + 9;
1817 smi_msg->data[i+smi_msg->data_size]
1818 = ipmb_checksum(&smi_msg->data[i + 6], smi_msg->data_size - 6);
1824 smi_msg->data_size += 1 + i;
1826 smi_msg->msgid = msgid;
1829 static inline void format_lan_msg(struct ipmi_smi_msg *smi_msg,
1837 smi_msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2);
1838 smi_msg->data[1] = IPMI_SEND_MSG_CMD;
1839 smi_msg->data[2] = lan_addr->channel;
1840 smi_msg->data[3] = lan_addr->session_handle;
1841 smi_msg->data[4] = lan_addr->remote_SWID;
1842 smi_msg->data[5] = (msg->netfn << 2) | (lan_addr->lun & 0x3);
1843 smi_msg->data[6] = ipmb_checksum(&smi_msg->data[4], 2);
1844 smi_msg->data[7] = lan_addr->local_SWID;
1845 smi_msg->data[8] = (ipmb_seq << 2) | source_lun;
1846 smi_msg->data[9] = msg->cmd;
1850 memcpy(&smi_msg->data[10], msg->data, msg->data_len);
1851 smi_msg->data_size = msg->data_len + 10;
1854 smi_msg->data[smi_msg->data_size]
1855 = ipmb_checksum(&smi_msg->data[7], smi_msg->data_size - 7);
1861 smi_msg->data_size += 1;
1863 smi_msg->msgid = msgid;
1867 struct ipmi_smi_msg *smi_msg,
1872 list_add_tail(&smi_msg->link, &intf->hp_xmit_msgs);
1874 list_add_tail(&smi_msg->link, &intf->xmit_msgs);
1875 smi_msg = NULL;
1877 intf->curr_msg = smi_msg;
1880 return smi_msg;
1885 struct ipmi_smi_msg *smi_msg, int priority)
1892 smi_msg = smi_add_send_msg(intf, smi_msg, priority);
1897 if (smi_msg)
1898 handlers->sender(intf->send_info, smi_msg);
1913 struct ipmi_smi_msg *smi_msg,
1964 smi_msg->data[0] = (msg->netfn << 2) | (smi_addr->lun & 0x3);
1965 smi_msg->data[1] = msg->cmd;
1966 smi_msg->msgid = msgid;
1967 smi_msg->user_data = recv_msg;
1969 memcpy(&smi_msg->data[2], msg->data, msg->data_len);
1970 smi_msg->data_size = msg->data_len + 2;
1980 struct ipmi_smi_msg *smi_msg,
2040 format_ipmb_msg(smi_msg, msg, ipmb_addr, msgid,
2048 smi_msg->user_data = recv_msg;
2088 format_ipmb_msg(smi_msg, msg, ipmb_addr,
2097 memcpy(recv_msg->msg_data, smi_msg->data,
2098 smi_msg->data_size);
2100 recv_msg->msg.data_len = smi_msg->data_size;
2121 struct ipmi_smi_msg *smi_msg,
2148 smi_msg->type = IPMI_SMI_MSG_TYPE_IPMB_DIRECT;
2149 smi_msg->msgid = msgid;
2152 smi_msg->data[0] = msg->netfn << 2 | daddr->rs_lun;
2153 smi_msg->data[2] = recv_msg->msgid << 2 | daddr->rq_lun;
2155 smi_msg->data[0] = msg->netfn << 2 | daddr->rq_lun;
2156 smi_msg->data[2] = recv_msg->msgid << 2 | daddr->rs_lun;
2158 smi_msg->data[1] = daddr->slave_addr;
2159 smi_msg->data[3] = msg->cmd;
2161 memcpy(smi_msg->data + 4, msg->data, msg->data_len);
2162 smi_msg->data_size = msg->data_len + 4;
2164 smi_msg->user_data = recv_msg;
2173 struct ipmi_smi_msg *smi_msg,
2220 format_lan_msg(smi_msg, msg, lan_addr, msgid,
2227 smi_msg->user_data = recv_msg;
2259 format_lan_msg(smi_msg, msg, lan_addr,
2267 memcpy(recv_msg->msg_data, smi_msg->data,
2268 smi_msg->data_size);
2270 recv_msg->msg.data_len = smi_msg->data_size;
2307 struct ipmi_smi_msg *smi_msg;
2331 smi_msg = supplied_smi;
2333 smi_msg = ipmi_alloc_smi_msg();
2334 if (smi_msg == NULL) {
2360 rv = i_ipmi_req_sysintf(intf, addr, msgid, msg, smi_msg,
2363 rv = i_ipmi_req_ipmb(intf, addr, msgid, msg, smi_msg, recv_msg,
2367 rv = i_ipmi_req_ipmb_direct(intf, addr, msgid, msg, smi_msg,
2370 rv = i_ipmi_req_lan(intf, addr, msgid, msg, smi_msg, recv_msg,
2380 ipmi_free_smi_msg(smi_msg);
2384 smi_msg->data_size, smi_msg->data);
2386 smi_send(intf, intf->handlers, smi_msg, priority);
4759 struct ipmi_smi_msg *smi_msg;
4768 smi_msg = list_entry(intf->waiting_rcv_msgs.next,
4770 list_del(&smi_msg->link);
4774 rv = handle_one_recv_msg(intf, smi_msg);
4785 list_add(&smi_msg->link, &intf->waiting_rcv_msgs);
4790 ipmi_free_smi_msg(smi_msg);
4910 struct ipmi_smi_msg *smi_msg = ipmi_alloc_smi_msg();
4911 if (!smi_msg)
4918 memcpy(smi_msg->data, recv_msg->msg.data, recv_msg->msg.data_len);
4919 smi_msg->data_size = recv_msg->msg.data_len;
4920 smi_msg->msgid = STORE_SEQ_IN_MSGID(seq, seqid);
4923 smi_msg->data_size, smi_msg->data);
4925 return smi_msg;
4961 struct ipmi_smi_msg *smi_msg;
4972 smi_msg = smi_from_recv_msg(intf, ent->recv_msg, slot,
4974 if (!smi_msg) {
5001 smi_send(intf, intf->handlers, smi_msg, 0);
5003 ipmi_free_smi_msg(smi_msg);
5198 struct ipmi_smi_msg smi_msg;
5202 smi_msg.done = dummy_smi_done_handler;
5211 &smi_msg,