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

Eddie James eajames at linux.vnet.ibm.com
Wed Aug 9 00:42:10 AEST 2017



On 08/08/2017 07:24 AM, Joel Stanley wrote:
> 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.

That is correct, I did not want to check the return value.

Thanks,
Eddie

>
> Cheers,
>
> Joel
>



More information about the openbmc mailing list