Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750977AbWJJRVj (ORCPT ); Tue, 10 Oct 2006 13:21:39 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S964846AbWJJRVi (ORCPT ); Tue, 10 Oct 2006 13:21:38 -0400 Received: from mail.kroah.org ([69.55.234.183]:63113 "EHLO perch.kroah.org") by vger.kernel.org with ESMTP id S964826AbWJJRP7 (ORCPT ); Tue, 10 Oct 2006 13:15:59 -0400 Date: Tue, 10 Oct 2006 10:15:11 -0700 From: Greg KH To: linux-kernel@vger.kernel.org, stable@kernel.org Cc: Justin Forbes , Zwane Mwaikambo , "Theodore Ts'o" , Randy Dunlap , Dave Jones , Chuck Wolber , Chris Wedgwood , Michael Krufky , torvalds@osdl.org, akpm@osdl.org, alan@lxorguk.ukuu.org.uk, Hans Verkuil , Greg Kroah-Hartman Subject: [patch 10/19] Video: Fix msp343xG handling regression Message-ID: <20061010171511.GK6339@kroah.com> References: <20061010165621.394703368@quad.kroah.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline; filename="video-fix-msp343xg-handling-regression.patch" In-Reply-To: <20061010171350.GA6339@kroah.com> User-Agent: Mutt/1.5.13 (2006-08-11) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2596 Lines: 68 -stable review patch. If anyone has any objections, please let us know. ------------------ From: Hans Verkuil 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. Due to broken handling of the 'standard' option in 2.6.17, there is no workaround possible. Signed-off-by: Hans Verkuil Signed-off-by: Michael Krufky Signed-off-by: Greg Kroah-Hartman --- drivers/media/video/msp3400-driver.c | 2 ++ drivers/media/video/msp3400-driver.h | 1 + drivers/media/video/msp3400-kthreads.c | 7 ++++--- 3 files changed, 7 insertions(+), 3 deletions(-) --- linux-2.6.17.13.orig/drivers/media/video/msp3400-driver.c +++ linux-2.6.17.13/drivers/media/video/msp3400-driver.c @@ -942,6 +942,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.17.13.orig/drivers/media/video/msp3400-driver.h +++ linux-2.6.17.13/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.17.13.orig/drivers/media/video/msp3400-kthreads.c +++ linux-2.6.17.13/drivers/media/video/msp3400-kthreads.c @@ -949,11 +949,12 @@ int msp34xxg_thread(void *data) /* setup the chip*/ msp34xxg_reset(client); - state->std = state->radio ? 0x40 : msp_standard; - if (state->std != 1) - goto unmute; + state->std = state->radio ? 0x40 : + (state->force_btsc && msp_standard == 1) ? 32 : msp_standard; /* start autodetect */ msp_write_dem(client, 0x20, state->std); + if (state->std != 1) + goto unmute; /* watch autodetect */ v4l_dbg(1, msp_debug, client, "started autodetect, waiting for result\n"); -- - 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/