Re: [PATCH] fsi: scom: Don't abort operations for minor errors

2019-08-21 Thread Joel Stanley
On Wed, 21 Aug 2019 at 05:26, Benjamin Herrenschmidt
 wrote:
>
> On Thu, 2019-08-15 at 14:08 -0500, Eddie James wrote:
> > The scom driver currently fails out of operations if certain system
> > errors are flagged in the status register; system checkstop, special
> > attention, or recoverable error. These errors won't impact the ability
> > of the scom engine to perform operations, so the driver should continue
> > under these conditions.
> > Also, don't do a PIB reset for these conditions, since it won't help.
> >
> > Signed-off-by: Eddie James 
>
> Acked-by: Benjamin Herrenschmidt 

Thanks Ben.  We also have one from jk which was sent to the openbmc list:

Acked-by: Jeremy Kerr 

And we can add:

Fixes: 6b293258cded ("fsi: scom: Major overhaul")

I'll stick this in the FSI tree.

Cheers,

Joel

>
> > ---
> >  drivers/fsi/fsi-scom.c | 8 +---
> >  1 file changed, 1 insertion(+), 7 deletions(-)
> >
> > diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c
> > index 343153d..004dc03 100644
> > --- a/drivers/fsi/fsi-scom.c
> > +++ b/drivers/fsi/fsi-scom.c
> > @@ -38,8 +38,7 @@
> >  #define SCOM_STATUS_PIB_RESP_MASK0x7000
> >  #define SCOM_STATUS_PIB_RESP_SHIFT   12
> >
> > -#define SCOM_STATUS_ANY_ERR  (SCOM_STATUS_ERR_SUMMARY | \
> > -  SCOM_STATUS_PROTECTION | \
> > +#define SCOM_STATUS_ANY_ERR  (SCOM_STATUS_PROTECTION | \
> >SCOM_STATUS_PARITY | \
> >SCOM_STATUS_PIB_ABORT | \
> >SCOM_STATUS_PIB_RESP_MASK)
> > @@ -251,11 +250,6 @@ static int handle_fsi2pib_status(struct scom_device 
> > *scom, uint32_t status)
> >   /* Return -EBUSY on PIB abort to force a retry */
> >   if (status & SCOM_STATUS_PIB_ABORT)
> >   return -EBUSY;
> > - if (status & SCOM_STATUS_ERR_SUMMARY) {
> > - fsi_device_write(scom->fsi_dev, SCOM_FSI2PIB_RESET_REG, 
> > ,
> > -  sizeof(uint32_t));
> > - return -EIO;
> > - }
> >   return 0;
> >  }
> >
>


Re: [PATCH] fsi: scom: Don't abort operations for minor errors

2019-08-20 Thread Benjamin Herrenschmidt
On Thu, 2019-08-15 at 14:08 -0500, Eddie James wrote:
> The scom driver currently fails out of operations if certain system
> errors are flagged in the status register; system checkstop, special
> attention, or recoverable error. These errors won't impact the ability
> of the scom engine to perform operations, so the driver should continue
> under these conditions.
> Also, don't do a PIB reset for these conditions, since it won't help.
> 
> Signed-off-by: Eddie James 

Acked-by: Benjamin Herrenschmidt 

> ---
>  drivers/fsi/fsi-scom.c | 8 +---
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c
> index 343153d..004dc03 100644
> --- a/drivers/fsi/fsi-scom.c
> +++ b/drivers/fsi/fsi-scom.c
> @@ -38,8 +38,7 @@
>  #define SCOM_STATUS_PIB_RESP_MASK0x7000
>  #define SCOM_STATUS_PIB_RESP_SHIFT   12
>  
> -#define SCOM_STATUS_ANY_ERR  (SCOM_STATUS_ERR_SUMMARY | \
> -  SCOM_STATUS_PROTECTION | \
> +#define SCOM_STATUS_ANY_ERR  (SCOM_STATUS_PROTECTION | \
>SCOM_STATUS_PARITY | \
>SCOM_STATUS_PIB_ABORT | \
>SCOM_STATUS_PIB_RESP_MASK)
> @@ -251,11 +250,6 @@ static int handle_fsi2pib_status(struct scom_device 
> *scom, uint32_t status)
>   /* Return -EBUSY on PIB abort to force a retry */
>   if (status & SCOM_STATUS_PIB_ABORT)
>   return -EBUSY;
> - if (status & SCOM_STATUS_ERR_SUMMARY) {
> - fsi_device_write(scom->fsi_dev, SCOM_FSI2PIB_RESET_REG, ,
> -  sizeof(uint32_t));
> - return -EIO;
> - }
>   return 0;
>  }
>