Jack-IRQ storm on resume

Holger Freyther 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.


The commit:

More information about the openmoko-kernel mailing list