[PATCH linux dev-4.10] drivers/fsi/scom: Remove reset before every putscom

Joel Stanley joel at jms.id.au
Tue Aug 8 22:24:42 AEST 2017


Hello Eddie,

On Sat, Jul 29, 2017 at 12:30 AM, Eddie James
<eajames at linux.vnet.ibm.com> wrote:
> On 07/27/2017 09:10 PM, Jeremy Kerr wrote:
>>> Reset causes problems for operations requiring multiple scoms (e.g. i2c
>>> over scom). Instead, reset scom engine during probe.
>>
>> Looks good to me. Out of curiosity, what kind of problems?
>
>
> Mainly I2C bus arbitration errors. I guess the reset interrupted the I2C
> clock line control during an operation.

I've applied this to dev-4.10. One clarification:

> @@ -202,6 +197,9 @@ static int scom_probe(struct device *dev)
>         scom->mdev.parent = dev;
>         list_add(&scom->link, &scom_devices);
>
> +       data = cpu_to_be32(SCOM_RESET_CMD);
> +       fsi_device_write(fsi_dev, SCOM_RESET_REG, &data, sizeof(uint32_t));
> +
>         return misc_register(&scom->mdev);

I wanted to check that you were ignoring the return value of
fsi_device_write here intentionally. If not, please send a follow up
that adds a check.

Cheers,

Joel


More information about the openbmc mailing list