mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 08:51:13 +00:00
64 lines
2.8 KiB
Diff
64 lines
2.8 KiB
Diff
|
From 487203abdef24b7d3cdd110f1b1e699fd22aa02c Mon Sep 17 00:00:00 2001
|
||
|
From: Jacopo Mondi <jacopo+renesas@jmondi.org>
|
||
|
Date: Tue, 16 Jun 2020 16:12:36 +0200
|
||
|
Subject: [PATCH]_mbus_config
|
||
|
pad ops
|
||
|
|
||
|
Upstream https://patchwork.linuxtv.org/patch/64669/
|
||
|
|
||
|
Introduce two new pad operations to allow retrieving and configuring the
|
||
|
media bus parameters on a subdevice pad.
|
||
|
|
||
|
The newly introduced operations aims to replace the s/g_mbus_config video
|
||
|
operations, which have been on their way for deprecation since a long
|
||
|
time.
|
||
|
|
||
|
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
|
||
|
---
|
||
|
include/media/v4l2-subdev.h | 27 +++++++++++++++++++++++++++
|
||
|
1 file changed, 27 insertions(+)
|
||
|
|
||
|
--- a/include/media/v4l2-subdev.h
|
||
|
+++ b/include/media/v4l2-subdev.h
|
||
|
@@ -670,6 +670,29 @@ struct v4l2_subdev_pad_config {
|
||
|
*
|
||
|
* @set_frame_desc: set the low level media bus frame parameters, @fd array
|
||
|
* may be adjusted by the subdev driver to device capabilities.
|
||
|
+ *
|
||
|
+ * @get_mbus_config: get the media bus configuration of a remote sub-device.
|
||
|
+ * The media bus configuration is usually retrieved from the
|
||
|
+ * firmware interface at sub-device probe time, immediately
|
||
|
+ * applied to the hardware and eventually adjusted by the
|
||
|
+ * driver. Remote sub-devices (usually video receivers) shall
|
||
|
+ * use this operation to query the transmitting end bus
|
||
|
+ * configuration in order to adjust their own one accordingly.
|
||
|
+ * Callers should make sure they get the most up-to-date as
|
||
|
+ * possible configuration from the remote end, likely calling
|
||
|
+ * this operation as close as possible to stream on time. The
|
||
|
+ * operation shall fail if the pad index it has been called on
|
||
|
+ * is not valid.
|
||
|
+ *
|
||
|
+ * @set_mbus_config: set the media bus configuration of a remote sub-device.
|
||
|
+ * This operations is intended to allow, in combination with
|
||
|
+ * the get_mbus_config operation, the negotiation of media bus
|
||
|
+ * configuration parameters between media sub-devices. The
|
||
|
+ * operation shall not fail if the requested configuration is
|
||
|
+ * not supported, but the driver shall update the content of
|
||
|
+ * the %config argument to reflect what has been actually
|
||
|
+ * applied to the hardware. The operation shall fail if the
|
||
|
+ * pad index it has been called on is not valid.
|
||
|
*/
|
||
|
struct v4l2_subdev_pad_ops {
|
||
|
int (*init_cfg)(struct v4l2_subdev *sd,
|
||
|
@@ -710,6 +733,10 @@ struct v4l2_subdev_pad_ops {
|
||
|
struct v4l2_mbus_frame_desc *fd);
|
||
|
int (*set_frame_desc)(struct v4l2_subdev *sd, unsigned int pad,
|
||
|
struct v4l2_mbus_frame_desc *fd);
|
||
|
+ int (*get_mbus_config)(struct v4l2_subdev *sd, unsigned int pad,
|
||
|
+ struct v4l2_mbus_config *config);
|
||
|
+ int (*set_mbus_config)(struct v4l2_subdev *sd, unsigned int pad,
|
||
|
+ struct v4l2_mbus_config *config);
|
||
|
};
|
||
|
|
||
|
/**
|