mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Nicolas Dufresne <nicolas@ndufresne.ca>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	Steve Longerbeam <slongerbeam@gmail.com>,
	robh+dt@kernel.org, mark.rutland@arm.com, shawnguo@kernel.org,
	kernel@pengutronix.de, fabio.estevam@nxp.com, mchehab@kernel.org,
	nick@shmanahar.org, markus.heiser@darmarIT.de,
	p.zabel@pengutronix.de,
	laurent.pinchart+renesas@ideasonboard.com, bparrot@ti.com,
	geert@linux-m68k.org, arnd@arndb.de, sudipm.mukherjee@gmail.com,
	minghsiu.tsai@mediatek.com, tiffany.lin@mediatek.com,
	jean-christophe.trotin@st.com, horms+renesas@verge.net.au,
	niklas.soderlund+renesas@ragnatech.se, robert.jarzmik@free.fr,
	songjun.wu@microchip.com, andrew-ct.chen@mediatek.com,
	gregkh@linuxfoundation.org, shuah@kernel.org,
	sakari.ailus@linux.intel.com, pavel@ucw.cz,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org, devel@driverdev.osuosl.org
Subject: Re: [PATCH v5 15/39] [media] v4l2: add a frame interval error event
Date: Tue, 14 Mar 2017 16:47:28 +0000	[thread overview]
Message-ID: <20170314164728.GQ21222@n2100.armlinux.org.uk> (raw)
In-Reply-To: <1489508491.28116.8.camel@ndufresne.ca>

On Tue, Mar 14, 2017 at 12:21:31PM -0400, Nicolas Dufresne wrote:
> My main concern here based on what I'm reading, is that this driver is
> not even able to notice immediately that a produced frame was corrupted
> (because it's out of sync). From usability perspective, this is really
> bad. Can't the driver derive a clock from some irq and calculate for
> each frame if the timing was correct ? And if not mark the buffer with
> V4L2_BUF_FLAG_ERROR ?

One of the issues of measuring timing with IRQs is the fact that the
IRQ subsystem only allows one IRQ to run at a time.  If an IRQ takes
a relatively long time to process, then it throws the timing of other
IRQs out.

If you're going to decide that a buffer should be marked in error on
the basis of an interrupt arriving late, this can trigger spuriously.

It wasn't that long ago that USB HID was regularly eating something
like 20ms of interrupt time... that's been solved, but that doesn't
mean all cases are solved - there are still interrupt handlers in the
kernel that are on the order of milliseconds to complete.

Given the quality I observe of some USB serial devices (eg, running at
115200 baud, but feeling like they deliver characters to userspace at
9600 baud) I wouldn't be surprised if some USB serial drivers eat a lot
of IRQ time... and if so, all it'll take is to plug such a device in
to disrupt capture.

That sounds way too fragile to me.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

  parent reply	other threads:[~2017-03-14 16:48 UTC|newest]

Thread overview: 175+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-10  4:52 [PATCH v5 00/39] i.MX Media Driver Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 01/39] [media] dt-bindings: Add bindings for video-multiplexer device Steve Longerbeam
2017-03-16 21:21   ` Rob Herring
2017-03-10  4:52 ` [PATCH v5 02/39] [media] dt-bindings: Add bindings for i.MX media driver Steve Longerbeam
2017-03-20 15:02   ` Rob Herring
2017-03-10  4:52 ` [PATCH v5 03/39] [media] dt/bindings: Add bindings for OV5640 Steve Longerbeam
2017-03-20 15:03   ` Rob Herring
2017-03-10  4:52 ` [PATCH v5 04/39] ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 05/39] ARM: dts: imx6qdl: Add mipi_ipu1/2 multiplexers, mipi_csi, and their connections Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 06/39] ARM: dts: imx6qdl: add capture-subsystem device Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 07/39] ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround Steve Longerbeam
2017-03-10 18:59   ` Troy Kisky
2017-03-10 19:17     ` Fabio Estevam
2017-03-10 21:57       ` Pavel Machek
2017-03-10 22:05         ` Fabio Estevam
2017-03-15 18:49       ` Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 08/39] ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 09/39] ARM: dts: imx6-sabresd: " Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 10/39] ARM: dts: imx6-sabreauto: create i2cmux for i2c3 Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 11/39] ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 12/39] ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 13/39] ARM: dts: imx6-sabreauto: add the ADV7180 video decoder Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 14/39] add mux and video interface bridge entity functions Steve Longerbeam
2017-03-10  4:52 ` [PATCH v5 15/39] [media] v4l2: add a frame interval error event Steve Longerbeam
2017-03-10 12:03   ` Hans Verkuil
2017-03-10 18:37     ` Steve Longerbeam
2017-03-10 23:30       ` Pavel Machek
2017-03-10 23:42         ` Steve Longerbeam
2017-03-11 11:39       ` Hans Verkuil
2017-03-11 18:14         ` Steve Longerbeam
2017-03-11 18:51           ` Russell King - ARM Linux
2017-03-11 18:58             ` Steve Longerbeam
2017-03-11 19:00             ` Steve Longerbeam
2017-03-13 10:02           ` Hans Verkuil
2017-03-13 10:45             ` Russell King - ARM Linux
2017-03-13 10:53               ` Hans Verkuil
2017-03-13 17:06                 ` Steve Longerbeam
2017-03-13 17:10                   ` Hans Verkuil
2017-03-13 21:47                     ` Steve Longerbeam
2017-03-14 16:21               ` Nicolas Dufresne
2017-03-14 16:43                 ` Steve Longerbeam
2017-03-16 22:15                   ` Sakari Ailus
2017-03-14 16:47                 ` Russell King - ARM Linux [this message]
2017-03-14 16:50                   ` Steve Longerbeam
2017-03-14 18:26               ` Pavel Machek
2017-03-10  4:52 ` [PATCH v5 16/39] [media] v4l2: add a new-frame before end-of-frame event Steve Longerbeam
2017-03-10 12:07   ` Hans Verkuil
2017-03-10  4:52 ` [PATCH v5 17/39] [media] v4l2-mc: add a function to inherit controls from a pipeline Steve Longerbeam
2017-03-10 11:45   ` Hans Verkuil
2017-03-10  4:52 ` [PATCH v5 18/39] [media] v4l: subdev: Add function to validate frame interval Steve Longerbeam
2017-03-11 13:41   ` Sakari Ailus
2017-03-11 20:31     ` Steve Longerbeam
2017-03-16 22:17       ` Sakari Ailus
2017-03-10  4:52 ` [PATCH v5 19/39] [media] add Omnivision OV5640 sensor driver Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 20/39] platform: add video-multiplexer subdevice driver Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 21/39] UAPI: Add media UAPI Kbuild file Steve Longerbeam
2017-03-11 13:49   ` Sakari Ailus
2017-03-11 18:20     ` Steve Longerbeam
2017-03-13  9:55       ` Hans Verkuil
2017-03-10  4:53 ` [PATCH v5 22/39] media: Add userspace header file for i.MX Steve Longerbeam
2017-03-10 11:49   ` Hans Verkuil
2017-03-10 23:32   ` Pavel Machek
2017-03-10  4:53 ` [PATCH v5 23/39] media: Add i.MX media core driver Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 24/39] media: imx: Add Capture Device Interface Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 25/39] media: imx: Add CSI subdev driver Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 26/39] media: imx: Add VDIC " Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 27/39] media: imx: Add IC subdev drivers Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 28/39] media: imx: Add MIPI CSI-2 Receiver subdev driver Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 29/39] ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 30/39] media: imx: add support for bayer formats Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 31/39] media: imx: csi: " Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 32/39] media: imx: csi: fix crop rectangle changes in set_fmt Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 33/39] media: imx: mipi-csi2: enable setting and getting of frame rates Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 34/39] media: imx: csi: add __csi_get_fmt Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 35/39] media: imx: csi/fim: add support for frame intervals Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 36/39] media: imx: redo pixel format enumeration and negotiation Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 37/39] media: imx: csi: add frame skipping support Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 38/39] media: imx: csi: fix crop rectangle reset in sink set_fmt Steve Longerbeam
2017-03-19 15:22   ` Russell King - ARM Linux
2017-03-19 19:08     ` Steve Longerbeam
2017-03-20 11:55       ` Philipp Zabel
2017-03-20 12:08         ` Russell King - ARM Linux
2017-03-20 14:00           ` Philipp Zabel
2017-03-20 14:17             ` Russell King - ARM Linux
2017-03-20 17:16               ` Russell King - ARM Linux
2017-03-20 17:23               ` Philipp Zabel
2017-03-20 20:47                 ` Russell King - ARM Linux
2017-03-21  4:03                 ` Steve Longerbeam
2017-03-21 11:27                 ` Russell King - ARM Linux
2017-03-21 23:56                   ` Steve Longerbeam
2017-03-21 23:33                 ` Steve Longerbeam
2017-03-20 17:40               ` Philipp Zabel
2017-03-20 17:59                 ` Russell King - ARM Linux
2017-03-20 19:48             ` Steve Longerbeam
2017-03-10  4:53 ` [PATCH v5 39/39] media: imx: propagate sink pad formats to source pads Steve Longerbeam
2017-03-10 20:13 ` [PATCH v5 00/39] i.MX Media Driver Russell King - ARM Linux
2017-03-10 23:20   ` Steve Longerbeam
2017-03-12 17:47     ` Russell King - ARM Linux
2017-03-12  0:30   ` Steve Longerbeam
2017-03-12 19:57     ` Russell King - ARM Linux
2017-03-12 20:05       ` Steve Longerbeam
2017-03-12 20:22         ` Russell King - ARM Linux
2017-03-13  4:26           ` Steve Longerbeam
2017-03-13  8:16             ` Russell King - ARM Linux
2017-03-13  9:30               ` Russell King - ARM Linux
2017-03-13 23:39                 ` Steve Longerbeam
2017-03-13 23:37               ` Steve Longerbeam
2017-03-12 17:51 ` Russell King - ARM Linux
2017-03-12 19:21   ` Steve Longerbeam
2017-03-12 19:29     ` Russell King - ARM Linux
2017-03-12 19:44       ` Steve Longerbeam
2017-03-12 20:16         ` Steve Longerbeam
2017-03-12 20:36           ` Steve Longerbeam
2017-03-12 20:39             ` Steve Longerbeam
2017-03-12 20:40             ` Russell King - ARM Linux
2017-03-12 21:09               ` Russell King - ARM Linux
2017-03-14 17:29                 ` Steve Longerbeam
2017-03-18 20:02                   ` Steve Longerbeam
2017-03-12 19:47 ` Russell King - ARM Linux
2017-03-12 20:00   ` Steve Longerbeam
2017-03-12 20:59   ` Mauro Carvalho Chehab
2017-03-12 21:13     ` Russell King - ARM Linux
2017-03-12 22:10       ` Mauro Carvalho Chehab
2017-03-14 17:02         ` Steve Longerbeam
2017-03-18 19:22 ` Russell King - ARM Linux
2017-03-18 19:58   ` Steve Longerbeam
2017-03-18 20:43     ` Russell King - ARM Linux
2017-03-19  0:41       ` Nicolas Dufresne
2017-03-19  0:54         ` Russell King - ARM Linux
2017-03-19 14:33           ` Nicolas Dufresne
2017-03-19 14:51             ` Russell King - ARM Linux
2017-03-19  9:55         ` Russell King - ARM Linux
2017-03-19 14:45           ` Nicolas Dufresne
2017-03-19 13:57       ` Vladimir Zapolskiy
2017-03-19 14:21         ` Russell King - ARM Linux
2017-03-19 14:22           ` Russell King - ARM Linux
2017-03-19 15:00             ` Vladimir Zapolskiy
2017-03-19 15:09               ` Russell King - ARM Linux
2017-03-19 14:47           ` Nicolas Dufresne
2017-03-19 10:38     ` Russell King - ARM Linux
2017-03-19 10:48       ` [PATCH 1/4] media: imx-media-csi: fix v4l2-compliance check Russell King
2017-03-19 22:00         ` Steve Longerbeam
2017-03-19 10:48       ` [PATCH 2/4] media: imx: allow bayer pixel formats to be looked up Russell King
2017-03-19 22:02         ` Steve Longerbeam
2017-03-19 10:49       ` [PATCH 3/4] media: imx-csi: add frame size/interval enumeration Russell King
2017-03-19 22:18         ` Steve Longerbeam
2017-03-21 23:46         ` Steve Longerbeam
2017-03-19 10:49       ` [PATCH 4/4] media: imx-media-capture: add frame sizes/interval enumeration Russell King
2017-03-19 22:21         ` Steve Longerbeam
2017-03-19 22:39           ` Russell King - ARM Linux
2017-03-20  8:55         ` Philippe De Muyter
2017-03-20  9:05           ` Russell King - ARM Linux
2017-03-20  9:23             ` Philippe De Muyter
2017-03-20 10:41               ` Russell King - ARM Linux
2017-03-19 17:54       ` [PATCH v5 00/39] i.MX Media Driver Steve Longerbeam
2017-03-19 18:04         ` Russell King - ARM Linux
2017-03-20 13:01         ` Hans Verkuil
2017-03-20 13:29           ` Russell King - ARM Linux
2017-03-20 13:57             ` Hans Verkuil
2017-03-20 14:11               ` Russell King - ARM Linux
2017-03-20 15:57                 ` Hans Verkuil
2017-03-21 10:42                   ` Niklas Söderlund
2017-03-21 10:59                     ` Hans Verkuil
2017-03-21 11:36                       ` Russell King - ARM Linux
2017-03-22 18:10                         ` Nicolas Dufresne
2017-03-19 12:14     ` Russell King - ARM Linux
2017-03-19 18:37       ` Steve Longerbeam
2017-03-19 18:51         ` Russell King - ARM Linux
2017-03-19 18:56           ` Steve Longerbeam
2017-03-20 12:49       ` Hans Verkuil
2017-03-20 13:20       ` Philipp Zabel
2017-03-20 15:43         ` Russell King - ARM Linux
2017-03-20 16:29           ` Philipp Zabel
2017-03-20 16:35             ` Russell King - ARM Linux
2017-03-20 13:15     ` Philipp Zabel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170314164728.GQ21222@n2100.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew-ct.chen@mediatek.com \
    --cc=arnd@arndb.de \
    --cc=bparrot@ti.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fabio.estevam@nxp.com \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=horms+renesas@verge.net.au \
    --cc=hverkuil@xs4all.nl \
    --cc=jean-christophe.trotin@st.com \
    --cc=kernel@pengutronix.de \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=markus.heiser@darmarIT.de \
    --cc=mchehab@kernel.org \
    --cc=minghsiu.tsai@mediatek.com \
    --cc=nick@shmanahar.org \
    --cc=nicolas@ndufresne.ca \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    --cc=p.zabel@pengutronix.de \
    --cc=pavel@ucw.cz \
    --cc=robert.jarzmik@free.fr \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=shawnguo@kernel.org \
    --cc=shuah@kernel.org \
    --cc=slongerbeam@gmail.com \
    --cc=songjun.wu@microchip.com \
    --cc=sudipm.mukherjee@gmail.com \
    --cc=tiffany.lin@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®