[Skiboot] [PATCH 3/3] xscom: Don't create PELs for non-severe read/write failures

Klaus Heinrich Kiwi klaus at linux.vnet.ibm.com
Thu Dec 5 10:00:07 AEDT 2019


On 12/4/2019 10:26 AM, Gautham R. Shenoy wrote
> -opal_call(OPAL_XSCOM_READ, xscom_read, 3);
> +static int opal_xscom_read(uint32_t partid, uint64_t pcb_addr, uint64_t *val)
> +{
> +	return _xscom_read(partid, pcb_addr, val, true, false);
> +}
> +opal_call(OPAL_XSCOM_READ, opal_xscom_read, 3);
>
>   int _xscom_write(uint32_t partid, uint64_t pcb_addr, uint64_t val, bool take_lock,
>   		 bool create_addr_elog)
> @@ -708,7 +712,12 @@ int _xscom_write(uint32_t partid, uint64_t pcb_addr, uint64_t val, bool take_loc
>   	}
>   	return rc;
>   }
> -opal_call(OPAL_XSCOM_WRITE, xscom_write, 3);
> +
> +static int opal_xscom_write(uint32_t partid, uint64_t pcb_addr, uint64_t val)
> +{
> +	return _xscom_write(partid, pcb_addr, val, true, false);
> +}
> +opal_call(OPAL_XSCOM_WRITE, opal_xscom_write, 3);
>
>   /*
>    * Perform a xscom read-modify-write.

if external calls will always suppress the error logs 
(create_addr_elog=false), and only internal calls will have the option 
to do the logging or not, wouldn't it be better to just create 
_fail/nofail versions of _xscom_read/write()?

you can use the _fail() versions when you want the failure to be logged, 
and the _nofail versions for when you don't want it to be logged, and 
for the default case..


  -Klaus

-- 
Klaus Heinrich Kiwi <klaus at linux.vnet.ibm.com>



More information about the Skiboot mailing list