[00:17] *** jarthur has quit IRC (Ping timeout: 480 seconds)
[00:21] *** prabhakalad has quit IRC (Quit: Konversation terminated!)
[00:38] <kbingham> Is there any way to determine what V4L2_EVENT_ events are available on a given device from the V4L2 API (i.e. without 'knowing' what events are exported on a device?) I can't see any obvious way to find out what events to report generically (i.e. from libcamera v4l2_device classes)
[00:57] *** djrscally has quit IRC (Ping timeout: 480 seconds)
[01:06] *** danitool has quit IRC (Quit: Cubum autem in duos cubos, aut quadratoquadratum in duos quadratoquadratos)
[01:37] *** gnuiyl has joined #linux-media
[01:41] *** gnuiyl has quit IRC (Remote host closed the connection)
[01:45] *** gnuiyl has joined #linux-media
[01:50] *** bingbu has quit IRC (Ping timeout: 480 seconds)
[01:51] *** bingbu has joined #linux-media
[01:56] *** BrianG61UK has joined #linux-media
[02:36] *** jarthur has joined #linux-media
[02:41] *** jarthur has quit IRC (Quit: My Unrecognized Mac has gone to sleep. ZZZzzz…)
[02:43] *** jarthur has joined #linux-media
[03:43] *** jarthur has quit IRC (Quit: My Unrecognized Mac has gone to sleep. ZZZzzz…)
[04:00] *** jarthur has joined #linux-media
[04:03] *** jarthur has quit IRC ()
[04:14] *** KitsuWhooa has quit IRC (Quit: Unable to handle kernel NULL pointer dereference at null)
[04:15] *** KitsuWhooa has joined #linux-media
[04:25] *** jarthur has joined #linux-media
[05:04] *** mvchtz has quit IRC (Remote host closed the connection)
[05:05] *** mvchtz has joined #linux-media
[05:13] *** nukelet has quit IRC (Quit: The Lounge - https://thelounge.chat)
[05:17] *** nukelet has joined #linux-media
[05:40] *** jarthur has quit IRC (Quit: Textual IRC Client: www.textualapp.com)
[05:48] *** rz has quit IRC (Remote host closed the connection)
[05:48] *** rz has joined #linux-media
[05:53] *** Mo has joined #linux-media
[05:53] *** nukelet has quit IRC (Remote host closed the connection)
[05:54] *** nukelet has joined #linux-media
[07:04] <pinchartl> kbingham: no there isn't :-( you have to try to subscribe
[07:07] *** rz_ has joined #linux-media
[07:09] *** rz has quit IRC (Ping timeout: 480 seconds)
[07:15] *** djrscally has joined #linux-media
[07:26] *** GBenji has joined #linux-media
[07:38] *** mvaittin has joined #linux-media
[07:40] <sailus> dwlsalmeida: FYI: https://www.retiisi.eu/~sailus/v4l2/tmp/visl-crash.txt (look for "rmmod visl").
[07:42] <sailus> I got that from testing my own tree but there's nothing that should have any effect on this. It happened in media CI virtme32 test on one run only, other runs of the same patches and virtme64 didn't trigger that. I presume it's rare.
[07:47] *** ao2 has joined #linux-media
[07:50] *** dcz has joined #linux-media
[07:58] *** tmerciai1 has joined #linux-media
[08:08] *** ao2 has quit IRC (Quit: Leaving)
[08:11] *** mvaittin has quit IRC (Ping timeout: 480 seconds)
[08:16] *** paulk has quit IRC (Ping timeout: 480 seconds)
[08:18] *** paulk-bis has joined #linux-media
[08:33] *** paulk-bis has quit IRC (Ping timeout: 480 seconds)
[09:19] *** prabhakalad has joined #linux-media
[09:31] *** dcz has quit IRC (Read error: No route to host)
[09:31] *** dcz has joined #linux-media
[09:36] *** paulk-bis has joined #linux-media
[10:04] *** mvaittin has joined #linux-media
[10:12] *** mvaittin has quit IRC (Ping timeout: 480 seconds)
[10:19] <jluthra> has anybody faced issues with suspend/resume with complex cameras? from what i figure, the sensor (usually under some i2c bus) can wakeup completely independent of camera rx (like csi/isp under system bus).. 
[10:20] <jluthra> and while v4l2 async notifiers can help at probe time, at system suspend/resume the device links are missing between all the subdevs and the main v4l2 driver
[11:59] *** ao2 has joined #linux-media
[12:07] *** danitool has joined #linux-media
[12:14] *** GBenji has quit IRC (Ping timeout: 480 seconds)
[12:23] *** GBenji has joined #linux-media
[12:36] *** chewitt has joined #linux-media
[12:50] *** dcz_ has joined #linux-media
[12:55] *** dcz has quit IRC (Ping timeout: 480 seconds)
[13:10] *** tmerciai1 has quit IRC (Remote host closed the connection)
[13:11] *** tmerciai1 has joined #linux-media
[13:55] <pinchartl> jluthra: device links need to be created
[13:55] <pinchartl> a minority of drivers do that
[13:57] *** paulk-ter has joined #linux-media
[13:59] *** paulk-bis has quit IRC (Ping timeout: 480 seconds)
[14:20] *** Mo has quit IRC (Remote host closed the connection)
[14:44] *** prabhakalad has quit IRC (Ping timeout: 480 seconds)
[15:02] <tomba> I don't think devlinks solve the issue, as we can have parent-child setups, which forces the suspend/resume order in the wrong way.
[15:15] <pinchartl> tomba: do you have any example of that ?
[15:20] *** Hammer_Meat has joined #linux-media
[15:46] *** Hammer_Meat has quit IRC (Quit: Leaving)
[16:00] <tomba> pinchartl: on a TI SoC, we have a TI CSI-2 wrapper (which manages the DMA) as a parent, Cadence CSI-2 as a child, and the sensor behind i2c. The media graph goes between TI - Cdns - sensor.
[16:02] <tomba> So when the TI CSI-2 driver resumes, it starts the streaming again (if it was enabled when suspending). But as the parent resumes before the children, the Cadence wrapper is not resumed yet. Also, currently the sensor is also not resumed yet.
[16:03] <tomba> Using a devlink we can make dependency to the sensor, so that it has been resumed before the TI CSI-2 resumes. But I can't see how we could handle the Cadence CSI-2 case, if using the normal resume callback.
[16:08] <pinchartl> tomba: sounds like a case for restarting streaming in a late resume callback
[16:08] <tomba> It's debatable whether the child-parent design with the TI - Cadence setup is right or not, but this issue is there in any case. I believe we could hit this in DRM too: say, DISPC/DSI -> DSI Panel. The panel is a child of the DSI master. So when the DISPC/DSI driver resumes, it would start the pipeline. But the panel has not resumed.
[16:09] <tomba> pinchartl: yes. but there's no such thing. I'm sure sending a patch to add new PM callbacks and get it merged isn't the most trivial task =).
[16:09] <pinchartl> ah, we have resume_early, but not resume_late
[16:09] <pinchartl> annoying
[16:11] <pinchartl> for the sensor <-> csi2 rx issue, I think device links will work (unless the CSI-2 RX is a child of the sensor, but I think we can ignore that case :-))
[16:11] <tomba> and to clarify, when I say "sensor/panel resume", I don't mean that that driver should do something in its resume callback (although I guess it could). but if the driver uses, say, gpios to enable the hardware, the gpiochip could still be in suspend unless the panel/sensor has been resumed.
[16:12] <pinchartl> for the TI case you mentioned, the driver for the CSI-2 wrapper could create a separate struct device to manage the DMA. there could be issues, but it's one path we could investigate
[16:13] <tomba> pinchartl: it doesn't work. we can have a devlink between the TI or Cadence csi2-rx, and the sensor. but in all the cases the TI driver's resume happens before the Cadence driver's resume. So when the TI driver starts the stream on resume, the cadence one is still suspended.
[16:14] <pinchartl> the new child device would be the one starting the DMA
[16:14] <tomba> strictly speaking the above is not an issue here, as the cadence driver doesn't use any extra resources. but technically I think it's still wrong, we're enabling a device that is still in suspend, from PM's perspective.
[16:14] <pinchartl> it would be a sibling of the cdns CSI-2 RX
[16:14] <pinchartl> with a devlink between the two
[16:15] <tomba> sounds like a hack =)
[16:15] *** prabhakalad has joined #linux-media
[16:17] <pinchartl> not sure. the top-level wrapper wraps two independent parts, the cdns IP and TI logic. having one struct device for each, both being children of the wrapper, is not a bad way to model this
[16:17] <tomba> we will check if adding .resume_late is feasible. alternatively, if we can somehow follow the PM states of a bunch of devices, that could be used to track the state of the devices in the media graph. and only start the stream when all the devices have resumed.
[16:17] <pinchartl> it may be a big of a hack, but I think it also kind of matches the hardware structure, so it's not too bad
[16:17] <pinchartl> s/big/bit/
[16:18] <tomba> I thought the top-level wrapper _is_ the TI logic
[16:20] <pinchartl> you can see it both ways I suppose
[16:21] <pinchartl> well, give it a thought if you get a chance
[16:29] <tomba> the thing that confuses me most here is that how has no one hit this before... both V4L2 and DRM should be suffering from the missing devlinks (or some other system) to manage the PM dependencies.
[16:41] <jluthra> yeah, the TI IP is a wrapper on top of cdns-csi2rx. it shares the same power domain and doesn't have any other dependencies, but it still is hacky to create a dev link from TI to sensor directly, or to create a .resume_late callback. 
[16:48] <jluthra> same power domain is also probably why they shouldn't be siblings.. it's a single HW block from the SoC power controller point of view
[16:54] *** rz_ has quit IRC (Ping timeout: 480 seconds)
[16:56] *** GBenji has left 
[17:14] *** linkmauve has joined #linux-media
[17:22] *** linkmauve has left 
[17:22] *** dcz_ has quit IRC (Read error: No route to host)
[17:22] *** linkmauve has joined #linux-media
[17:23] *** dcz_ has joined #linux-media
[17:24] *** paulk has joined #linux-media
[17:24] *** paulk-ter has quit IRC (Read error: Connection reset by peer)
[17:29] *** mripard has quit IRC (Quit: WeeChat 4.5.1)
[17:35] *** rz has joined #linux-media
[17:51] *** cphealy_ has quit IRC ()
[17:55] *** charrus_ has joined #linux-media
[17:58] *** charrus has quit IRC (Ping timeout: 480 seconds)
[18:03] *** jarthur has joined #linux-media
[18:17] *** dcz_ has quit IRC (Read error: No route to host)
[18:20] *** dcz_ has joined #linux-media
[18:20] *** tmerciai1 has quit IRC (Ping timeout: 480 seconds)
[18:45] *** chewitt has quit IRC (Quit: Zzz..)
[19:10] *** cyrinux has joined #linux-media
[21:24] *** djrscally has quit IRC (Quit: Konversation terminated!)
[21:28] *** darkapex has quit IRC (Remote host closed the connection)
[21:29] *** darkapex has joined #linux-media
[21:32] *** djrscally has joined #linux-media
[21:34] *** ao2 has quit IRC (Quit: Leaving)
[21:40] *** dcz_ has quit IRC (Quit: Konversation terminated!)
[22:33] *** ten157237743246305066182150355 has quit IRC (Remote host closed the connection)
[22:33] *** ten157237743246305066182150355 has joined #linux-media
[23:51] *** xroumegue has quit IRC (Ping timeout: 480 seconds)
[23:59] *** djrscally has quit IRC (Ping timeout: 480 seconds)
[23:59] *** xroumegue has joined #linux-media