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 10:08 AM, 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).

v4l2-compliance will actually complain about this. It is useful to add support for
swradio to v4l2-compliance as it helps you test v4l2 compliance of drivers.

Regards,

	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