V4L/DVB (4785): Budget-ci: Change DEBIADDR_IR to a safer default
authorDavid Härdeman <david@hardeman.nu>
Fri, 27 Oct 2006 23:56:51 +0000 (20:56 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 3 Nov 2006 02:58:06 +0000 (23:58 -0300)
commitecba77f246011344f0b8f46eb25ae01ab4ae282d
tree223bf061e47f749aa3b30841eb5c46858bd7f78d
parent6c8c21b9119cfe68a99825085014bba4f9c0c768
V4L/DVB (4785): Budget-ci: Change DEBIADDR_IR to a safer default

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>
drivers/media/dvb/ttpci/budget-ci.c