]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: v4l2-fwnode: The first default data lane is 0 on C-PHY
authorSakari Ailus <sakari.ailus@linux.intel.com>
Sat, 2 Mar 2019 15:23:12 +0000 (10:23 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 May 2019 13:43:51 +0000 (06:43 -0700)
[ Upstream commit fff35d45e16fae125c6000cb87e254cb634ac7fb ]

C-PHY has no clock lanes. Therefore the first data lane is 0 by default.

Fixes: edc6d56c2e7e ("media: v4l: fwnode: Support parsing of CSI-2 C-PHY endpoints")
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/v4l2-core/v4l2-fwnode.c

index 20571846e63676994cefe7e79d5ac7bf6fe7c9d5..7495f832314790f3185248e84c58f6f7b079670c 100644 (file)
@@ -225,6 +225,10 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,
        if (bus_type == V4L2_MBUS_CSI2_DPHY ||
            bus_type == V4L2_MBUS_CSI2_CPHY || lanes_used ||
            have_clk_lane || (flags & ~V4L2_MBUS_CSI2_CONTINUOUS_CLOCK)) {
+               /* Only D-PHY has a clock lane. */
+               unsigned int dfl_data_lane_index =
+                       bus_type == V4L2_MBUS_CSI2_DPHY;
+
                bus->flags = flags;
                if (bus_type == V4L2_MBUS_UNKNOWN)
                        vep->bus_type = V4L2_MBUS_CSI2_DPHY;
@@ -233,7 +237,7 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,
                if (use_default_lane_mapping) {
                        bus->clock_lane = 0;
                        for (i = 0; i < num_data_lanes; i++)
-                               bus->data_lanes[i] = 1 + i;
+                               bus->data_lanes[i] = dfl_data_lane_index + i;
                } else {
                        bus->clock_lane = clock_lane;
                        for (i = 0; i < num_data_lanes; i++)