Re: Threaded interrupts for synaptic touchscreen in HTC dream

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

 



On Tue, Jul 21, 2009 at 10:30:26PM +0200, Thomas Gleixner wrote:
> On Tue, 21 Jul 2009, Dmitry Torokhov wrote:
> 
> > On Tue, Jul 21, 2009 at 01:49:33PM +0100, Mark Brown wrote:
> > > On Tue, Jul 21, 2009 at 06:00:07PM +0530, Trilok Soni wrote:
> > > 
> > > > Hopefully, this thread can give all details about threaded irq discussion.
> > > 
> > > > http://lkml.org/lkml/2009/2/27/255
> > > 
> > > Yes, I'm aware of that - I read it at the time.  It seemed to peter out
> > > without any satisfactory solution, unfortunately.  There's two separate
> > > issues here:
> > > 
> > >  - Ordinary devices on interrupt driven or slow buses like I2C.  These
> > >    need something along the lines of request_threaded_irq() that's allows
> > >    them to schedule the main IRQ handler outside hardirq context so
> > >    that they can interact with the device.  They need to do something in
> > >    hardirq context to disable the interrupt if it's level triggered but
> > >    most of the time the only option they've got is to disable the IRQ
> > >    and reenable it when the worker thread is done.  This is the issue
> > >    here.
> 
> There is already a sane solution to the problem:
> 
>       See http://lkml.org/lkml/2009/7/17/174 
> 
> > >    My immediate thought when I noticed this was that we should probably
> > >    fix request_threaded_irq() so that it's useful for them; I'd been
> > >    intending to do some digging and try to understand why it is
> > >    currently implemented as it is.
> 
> What's to fix there ? 
>  

duisable_irq_nosync() in the hard interrupt handler stops the thread
handler from running. Unfortunately there are devices where it is the
only thing we can do in the hard interrupt.

-- 
Dmitry
--
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