Re: [PATCH 1/4] tda18271_set_analog_params major bugfix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 27, 2009 at 4:24 PM,  <spam@xxxxxxxxxxxxxxxxx> wrote:
> On Sun, Sep 27, 2009 at 12:35:00PM -0400, Michael Krufky wrote:
>> On Sun, Sep 27, 2009 at 12:25 PM, Michael Krufky <mkrufky@xxxxxxxxxxxxxx> wrote:
>>
>> On a second thought, I see that my above patch loses some precision
>> ...  this is even better:
>>
>> diff -r f52640ced9e8 linux/drivers/media/common/tuners/tda18271-fe.c
>> --- a/linux/drivers/media/common/tuners/tda18271-fe.c Tue Sep 15
>> 01:25:35 2009 -0400
>> +++ b/linux/drivers/media/common/tuners/tda18271-fe.c Sun Sep 27
>> 12:33:20 2009 -0400
>> @@ -1001,12 +1001,12 @@
>>       struct tda18271_std_map_item *map;
>>       char *mode;
>>       int ret;
>> -     u32 freq = params->frequency * 62500;
>> +     u32 freq = params->frequency * 125 *
>> +             ((params->mode == V4L2_TUNER_RADIO) ? 1 : 1000) / 2;
>>
>>       priv->mode = TDA18271_ANALOG;
>>
>>       if (params->mode == V4L2_TUNER_RADIO) {
>> -             freq = freq / 1000;
>>               map = &std_map->fm_radio;
>>               mode = "fm";
>>       } else if (params->std & V4L2_STD_MN) {
>>
>> Cheers,
>>
>> Mike
>
> Much better!
>
> Btw. It seems that the tuner is capable of tuning in 1000 Hz steps, is
> there a reason why we are using 62500 Hz steps?

That's the v4l2 analog tuner API.  It has nothing to do with the
tda18271 driver internals.  If you look on the digital set_params
function, you'll see that this doesnt happen there.

-Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux