V4L/DVB: STV0900 Cut 3.0 AGC2 fix for NetUP Dual DVB-S2-CI card
authorAbylay Ospan <aospan@netup.ru>
Sat, 6 Feb 2010 08:55:47 +0000 (05:55 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 26 Feb 2010 18:10:56 +0000 (15:10 -0300)
if the AGC2 > 1400 then no signal on this frequency for STV0900 Cut 3.0. For
Cut 2.0 this value is 700.

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/stv0900_sw.c

index 96a5a5e29edece6ea0903f203d73298a30367735..ba0709b2d4333a3d9811ceecb63e2142f11e361e 100644 (file)
@@ -1230,6 +1230,9 @@ fe_stv0900_signal_type stv0900_get_signal_params(struct dvb_frontend *fe)
        result->pilot = stv0900_get_bits(intp, DEMOD_TYPE) & 0x01;
        result->frame_len = ((u32)stv0900_get_bits(intp, DEMOD_TYPE)) >> 1;
        result->rolloff = stv0900_get_bits(intp, ROLLOFF_STATUS);
+
+       dprintk("%s: modcode=0x%x \n", __func__, result->modcode);
+
        switch (result->standard) {
        case STV0900_DVBS2_STANDARD:
                result->spectrum = stv0900_get_bits(intp, SPECINV_DEMOD);
@@ -1634,7 +1637,8 @@ static int stv0900_blind_search_algo(struct dvb_frontend *fe)
 
        agc2_int = stv0900_blind_check_agc2_min_level(intp, demod);
 
-       if (agc2_int > STV0900_BLIND_SEARCH_AGC2_TH)
+       dprintk("%s agc2_int=%d agc2_th=%d \n", __func__, agc2_int, agc2_th);
+       if (agc2_int > agc2_th)
                return FALSE;
 
        if (intp->chip_id == 0x10)