[Skiboot] [PATCH V2 1/4] nvlink: Clear error registers at the end of the reset procedure

Alistair Popple alistair at popple.id.au
Wed Jan 20 15:33:09 AEDT 2016


Thanks Russell.

Acked-By: Alistair Popple <alistair at popple.id.au>

On Mon, 18 Jan 2016 16:59:39 Russell Currey wrote:
> Once the NPU has been reset, it should no longer have any fixable errors.
> Clear any relevant error registers at the end of the reset procedure.
> 
> There may be other error registers that should be cleared, if found they
> will be added later.
> 
> Signed-off-by: Russell Currey <ruscur at russell.cc>
> ---
> V2: Iterate up to NPU_NUM_OF_PES instead of total devices
> ---
>  hw/npu-hw-procedures.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/hw/npu-hw-procedures.c b/hw/npu-hw-procedures.c
> index 24f3b2c..ba87d43 100644
> --- a/hw/npu-hw-procedures.c
> +++ b/hw/npu-hw-procedures.c
> @@ -154,6 +154,12 @@ static uint32_t reset_npu_dl(struct npu_dev *npu_dev)
>  	xscom_write(npu_dev->npu->chip_id, npu_dev->xscom + NX_TL_CMD_D_CR, PPC_BIT(0));
>  	xscom_write(npu_dev->npu->chip_id, npu_dev->xscom + NX_TL_RSP_CR, PPC_BIT(15));
>  	xscom_write(npu_dev->npu->chip_id, npu_dev->xscom + NX_TL_RSP_D_CR, PPC_BIT(15));
> +
> +	/* Reset error registers.  TODO: are there more we should clear here? */
> +	npu_ioda_sel(npu_dev->npu, NPU_IODA_TBL_PESTB, 0, true);
> +	for (val = 0; val < NPU_NUM_OF_PES; val++)
> +		out_be64(npu_dev->npu->at_regs + NPU_IODA_DATA0, 0);
> +
>  	return PROCEDURE_COMPLETE;
>  }
>  DEFINE_PROCEDURE(reset_npu_dl);
> 



More information about the Skiboot mailing list