return 0;
 }
 
+static int dcmi_g_parm(struct file *file, void *priv,
+                      struct v4l2_streamparm *p)
+{
+       struct stm32_dcmi *dcmi = video_drvdata(file);
+
+       return v4l2_g_parm_cap(video_devdata(file), dcmi->entity.subdev, p);
+}
+
+static int dcmi_s_parm(struct file *file, void *priv,
+                      struct v4l2_streamparm *p)
+{
+       struct stm32_dcmi *dcmi = video_drvdata(file);
+
+       return v4l2_s_parm_cap(video_devdata(file), dcmi->entity.subdev, p);
+}
+
 static int dcmi_enum_frameintervals(struct file *file, void *fh,
                                    struct v4l2_frmivalenum *fival)
 {
        .vidioc_g_input                 = dcmi_g_input,
        .vidioc_s_input                 = dcmi_s_input,
 
+       .vidioc_g_parm                  = dcmi_g_parm,
+       .vidioc_s_parm                  = dcmi_s_parm,
+
        .vidioc_enum_framesizes         = dcmi_enum_framesizes,
        .vidioc_enum_frameintervals     = dcmi_enum_frameintervals,