[lkml]   [2005]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [spi-devel-general] Re: [PATCH 2.6-git 0/4] SPI core refresh
> 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
More majordomo info at
Please read the FAQ at

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