lkml.org 
[lkml]   [2006]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 05/67] Video: Fix msp343xG handling regression

    -stable review patch. If anyone has any objections, please let us know.

    ------------------
    From: Hans Verkuil <hverkuil@xs4all.nl>

    The msp3430G and msp3435G models cannot do Automatic Standard Detection,
    so these should be forced to BTSC. These chips are early production
    versions for the msp34xxG series and are quite rare.

    The workaround for kernel 2.6.18 is to use 'standard=32' as msp3400 module
    option.

    Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/media/video/msp3400-driver.c | 2 ++
    drivers/media/video/msp3400-driver.h | 1 +
    drivers/media/video/msp3400-kthreads.c | 5 +++--
    3 files changed, 6 insertions(+), 2 deletions(-)

    --- linux-2.6.18.orig/drivers/media/video/msp3400-driver.c
    +++ linux-2.6.18/drivers/media/video/msp3400-driver.c
    @@ -904,6 +904,8 @@ static int msp_attach(struct i2c_adapter
    state->has_virtual_dolby_surround = msp_revision == 'G' && msp_prod_lo == 1;
    /* Has Virtual Dolby Surround & Dolby Pro Logic: only in msp34x2 */
    state->has_dolby_pro_logic = msp_revision == 'G' && msp_prod_lo == 2;
    + /* The msp343xG supports BTSC only and cannot do Automatic Standard Detection. */
    + state->force_btsc = msp_family == 3 && msp_revision == 'G' && msp_prod_hi == 3;

    state->opmode = opmode;
    if (state->opmode == OPMODE_AUTO) {
    --- linux-2.6.18.orig/drivers/media/video/msp3400-driver.h
    +++ linux-2.6.18/drivers/media/video/msp3400-driver.h
    @@ -64,6 +64,7 @@ struct msp_state {
    u8 has_sound_processing;
    u8 has_virtual_dolby_surround;
    u8 has_dolby_pro_logic;
    + u8 force_btsc;

    int radio;
    int opmode;
    --- linux-2.6.18.orig/drivers/media/video/msp3400-kthreads.c
    +++ linux-2.6.18/drivers/media/video/msp3400-kthreads.c
    @@ -960,9 +960,10 @@ int msp34xxg_thread(void *data)

    /* setup the chip*/
    msp34xxg_reset(client);
    - state->std = state->radio ? 0x40 : msp_standard;
    - /* start autodetect */
    + state->std = state->radio ? 0x40 :
    + (state->force_btsc && msp_standard == 1) ? 32 : msp_standard;
    msp_write_dem(client, 0x20, state->std);
    + /* start autodetect */
    if (state->std != 1)
    goto unmute;

    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-10-11 23:35    [W:5.837 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site