Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-flexiantxendom0-3.2.10.git] / drivers / media / video / tvp7002.c
index 3044e35..7875e80 100644 (file)
@@ -129,7 +129,7 @@ static const struct i2c_reg_value tvp7002_init_default[] = {
        { TVP7002_ADC_SETUP, 0x50, TVP7002_WRITE },
        { TVP7002_COARSE_CLAMP_CTL, 0x00, TVP7002_WRITE },
        { TVP7002_SOG_CLAMP, 0x80, TVP7002_WRITE },
-       { TVP7002_RGB_COARSE_CLAMP_CTL, 0x00, TVP7002_WRITE },
+       { TVP7002_RGB_COARSE_CLAMP_CTL, 0x8c, TVP7002_WRITE },
        { TVP7002_SOG_COARSE_CLAMP_CTL, 0x04, TVP7002_WRITE },
        { TVP7002_ALC_PLACEMENT, 0x5a, TVP7002_WRITE },
        { 0x32, 0x18, TVP7002_RESERVED },
@@ -183,7 +183,6 @@ static const struct i2c_reg_value tvp7002_parms_480P[] = {
        { TVP7002_HPLL_FDBK_DIV_MSBS, 0x35, TVP7002_WRITE },
        { TVP7002_HPLL_FDBK_DIV_LSBS, 0xa0, TVP7002_WRITE },
        { TVP7002_HPLL_CRTL, 0x02, TVP7002_WRITE },
-       { TVP7002_HPLL_PHASE_SEL, 0x14, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_LSBS, 0x91, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_MSBS, 0x00, TVP7002_WRITE },
        { TVP7002_AVID_STOP_PIXEL_LSBS, 0x0B, TVP7002_WRITE },
@@ -205,7 +204,6 @@ static const struct i2c_reg_value tvp7002_parms_576P[] = {
        { TVP7002_HPLL_FDBK_DIV_MSBS, 0x36, TVP7002_WRITE },
        { TVP7002_HPLL_FDBK_DIV_LSBS, 0x00, TVP7002_WRITE },
        { TVP7002_HPLL_CRTL, 0x18, TVP7002_WRITE },
-       { TVP7002_HPLL_PHASE_SEL, 0x14, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_LSBS, 0x9B, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_MSBS, 0x00, TVP7002_WRITE },
        { TVP7002_AVID_STOP_PIXEL_LSBS, 0x0F, TVP7002_WRITE },
@@ -227,7 +225,6 @@ static const struct i2c_reg_value tvp7002_parms_1080I60[] = {
        { TVP7002_HPLL_FDBK_DIV_MSBS, 0x89, TVP7002_WRITE },
        { TVP7002_HPLL_FDBK_DIV_LSBS, 0x80, TVP7002_WRITE },
        { TVP7002_HPLL_CRTL, 0x98, TVP7002_WRITE },
-       { TVP7002_HPLL_PHASE_SEL, 0x14, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_LSBS, 0x06, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_MSBS, 0x01, TVP7002_WRITE },
        { TVP7002_AVID_STOP_PIXEL_LSBS, 0x8a, TVP7002_WRITE },
@@ -249,7 +246,6 @@ static const struct i2c_reg_value tvp7002_parms_1080P60[] = {
        { TVP7002_HPLL_FDBK_DIV_MSBS, 0x89, TVP7002_WRITE },
        { TVP7002_HPLL_FDBK_DIV_LSBS, 0x80, TVP7002_WRITE },
        { TVP7002_HPLL_CRTL, 0xE0, TVP7002_WRITE },
-       { TVP7002_HPLL_PHASE_SEL, 0x14, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_LSBS, 0x06, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_MSBS, 0x01, TVP7002_WRITE },
        { TVP7002_AVID_STOP_PIXEL_LSBS, 0x8a, TVP7002_WRITE },
@@ -271,7 +267,6 @@ static const struct i2c_reg_value tvp7002_parms_1080I50[] = {
        { TVP7002_HPLL_FDBK_DIV_MSBS, 0xa5, TVP7002_WRITE },
        { TVP7002_HPLL_FDBK_DIV_LSBS, 0x00, TVP7002_WRITE },
        { TVP7002_HPLL_CRTL, 0x98, TVP7002_WRITE },
-       { TVP7002_HPLL_PHASE_SEL, 0x14, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_LSBS, 0x06, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_MSBS, 0x01, TVP7002_WRITE },
        { TVP7002_AVID_STOP_PIXEL_LSBS, 0x8a, TVP7002_WRITE },
@@ -293,7 +288,6 @@ static const struct i2c_reg_value tvp7002_parms_720P60[] = {
        { TVP7002_HPLL_FDBK_DIV_MSBS, 0x67, TVP7002_WRITE },
        { TVP7002_HPLL_FDBK_DIV_LSBS, 0x20, TVP7002_WRITE },
        { TVP7002_HPLL_CRTL, 0xa0, TVP7002_WRITE },
-       { TVP7002_HPLL_PHASE_SEL, 0x16, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_LSBS, 0x47, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_MSBS, 0x01, TVP7002_WRITE },
        { TVP7002_AVID_STOP_PIXEL_LSBS, 0x4B, TVP7002_WRITE },
@@ -315,7 +309,6 @@ static const struct i2c_reg_value tvp7002_parms_720P50[] = {
        { TVP7002_HPLL_FDBK_DIV_MSBS, 0x7b, TVP7002_WRITE },
        { TVP7002_HPLL_FDBK_DIV_LSBS, 0xc0, TVP7002_WRITE },
        { TVP7002_HPLL_CRTL, 0x98, TVP7002_WRITE },
-       { TVP7002_HPLL_PHASE_SEL, 0x16, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_LSBS, 0x47, TVP7002_WRITE },
        { TVP7002_AVID_START_PIXEL_MSBS, 0x01, TVP7002_WRITE },
        { TVP7002_AVID_STOP_PIXEL_LSBS, 0x4B, TVP7002_WRITE },
@@ -688,6 +681,9 @@ static int tvp7002_query_dv_preset(struct v4l2_subdev *sd,
        u8 cpl_msb;
        int index;
 
+       /* Return invalid preset if no active input is detected */
+       qpreset->preset = V4L2_DV_INVALID;
+
        device = to_tvp7002(sd);
 
        /* Read standards from device registers */
@@ -721,8 +717,6 @@ static int tvp7002_query_dv_preset(struct v4l2_subdev *sd,
        if (index == NUM_PRESETS) {
                v4l2_dbg(1, debug, sd, "detection failed: lpf = %x, cpl = %x\n",
                                                                lpfr, cpln);
-               /* Could not detect a signal, so return the 'invalid' preset */
-               qpreset->preset = V4L2_DV_INVALID;
                return 0;
        }