ecba77f246
The IR chip has no address decoding, so the IR data is always present in the high byte when doing a read from the saa7146 chip. This means that the DEBI address used is irrelevant to the IR decoding logic. DEBI addresses 0x1XXX are mapped to the registers on the CI module itself, but only the lowest two bits are actually used (see EN50221, section A.2.2.1), meaning that 0x1234 is equivalent to 0x1000 which maps to register 0 (the data register). A read from the data register is supposed to be preceded by a read from the size register, so some CI modules will be confused (the AlphaCrypt CAM will hang completely). The attached patch changes the address used when reading the IR data to use 0x4000 instead. This is the CI version address, which is a safer default, works with the AlphaCrypt CAM and matches the behaviour of the Windows driver (AFAIK). Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> |
||
---|---|---|
.. | ||
av7110.c | ||
av7110.h | ||
av7110_av.c | ||
av7110_av.h | ||
av7110_ca.c | ||
av7110_ca.h | ||
av7110_hw.c | ||
av7110_hw.h | ||
av7110_ipack.c | ||
av7110_ipack.h | ||
av7110_ir.c | ||
av7110_v4l.c | ||
budget-av.c | ||
budget-ci.c | ||
budget-core.c | ||
budget-patch.c | ||
budget.c | ||
budget.h | ||
fdump.c | ||
Kconfig | ||
Makefile | ||
ttpci-eeprom.c | ||
ttpci-eeprom.h |