lkml.org 
[lkml]   [2005]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [spi-devel-general] Re: [PATCH 2.6-git 0/4] SPI core refresh
Date
> On Mon, 2005-12-12 at 19:01 +0100, Rui Sousa wrote:
> > How do you handle IRQ's generated by a SPI device (e.g ack the
> > interrupt, check if it was the SPI device that generated the
> > interrupt, ...) if you can't read/write on the SPI bus from interrupt
> > context?

I don't understand the question. The SPI controller may be busy
handling transactions for a different device, so the best you
could do from _any_ IRQ handler is to queue some messages that
will get to the IRQ-issuing device sometime later. It's not
possible to make the other transactions finish any faster, or
abort them safely mid-transfer.

The way the ads7846 driver handles it, for example, is to issue
a transaction collecting a bunch of touchscreen sensor readings.
And disable its (nonsharable) irq, since the interrupt will be
raised for some time and there's no portable way for Linux to
force the IRQ to trigger only on the relevant edge.

See the 2.6.15-rc5-mm1 patches...

- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-12-13 17:40    [W:0.087 / U:3.668 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site