[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211112120335.74e437db@sal.lan>
Date: Fri, 12 Nov 2021 12:03:35 +0000
From: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
To: unlisted-recipients:; (no To-header on input)
Cc: linuxarm@...wei.com, mauro.chehab@...wei.com,
Bhaskar Chowdhury <unixbhaskar@...il.com>,
Dan Carpenter <dan.carpenter@...cle.com>,
Deepak R Varma <drv@...lo.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Hans Verkuil <hverkuil-cisco@...all.nl>,
Hans de Goede <hdegoede@...hat.com>,
Ingo Molnar <mingo@...nel.org>,
Kaixu Xia <kaixuxia@...cent.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Randy Dunlap <rdunlap@...radead.org>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Tomi Valkeinen <tomi.valkeinen@...asonboard.com>,
Tsuchiya Yuto <kitakar@...il.com>,
linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
linux-staging@...ts.linux.dev
Subject: Re: [PATCH 0/3] atomisp: add support for enum frame rate and sizes
Em Thu, 11 Nov 2021 17:27:55 +0000
Mauro Carvalho Chehab <mchehab+huawei@...nel.org> escreveu:
> Adding support for those two ioctls are trivial, and allow testing
> different resolutions with the driver.
>
> Together with some improvements I made at camorama, it is now
> possible to change the atomisp sensor's resolution at the GUI.
>
> Talking about camorama, I also added there an option to disable
> the Gtk cairo_scale() calls. On my tests here, placing ov2680 on
> its maximum resolution, I'm getting a framerate of 26 fps, which
> sounds reasonable, as the maximum would be 30fps, and I'm not
> using daylight.
>
> When letting cairo_scale() to run, the rate reduces to 8 fps, meaning
> that Gtk is not using GPU acceleration.
>
> Funny enough, when resolution is lower, atomisp is giving a very
> bad framerate (around 3fps, even with the scaler disabled).
>
> This is a very weird result, probably indicating some problems inside
> the driver. That requires further investigation.
Ok, when the sensor's resolution is not the highest one, what happens is
that the frame is retrieved via some timeout logic:
[10447.865064] ov2680 i2c-OVTI2680:00: ov2680_s_stream one
[10447.865491] atomisp-isp2 0000:00:03.0: timeout recovery handling done
[10450.029956] atomisp-isp2 0000:00:03.0: [WARNING]asd 0 pipe ATOMISP ISP PREVIEW output ISP timeout 1!
[10450.030099] atomisp-isp2 0000:00:03.0: pipe on asd0 timeout cnt: (0, 0, 1, 0) of 2, recover = 1
[10450.030137] atomisp-isp2 0000:00:03.0: pipe on asd1 timeout cnt: (0, 0, 0, 0) of 2, recover = 1
It sounds that it can't properly detect the end of frame when the
sensor is not on its highest resolution.
Basically atomisp_wdt_work() is triggered by a
IA_CSS_EVENT_TYPE_FW_ASSERT event. Identifying why this is happening
is not trivial, though.
Regards,
Mauro
Powered by blists - more mailing lists