diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2019-02-28 08:30:08 +0530 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2019-03-04 21:36:25 +0530 |
commit | 788c9ac2b926549fa1a2807956e7a2a1ec69c335 (patch) | |
tree | 5e3568ee36a792985f5ea063ca9d48cfd65e2ee3 /include | |
parent | 0fe8ecd59fc0ce1351ef76a21055212ec3725957 (diff) | |
download | skiboot-788c9ac2b926549fa1a2807956e7a2a1ec69c335.zip skiboot-788c9ac2b926549fa1a2807956e7a2a1ec69c335.tar.gz skiboot-788c9ac2b926549fa1a2807956e7a2a1ec69c335.tar.bz2 |
hw/bt: Introduce separate list for synchronous messages
[ Upstream commit 61978c2c54d082b6f29f492e898e59d6198cfb5f ]
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>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions