diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2019-02-28 08:30:08 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2019-03-01 16:00:59 +1100 |
commit | 61978c2c54d082b6f29f492e898e59d6198cfb5f (patch) | |
tree | 55136319b67166785b863877b0c68c988f6de1ce /core/ipmi.c | |
parent | 4f0ceb63e951a74e2f49f8054fab17cd029a70a1 (diff) | |
download | skiboot-61978c2c54d082b6f29f492e898e59d6198cfb5f.zip skiboot-61978c2c54d082b6f29f492e898e59d6198cfb5f.tar.gz skiboot-61978c2c54d082b6f29f492e898e59d6198cfb5f.tar.bz2 |
hw/bt: Introduce separate list for synchronous messages
BT send logic always sends top of bt message list to BMC. Once BMC reads the
message, it clears the interrupt and bt_idle() becomes true.
bt_add_ipmi_msg_head() adds message to top of the list. If bt message list
is not empty then:
- if bt_idle() is true then we will endup sending message to BMC before
getting response from BMC for inflight message. Looks like on some
BMC implementation this results in message timeout.
- else we endup starting message timer without actually sending message
to BMC.. which is not correct.
This patch introduces separate list to track synchronous messages.
bt_add_ipmi_msg_head() will add messages to tail of this new list. We
will always process this queue before processing normal queue.
Finally this patch introduces new variable (inflight_bt_msg) to track
inflight message. This will point to current inflight message.
Suggested-by: Oliver O'Halloran <oohall@gmail.com>
Suggested-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'core/ipmi.c')
0 files changed, 0 insertions, 0 deletions