• M
    V4L/DVB (8625): saa7134: Add NEC prococol IR decoding capability · 622ecb30
    Mauro Carvalho Chehab 提交于
    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: NGilberto <gilberto@sistemafenix.com.br>
    Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
    622ecb30
ir-common.h 6.2 KB