mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
synced 2025-09-14 00:29:50 +10:00
media: v4l: Support obtaining link frequency via get_mbus_config
Add link_freq field to struct v4l2_mbus_config in order to pass the link frequency to the receiving sub-device. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
parent
15f0035bfd
commit
9849b9fead
@ -508,12 +508,23 @@ EXPORT_SYMBOL_GPL(__v4l2_get_link_freq_ctrl);
|
||||
s64 __v4l2_get_link_freq_pad(struct media_pad *pad, unsigned int mul,
|
||||
unsigned int div)
|
||||
{
|
||||
struct v4l2_mbus_config mbus_config = {};
|
||||
struct v4l2_subdev *sd;
|
||||
int ret;
|
||||
|
||||
sd = media_entity_to_v4l2_subdev(pad->entity);
|
||||
if (!sd)
|
||||
return -ENODEV;
|
||||
ret = v4l2_subdev_call(sd, pad, get_mbus_config, pad->index,
|
||||
&mbus_config);
|
||||
if (ret < 0 && ret != -ENOIOCTLCMD)
|
||||
return ret;
|
||||
|
||||
if (mbus_config.link_freq)
|
||||
return mbus_config.link_freq;
|
||||
|
||||
/*
|
||||
* Fall back to using the link frequency control if the media bus config
|
||||
* doesn't provide a link frequency.
|
||||
*/
|
||||
return __v4l2_get_link_freq_ctrl(sd->ctrl_handler, mul, div);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__v4l2_get_link_freq_pad);
|
||||
|
@ -169,6 +169,7 @@ enum v4l2_mbus_type {
|
||||
/**
|
||||
* struct v4l2_mbus_config - media bus configuration
|
||||
* @type: interface type
|
||||
* @link_freq: The link frequency. See also V4L2_CID_LINK_FREQ control.
|
||||
* @bus: bus configuration data structure
|
||||
* @bus.parallel: embedded &struct v4l2_mbus_config_parallel.
|
||||
* Used if the bus is parallel or BT.656.
|
||||
@ -183,6 +184,7 @@ enum v4l2_mbus_type {
|
||||
*/
|
||||
struct v4l2_mbus_config {
|
||||
enum v4l2_mbus_type type;
|
||||
u64 link_freq;
|
||||
union {
|
||||
struct v4l2_mbus_config_parallel parallel;
|
||||
struct v4l2_mbus_config_mipi_csi1 mipi_csi1;
|
||||
|
Loading…
Reference in New Issue
Block a user