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 | ||
