Jack-IRQ storm on resume
zecke at openmoko.org
Wed Mar 26 03:37:34 CET 2008
On Wednesday 26 March 2008 02:26:35 Holger Freyther wrote:
> On Wednesday 26 March 2008 02:14:15 you wrote:
> > hey holger.
> > thanks for digging this up.
> > i agree, no need to set this to anything but 1 in kernel-init, suspend
> > or resume.
> > but please let the sysfs-entry in place
> > (/sys/devices/platform/neo1973-pm-gsm.0/download) so there is a way to
> > set it to 0 in case one really does a fw update.
> > eventually this should disable the jack-irq as long as its set to 0 ?
> > yes this is messy, but removing the sysfs entry completely would only
> > leave even uglier ways to toggle that line when in need.
> > so i am in favor of just setting it to 1 on resume and or disable the
> > irq when 0.
> Ah, thanks for the fishslap. I will come up with something different.
I grepped for nDL_GSM in the source and ignored the hits of the
neo1973_pm_gsm.c as I thought I had seen them...
The below commit is doing the following:
- Fix the download state:
1 for download active (nDL_GSM low)
0 for download not active (default, nDL_GSM high)
- Bite the bitter apple and do the layering violation and disable jack
interrupts while downloading is active.
- Remember the state of downloading. This assumes that the sysfs download
file is the only place we set nDL_GSM. Default is 1 and changed by sysfs
write to 'download'
- On suspend disable downloading
- On resume restore the value as of the saved state.
This makes the irq storm go away and looks like it could work, I will have to
find my gta01 headset somewhere and then test if we still get the jack when
we actually want it.
More information about the openmoko-kernel