[lkml]   [2018]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v1] i2c: tegra: Remove suspend-resume

> > Our I2C driver is based on the interrupt. So we have converted the
> > suspend/resume to suspend_noirq and reseume_noirq so that we will not allow the
> > transfer when system interrupt disabled in downstream.
> >           SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(tegra_i2c_suspend, tegra_i2c_resume)
> >
> > In shutdown path, where interrupt disabled and still need i2c, we use the
> > bit-bang method via GPIO for i2c transfer.
> In the current upstream kernel suspend/resume can't be simply moved to the
> 'noirq' stage because resume invokes tegra_i2c_init() which uses runtime PM and
> that doesn't work with the IRQ's being disabled. But things do not work even
> with the tegra_i2c_init() changed to work with the disabled IRQ's, like I wrote
> above the I2C transfer fails (due to timeout) and a "fix" for that failure was
> to remove reset_control_assert/deassert from the tegra_i2c_init(). So I'd go for
> a complete suspend/resume removal for now as it is causes problem.

Laxman, are you convinced or do you have still objections?

[unhandled content-type:application/pgp-signature]
 \ /
  Last update: 2018-05-29 20:07    [W:0.051 / U:25.872 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site