[PATCH v3 30/31] media: synopsys: csi2: Remove source pad connected check at dw_csi2_enable_streams()

Frank Li posted 31 patches 1 month, 1 week ago
[PATCH v3 30/31] media: synopsys: csi2: Remove source pad connected check at dw_csi2_enable_streams()
Posted by Frank Li 1 month, 1 week ago
link_setup() callback is not called if remote linked subdev use flag
MEDIA_LNK_FL_ENABLED.

Driver needn't track if source pad is connected since framework already do
that. So remove these check and related variable.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 drivers/media/platform/synopsys/mipi-csi2.c | 21 +++------------------
 include/media/dw-mipi-csi2.h                |  1 -
 2 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/drivers/media/platform/synopsys/mipi-csi2.c b/drivers/media/platform/synopsys/mipi-csi2.c
index 8ccd3d4960801cccd8d24647f726e4653955f90c..66207a601c228bfd3d79b7a2053458870622b039 100644
--- a/drivers/media/platform/synopsys/mipi-csi2.c
+++ b/drivers/media/platform/synopsys/mipi-csi2.c
@@ -710,18 +710,12 @@ static int dw_csi2_enable_streams(struct v4l2_subdev *sd,
 				  u64 streams_mask)
 {
 	struct dw_mipi_csi2_dev *csi2 = sd_to_dev(sd);
-	int i, ret = 0;
+	int ret = 0;
 
 	guard(mutex)(&csi2->lock);
 
-	if (!csi2->src_sd)
-		return -EPIPE;
 
-	for (i = 0; i < csi2->num_sink_pads; i++) {
-		if (csi2->sink_linked[i])
-			break;
-	}
-	if (i >= csi2->num_sink_pads)
+	if (!csi2->src_sd)
 		return -EPIPE;
 
 	if (csi2->stream_count)
@@ -773,16 +767,7 @@ static int csi2_link_setup(struct media_entity *entity,
 
 	guard(mutex)(&csi2->lock);
 
-	if (local->flags & MEDIA_PAD_FL_SOURCE) {
-		if (flags & MEDIA_LNK_FL_ENABLED) {
-			if (csi2->sink_linked[local->index - 1])
-				return -EBUSY;
-
-			csi2->sink_linked[local->index - 1] = true;
-		} else {
-			csi2->sink_linked[local->index - 1] = false;
-		}
-	} else {
+	if (local->flags & MEDIA_PAD_FL_SINK) {
 		if (flags & MEDIA_LNK_FL_ENABLED) {
 			if (csi2->src_sd)
 				return -EBUSY;
diff --git a/include/media/dw-mipi-csi2.h b/include/media/dw-mipi-csi2.h
index d1afd8c6d95457c28d7e1de6935908437372572d..977a9e27cc50ad6ecfb47ebf8d42f115bc51c1ae 100644
--- a/include/media/dw-mipi-csi2.h
+++ b/include/media/dw-mipi-csi2.h
@@ -75,7 +75,6 @@ struct dw_mipi_csi2_dev {
 
 	int				stream_count;
 	struct v4l2_subdev		*src_sd;
-	bool				sink_linked[DW_MAX_PAD_NUM];
 	const struct dw_mipi_csi2_config *config;
 
 	struct dw_csi2_event		*event;

-- 
2.34.1