On 04/07/18 14:16, Mauro Carvalho Chehab wrote: > Em Fri, 29 Jun 2018 11:40:41 +0200 > Hans Verkuil <hverkuil@xxxxxxxxx> escreveu: > >> In the vivid driver you want gain to continuous change while autogain >> is on. However, dev->jiffies_vid_cap doesn't actually change. It probably >> did in the past, but changes in the code caused this to be a fixed value >> that is only set when you start streaming. >> >> Replace it by jiffies, which is always changing. >> >> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> >> --- >> diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/platform/vivid/vivid-ctrls.c >> index 6b0bfa091592..6eb8ad7fb12c 100644 >> --- a/drivers/media/platform/vivid/vivid-ctrls.c >> +++ b/drivers/media/platform/vivid/vivid-ctrls.c >> @@ -295,7 +295,7 @@ static int vivid_user_vid_g_volatile_ctrl(struct v4l2_ctrl *ctrl) >> >> switch (ctrl->id) { >> case V4L2_CID_AUTOGAIN: >> - dev->gain->val = dev->jiffies_vid_cap & 0xff; >> + dev->gain->val = (jiffies / HZ) & 0xff; > > Manipulating jiffies directly like the above is not a good idea. Why not? There are HZ jiffies in one second, so this changes the gain value once a second. Regards, Hans > > Better to use, instead: > > dev->gain->val = (jiffies_to_msecs(jiffies) / 1000) & 0xff; > > I'll change the code when applying the patch. > > > Thanks, > Mauro >