Lines Matching refs:smi_msg

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