* 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).