[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