summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2009-01-28 16:32:59 -0800
committerTrent Piepho <xyzzy@speakeasy.org>2009-01-28 16:32:59 -0800
commit8a03ebcf3ee0e413a978ac074dcc4064ed94b681 (patch)
tree84e67797ad777a28371548927226ddb464a50832
parenta905506813537c4bad63dd73c94a04d6a71f777e (diff)
downloadmediapointer-dvb-s2-8a03ebcf3ee0e413a978ac074dcc4064ed94b681.tar.gz
mediapointer-dvb-s2-8a03ebcf3ee0e413a978ac074dcc4064ed94b681.tar.bz2
bttv: clean up mux code for IDS Eagle
From: Trent Piepho <xyzzy@speakeasy.org> 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. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: M G Berberich <berberic@fmi.uni-passau.de>
-rw-r--r--linux/drivers/media/video/bt8xx/bttv-cards.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/linux/drivers/media/video/bt8xx/bttv-cards.c b/linux/drivers/media/video/bt8xx/bttv-cards.c
index cf7794de8..dad17a8e5 100644
--- a/linux/drivers/media/video/bt8xx/bttv-cards.c
+++ b/linux/drivers/media/video/bt8xx/bttv-cards.c
@@ -1819,7 +1819,7 @@ struct tvcard bttv_tvcards[] = {
.tuner_addr = ADDR_UNSET,
.svhs = NO_SVHS,
.gpiomask = 0,
- .muxsel = { 0, 1, 2, 3 },
+ .muxsel = { 2, 2, 2, 2 },
.muxsel_hook = eagle_muxsel,
.no_msp34xx = 1,
.no_tda9875 = 1,
@@ -3138,8 +3138,7 @@ static void init_ids_eagle(struct bttv *btv)
* has its own multiplexer */
static void eagle_muxsel(struct bttv *btv, unsigned int input)
{
- btaor((2)<<5, ~(3<<5), BT848_IFORM);
- gpio_bits(3,bttv_tvcards[btv->c.type].muxsel[input&7]);
+ gpio_bits(3, input & 3);
#if 0
/* svhs */