H A D | ipmi_msghandler.c | 1403 static inline void format_ipmb_msg(struct ipmi_smi_msg *smi_msg, format_ipmb_msg() argument 1415 smi_msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2); format_ipmb_msg() 1416 smi_msg->data[1] = IPMI_SEND_MSG_CMD; format_ipmb_msg() 1417 smi_msg->data[2] = ipmb_addr->channel; format_ipmb_msg() 1419 smi_msg->data[3] = 0; format_ipmb_msg() 1420 smi_msg->data[i+3] = ipmb_addr->slave_addr; format_ipmb_msg() 1421 smi_msg->data[i+4] = (msg->netfn << 2) | (ipmb_addr->lun & 0x3); format_ipmb_msg() 1422 smi_msg->data[i+5] = ipmb_checksum(&(smi_msg->data[i+3]), 2); format_ipmb_msg() 1423 smi_msg->data[i+6] = source_address; format_ipmb_msg() 1424 smi_msg->data[i+7] = (ipmb_seq << 2) | source_lun; format_ipmb_msg() 1425 smi_msg->data[i+8] = msg->cmd; format_ipmb_msg() 1429 memcpy(&(smi_msg->data[i+9]), msg->data, format_ipmb_msg() 1431 smi_msg->data_size = msg->data_len + 9; format_ipmb_msg() 1434 smi_msg->data[i+smi_msg->data_size] format_ipmb_msg() 1435 = ipmb_checksum(&(smi_msg->data[i+6]), format_ipmb_msg() 1436 smi_msg->data_size-6); format_ipmb_msg() 1442 smi_msg->data_size += 1 + i; format_ipmb_msg() 1444 smi_msg->msgid = msgid; format_ipmb_msg() 1447 static inline void format_lan_msg(struct ipmi_smi_msg *smi_msg, format_lan_msg() argument 1455 smi_msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2); format_lan_msg() 1456 smi_msg->data[1] = IPMI_SEND_MSG_CMD; format_lan_msg() 1457 smi_msg->data[2] = lan_addr->channel; format_lan_msg() 1458 smi_msg->data[3] = lan_addr->session_handle; format_lan_msg() 1459 smi_msg->data[4] = lan_addr->remote_SWID; format_lan_msg() 1460 smi_msg->data[5] = (msg->netfn << 2) | (lan_addr->lun & 0x3); format_lan_msg() 1461 smi_msg->data[6] = ipmb_checksum(&(smi_msg->data[4]), 2); format_lan_msg() 1462 smi_msg->data[7] = lan_addr->local_SWID; format_lan_msg() 1463 smi_msg->data[8] = (ipmb_seq << 2) | source_lun; format_lan_msg() 1464 smi_msg->data[9] = msg->cmd; format_lan_msg() 1468 memcpy(&(smi_msg->data[10]), msg->data, format_lan_msg() 1470 smi_msg->data_size = msg->data_len + 10; format_lan_msg() 1473 smi_msg->data[smi_msg->data_size] format_lan_msg() 1474 = ipmb_checksum(&(smi_msg->data[7]), format_lan_msg() 1475 smi_msg->data_size-7); format_lan_msg() 1481 smi_msg->data_size += 1; format_lan_msg() 1483 smi_msg->msgid = msgid; format_lan_msg() 1487 struct ipmi_smi_msg *smi_msg, smi_add_send_msg() 1492 list_add_tail(&smi_msg->link, &intf->hp_xmit_msgs); smi_add_send_msg() 1494 list_add_tail(&smi_msg->link, &intf->xmit_msgs); smi_add_send_msg() 1495 smi_msg = NULL; smi_add_send_msg() 1497 intf->curr_msg = smi_msg; smi_add_send_msg() 1500 return smi_msg; smi_add_send_msg() 1505 struct ipmi_smi_msg *smi_msg, int priority) smi_send() 1510 smi_msg = smi_add_send_msg(intf, smi_msg, priority); smi_send() 1515 smi_msg = smi_add_send_msg(intf, smi_msg, priority); smi_send() 1519 if (smi_msg) smi_send() 1520 handlers->sender(intf->send_info, smi_msg); smi_send() 1544 struct ipmi_smi_msg *smi_msg; i_ipmi_request() local 1559 smi_msg = (struct ipmi_smi_msg *) supplied_smi; i_ipmi_request() 1561 smi_msg = ipmi_alloc_smi_msg(); i_ipmi_request() 1562 if (smi_msg == NULL) { i_ipmi_request() 1637 smi_msg->data[0] = (msg->netfn << 2) | (smi_addr->lun & 0x3); i_ipmi_request() 1638 smi_msg->data[1] = msg->cmd; i_ipmi_request() 1639 smi_msg->msgid = msgid; i_ipmi_request() 1640 smi_msg->user_data = recv_msg; i_ipmi_request() 1642 memcpy(&(smi_msg->data[2]), msg->data, msg->data_len); i_ipmi_request() 1643 smi_msg->data_size = msg->data_len + 2; i_ipmi_request() 1710 format_ipmb_msg(smi_msg, msg, ipmb_addr, msgid, i_ipmi_request() 1718 smi_msg->user_data = recv_msg; i_ipmi_request() 1752 format_ipmb_msg(smi_msg, msg, ipmb_addr, i_ipmi_request() 1761 memcpy(recv_msg->msg_data, smi_msg->data, i_ipmi_request() 1762 smi_msg->data_size); i_ipmi_request() 1764 recv_msg->msg.data_len = smi_msg->data_size; i_ipmi_request() 1824 format_lan_msg(smi_msg, msg, lan_addr, msgid, i_ipmi_request() 1831 smi_msg->user_data = recv_msg; i_ipmi_request() 1865 format_lan_msg(smi_msg, msg, lan_addr, i_ipmi_request() 1873 memcpy(recv_msg->msg_data, smi_msg->data, i_ipmi_request() 1874 smi_msg->data_size); i_ipmi_request() 1876 recv_msg->msg.data_len = smi_msg->data_size; i_ipmi_request() 1898 for (m = 0; m < smi_msg->data_size; m++) i_ipmi_request() 1899 printk(" %2.2x", smi_msg->data[m]); i_ipmi_request() 1904 smi_send(intf, intf->handlers, smi_msg, priority); i_ipmi_request() 1911 ipmi_free_smi_msg(smi_msg); i_ipmi_request() 3805 struct ipmi_smi_msg *smi_msg; handle_new_recv_msgs() local 3814 smi_msg = list_entry(intf->waiting_rcv_msgs.next, handle_new_recv_msgs() 3819 rv = handle_one_recv_msg(intf, smi_msg); handle_new_recv_msgs() 3829 list_del(&smi_msg->link); handle_new_recv_msgs() 3832 ipmi_free_smi_msg(smi_msg); handle_new_recv_msgs() 3988 struct ipmi_smi_msg *smi_msg = ipmi_alloc_smi_msg(); smi_from_recv_msg() local 3989 if (!smi_msg) smi_from_recv_msg() 3996 memcpy(smi_msg->data, recv_msg->msg.data, recv_msg->msg.data_len); smi_from_recv_msg() 3997 smi_msg->data_size = recv_msg->msg.data_len; smi_from_recv_msg() 3998 smi_msg->msgid = STORE_SEQ_IN_MSGID(seq, seqid); smi_from_recv_msg() 4004 for (m = 0; m < smi_msg->data_size; m++) smi_from_recv_msg() 4005 printk(" %2.2x", smi_msg->data[m]); smi_from_recv_msg() 4009 return smi_msg; smi_from_recv_msg() 4044 struct ipmi_smi_msg *smi_msg; check_msg_timeout() local 4055 smi_msg = smi_from_recv_msg(intf, ent->recv_msg, slot, check_msg_timeout() 4057 if (!smi_msg) { check_msg_timeout() 4085 smi_send(intf, intf->handlers, smi_msg, 0); check_msg_timeout() 4087 ipmi_free_smi_msg(smi_msg); check_msg_timeout() 4273 struct ipmi_smi_msg smi_msg; ipmi_panic_request_and_wait() local 4277 smi_msg.done = dummy_smi_done_handler; ipmi_panic_request_and_wait() 4286 &smi_msg, ipmi_panic_request_and_wait() 1486 smi_add_send_msg(ipmi_smi_t intf, struct ipmi_smi_msg *smi_msg, int priority) smi_add_send_msg() argument 1504 smi_send(ipmi_smi_t intf, struct ipmi_smi_handlers *handlers, struct ipmi_smi_msg *smi_msg, int priority) smi_send() argument
|