Re: [PATCH 15/17] v4l: add RF tuner channel bandwidth control

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

 




On 02/03/2014 11:13 AM, Antti Palosaari wrote:
> On 03.02.2014 11:08, Hans Verkuil wrote:
>> Hi Antti,
>>
>> On 02/01/2014 03:24 PM, Antti Palosaari wrote:
>>> Modern silicon RF tuners has one or more adjustable filters on
>>> signal path, in order to filter noise from desired radio channel.
>>>
>>> Add channel bandwidth control to tell the driver which is radio
>>> channel width we want receive. Filters could be then adjusted by
>>> the driver or hardware, using RF frequency and channel bandwidth
>>> as a base of filter calculations.
>>>
>>> On automatic mode (normal mode), bandwidth is calculated from sampling
>>> rate or tuning info got from userspace. That new control gives
>>> possibility to set manual mode and let user have more control for
>>> filters.
>>>
>>> Cc: Hans Verkuil <hverkuil@xxxxxxxxx>
>>> Signed-off-by: Antti Palosaari <crope@xxxxxx>
>>> ---
>>>   drivers/media/v4l2-core/v4l2-ctrls.c | 4 ++++
>>>   include/uapi/linux/v4l2-controls.h   | 2 ++
>>>   2 files changed, 6 insertions(+)
>>>
>>> diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
>>> index d201f61..e44722b 100644
>>> --- a/drivers/media/v4l2-core/v4l2-ctrls.c
>>> +++ b/drivers/media/v4l2-core/v4l2-ctrls.c
>>> @@ -865,6 +865,8 @@ const char *v4l2_ctrl_get_name(u32 id)
>>>       case V4L2_CID_MIXER_GAIN:        return "Mixer Gain";
>>>       case V4L2_CID_IF_GAIN_AUTO:        return "IF Gain, Auto";
>>>       case V4L2_CID_IF_GAIN:            return "IF Gain";
>>> +    case V4L2_CID_BANDWIDTH_AUTO:        return "Channel Bandwidth, Auto";
>>> +    case V4L2_CID_BANDWIDTH:        return "Channel Bandwidth";
>>>       default:
>>>           return NULL;
>>>       }
>>> @@ -917,6 +919,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
>>>       case V4L2_CID_LNA_GAIN_AUTO:
>>>       case V4L2_CID_MIXER_GAIN_AUTO:
>>>       case V4L2_CID_IF_GAIN_AUTO:
>>> +    case V4L2_CID_BANDWIDTH_AUTO:
>>>           *type = V4L2_CTRL_TYPE_BOOLEAN;
>>>           *min = 0;
>>>           *max = *step = 1;
>>> @@ -1078,6 +1081,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
>>>       case V4L2_CID_LNA_GAIN:
>>>       case V4L2_CID_MIXER_GAIN:
>>>       case V4L2_CID_IF_GAIN:
>>> +    case V4L2_CID_BANDWIDTH:
>>
>> Booleans never have the slider flag set (they are represented as a checkbox, so a slider
>> makes no sense).
>>
>>>           *flags |= V4L2_CTRL_FLAG_SLIDER;
> 
> These are two different controls, as it is controls groups with auto mode (boolean) and value (slider).

Oops, my fault. I misread.

	Hans
--
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