media: staging/intel-ipu3: set the main output as mandatory
authorBingbu Cao <bingbu.cao@intel.com>
Mon, 30 Dec 2019 03:09:04 +0000 (04:09 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 4 Jan 2020 07:11:51 +0000 (08:11 +0100)
From firmware perspective, the main output for each pipe is mandatory
and must be enabled. This patch set the link between imgu subdev and
main output as IMMUTABLE by default.

Signed-off-by: Bingbu Cao <bingbu.cao@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/ipu3/TODO
drivers/staging/media/ipu3/ipu3-v4l2.c

index b44bb4a..9ef036f 100644 (file)
@@ -5,9 +5,6 @@ staging directory.
   as well as formats and the binary used to a request. Remove the
   opportunistic buffer management. (Sakari)
 
-- Using ENABLED and IMMUTABLE link flags for the links where those are
-  relevant. (Sakari)
-
 - IPU3 driver documentation (Laurent)
   Comments on configuring v4l2 subdevs for CIO2 and ImgU.
 
index 3c7ad1e..569e27b 100644 (file)
@@ -1260,6 +1260,11 @@ static int imgu_v4l2_node_setup(struct imgu_device *imgu, unsigned int pipe,
                r = media_create_pad_link(&vdev->entity, 0, &sd->entity,
                                          node_num, flags);
        } else {
+               if (node->id == IMGU_NODE_OUT) {
+                       flags |= MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE;
+                       node->enabled = true;
+               }
+
                r = media_create_pad_link(&sd->entity, node_num, &vdev->entity,
                                          0, flags);
        }