linux/include/media
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
..
cs53l32a.h
cs5345.h
cx2341x.h V4L/DVB (8105): cx2341x: add TS capability 2008-07-20 07:11:55 -03:00
cx25840.h
i2c-addr.h
ir-common.h V4L/DVB (8625): saa7134: Add NEC prococol IR decoding capability 2008-10-12 09:36:47 -02:00
ir-kbd-i2c.h V4L/DVB (8395): saa7134: Fix Kbuild dependency of ir-kbd-i2c 2008-07-20 07:29:03 -03:00
m52790.h
msp3400.h
ovcamchip.h
pwc-ioctl.h v4l-dvb: remove legacy checks to allow support for kernels < 2.6.10 2008-07-20 07:17:52 -03:00
rds.h
saa6752hs.h
saa7115.h
saa7127.h
saa7146_vv.h V4L/DVB (8430): videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.h 2008-07-23 19:00:17 -03:00
saa7146.h V4L/DVB (8128): saa7146: ->cpu_addr and friends are little-endian 2008-07-20 07:13:14 -03:00
sh_mobile_ceu.h V4L/DVB (8342): sh_mobile_ceu_camera: Add SuperH Mobile CEU driver V3 2008-07-20 07:25:43 -03:00
soc_camera_platform.h V4L/DVB (8343): soc_camera_platform: Add SoC Camera Platform driver 2008-07-20 07:25:49 -03:00
soc_camera.h V4L/DVB (8610): Add suspend/resume capabilities to soc_camera. 2008-08-06 06:57:32 -03:00
tuner-types.h
tuner.h
tvaudio.h
tveeprom.h V4L/DVB (8479): tveeprom/ivtv: fix usage of has_ir field 2008-07-26 12:54:42 -03:00
tvp5150.h
upd64031a.h
upd64083.h
v4l2-chip-ident.h V4L/DVB (8477): v4l: remove obsolete audiochip.h 2008-07-26 12:54:40 -03:00
v4l2-common.h V4L/DVB (8434): Fix x86_64 compilation and move some macros to v4l2-ioctl.h 2008-07-23 19:00:22 -03:00
v4l2-dev.h V4L/DVB (8525): fix a few assorted spelling mistakes. 2008-07-27 11:07:13 -03:00
v4l2-i2c-drv-legacy.h v4l-dvb: remove legacy checks to allow support for kernels < 2.6.10 2008-07-20 07:17:52 -03:00
v4l2-i2c-drv.h
v4l2-int-device.h
v4l2-ioctl.h V4L/DVB (8482): videodev: move all ioctl callbacks to a new v4l2_ioctl_ops struct 2008-07-26 12:54:58 -03:00
videobuf-core.h
videobuf-dma-contig.h V4L/DVB (8341): videobuf: Add physically contiguous queue code V3 2008-07-20 07:25:37 -03:00
videobuf-dma-sg.h V4L/DVB (8340): videobuf: Fix gather spelling 2008-07-20 07:25:32 -03:00
videobuf-dvb.h
videobuf-vmalloc.h V4L/DVB (8340): videobuf: Fix gather spelling 2008-07-20 07:25:32 -03:00
wm8775.h