diff options
author | Manu Abraham <abraham.manu@gmail.com> | 2006-06-21 09:28:05 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-25 01:05:17 -0400 |
commit | 1da5e8d3cf561508ddbc62283e65dc079d750550 (patch) | |
tree | 980810117d075b8eb543c65598be1c74f1cb1938 /drivers/media | |
parent | 364f255af783a105b262eae018f0cad68e186681 (diff) |
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.c | 14 | ||||
-rw-r--r-- | drivers/media/dvb/bt8xx/dst_common.h | 1 |
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) | |||
543 | dprintk(verbose, DST_ERROR, 0, "DST type flags :"); | 543 | dprintk(verbose, DST_ERROR, 0, "DST type flags :"); |
544 | if (type_flags & DST_TYPE_HAS_NEWTUNE) | 544 | if (type_flags & DST_TYPE_HAS_NEWTUNE) |
545 | dprintk(verbose, DST_ERROR, 0, " 0x%x newtuner", DST_TYPE_HAS_NEWTUNE); | 545 | dprintk(verbose, DST_ERROR, 0, " 0x%x newtuner", DST_TYPE_HAS_NEWTUNE); |
546 | if (type_flags & DST_TYPE_HAS_NEWTUNE_2) | ||
547 | dprintk(verbose, DST_ERROR, 0, " 0x%x newtuner 2", DST_TYPE_HAS_NEWTUNE_2); | ||
546 | if (type_flags & DST_TYPE_HAS_TS204) | 548 | if (type_flags & DST_TYPE_HAS_TS204) |
547 | dprintk(verbose, DST_ERROR, 0, " 0x%x ts204", DST_TYPE_HAS_TS204); | 549 | dprintk(verbose, DST_ERROR, 0, " 0x%x ts204", DST_TYPE_HAS_TS204); |
548 | if (type_flags & DST_TYPE_HAS_SYMDIV) | 550 | if (type_flags & DST_TYPE_HAS_SYMDIV) |
@@ -909,7 +911,12 @@ static int dst_get_tuner_info(struct dst_state *state) | |||
909 | if (state->board_info[0] == 0xbc) { | 911 | if (state->board_info[0] == 0xbc) { |
910 | // if (state->type_flags & DST_TYPE_HAS_TS204) | 912 | // if (state->type_flags & DST_TYPE_HAS_TS204) |
911 | // state->type_flags &= ~DST_TYPE_HAS_TS204; | 913 | // state->type_flags &= ~DST_TYPE_HAS_TS204; |
912 | state->type_flags |= DST_TYPE_HAS_NEWTUNE; | 914 | // state->type_flags |= DST_TYPE_HAS_NEWTUNE; |
915 | if (!(state->type_flags & DST_TYPE_IS_ATSC)) { | ||
916 | state->type_flags |= DST_TYPE_HAS_NEWTUNE; | ||
917 | } else { | ||
918 | state->type_flags |= DST_TYPE_HAS_NEWTUNE_2; | ||
919 | } | ||
913 | dprintk(verbose, DST_INFO, 1, "DST type has TS=188, Daughterboard=[%d]", state->board_info[1]); | 920 | dprintk(verbose, DST_INFO, 1, "DST type has TS=188, Daughterboard=[%d]", state->board_info[1]); |
914 | 921 | ||
915 | } else if (state->board_info[0] == 0xcc) { | 922 | } else if (state->board_info[0] == 0xcc) { |
@@ -1382,8 +1389,7 @@ static int dst_init(struct dvb_frontend *fe) | |||
1382 | static u8 ter_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; | 1389 | static u8 ter_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; |
1383 | static u8 cab_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; | 1390 | static u8 cab_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; |
1384 | static u8 cab_tuna_188[] = { 0x09, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; | 1391 | static u8 cab_tuna_188[] = { 0x09, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; |
1385 | static u8 atsc_tuna_188[] = { 0x09, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; | 1392 | static u8 atsc_tuner[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; |
1386 | static u8 atsc_tuna_204[] = { 0x00, 0x00, 0x03, 0xb6, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 }; | ||
1387 | 1393 | ||
1388 | state->inversion = INVERSION_OFF; | 1394 | state->inversion = INVERSION_OFF; |
1389 | state->voltage = SEC_VOLTAGE_13; | 1395 | state->voltage = SEC_VOLTAGE_13; |
@@ -1399,7 +1405,7 @@ static int dst_init(struct dvb_frontend *fe) | |||
1399 | else if (state->dst_type == DST_TYPE_IS_CABLE) | 1405 | else if (state->dst_type == DST_TYPE_IS_CABLE) |
1400 | memcpy(state->tx_tuna, ((state->type_flags & DST_TYPE_HAS_NEWTUNE) ? cab_tuna_188 : cab_tuna_204), sizeof (cab_tuna_204)); | 1406 | memcpy(state->tx_tuna, ((state->type_flags & DST_TYPE_HAS_NEWTUNE) ? cab_tuna_188 : cab_tuna_204), sizeof (cab_tuna_204)); |
1401 | else if (state->dst_type == DST_TYPE_IS_ATSC) | 1407 | else if (state->dst_type == DST_TYPE_IS_ATSC) |
1402 | memcpy(state->tx_tuna, ((state->type_flags & DST_TYPE_HAS_NEWTUNE) ? atsc_tuna_188 : atsc_tuna_204), sizeof (atsc_tuna_204)); | 1408 | memcpy(state->tx_tuna, atsc_tuner, sizeof (atsc_tuner)); |
1403 | 1409 | ||
1404 | return 0; | 1410 | return 0; |
1405 | } | 1411 | } |
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 @@ | |||
52 | #define DST_TYPE_HAS_OBS_REGS 128 | 52 | #define DST_TYPE_HAS_OBS_REGS 128 |
53 | #define DST_TYPE_HAS_INC_COUNT 256 | 53 | #define DST_TYPE_HAS_INC_COUNT 256 |
54 | #define DST_TYPE_HAS_MULTI_FE 512 | 54 | #define DST_TYPE_HAS_MULTI_FE 512 |
55 | #define DST_TYPE_HAS_NEWTUNE_2 1024 | ||
55 | 56 | ||
56 | /* Card capability list */ | 57 | /* Card capability list */ |
57 | 58 | ||