[media] stb0899: return internally tuned frequency via get_frontend.
authorReinhard Nissl <rnissl@gmx.de>
Sat, 18 Aug 2012 11:59:57 +0000 (08:59 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 13 Sep 2012 20:42:07 +0000 (17:42 -0300)
Am 14.08.2012 14:05, schrieb Manu Abraham:
>> My other device, a STB0899, always reports the set frequency. So it seems
>> driver dependent whether it reports the actually locked frequency found by
>> the zig-zag-algorithm or just the set frequency to tune to.
>
> The STV0299 blindly sets the value based on a software zigzag (due to simpler
> hardware), but this might not be accurate enough. On the other hand, the
> STB0899 internally does zig-zag in hardware for DVB-S2, and partly in
> software for DVB-S.
>
> In any event, the get_frontend callback should return the value that is read
> from the demodulator registers, rather than the cached original value that
> which was requested to be tuned.
>
> The stb0899 returns only the cached value IIRC. Maybe I will fix this soon,
> or maybe you can send a patch.
This is what I get after the patch:

Sat.    Pol.    Band    Freq (MHz) Set    Freq (MHz) Get    Delta (MHz)
S19,2E    H     L       10744             10748,474         4,474
S19,2E    H     L       10773             10777,944         4,944
S19,2E    H     L       10832             10836,953         4,953
S19,2E    H     L       10861             10868,774         7,774
...

Signed-off-by: Reinhard Nißl <rnissl@gmx.de>
Cc: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb-frontends/stb0899_drv.c

index 5d7f8a9b451b8ec93fc596a6d813004b8866cd87..79e29de87fb7b50feb4f2fd65bed5e00c6b6ac8d 100644 (file)
@@ -1563,6 +1563,7 @@ static int stb0899_get_frontend(struct dvb_frontend *fe)
 
        dprintk(state->verbose, FE_DEBUG, 1, "Get params");
        p->symbol_rate = internal->srate;
+       p->frequency = internal->freq;
 
        return 0;
 }