Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933826AbdDSKdF (ORCPT ); Wed, 19 Apr 2017 06:33:05 -0400 Received: from smtprelay.synopsys.com ([198.182.60.111]:41503 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933784AbdDSKdD (ORCPT ); Wed, 19 Apr 2017 06:33:03 -0400 Subject: Re: [PATCH 3/3] [media] cobalt: Use v4l2_calc_timeperframe helper To: Hans Verkuil , Jose Abreu , References: <070c9e71b359c0f6da7410b5ab9207210925549a.1490095965.git.joabreu@synopsys.com> CC: Carlos Palminha , Mauro Carvalho Chehab , Hans Verkuil , From: Jose Abreu Message-ID: <96361b5d-39e1-225b-7d40-c2b66585b019@synopsys.com> Date: Wed, 19 Apr 2017 11:32:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.107.19.109] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2423 Lines: 76 Hi Hans, On 31-03-2017 09:59, Jose Abreu wrote: > Hi Hans, > > > On 30-03-2017 14:42, Hans Verkuil wrote: >> Hi Jose, >> >> On 21/03/17 12:49, Jose Abreu wrote: >>> Currently, cobalt driver always returns 60fps in g_parm. >>> This patch uses the new v4l2_calc_timeperframe helper to >>> calculate the time per frame value. >> I can verify that g_parm works, so: >> >> Tested-by: Hans Verkuil >> >> However, the adv7604 pixelclock detection resolution is only 0.25 MHz, so it >> can't tell the difference between 24 and 23.97 Hz. I can't set the new >> V4L2_DV_FL_CAN_DETECT_REDUCED_FPS flag there. >> >> It might be possible to implement this for the adv7842 receiver, I think that >> that hardware is much more precise. >> >> I would have to try this, but that will have to wait until Friday next week. > Thanks! Yes, maybe its better to test with a different receiver, > if it has more precision then its great. Let me know if you need > any help :) Any news regarding this? Best regards, Jose Miguel Abreu > > Best regards, > Jose Miguel Abreu > >> Regards, >> >> Hans >> >>> Signed-off-by: Jose Abreu >>> Cc: Carlos Palminha >>> Cc: Mauro Carvalho Chehab >>> Cc: Hans Verkuil >>> Cc: linux-media@vger.kernel.org >>> Cc: linux-kernel@vger.kernel.org >>> --- >>> drivers/media/pci/cobalt/cobalt-v4l2.c | 9 +++++++-- >>> 1 file changed, 7 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cobalt/cobalt-v4l2.c >>> index def4a3b..25532ae 100644 >>> --- a/drivers/media/pci/cobalt/cobalt-v4l2.c >>> +++ b/drivers/media/pci/cobalt/cobalt-v4l2.c >>> @@ -1076,10 +1076,15 @@ static int cobalt_subscribe_event(struct v4l2_fh *fh, >>> >>> static int cobalt_g_parm(struct file *file, void *fh, struct v4l2_streamparm *a) >>> { >>> + struct cobalt_stream *s = video_drvdata(file); >>> + struct v4l2_fract fps; >>> + >>> if (a->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) >>> return -EINVAL; >>> - a->parm.capture.timeperframe.numerator = 1; >>> - a->parm.capture.timeperframe.denominator = 60; >>> + >>> + fps = v4l2_calc_timeperframe(&s->timings); >>> + a->parm.capture.timeperframe.numerator = fps.numerator; >>> + a->parm.capture.timeperframe.denominator = fps.denominator; >>> a->parm.capture.readbuffers = 3; >>> return 0; >>> } >>>