Re: [PATCH] i2c: omap: fix spurious IRQs: disable/enable IRQ at INTC when idle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

ma, 2012-10-15 kello 18:02 -0700, Tony Lindgren kirjoitti:
> * Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> [121015 10:32]:
> > Kalle Jokiniemi <kalle.jokiniemi@xxxxxxxxxxxxxxx> writes:
> > >
> > > Does not work for me :(
> > >
> > > As I said, the issue occurs for me when I enter static suspend (echo mem
> > >> /sys/power/autosleep or /sys/power/state). I don't think doing this
> > > just in runtime pm will fix my issue. Or do those handlers get run in
> > > the normal suspend path as well?
> > 
> > If the I2C device is still active during the suspend path, these
> > handlers will get run by the PM domain code (in omap_device.)  However,
> > now that I think about it, the current omap_device PM domain code calls
> > these at the noirq level, not the late/early level, so it does not
> > address your original problem. :(
> > 
> > I suspect we'll need this and your original patch.
> 
> Have you checked that this is not related to flushing the posted
> write? If it is, reading back any register from the i2c controller
> after writing to it ensures the write actually reaches the i2c
> controller.

The twl4030-irq handler (handle_twl4030_pih) function just reads the PIH
irq status over the i2c and calls handle_nested_irq for each set module
(like USB, GPIO, etc) irq bit. This does not clear the interrupt
however, that is done in the nested interrupt, once it runs (by clearing
the actual interrupt inside the module).

I'm thinking now that it's actually this PIH handler that should be
postponed until resume_noirq has finished. I had another idea as well
yesterday to mark the secondary irq handlers with IRQF_EARLY_RESUME
flag. Though that did not work on the quick test I did. Anyway new patch
coming soon :)

- Kalle

> 
> Regards,
> 
> Tony


--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux