Re: Help needed in understanding v4l2_device_call_all

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

 



So do you mean its required for tm6010 to set the registers?

On Fri, Apr 23, 2010 at 11:23 PM, Stefan Ringel <stefan.ringel@xxxxxxxx> wrote:
> Am 23.04.2010 04:20, schrieb Bee Hock Goh:
>> Mauro,
>>
>> Thanks.
>>
>> Previously, I have done some limited test and it seem that
>> xc2028_signal seem to be getting the correct registered value for the
>> detected a signal locked.
>>
>> Since I am now able to get video working(though somewhat limited since
>> it still crashed if i change channel from mythtv), i will be spending
>> more time to look getting a lock on the signal.
>>
>>
>> Is line 139,140,155,156 needed? Its slowing down the loading of
>> firmware and it working for me with the additional register setting.
>>
>>  138 if (addr == dev->tuner_addr << 1) {
>> 139 tm6000_set_reg(dev, 0x32, 0,0);
>> 140 tm6000_set_reg(dev, 0x33, 0,0);
>>
> use tm6010
>> 141 }
>> 142 if (i2c_debug >= 2)
>> 143 for (byte = 0; byte < msgs[i].len; byte++)
>> 144 printk(" %02x", msgs[i].buf[byte]);
>> 145 } else {
>> 146 /* write bytes */
>> 147 if (i2c_debug >= 2)
>> 148 for (byte = 0; byte < msgs[i].len; byte++)
>> 149 printk(" %02x", msgs[i].buf[byte]);
>> 150 rc = tm6000_i2c_send_regs(dev, addr, msgs[i].buf[0],
>> 151 msgs[i].buf + 1, msgs[i].len - 1);
>> 152
>> 153 if (addr == dev->tuner_addr << 1) {
>> 154 tm6000_set_reg(dev, 0x32, 0,0);
>> 155 tm6000_set_reg(dev, 0x33, 0,0);
>>
> use tm6010
>>
>> On Fri, Apr 23, 2010 at 4:35 AM, Mauro Carvalho Chehab
>> <mchehab@xxxxxxxxxx> wrote:
>>
>>> Bee Hock Goh wrote:
>>>
>>>> Hi,
>>>>
>>>> I am trying to understand how the subdev function are triggered when I
>>>> use v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, g_tuner,t) on
>>>> tm600-video.
>>>>
>>> It calls tuner-core.c code, with g_tuner command. tuner-core
>>> checks what's the used tuner and, in the case of tm6000, calls the corresponding
>>> function at tuner-xc2028. This is implemented on tuner_g_tuner() function.
>>>
>>> The function basically does some sanity checks, and some common tuner code, but
>>> the actual implementation is handled by some callbacks that the driver needs to
>>> define (get_afc, get_status, is_stereo, has_signal). In general, drivers use
>>> get_status for it:
>>>                fe_tuner_ops->get_status(&t->fe, &tuner_status);
>>>
>>>
>>> You will find a good example of how to implement such code at tuner-simple
>>> simple_get_status() function.
>>>
>>> In the case of tuner-xc2028, we never found a way for it to properly report the
>>> status of the tuner lock. That's why this function is not implemented on the driver.
>>>
>>>
>>>> How am i able to link the callback from the tuner_xc2028 function?
>>>>
>>> The callback is used by tuner-xc2028 when it detects the need of changing the
>>> firmware (or when the firmware is not loaded yet, or when you select a standard
>>> that it is not supported by the current firmware).
>>>
>>> Basically, xc2028 driver will use the callback that was set previously via:
>>>
>>>        v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_config, &xc2028_cfg);
>>>
>>>
>>>
>>>> Please help me to understand or directly me to any documentation that
>>>> I can read up?
>>>>
>>>> thanks,
>>>>  Hock.
>>>> --
>>>> 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
>>>>
>>>
>>> --
>>>
>>> Cheers,
>>> Mauro
>>>
>>>
>> --
>> 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
>>
>
>
> --
> Stefan Ringel <stefan.ringel@xxxxxxxx>
>
>
--
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