[Skiboot] [PATCH v3 1/3] hw/bt: Introduce separate list for synchronous messages
Stewart Smith
stewart at linux.ibm.com
Mon Mar 4 14:09:26 AEDT 2019
Vasant Hegde <hegdevasant at linux.vnet.ibm.com> writes:
> 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 at gmail.com>
> Suggested-by: Stewart Smith <stewart at linux.ibm.com>
> Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
> ---
> hw/bt.c | 108 +++++++++++++++++++++++++++++++++++++---------------------------
> 1 file changed, 63 insertions(+), 45 deletions(-)
Thanks! Series merged to master as of c0ab7b45db3dc44daf001f61324bd1418091dede
--
Stewart Smith
OPAL Architect, IBM.
More information about the Skiboot
mailing list