[PATCH v2 15/24] media: iris: Add support for VIDIOC_QUERYCAP for encoder video device

Dikshita Agarwal posted 24 patches 4 months ago
[PATCH v2 15/24] media: iris: Add support for VIDIOC_QUERYCAP for encoder video device
Posted by Dikshita Agarwal 4 months ago
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
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
---
 drivers/media/platform/qcom/iris/iris_vidc.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/iris/iris_vidc.c b/drivers/media/platform/qcom/iris/iris_vidc.c
index cb1280c0c6c82187243f0bda4d98e42370ee787c..458773a2ed7f5e16d5bd5e79dba2f5c029036505 100644
--- a/drivers/media/platform/qcom/iris/iris_vidc.c
+++ b/drivers/media/platform/qcom/iris/iris_vidc.c
@@ -446,8 +446,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, NULL);
+
 	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;
 }
@@ -577,6 +583,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)

-- 
2.34.1
Re: [PATCH v2 15/24] media: iris: Add support for VIDIOC_QUERYCAP for encoder video device
Posted by Vikash Garodia 4 months ago
On 8/13/2025 3:08 PM, Dikshita Agarwal wrote:
> 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
> Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
> ---
>  drivers/media/platform/qcom/iris/iris_vidc.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/qcom/iris/iris_vidc.c b/drivers/media/platform/qcom/iris/iris_vidc.c
> index cb1280c0c6c82187243f0bda4d98e42370ee787c..458773a2ed7f5e16d5bd5e79dba2f5c029036505 100644
> --- a/drivers/media/platform/qcom/iris/iris_vidc.c
> +++ b/drivers/media/platform/qcom/iris/iris_vidc.c
> @@ -446,8 +446,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, NULL);
> +
>  	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;
>  }
> @@ -577,6 +583,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)
> 

Reviewed-by: Vikash Garodia <quic_vgarodia@quicinc.com>