]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: iris: Add support for VIDIOC_QUERYCAP for encoder video device
authorDikshita Agarwal <quic_dikshita@quicinc.com>
Mon, 25 Aug 2025 07:00:41 +0000 (12:30 +0530)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Wed, 10 Sep 2025 07:02:36 +0000 (09:02 +0200)
Add support for the VIDIOC_QUERYCAP V4L2 iocts for the encoder video
device to report core driver capabilities.

Tested-by: Vikash Garodia <quic_vgarodia@quicinc.com> # X1E80100
Reviewed-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> # x1e80100-crd
Signed-off-by: Bryan O'Donoghue <bod@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/qcom/iris/iris_vidc.c

index 3f641782e932a30af46c631003a72d7dd2b4386e..92a616787a30a51f4fbf4760badffd6fabc48cc6 100644 (file)
@@ -444,8 +444,14 @@ static int iris_enum_frameintervals(struct file *filp, void *fh,
 
 static int iris_querycap(struct file *filp, void *fh, struct v4l2_capability *cap)
 {
+       struct iris_inst *inst = iris_get_inst(filp);
+
        strscpy(cap->driver, IRIS_DRV_NAME, sizeof(cap->driver));
-       strscpy(cap->card, "Iris Decoder", sizeof(cap->card));
+
+       if (inst->domain == DECODER)
+               strscpy(cap->card, "Iris Decoder", sizeof(cap->card));
+       else
+               strscpy(cap->card, "Iris Encoder", sizeof(cap->card));
 
        return 0;
 }
@@ -575,6 +581,7 @@ static const struct v4l2_ioctl_ops iris_v4l2_ioctl_ops_enc = {
        .vidioc_g_fmt_vid_out_mplane    = iris_g_fmt_vid_mplane,
        .vidioc_enum_framesizes         = iris_enum_framesizes,
        .vidioc_enum_frameintervals     = iris_enum_frameintervals,
+       .vidioc_querycap                = iris_querycap,
 };
 
 void iris_init_ops(struct iris_core *core)