mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 06:49:52 +00:00
media: intel/ipu6: Obtain link frequency from the remote subdev pad
Obtain the link frequency from the sub-device's pad instead of a control handler. This allows obtaining it using the get_mbus_config() sub-device pad op which is the only method supported by the IVSC driver. 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
91d6a99acf
commit
55a163e6d9
@ -80,25 +80,19 @@ static const struct ipu6_csi2_error dphy_rx_errors[] = {
|
||||
s64 ipu6_isys_csi2_get_link_freq(struct ipu6_isys_csi2 *csi2)
|
||||
{
|
||||
struct media_pad *src_pad;
|
||||
struct v4l2_subdev *ext_sd;
|
||||
struct device *dev;
|
||||
|
||||
if (!csi2)
|
||||
return -EINVAL;
|
||||
|
||||
dev = &csi2->isys->adev->auxdev.dev;
|
||||
src_pad = media_entity_remote_source_pad_unique(&csi2->asd.sd.entity);
|
||||
if (IS_ERR(src_pad)) {
|
||||
dev_err(dev, "can't get source pad of %s (%ld)\n",
|
||||
dev_err(&csi2->isys->adev->auxdev.dev,
|
||||
"can't get source pad of %s (%ld)\n",
|
||||
csi2->asd.sd.name, PTR_ERR(src_pad));
|
||||
return PTR_ERR(src_pad);
|
||||
}
|
||||
|
||||
ext_sd = media_entity_to_v4l2_subdev(src_pad->entity);
|
||||
if (WARN(!ext_sd, "Failed to get subdev for %s\n", csi2->asd.sd.name))
|
||||
return -ENODEV;
|
||||
|
||||
return v4l2_get_link_freq(ext_sd->ctrl_handler, 0, 0);
|
||||
return v4l2_get_link_freq(src_pad, 0, 0);
|
||||
}
|
||||
|
||||
static int csi2_subscribe_event(struct v4l2_subdev *sd, struct v4l2_fh *fh,
|
||||
|
Loading…
x
Reference in New Issue
Block a user