imx.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Kernel Panic when trying to capture camera with ffmpeg on imx8mp
@ 2025-08-13 11:11 Maud Spierings
  2025-08-13 11:23 ` Fabio Estevam
  0 siblings, 1 reply; 8+ messages in thread
From: Maud Spierings @ 2025-08-13 11:11 UTC (permalink / raw)
  To: Laurent.pinchart, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam
  Cc: linux-media, imx

Dear Readers,

I'm attempting to get a raspberry pi camera working with our imx8mp 
based platform. However when running ` ffmpeg -f v4l2 -i /dev/video2 
-c:v libx264 -preset medium -crf 23 output.mp4`. It results in a kernel 
panic.

Kernel version: 6.12.41
ffmpeg version: 7:7.1.1-1+b1 (Debian Trixie)
v4l2-ctl -d 2 -D:
Driver Info:
Driver name      : mxc-isi
Card type        : mxc-isi-cap
Bus info         : platform:32e00000.isi
Driver version   : 6.12.41
Capabilities     : 0xa4201000
Video Capture Multiplanar
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps      : 0x24201000
Video Capture Multiplanar
I/O MC
Streaming
Extended Pix Format
Media Driver Info:
Driver name      : mxc-isi
Model            : FSL Capture Media Device
Serial           :
Bus info         : platform:32e00000.isi
Media version    : 6.12.41
Hardware revision: 0x00000000 (0)
Driver version   : 6.12.41
Interface Info:
ID               : 0x03000017
Type             : V4L Video
Entity Info:
ID               : 0x00000015 (21)
Name             : mxc_isi.1.capture
Function         : V4L2 I/O
Pad 0x01000016   : 0: Sink
   Link 0x02000019: from remote pad 0x1000014 of entity 'mxc_isi.1' 
(Video Pixel Formatter): Data, Enabled, Immutable


Panic:
  134.378107] Unable to handle kernel NULL pointer dereference at 
virtual address 0000000000000020
[  134.386921] Mem abort info:
[  134.389717]   ESR = 0x0000000096000004
[  134.393499]   EC = 0x25: DABT (current EL), IL = 32 bits
[  134.398835]   SET = 0, FnV = 0
[  134.401925]   EA = 0, S1PTW = 0
[  134.405068]   FSC = 0x04: level 0 translation fault
[  134.409956] Data abort info:
[  134.412841]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
[  134.418345]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[  134.423414]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[  134.428749] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000044ffb000
[  134.435225] [0000000000000020] pgd=0000000000000000, p4d=0000000000000000
[  134.442047] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
[  134.448326] Modules linked in: g_serial
[  134.452176] CPU: 1 UID: 0 PID: 445 Comm: ffmpeg Not tainted 
6.12.41-GOcontroll #36
[  134.459750] Hardware name: GOcontroll Moduline Display with camera 
test board (DT)
[  134.467321] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS 
BTYPE=--)
[  134.474285] pc : mxc_isi_crossbar_xlate_streams+0xac/0x170
[  134.479782] lr : mxc_isi_crossbar_xlate_streams+0xa8/0x170
[  134.485273] sp : ffff8000819738d0
[  134.488586] x29: ffff8000819738d0 x28: ffff800081973948 x27: 
ffff800081973950
[  134.495734] x26: ffff80008197394c x25: ffff0000028ab0a8 x24: 
0000000000000001
[  134.502878] x23: 0000000000000001 x22: 0000000000000001 x21: 
0000000000000001
[  134.510023] x20: 0000000000000004 x19: ffff00000351c458 x18: 
0000000000000002
[  134.517165] x17: 00007dff35433000 x16: ffff8000815df000 x15: 
0000000000000001
[  134.524310] x14: 0000000000000000 x13: 00000000000629fd x12: 
ffff8000812ae000
[  134.531455] x11: 0000000000000001 x10: 0000000000000001 x9 : 
0000000000000004
[  134.538599] x8 : ffff000002610d2c x7 : 0000000000000000 x6 : 
ffff80008197394c
[  134.545742] x5 : ffff000002611e40 x4 : 000000000fffffff x3 : 
ffff0000028ab110
[  134.552887] x2 : ffff0000028ab110 x1 : 0000000000000000 x0 : 
0000000000000000
[  134.560034] Call trace:
[  134.562482]  mxc_isi_crossbar_xlate_streams+0xac/0x170
[  134.567626]  mxc_isi_crossbar_enable_streams+0x50/0x18c
[  134.572859]  v4l2_subdev_enable_streams+0x180/0x3b0
[  134.577740]  mxc_isi_pipe_enable+0x1e4/0x260
[  134.582018]  mxc_isi_vb2_start_streaming+0xa0/0x108
[  134.586898]  vb2_start_streaming+0x6c/0x178
[  134.591084]  vb2_core_streamon+0xd8/0x1bc
[  134.595094]  vb2_streamon+0x18/0x64
[  134.598588]  mxc_isi_video_streamon+0x318/0x3a0
[  134.603119]  v4l_streamon+0x24/0x30
[  134.606615]  __video_do_ioctl+0x40c/0x4a0
[  134.610627]  video_usercopy+0x354/0x658
[  134.614465]  video_ioctl2+0x18/0x40
[  134.617956]  v4l2_ioctl+0x40/0x60
[  134.621276]  __arm64_sys_ioctl+0xbc/0xdc
[  134.625202]  invoke_syscall+0x48/0x104
[  134.628961]  el0_svc_common.constprop.0+0x40/0xe0
[  134.633669]  do_el0_svc+0x1c/0x28
[  134.636987]  el0_svc+0x30/0x100
[  134.640136]  el0t_64_sync_handler+0x120/0x12c
[  134.644497]  el0t_64_sync+0x190/0x194
[  134.648168] Code: d37a7f00 8b000020 97ff155f aa0003e1 (f9401000)
[  134.654264] ---[ end trace 0000000000000000 ]---
[  134.658883] Kernel panic - not syncing: Oops: Fatal exception
[  134.664630] SMP: stopping secondary CPUs
[  134.668558] Kernel Offset: disabled
[  134.672047] CPU features: 0x00,00000080,00200000,4200420b
[  134.677448] Memory Limit: none

Other ffmpeg output:
[video4linux2,v4l2 @ 0xaaaacfe2bc60] ioctl(VIDIOC_G_PARM): Inappropriate 
ioctl for device
[video4linux2,v4l2 @ 0xaaaacfe2bc60] Time per frame unknown

Likely I'm doing something very stupid because I don't know what I'm 
doing. But all the other /dev/videoX entries just result in an error. 
Except for this specific one that reproducibly panics.

My devicetree setup is practically identical to the one in 
freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and 
regulator gpio only)

I'll try and figure out which variable the guilty one is.

Kind Regards,
Maud


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Kernel Panic when trying to capture camera with ffmpeg on imx8mp
  2025-08-13 11:11 Kernel Panic when trying to capture camera with ffmpeg on imx8mp Maud Spierings
@ 2025-08-13 11:23 ` Fabio Estevam
  2025-08-13 11:31   ` Maud Spierings
  0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2025-08-13 11:23 UTC (permalink / raw)
  To: Maud Spierings, Tim Harvey
  Cc: Laurent.pinchart, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, linux-media, imx

Hi Maud,

[Adding Tim]

On Wed, Aug 13, 2025 at 8:12 AM Maud Spierings
<maudspierings@gocontroll.com> wrote:

> My devicetree setup is practically identical to the one in
> freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and
> regulator gpio only)

You'll need to configure the camera pipeline using media-ctl commands.

Take a look at:
https://trac.gateworks.com/wiki/venice/multimedia#MediaControllerPipeline

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Kernel Panic when trying to capture camera with ffmpeg on imx8mp
  2025-08-13 11:23 ` Fabio Estevam
@ 2025-08-13 11:31   ` Maud Spierings
  2025-08-13 11:35     ` Laurent Pinchart
  0 siblings, 1 reply; 8+ messages in thread
From: Maud Spierings @ 2025-08-13 11:31 UTC (permalink / raw)
  To: Fabio Estevam, Tim Harvey
  Cc: Laurent.pinchart, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, linux-media, imx

On 8/13/25 13:23, Fabio Estevam wrote:
> Hi Maud,
> 
> [Adding Tim]
> 
> On Wed, Aug 13, 2025 at 8:12 AM Maud Spierings
> <maudspierings@gocontroll.com> wrote:
> 
>> My devicetree setup is practically identical to the one in
>> freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and
>> regulator gpio only)
> 
> You'll need to configure the camera pipeline using media-ctl commands.
> 
> Take a look at:
> https://trac.gateworks.com/wiki/venice/multimedia#MediaControllerPipeline

I have been messing around with that, but it still shouldn't panic right?

It seems to be happen in:
sd = media_entity_to_v4l2_subdev(pad->entity);

in mxc_isi_crossbar_xlate_streams()

Checking now if the pad variable is the issue

it seems media_pad_remote_pad_first() can return NULL which would cause 
the issue there I think.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Kernel Panic when trying to capture camera with ffmpeg on imx8mp
  2025-08-13 11:31   ` Maud Spierings
@ 2025-08-13 11:35     ` Laurent Pinchart
  2025-08-13 11:41       ` Maud Spierings
  2025-08-13 11:41       ` Laurent Pinchart
  0 siblings, 2 replies; 8+ messages in thread
From: Laurent Pinchart @ 2025-08-13 11:35 UTC (permalink / raw)
  To: Maud Spierings
  Cc: Fabio Estevam, Tim Harvey, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, linux-media, imx

On Wed, Aug 13, 2025 at 01:31:34PM +0200, Maud Spierings wrote:
> On 8/13/25 13:23, Fabio Estevam wrote:
> > Hi Maud,
> > 
> > [Adding Tim]
> > 
> > On Wed, Aug 13, 2025 at 8:12 AM Maud Spierings wrote:
> > 
> >> My devicetree setup is practically identical to the one in
> >> freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and
> >> regulator gpio only)
> > 
> > You'll need to configure the camera pipeline using media-ctl commands.
> > 
> > Take a look at:
> > https://trac.gateworks.com/wiki/venice/multimedia#MediaControllerPipeline
> 
> I have been messing around with that, but it still shouldn't panic right?

It shouldn't panic, no. That's a bug in the driver.

> It seems to be happen in:
> sd = media_entity_to_v4l2_subdev(pad->entity);
> 
> in mxc_isi_crossbar_xlate_streams()
> 
> Checking now if the pad variable is the issue
> 
> it seems media_pad_remote_pad_first() can return NULL which would cause 
> the issue there I think.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Kernel Panic when trying to capture camera with ffmpeg on imx8mp
  2025-08-13 11:35     ` Laurent Pinchart
@ 2025-08-13 11:41       ` Maud Spierings
  2025-08-13 11:41       ` Laurent Pinchart
  1 sibling, 0 replies; 8+ messages in thread
From: Maud Spierings @ 2025-08-13 11:41 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Fabio Estevam, Tim Harvey, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, linux-media, imx

On 8/13/25 13:35, Laurent Pinchart wrote:
> On Wed, Aug 13, 2025 at 01:31:34PM +0200, Maud Spierings wrote:
>> On 8/13/25 13:23, Fabio Estevam wrote:
>>> Hi Maud,
>>>
>>> [Adding Tim]
>>>
>>> On Wed, Aug 13, 2025 at 8:12 AM Maud Spierings wrote:
>>>
>>>> My devicetree setup is practically identical to the one in
>>>> freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and
>>>> regulator gpio only)
>>>
>>> You'll need to configure the camera pipeline using media-ctl commands.
>>>
>>> Take a look at:
>>> https://trac.gateworks.com/wiki/venice/multimedia#MediaControllerPipeline
>>
>> I have been messing around with that, but it still shouldn't panic right?
> 
> It shouldn't panic, no. That's a bug in the driver.
> 
>> It seems to be happen in:
>> sd = media_entity_to_v4l2_subdev(pad->entity);
>>
>> in mxc_isi_crossbar_xlate_streams()
>>
>> Checking now if the pad variable is the issue
>>
>> it seems media_pad_remote_pad_first() can return NULL which would cause
>> the issue there I think.

It does seem like that return value is NULL, so pad->entity dereferences 
it. I guess a simple check for NULL and then return ERR_PTR(), should it 
be -EPIPE too as all the other errors in this function?

Should there be some error printed? The other error paths seem to be 
using dev_dbg()

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Kernel Panic when trying to capture camera with ffmpeg on imx8mp
  2025-08-13 11:35     ` Laurent Pinchart
  2025-08-13 11:41       ` Maud Spierings
@ 2025-08-13 11:41       ` Laurent Pinchart
  2025-08-13 11:45         ` Maud Spierings
  1 sibling, 1 reply; 8+ messages in thread
From: Laurent Pinchart @ 2025-08-13 11:41 UTC (permalink / raw)
  To: Maud Spierings
  Cc: Fabio Estevam, Tim Harvey, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, linux-media, imx

On Wed, Aug 13, 2025 at 02:36:01PM +0300, Laurent Pinchart wrote:
> On Wed, Aug 13, 2025 at 01:31:34PM +0200, Maud Spierings wrote:
> > On 8/13/25 13:23, Fabio Estevam wrote:
> > > Hi Maud,
> > > 
> > > [Adding Tim]
> > > 
> > > On Wed, Aug 13, 2025 at 8:12 AM Maud Spierings wrote:
> > > 
> > >> My devicetree setup is practically identical to the one in
> > >> freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and
> > >> regulator gpio only)
> > > 
> > > You'll need to configure the camera pipeline using media-ctl commands.
> > > 
> > > Take a look at:
> > > https://trac.gateworks.com/wiki/venice/multimedia#MediaControllerPipeline
> > 
> > I have been messing around with that, but it still shouldn't panic right?
> 
> It shouldn't panic, no. That's a bug in the driver.
> 
> > It seems to be happen in:
> > sd = media_entity_to_v4l2_subdev(pad->entity);
> > 
> > in mxc_isi_crossbar_xlate_streams()
> > 
> > Checking now if the pad variable is the issue
> > 
> > it seems media_pad_remote_pad_first() can return NULL which would cause 
> > the issue there I think.

Can you share the media graph as output by `media-ctl -p -d /dev/media0`
just before running ffmpeg ? You may need to replace media0 with the
device corresponding to the ISI if you have multiple media devices in
the system.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Kernel Panic when trying to capture camera with ffmpeg on imx8mp
  2025-08-13 11:41       ` Laurent Pinchart
@ 2025-08-13 11:45         ` Maud Spierings
  2025-08-13 11:57           ` Laurent Pinchart
  0 siblings, 1 reply; 8+ messages in thread
From: Maud Spierings @ 2025-08-13 11:45 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Fabio Estevam, Tim Harvey, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, linux-media, imx

On 8/13/25 13:41, Laurent Pinchart wrote:
> On Wed, Aug 13, 2025 at 02:36:01PM +0300, Laurent Pinchart wrote:
>> On Wed, Aug 13, 2025 at 01:31:34PM +0200, Maud Spierings wrote:
>>> On 8/13/25 13:23, Fabio Estevam wrote:
>>>> Hi Maud,
>>>>
>>>> [Adding Tim]
>>>>
>>>> On Wed, Aug 13, 2025 at 8:12 AM Maud Spierings wrote:
>>>>
>>>>> My devicetree setup is practically identical to the one in
>>>>> freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and
>>>>> regulator gpio only)
>>>>
>>>> You'll need to configure the camera pipeline using media-ctl commands.
>>>>
>>>> Take a look at:
>>>> https://trac.gateworks.com/wiki/venice/multimedia#MediaControllerPipeline
>>>
>>> I have been messing around with that, but it still shouldn't panic right?
>>
>> It shouldn't panic, no. That's a bug in the driver.
>>
>>> It seems to be happen in:
>>> sd = media_entity_to_v4l2_subdev(pad->entity);
>>>
>>> in mxc_isi_crossbar_xlate_streams()
>>>
>>> Checking now if the pad variable is the issue
>>>
>>> it seems media_pad_remote_pad_first() can return NULL which would cause
>>> the issue there I think.
> 
> Can you share the media graph as output by `media-ctl -p -d /dev/media0`
> just before running ffmpeg ? You may need to replace media0 with the
> device corresponding to the ISI if you have multiple media devices in
> the system.

media-ctl -p -d 1
Media controller API version 6.12.41

Media device information
------------------------
driver          mxc-isi
model           FSL Capture Media Device
serial
bus info        platform:32e00000.isi
hw revision     0x0
driver version  6.12.41

Device topology
- entity 1: crossbar (5 pads, 4 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev0
         pad0: SINK,MUST_CONNECT
                 [stream:0 fmt:UYVY8_1X16/1920x1080 field:none 
colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                 <- "csis-32e40000.csi":1 [ENABLED,IMMUTABLE]
         pad1: SINK,MUST_CONNECT
                 [stream:0 fmt:UYVY8_1X16/1920x1080 field:none 
colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
         pad2: SINK,MUST_CONNECT
                 <- "mxc_isi.output":0 [ENABLED,IMMUTABLE]
         pad3: SOURCE
                 [stream:0 fmt:UYVY8_1X16/1920x1080 field:none 
colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                 -> "mxc_isi.0":0 [ENABLED,IMMUTABLE]
         pad4: SOURCE
                 [stream:0 fmt:UYVY8_1X16/1920x1080 field:none 
colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                 -> "mxc_isi.1":0 [ENABLED,IMMUTABLE]

- entity 7: mxc_isi.0 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev1
         pad0: SINK
                 [stream:0 fmt:UYVY8_1X16/1920x1080 field:none 
colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
                  compose.bounds:(0,0)/1920x1080
                  compose:(0,0)/1920x1080]
                 <- "crossbar":3 [ENABLED,IMMUTABLE]
         pad1: SOURCE
                 [stream:0 fmt:YUV8_1X24/1920x1080 field:none 
colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
                  crop.bounds:(0,0)/1920x1080
                  crop:(0,0)/1920x1080]
                 -> "mxc_isi.0.capture":0 [ENABLED,IMMUTABLE]

- entity 10: mxc_isi.0.capture (1 pad, 1 link)
              type Node subtype V4L flags 0
              device node name /dev/video1
         pad0: SINK
                 <- "mxc_isi.0":1 [ENABLED,IMMUTABLE]

- entity 18: mxc_isi.1 (2 pads, 2 links, 0 routes)
              type V4L2 subdev subtype Unknown flags 0
              device node name /dev/v4l-subdev2
         pad0: SINK
                 [stream:0 fmt:UYVY8_1X16/1920x1080 field:none 
colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
                  compose.bounds:(0,0)/1920x1080
                  compose:(0,0)/1920x1080]
                 <- "crossbar":4 [ENABLED,IMMUTABLE]
         pad1: SOURCE
                 [stream:0 fmt:YUV8_1X24/1920x1080 field:none 
colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
                  crop.bounds:(0,0)/1920x1080
                  crop:(0,0)/1920x1080]
                 -> "mxc_isi.1.capture":0 [ENABLED,IMMUTABLE]

- entity 21: mxc_isi.1.capture (1 pad, 1 link)
              type Node subtype V4L flags 0
              device node name /dev/video2
         pad0: SINK
                 <- "mxc_isi.1":1 [ENABLED,IMMUTABLE]

- entity 29: mxc_isi.output (1 pad, 1 link)
              type Node subtype V4L flags 0
         pad0: SOURCE
                 -> "crossbar":2 [ENABLED,IMMUTABLE]

- entity 36: csis-32e40000.csi (2 pads, 2 links, 0 routes)
              type V4L2 subdev subtype Unknown flags 0
              device node name /dev/v4l-subdev3
         pad0: SINK,MUST_CONNECT
                 [stream:0 fmt:UYVY8_1X16/640x480 field:none 
colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range]
                 <- "imx219 5-0010":0 []
         pad1: SOURCE,MUST_CONNECT
                 [stream:0 fmt:UYVY8_1X16/640x480 field:none 
colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range]
                 -> "crossbar":0 [ENABLED,IMMUTABLE]

- entity 41: imx219 5-0010 (1 pad, 1 link, 0 routes)
              type V4L2 subdev subtype Sensor flags 0
              device node name /dev/v4l-subdev4
         pad0: SOURCE
                 [stream:0 fmt:SRGGB10_1X10/3280x2464 field:none 
colorspace:raw xfer:none ycbcr:601 quantization:full-range
                  crop.bounds:(8,8)/3280x2464
                  crop:(8,8)/3280x2464]
                 -> "csis-32e40000.csi":0 []

media0 seems to be dw100, 2 and 3 are hantro-vpu

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Kernel Panic when trying to capture camera with ffmpeg on imx8mp
  2025-08-13 11:45         ` Maud Spierings
@ 2025-08-13 11:57           ` Laurent Pinchart
  0 siblings, 0 replies; 8+ messages in thread
From: Laurent Pinchart @ 2025-08-13 11:57 UTC (permalink / raw)
  To: Maud Spierings
  Cc: Fabio Estevam, Tim Harvey, mchehab, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, linux-media, imx

On Wed, Aug 13, 2025 at 01:45:40PM +0200, Maud Spierings wrote:
> On 8/13/25 13:41, Laurent Pinchart wrote:
> > On Wed, Aug 13, 2025 at 02:36:01PM +0300, Laurent Pinchart wrote:
> >> On Wed, Aug 13, 2025 at 01:31:34PM +0200, Maud Spierings wrote:
> >>> On 8/13/25 13:23, Fabio Estevam wrote:
> >>>> Hi Maud,
> >>>>
> >>>> [Adding Tim]
> >>>>
> >>>> On Wed, Aug 13, 2025 at 8:12 AM Maud Spierings wrote:
> >>>>
> >>>>> My devicetree setup is practically identical to the one in
> >>>>> freescale/imx8mp-venice-gw74xx-imx219.dtso (different i2c bus and
> >>>>> regulator gpio only)
> >>>>
> >>>> You'll need to configure the camera pipeline using media-ctl commands.
> >>>>
> >>>> Take a look at:
> >>>> https://trac.gateworks.com/wiki/venice/multimedia#MediaControllerPipeline
> >>>
> >>> I have been messing around with that, but it still shouldn't panic right?
> >>
> >> It shouldn't panic, no. That's a bug in the driver.
> >>
> >>> It seems to be happen in:
> >>> sd = media_entity_to_v4l2_subdev(pad->entity);
> >>>
> >>> in mxc_isi_crossbar_xlate_streams()
> >>>
> >>> Checking now if the pad variable is the issue
> >>>
> >>> it seems media_pad_remote_pad_first() can return NULL which would cause
> >>> the issue there I think.
> > 
> > Can you share the media graph as output by `media-ctl -p -d /dev/media0`
> > just before running ffmpeg ? You may need to replace media0 with the
> > device corresponding to the ISI if you have multiple media devices in
> > the system.
> 
> media-ctl -p -d 1
> Media controller API version 6.12.41
> 
> Media device information
> ------------------------
> driver          mxc-isi
> model           FSL Capture Media Device
> serial
> bus info        platform:32e00000.isi
> hw revision     0x0
> driver version  6.12.41
> 
> Device topology
> - entity 1: crossbar (5 pads, 4 links, 0 routes)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev0
>          pad0: SINK,MUST_CONNECT
>                  [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
>                  <- "csis-32e40000.csi":1 [ENABLED,IMMUTABLE]
>          pad1: SINK,MUST_CONNECT
>                  [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]

There's an issue here. The MUST_CONNECT flag should have preventeed the
pipeline from starting when nothing is connected to the pad. I'll test
it locally.

>          pad2: SINK,MUST_CONNECT
>                  <- "mxc_isi.output":0 [ENABLED,IMMUTABLE]
>          pad3: SOURCE
>                  [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
>                  -> "mxc_isi.0":0 [ENABLED,IMMUTABLE]
>          pad4: SOURCE
>                  [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
>                  -> "mxc_isi.1":0 [ENABLED,IMMUTABLE]
> 
> - entity 7: mxc_isi.0 (2 pads, 2 links, 0 routes)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev1
>          pad0: SINK
>                  [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
>                   compose.bounds:(0,0)/1920x1080
>                   compose:(0,0)/1920x1080]
>                  <- "crossbar":3 [ENABLED,IMMUTABLE]
>          pad1: SOURCE
>                  [stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
>                   crop.bounds:(0,0)/1920x1080
>                   crop:(0,0)/1920x1080]
>                  -> "mxc_isi.0.capture":0 [ENABLED,IMMUTABLE]
> 
> - entity 10: mxc_isi.0.capture (1 pad, 1 link)
>               type Node subtype V4L flags 0
>               device node name /dev/video1
>          pad0: SINK
>                  <- "mxc_isi.0":1 [ENABLED,IMMUTABLE]
> 
> - entity 18: mxc_isi.1 (2 pads, 2 links, 0 routes)
>               type V4L2 subdev subtype Unknown flags 0
>               device node name /dev/v4l-subdev2
>          pad0: SINK
>                  [stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
>                   compose.bounds:(0,0)/1920x1080
>                   compose:(0,0)/1920x1080]
>                  <- "crossbar":4 [ENABLED,IMMUTABLE]
>          pad1: SOURCE
>                  [stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
>                   crop.bounds:(0,0)/1920x1080
>                   crop:(0,0)/1920x1080]
>                  -> "mxc_isi.1.capture":0 [ENABLED,IMMUTABLE]
> 
> - entity 21: mxc_isi.1.capture (1 pad, 1 link)
>               type Node subtype V4L flags 0
>               device node name /dev/video2
>          pad0: SINK
>                  <- "mxc_isi.1":1 [ENABLED,IMMUTABLE]
> 
> - entity 29: mxc_isi.output (1 pad, 1 link)
>               type Node subtype V4L flags 0
>          pad0: SOURCE
>                  -> "crossbar":2 [ENABLED,IMMUTABLE]
> 
> - entity 36: csis-32e40000.csi (2 pads, 2 links, 0 routes)
>               type V4L2 subdev subtype Unknown flags 0
>               device node name /dev/v4l-subdev3
>          pad0: SINK,MUST_CONNECT
>                  [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range]
>                  <- "imx219 5-0010":0 []
>          pad1: SOURCE,MUST_CONNECT
>                  [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:smpte170m xfer:709 ycbcr:601 quantization:lim-range]
>                  -> "crossbar":0 [ENABLED,IMMUTABLE]
> 
> - entity 41: imx219 5-0010 (1 pad, 1 link, 0 routes)
>               type V4L2 subdev subtype Sensor flags 0
>               device node name /dev/v4l-subdev4
>          pad0: SOURCE
>                  [stream:0 fmt:SRGGB10_1X10/3280x2464 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range
>                   crop.bounds:(8,8)/3280x2464
>                   crop:(8,8)/3280x2464]
>                  -> "csis-32e40000.csi":0 []
> 
> media0 seems to be dw100, 2 and 3 are hantro-vpu

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-08-13 11:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-13 11:11 Kernel Panic when trying to capture camera with ffmpeg on imx8mp Maud Spierings
2025-08-13 11:23 ` Fabio Estevam
2025-08-13 11:31   ` Maud Spierings
2025-08-13 11:35     ` Laurent Pinchart
2025-08-13 11:41       ` Maud Spierings
2025-08-13 11:41       ` Laurent Pinchart
2025-08-13 11:45         ` Maud Spierings
2025-08-13 11:57           ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).