summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorManu Abraham2006-06-21 15:28:05 +0200
committerMauro Carvalho Chehab2006-06-25 07:05:17 +0200
commit1da5e8d3cf561508ddbc62283e65dc079d750550 (patch)
tree980810117d075b8eb543c65598be1c74f1cb1938 /drivers/media
parentV4L/DVB (4167): Add Board Names (diff)
downloadkernel-qcow2-linux-1da5e8d3cf561508ddbc62283e65dc079d750550.tar.gz
kernel-qcow2-linux-1da5e8d3cf561508ddbc62283e65dc079d750550.tar.xz
kernel-qcow2-linux-1da5e8d3cf561508ddbc62283e65dc079d750550.zip
V4L/DVB (4168): ATSC tuner doesn't have variable length field
Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/bt8xx/dst.c14
-rw-r--r--drivers/media/dvb/bt8xx/dst_common.h1
2 files changed, 11 insertions, 4 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index 21f327d9f7d5..abed03a5a156 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -543,6 +543,8 @@ static void dst_type_flags_print(u32 type_flags)
dprintk(verbose, DST_ERROR, 0, "DST type flags :");
if (type_flags & DST_TYPE_HAS_NEWTUNE)
dprintk(verbose, DST_ERROR, 0, " 0x%x newtuner", DST_TYPE_HAS_NEWTUNE);
+ if (type_flags & DST_TYPE_HAS_NEWTUNE_2)
+ dprintk(verbose, DST_ERROR, 0, " 0x%x newtuner 2", DST_TYPE_HAS_NEWTUNE_2);
if (type_flags & DST_TYPE_HAS_TS204)
dprintk(verbose, DST_ERROR, 0, " 0x%x ts204", DST_TYPE_HAS_TS204);
if (type_flags & DST_TYPE_HAS_SYMDIV)
@@ -909,7 +911,12 @@ static int dst_get_tuner_info(struct dst_state *state)
if (state->board_info[0] == 0xbc) {
// if (state->type_flags & DST_TYPE_HAS_TS204)
// state->type_flags &= ~DST_TYPE_HAS_TS204;
- state->type_flags |= DST_TYPE_HAS_NEWTUNE;
+// state->type_flags |= DST_TYPE_HAS_NEWTUNE;
+ if (!(state->type_flags & DST_TYPE_IS_ATSC)) {
+ state->type_flags |= DST_TYPE_HAS_NEWTUNE;
+ } else {
+ state->type_flags |= DST_TYPE_HAS_NEWTUNE_2;
+ }
dprintk(verbose, DST_INFO, 1, "DST type has TS=188, Daughterboard=[%d]", state->board_info[1]);
} else if (state->board_info[0] == 0xcc) {
@@ -1382,8 +1389,7 @@ static int dst_init(struct dvb_frontend *fe)
static u8 ter_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 };
static u8 cab_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 };
static u8 cab_tuna_188[] = { 0x09, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 };
- static u8 atsc_tuna_188[] = { 0x09, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 };
- static u8 atsc_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 };
+ static u8 atsc_tuner[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 };
state->inversion = INVERSION_OFF;
state->voltage = SEC_VOLTAGE_13;
@@ -1399,7 +1405,7 @@ static int dst_init(struct dvb_frontend *fe)
else if (state->dst_type == DST_TYPE_IS_CABLE)
memcpy(state->tx_tuna, ((state->type_flags & DST_TYPE_HAS_NEWTUNE) ? cab_tuna_188 : cab_tuna_204), sizeof (cab_tuna_204));
else if (state->dst_type == DST_TYPE_IS_ATSC)
- memcpy(state->tx_tuna, ((state->type_flags & DST_TYPE_HAS_NEWTUNE) ? atsc_tuna_188 : atsc_tuna_204), sizeof (atsc_tuna_204));
+ memcpy(state->tx_tuna, atsc_tuner, sizeof (atsc_tuner));
return 0;
}
diff --git a/drivers/media/dvb/bt8xx/dst_common.h b/drivers/media/dvb/bt8xx/dst_common.h
index 9323f948e940..57518e578c4c 100644
--- a/drivers/media/dvb/bt8xx/dst_common.h
+++ b/drivers/media/dvb/bt8xx/dst_common.h
@@ -52,6 +52,7 @@
#define DST_TYPE_HAS_OBS_REGS 128
#define DST_TYPE_HAS_INC_COUNT 256
#define DST_TYPE_HAS_MULTI_FE 512
+#define DST_TYPE_HAS_NEWTUNE_2 1024
/* Card capability list */