aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/platform/sunxi
diff options
context:
space:
mode:
authorGravatar Paul Kocialkowski <paul.kocialkowski@bootlin.com> 2022-11-03 16:30:57 +0000
committerGravatar Mauro Carvalho Chehab <mchehab@kernel.org> 2022-11-25 07:10:27 +0000
commit90449f4269dea24604b24240e99273b9c7428127 (patch)
treed328c47ed961f046412d33f68ccca768af24a195 /drivers/media/platform/sunxi
parentmedia: sun6i-csi: Remove custom format helper and rework configure (diff)
downloadlinux-90449f4269dea24604b24240e99273b9c7428127.tar.gz
linux-90449f4269dea24604b24240e99273b9c7428127.tar.bz2
linux-90449f4269dea24604b24240e99273b9c7428127.zip
media: sun6i-csi: Add bridge dimensions and format helpers
Introduce new helpers to ease getting information about the bridge. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/platform/sunxi')
-rw-r--r--drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c20
-rw-r--r--drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.h7
2 files changed, 27 insertions, 0 deletions
diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c
index cac1b150e544..b98a1e18ddef 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c
@@ -12,6 +12,26 @@
#include "sun6i_csi.h"
#include "sun6i_csi_bridge.h"
+/* Helpers */
+
+void sun6i_csi_bridge_dimensions(struct sun6i_csi_device *csi_dev,
+ unsigned int *width, unsigned int *height)
+{
+ if (width)
+ *width = csi_dev->bridge.mbus_format.width;
+ if (height)
+ *height = csi_dev->bridge.mbus_format.height;
+}
+
+void sun6i_csi_bridge_format(struct sun6i_csi_device *csi_dev,
+ u32 *mbus_code, u32 *field)
+{
+ if (mbus_code)
+ *mbus_code = csi_dev->bridge.mbus_format.code;
+ if (field)
+ *field = csi_dev->bridge.mbus_format.field;
+}
+
/* Format */
static const u32 sun6i_csi_bridge_mbus_codes[] = {
diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.h b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.h
index f9bf87bf3667..5e6448aa522f 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.h
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.h
@@ -41,6 +41,13 @@ struct sun6i_csi_bridge {
struct sun6i_csi_bridge_source source_parallel;
};
+/* Helpers */
+
+void sun6i_csi_bridge_dimensions(struct sun6i_csi_device *csi_dev,
+ unsigned int *width, unsigned int *height);
+void sun6i_csi_bridge_format(struct sun6i_csi_device *csi_dev,
+ u32 *mbus_code, u32 *field);
+
/* Bridge */
int sun6i_csi_bridge_setup(struct sun6i_csi_device *csi_dev);