Hi Hans, On 21-03-2017 11:49, Jose Abreu wrote: > Hi all, > > This is a follow up patch from this discussion [1]. It should be > seen more as a starting point to introduce better handling of > time per frame in v4l2. Quoting Hans Verkuil from [1]: > > 1) "Add a flag V4L2_DV_FL_CAN_DETECT_REDUCED_FPS. If set, > then the hw can detect the difference between regular fps > and 1000/1001 fps. Note: this is only valid for timings of > VIC codes with the V4L2_DV_FL_CAN_REDUCE_FPS flag set." > > 2) "Allow V4L2_DV_FL_REDUCED_FPS to be used for receivers > if V4L2_DV_FL_CAN_DETECT_REDUCED_FPS is set." > > 3) "For standard VIC codes the pixelclock returned by > query_dv_timings is that of the corresponding VIC timing, > not what is measured. This will ensure fixed fps values" > > 4) "g_parm should calculate the fps based on the v4l2_bt_timings > struct, looking at the REDUCES_FPS flags. For those receivers that > cannot detect the difference, the fps will be 24/30/60 Hz, for > those that can detect the difference g_parm can check if both > V4L2_DV_FL_CAN_DETECT_REDUCED_FPS and V4L2_DV_FL_REDUCED_FPS are > set and reduce the fps by 1000/1001." > > ----------- > In terms of implementation: > - Point 1) is done in patch 1/3 > - Point 2) and 3) should be done by a HDMI Receiver driver > (I think?). > - Point 4) is done in patch 2/3. > - The patch 3/3 is a simple implementation (which was not > tested) in the cobalt driver > ----------- > > [1] https://patchwork.kernel.org/patch/9609441/ > > Best regards, > Jose Miguel Abreu > > Cc: Carlos Palminha <palminha@xxxxxxxxxxxx> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> > Cc: linux-media@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > > Jose Abreu (3): > [media] videodev2.h: Add new DV flag CAN_DETECT_REDUCED_FPS > [media] v4l2-dv-timings: Introduce v4l2_calc_timeperframe helper > [media] cobalt: Use v4l2_calc_timeperframe helper > > drivers/media/pci/cobalt/cobalt-v4l2.c | 9 +++++-- > drivers/media/v4l2-core/v4l2-dv-timings.c | 39 +++++++++++++++++++++++++++++++ > include/media/v4l2-dv-timings.h | 11 +++++++++ > include/uapi/linux/videodev2.h | 7 ++++++ > 4 files changed, 64 insertions(+), 2 deletions(-) > Can you please review this series, when possible? And if you could test it on cobalt it would be great :) Best regards, Jose Miguel Abreu