[PATCH linux dev-4.7 v2] drivers/fsi: Add delay before sampling input on SDA

Christopher Bostic cbostic at linux.vnet.ibm.com
Wed Mar 22 04:14:35 AEDT 2017

On 3/20/17 7:57 PM, Jeremy Kerr wrote:
> Hi Chris,
>> The echo delay in the driver clocks '1's on the line so as long as the
>> echo_delay() utility is used there is no risk of random data in this
>> phase.
> Ah, I'd missed the set_sda_output(1), there. That should be fine then.
>> Yes that's true, cpu load shouldn't be a factor in this case then. The
>> failure mode is during the sampling of input data during the slave
>> response phase of the command.  CRC received does not match the CRC
>> calculated due to bit flips
>> related to sampling/clocking timing issues.  This problem only appears
>> when hostboot is accessing the BMC.  Increasing delay does correct the
>> issue.  I don't have a good explanation for why this timing behavior
>> occurs given its not cpu load related.
> My concern here is that with such a dramatic change in timing there
> (200x), and not knowing what the underlying problem is, we're just
> making the issue less likely to occur, rather than fixing it.
Hi Jeremy,

I understand your concern here.  I agree we need to understand the
root cause.  I'll open up an issue to track this.
> Do you know if we have access to HW folks to scope the data & clock? We
> could set a GPIO when we see a CRC error, to use as an external
> trigger...
I'll ask around and see what can be done.  Taking a snap shot at time
of recreate should be enough to see what's going on in clock and
data timing when we fail, seems to be fairly consistent under some
hostboot access of PNOR conditions.

> Cheers,
> Jeremy

More information about the openbmc mailing list