linux/drivers/media/video/saa7134
Mauro Carvalho Chehab 622ecb3003 V4L/DVB (8625): saa7134: Add NEC prococol IR decoding capability
This patch adds the capability of decoding NEC protocol, received via GPIO18 line.
This GPIO port can trigger saa7134 IRQ.

A future improvement would be to make it a little more generic to work also
with GPIO16 line.

A pure IRQ code didn't work, since some delays were introduced on the tests we
did.

A possible approach would be to use polling at a rate of 2.5 ms or less. If a
new code were taken, a code similar to nec_task() could be used. However, this
would add an extra overhead to kernel, and will consume more power.

Due to that, we took an hybrid approach: an IRQ upper half to trigger when a
new key is received and a bottom half to convert pulse-distance into a keycode.

The bottom half is polling based, to improve performance. During the bottom
half proccess, GPIO18 IRQ line is disabled, preventing IRQ reentrancy and
improving performance a little bit.

Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this
development.

Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:47 -02:00
..
Kconfig V4L/DVB (8534): remove select's of FW_LOADER 2008-07-27 12:24:37 -03:00
Makefile V4L/DVB(7767): Move tuners to common/tuners 2008-04-29 18:41:37 -03:00
saa6752hs.c v4l-dvb: remove legacy checks to allow support for kernels < 2.6.10 2008-07-20 07:17:52 -03:00
saa7134-alsa.c ALSA: Kill snd_assert() in other places 2008-08-13 11:46:40 +02:00
saa7134-cards.c V4L/DVB (8496): saa7134: Copy tuner data earlier in init to avoid overwriting manual tuner type 2008-07-26 13:18:23 -03:00
saa7134-core.c V4L/DVB (8523): v4l2-dev: remove unused type and type2 field from video_device 2008-07-27 11:07:10 -03:00
saa7134-dvb.c V4L/DVB (8244): saa7134: add support for AVerMedia M103 2008-07-20 07:18:29 -03:00
saa7134-empress.c V4L/DVB (8613): v4l: move BKL down to the driver level. 2008-10-12 09:36:47 -02:00
saa7134-i2c.c V4L/DVB (8151): saa7134-empress: fix MPEG control support 2008-07-20 07:14:23 -03:00
saa7134-input.c V4L/DVB (8625): saa7134: Add NEC prococol IR decoding capability 2008-10-12 09:36:47 -02:00
saa7134-reg.h V4L/DVB (8019): New for I2S on for MPEG of saa7134_empress 2008-07-20 07:09:03 -03:00
saa7134-ts.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7134-tvaudio.c v4l-dvb: remove legacy checks to allow support for kernels < 2.6.10 2008-07-20 07:17:52 -03:00
saa7134-vbi.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7134-video.c V4L/DVB (8613): v4l: move BKL down to the driver level. 2008-10-12 09:36:47 -02:00
saa7134.h V4L/DVB (8506): empress: fix control handling oops 2008-07-27 11:06:25 -03:00