提交 430390e6 编写于 作者: T Trent Piepho 提交者: Mauro Carvalho Chehab

V4L/DVB (10566): bttv: clean up mux code for IDS Eagle

This card apparently uses an external mux and the Bt878's mux should always
be set to MUX2.  The values for the external mux control bits were stored
in the muxsel field.  This meant that when changing inputs the driver would
switch the Bt878's mux to whatever value the external mux was supposed to
be set to, then eagle_muxsel() would switch it back to MUX2 and program the
external mux.  This creates an unnecessary switch of the Bt878's mux.

So change muxsel to be 2 for each input.  The external mux bits are just
"input&3" so they don't really need to be stored anywhere.  This also
eliminates the last non-standard use of the muxsel data.

Cc: M G Berberich <berberic@fmi.uni-passau.de>
Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 13afaefc
...@@ -1799,7 +1799,7 @@ struct tvcard bttv_tvcards[] = { ...@@ -1799,7 +1799,7 @@ struct tvcard bttv_tvcards[] = {
.tuner_addr = ADDR_UNSET, .tuner_addr = ADDR_UNSET,
.svhs = NO_SVHS, .svhs = NO_SVHS,
.gpiomask = 0, .gpiomask = 0,
.muxsel = { 0, 1, 2, 3 }, .muxsel = { 2, 2, 2, 2 },
.muxsel_hook = eagle_muxsel, .muxsel_hook = eagle_muxsel,
.no_msp34xx = 1, .no_msp34xx = 1,
.no_tda9875 = 1, .no_tda9875 = 1,
...@@ -3109,8 +3109,7 @@ static void init_ids_eagle(struct bttv *btv) ...@@ -3109,8 +3109,7 @@ static void init_ids_eagle(struct bttv *btv)
* has its own multiplexer */ * has its own multiplexer */
static void eagle_muxsel(struct bttv *btv, unsigned int input) static void eagle_muxsel(struct bttv *btv, unsigned int input)
{ {
btaor((2)<<5, ~(3<<5), BT848_IFORM); gpio_bits(3, input & 3);
gpio_bits(3,bttv_tvcards[btv->c.type].muxsel[input&7]);
/* composite */ /* composite */
/* set chroma ADC to sleep */ /* set chroma ADC to sleep */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册