[Skiboot] [PATCH V2] FSP: Reset the response outstanding bitmap on reset start
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Dec 10 17:46:14 AEDT 2014
On Wed, 2014-12-10 at 10:32 +0530, Ananth N Mavinakayanahalli wrote:
> Once we have the FSP in reset, we don't expect it to respond to any
> outstanding mbox commands for which we are expecting one. Reset the
> bitmap to reflect the same.
>
> While there, remove the stale comment about timeout resets. We use
> the fsp_cmdclass->timeout as a constant for all classes and a value
> 0 indicates an invalid class entry in the discontiguous fsp_cmdclass[].
> The bitmap is what gates whether we process outstanding messages in
> the class.
That will do for now, though I'm not sure what's supposed to happen when
we have a second FSP to take over but let's ignore that :-)
Ack.
> Signed-off-by: Ananth N Mavinakayanahalli <ananth at in.ibm.com>
> ---
> hw/fsp/fsp.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/hw/fsp/fsp.c b/hw/fsp/fsp.c
> index 1bc236c..527991a 100644
> --- a/hw/fsp/fsp.c
> +++ b/hw/fsp/fsp.c
> @@ -349,13 +349,17 @@ static void fsp_reset_cmdclass(void)
> int i;
> struct fsp_msg *msg;
>
> + /*
> + * The FSP is in reset and hence we can't expect any response
> + * to outstanding messages that we've already sent. Clear the
> + * bitmap to reflect that.
> + */
> + fsp_cmdclass_resp_bitmask = 0;
> for (i = 0; i <= (FSP_MCLASS_LAST - FSP_MCLASS_FIRST); i++) {
> struct fsp_cmdclass *cmdclass = &fsp_cmdclass[i];
> cmdclass->busy = false;
> cmdclass->timesent = 0;
>
> - /* We also need to reset the 'timeout' timers here */
> -
> /* Make sure the message queue is empty */
> while(!list_empty(&cmdclass->msgq)) {
> msg = list_pop(&cmdclass->msgq, struct fsp_msg,
>
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot
More information about the Skiboot
mailing list