diff options
-rw-r--r-- | drivers/media/video/msp3400-driver.c | 2 | ||||
-rw-r--r-- | drivers/media/video/msp3400-driver.h | 1 | ||||
-rw-r--r-- | drivers/media/video/msp3400-kthreads.c | 5 |
3 files changed, 6 insertions, 2 deletions
diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c index 56246b8578f3..cf43df3fe708 100644 --- a/drivers/media/video/msp3400-driver.c +++ b/drivers/media/video/msp3400-driver.c | |||
@@ -904,6 +904,8 @@ static int msp_attach(struct i2c_adapter *adapter, int address, int kind) | |||
904 | state->has_virtual_dolby_surround = msp_revision == 'G' && msp_prod_lo == 1; | 904 | state->has_virtual_dolby_surround = msp_revision == 'G' && msp_prod_lo == 1; |
905 | /* Has Virtual Dolby Surround & Dolby Pro Logic: only in msp34x2 */ | 905 | /* Has Virtual Dolby Surround & Dolby Pro Logic: only in msp34x2 */ |
906 | state->has_dolby_pro_logic = msp_revision == 'G' && msp_prod_lo == 2; | 906 | state->has_dolby_pro_logic = msp_revision == 'G' && msp_prod_lo == 2; |
907 | /* The msp343xG supports BTSC only and cannot do Automatic Standard Detection. */ | ||
908 | state->force_btsc = msp_family == 3 && msp_revision == 'G' && msp_prod_hi == 3; | ||
907 | 909 | ||
908 | state->opmode = opmode; | 910 | state->opmode = opmode; |
909 | if (state->opmode == OPMODE_AUTO) { | 911 | if (state->opmode == OPMODE_AUTO) { |
diff --git a/drivers/media/video/msp3400-driver.h b/drivers/media/video/msp3400-driver.h index 545e4ac094f2..7531efa1615e 100644 --- a/drivers/media/video/msp3400-driver.h +++ b/drivers/media/video/msp3400-driver.h | |||
@@ -64,6 +64,7 @@ struct msp_state { | |||
64 | u8 has_sound_processing; | 64 | u8 has_sound_processing; |
65 | u8 has_virtual_dolby_surround; | 65 | u8 has_virtual_dolby_surround; |
66 | u8 has_dolby_pro_logic; | 66 | u8 has_dolby_pro_logic; |
67 | u8 force_btsc; | ||
67 | 68 | ||
68 | int radio; | 69 | int radio; |
69 | int opmode; | 70 | int opmode; |
diff --git a/drivers/media/video/msp3400-kthreads.c b/drivers/media/video/msp3400-kthreads.c index ed02ff811388..4c7f85b566a0 100644 --- a/drivers/media/video/msp3400-kthreads.c +++ b/drivers/media/video/msp3400-kthreads.c | |||
@@ -960,9 +960,10 @@ int msp34xxg_thread(void *data) | |||
960 | 960 | ||
961 | /* setup the chip*/ | 961 | /* setup the chip*/ |
962 | msp34xxg_reset(client); | 962 | msp34xxg_reset(client); |
963 | state->std = state->radio ? 0x40 : msp_standard; | 963 | state->std = state->radio ? 0x40 : |
964 | /* start autodetect */ | 964 | (state->force_btsc && msp_standard == 1) ? 32 : msp_standard; |
965 | msp_write_dem(client, 0x20, state->std); | 965 | msp_write_dem(client, 0x20, state->std); |
966 | /* start autodetect */ | ||
966 | if (state->std != 1) | 967 | if (state->std != 1) |
967 | goto unmute; | 968 | goto unmute; |
968 | 969 | ||