[PATCH 32/45] media: qcom: camss: sa8775p: add IFE completion groups
From: Gjorgji . Rosikopulos . gjorgji . rosikopulos
Date: Tue Oct 06 2026 - 18:51:55 EST
From: Atanas Filipov <atanas.filipov@xxxxxxxxxxxxxxxx>
Describe the SA8775P completion groups and statistics output.
Signed-off-by: Atanas Filipov <atanas.filipov@xxxxxxxxxxxxxxxx>
---
.../platform/qcom/camss/camss-ife-pads.c | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/media/platform/qcom/camss/camss-ife-pads.c b/drivers/media/platform/qcom/camss/camss-ife-pads.c
index b1e6204ceb21..38e87a1b3826 100644
--- a/drivers/media/platform/qcom/camss/camss-ife-pads.c
+++ b/drivers/media/platform/qcom/camss/camss-ife-pads.c
@@ -484,6 +484,8 @@ static const struct ife_pad_desc ife_pad_desc_v41x[] = {
.hw_pipe = CAMSS_IFE_HW_PIPE_PP,
.packing_fmt = 0x1,
.mode_config = BUSWR_CLIENT_CFG_MODE_LINE_BASED,
+ .rup_group_mask = BIT(0),
+ .comp_group_mask = BIT(0),
.num_wms = 2,
.wm = { 0, 1 },
},
@@ -501,6 +503,8 @@ static const struct ife_pad_desc ife_pad_desc_v41x[] = {
.hw_pipe = CAMSS_IFE_HW_PIPE_PP,
.packing_fmt = 0x1,
.mode_config = BUSWR_CLIENT_CFG_MODE_LINE_BASED,
+ .rup_group_mask = BIT(0),
+ .comp_group_mask = BIT(3),
.num_wms = 2,
.wm = { 3, 4 },
},
@@ -518,6 +522,8 @@ static const struct ife_pad_desc ife_pad_desc_v41x[] = {
.hw_pipe = CAMSS_IFE_HW_PIPE_RDI0,
.packing_fmt = 0x0,
.mode_config = BUSWR_CLIENT_CFG_MODE_FRAME_BASED,
+ .rup_group_mask = BIT(1),
+ .comp_group_mask = BIT(11),
.num_wms = 1,
.wm = { 16 },
},
@@ -535,6 +541,8 @@ static const struct ife_pad_desc ife_pad_desc_v41x[] = {
.hw_pipe = CAMSS_IFE_HW_PIPE_RDI1,
.packing_fmt = 0x0,
.mode_config = BUSWR_CLIENT_CFG_MODE_FRAME_BASED,
+ .rup_group_mask = BIT(2),
+ .comp_group_mask = BIT(12),
.num_wms = 1,
.wm = { 17 },
},
@@ -552,9 +560,32 @@ static const struct ife_pad_desc ife_pad_desc_v41x[] = {
.hw_pipe = CAMSS_IFE_HW_PIPE_RDI2,
.packing_fmt = 0x0,
.mode_config = BUSWR_CLIENT_CFG_MODE_FRAME_BASED,
+ .rup_group_mask = BIT(3),
+ .comp_group_mask = BIT(13),
.num_wms = 1,
.wm = { 18 },
},
+ {
+ .pad_flags = MEDIA_PAD_FL_SOURCE,
+ .sup_fmts = {
+ .nformats = ARRAY_SIZE(ife_stats_fmts_v20x),
+ .formats = ife_stats_fmts_v20x,
+ },
+ .limits = &ife_meta_limits_v20x,
+ .video_name = "stats",
+ .link_flags = MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED,
+ .buf_type = V4L2_BUF_TYPE_META_CAPTURE,
+ .meta_dataformat = V4L2_META_FMT_QC_IFE_STAT_3A,
+ .meta_buffersize = PAGE_ALIGN(sizeof(struct camss_ife_stats)),
+ .output = CAMSS_IFE_OUTPUT_STATS,
+ .hw_pipe = CAMSS_IFE_HW_PIPE_PP,
+ .packing_fmt = 0xa,
+ .mode_config = BUSWR_CLIENT_CFG_MODE_FRAME_BASED,
+ .rup_group_mask = BIT(0),
+ .comp_group_mask = BIT(5),
+ .num_wms = 1,
+ .wm = { 12 },
+ },
{
.pad_flags = MEDIA_PAD_FL_SINK,
.sup_fmts = {
--
2.34.1