aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Sat May 29, 2021 4:45 am

@snmdk: you should split your questions into two parts, the one related to the official 7in under KMS which then goes into the display section, and those related to Android.
AFIK there is no official support for Android!

milo246
Posts: 74
Joined: Mon Mar 01, 2021 1:43 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon May 31, 2021 6:38 am

milo246 wrote:
Fri May 28, 2021 9:39 am
Though it'd be neat to negotiate the 18-bit mode to the DSI as well, to save on power if nothing else, the bridge chip driver currently just always asks for 24-bit. But it should still look at the DSI settings in effect, in case the DSI driver has decided differently for whatever reason. And just to be prepared for a future where that negotiation would actually work.

It's only one line of code actually...
Something like this:

Code: Select all

	case MEDIA_BUS_FMT_RGB666_1X7X3_SPWG:
		ctx->lvds_format_24bpp = false;
		ctx->lvds_format_jeida = mipi_dsi_pixel_format_to_bpp(ctx->dsi->format) == 24;

Smndk
Posts: 13
Joined: Fri Apr 30, 2021 11:24 pm
Location: Denmark

Re: Rpi 4 with DRM and 7inch panel using kms driver

Fri Jun 04, 2021 9:52 am

aBUGSworstnightmare wrote:
Sat May 29, 2021 4:45 am
@snmdk: you should split your questions into two parts, the one related to the official 7in under KMS which then goes into the display section, and those related to Android.
AFIK there is no official support for Android!
Hi

Thank you for your answer. Some of my problems are getting the DSI to work with the official display, so I thought that this thread was about that subject. I am well aware that there is no official support for Android, but I am personally trying to get Android working on the RPI with different kinds of displays. I got it working fine with HDMI, but would like to get it working with the DSI interface also.

Kind regards,
Svend

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Tue Jun 08, 2021 10:29 am

FYI v6 of Marek's patches have just been merged to dri-misc-next with a followup to fix a couple of checkpatch warnings.

As that is now effectively in mainline I'll cherry-pick it back and get it merged to our rpi-5.10.y branch, along with the rework for vc4_dsi.c. Additional fixes to the driver welcome, but I'd also recommend you sending them upstream as well if they're generic.

Whilst the startup sequence doesn't exactly match the datasheet, it seems that it is working both for Marek and his platform and now on the Pi.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Smndk
Posts: 13
Joined: Fri Apr 30, 2021 11:24 pm
Location: Denmark

Re: Rpi 4 with DRM and 7inch panel using kms driver

Wed Jun 09, 2021 9:52 am

In the 5.10 kernel I am building, the drivers for i2c@7e205000, i2c@1 and lcd@45 are attached after the vc4 driver. This results in that the vc4 driver cannot find the 7inch panel.
Do I somehow need to change the driver load order or are there some other thing I am missing?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Wed Jun 09, 2021 12:11 pm

Smndk wrote:
Wed Jun 09, 2021 9:52 am
In the 5.10 kernel I am building, the drivers for i2c@7e205000, i2c@1 and lcd@45 are attached after the vc4 driver. This results in that the vc4 driver cannot find the 7inch panel.
Do I somehow need to change the driver load order or are there some other thing I am missing?
Under device tree probe order is undefined.
All devices should check for their necessary resources during probe, and if any of them aren't loaded and therefore unavailable they should cleanup and return -EPROBE_DEFER. They will then be retriggered when the next device is probed, and so it will repeat until all resources are available.

vc4_dsi_bind calls drm_of_find_panel_or_bridge to find the attached panel. That should fail and return -EPROBE_DEFER until the I2C nodes and panel driver are all loaded.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Fri Jun 18, 2021 3:19 pm

I've finally had time to solve why 4 lane mode doesn't work.

Code: Select all

	/* Find what divider gets us a faster clock than the requested
	 * pixel clock.
	 */
	for (divider = 1; divider < 8; divider++) {
		if (parent_rate / divider < pll_clock) {
			divider--;
			break;
		}
	}
It checks

Code: Select all

[    6.489868] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 1. result would be 3000000091 (want 400800000)
[    6.489978] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 2. result would be 1500000045 (want 400800000)
[    6.490086] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 3. result would be 1000000030 (want 400800000)
[    6.490186] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 4. result would be 750000022 (want 400800000)
[    6.490286] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 5. result would be 600000018 (want 400800000)
[    6.490378] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 6. result would be 500000015 (want 400800000)
[    6.490469] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 7. result would be 428571441 (want 400800000)
[    6.356652] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: divider computed as 8 req clock 66800 adjusted_clock is 62500
7 would be the correct result, but because it doesn't check 8 as the end condition "divider < 8" fails first, it's done the divider++ to get to 8 and then continues. With divider = 8 we end up with the adjusted clock being BELOW the desired clock, the porch values end up being reduced instead of increased, and it doesn't work.

Code: Select all

	for (divider = 1; divider < 7; divider++) {
		if (parent_rate / (divider + 1) < pll_clock) {
			break;
		}
	}
removes the weird end correction, and should always stop on a higher frequency than that requested. Timings can therefore be increased appropriately. Hopefully I've got my maths right for all combinations. I'll sort a PR now.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Fri Jun 18, 2021 7:20 pm

6by9 wrote:
Fri Jun 18, 2021 3:19 pm
I've finally had time to solve why 4 lane mode doesn't work.

Code: Select all

	/* Find what divider gets us a faster clock than the requested
	 * pixel clock.
	 */
	for (divider = 1; divider < 8; divider++) {
		if (parent_rate / divider < pll_clock) {
			divider--;
			break;
		}
	}
It checks

Code: Select all

[    6.489868] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 1. result would be 3000000091 (want 400800000)
[    6.489978] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 2. result would be 1500000045 (want 400800000)
[    6.490086] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 3. result would be 1000000030 (want 400800000)
[    6.490186] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 4. result would be 750000022 (want 400800000)
[    6.490286] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 5. result would be 600000018 (want 400800000)
[    6.490378] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 6. result would be 500000015 (want 400800000)
[    6.490469] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: div 7. result would be 428571441 (want 400800000)
[    6.356652] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: divider computed as 8 req clock 66800 adjusted_clock is 62500
7 would be the correct result, but because it doesn't check 8 as the end condition "divider < 8" fails first, it's done the divider++ to get to 8 and then continues. With divider = 8 we end up with the adjusted clock being BELOW the desired clock, the porch values end up being reduced instead of increased, and it doesn't work.

Code: Select all

	for (divider = 1; divider < 7; divider++) {
		if (parent_rate / (divider + 1) < pll_clock) {
			break;
		}
	}
removes the weird end correction, and should always stop on a higher frequency than that requested. Timings can therefore be increased appropriately. Hopefully I've got my maths right for all combinations. I'll sort a PR now.
sounds good! Thanks for checking!
Which of your branches can use for testing with; is in the Marek?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Fri Jun 18, 2021 8:58 pm

aBUGSworstnightmare wrote:
Fri Jun 18, 2021 7:20 pm
sounds good! Thanks for checking!
Which of your branches can use for testing with; is in the Marek?
I've rebased and added that change to https://github.com/6by9/linux/tree/rpi- ... i8x-marek/
I'll sort out a proper PR on Monday for the vc4_dsi stuff. If you can confirm that it works with the SN65DSI83 (or 84), then I'll include those changes in the PR too.
I'll have to have a think as to whether we include your new LVDS panel definition too - without it I can't add an overlay, but it may not quite follow the requirements for upstream.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Sat Jun 19, 2021 7:13 am

6by9 wrote:
Fri Jun 18, 2021 8:58 pm
aBUGSworstnightmare wrote:
Fri Jun 18, 2021 7:20 pm
sounds good! Thanks for checking!
Which of your branches can use for testing with; is in the Marek?
I've rebased and added that change to https://github.com/6by9/linux/tree/rpi- ... i8x-marek/
I'll sort out a proper PR on Monday for the vc4_dsi stuff. If you can confirm that it works with the SN65DSI83 (or 84), then I'll include those changes in the PR too.
I'll have to have a think as to whether we include your new LVDS panel definition too - without it I can't add an overlay, but it may not quite follow the requirements for upstream.
will have a look at it and report back (my HW has DSI84 and on another PCB a DSI85 but only one DSI interface connected for that --> mimicking DSI84). I prefer to start from a clean installation so will take some time to compile the kernel.

Coming to the issue with the panel definition...
Well, theoretically speaking the timing details for Google Nexus 7 Gen 1 panel are alraedy available from panel-simple.c: 'chunghwa_claa070wp03xg'
Practically speaking, this timing is not working on any of my Chunghwa modules! They are from different batches, even production years, so I would say I have ruled out any tolerance issues too.

For Google Nexus 7 Gen1 (2012) tablet different TFT models where used (second source strategy with same frame spec to the LCD manufacturers):
- CPT CLAA070WP03XG
- HYDIS HV070WX2-1E0

The timing which I'm using is based on Hydis spec, but I'm running it from the beginning (back in 2016) on the Chunghwa modules without issues. That's why I added it as a different claa070wp03xg timing (and not Hydis).

Started with compiling the kernel, taking this as a good opportunity for doing some stress-test on my 'gardenpi' jig (o. K. Will go on my microscope but think will build a clone to see service as 'useiteverywherepi').
It's 37.8° air temp outside on the terrace, sitting in the shade and the Pi4 in Armour case just reached 80°C.. Time to grap a small 12V fan + battery.
That's the Innolux 5.6in btw.. Looks good even in bright ambient light.
Attachments
PSX_20210619_132035.jpg
PSX_20210619_132035.jpg (91.32 KiB) Viewed 932 times
PSX_20210619_132118.jpg
Let's see how long 18V/3Ah will last..
PSX_20210619_132118.jpg (88.34 KiB) Viewed 932 times
Last edited by aBUGSworstnightmare on Fri Jul 16, 2021 5:15 am, edited 1 time in total.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Sat Jun 19, 2021 1:28 pm

6by9 wrote:
Fri Jun 18, 2021 8:58 pm
aBUGSworstnightmare wrote:
Fri Jun 18, 2021 7:20 pm
sounds good! Thanks for checking!
Which of your branches can use for testing with; is in the Marek?
I've rebased and added that change to https://github.com/6by9/linux/tree/rpi- ... i8x-marek/
I'll sort out a proper PR on Monday for the vc4_dsi stuff. If you can confirm that it works with the SN65DSI83 (or 84), then I'll include those changes in the PR too.
I'll have to have a think as to whether we include your new LVDS panel definition too - without it I can't add an overlay, but it may not quite follow the requirements for upstream.
bad news 6by9: that one doesn't start the DSI interface --> not working here at all.

Any pointer where to look for issues? Can you please check that this kernel version is correct (see below;everything else that I used was a later one)?
I've enabled the Kippah in addition to make sure that I can VNC into the DUT. But would not expect this to cause any issues (as I did this in the past as well).
As said, started with a fresh uSD with latest official downloadable image, then sudo apt-get update/sudo apt-get full-upgrade. After that I've cloned your repro, used menuconfig to enable the bridge and BL-driver and compiled it.

Code: Select all

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.17-v7l+ #1421 SMP Thu May 27 14:00:13 BST 2021 armv7l GNU/Linux
pi@raspberrypi:~ $ dmesg | grep vc4
[    5.549851] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    5.550179] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input0
[    5.551399] debugfs: Directory 'fef00700.hdmi' with parent 'vc4-hdmi-0' already present!
[    5.557029] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    5.573843] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    5.574104] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input1
[    5.588683] debugfs: Directory 'fef05700.hdmi' with parent 'vc4-hdmi-1' already present!
[    5.594950] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    5.595396] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[    5.595736] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    5.596154] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[    5.596496] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.596823] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.597271] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.597541] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.597863] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.623994] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0
[    5.678667] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
[   14.400932] vc4_hdmi fef00700.hdmi: ASoC: error at snd_soc_dai_startup on fef00700.hdmi: -19
[   14.401273] vc4_hdmi fef00700.hdmi: ASoC: error at snd_soc_dai_startup on fef00700.hdmi: -19
[   14.401857] vc4_hdmi fef00700.hdmi: ASoC: error at snd_soc_dai_startup on fef00700.hdmi: -19
[   14.995631] vc4_hdmi fef00700.hdmi: ASoC: error at snd_soc_dai_startup on fef00700.hdmi: -19
[   14.996151] vc4_hdmi fef00700.hdmi: ASoC: error at snd_soc_dai_startup on fef00700.hdmi: -19
[   14.997621] vc4_hdmi fef00700.hdmi: ASoC: error at snd_soc_dai_startup on fef00700.hdmi: -19
[   14.997836] vc4_hdmi fef00700.hdmi: ASoC: error at snd_soc_dai_startup on fef00700.hdmi: -19
[   15.095557] vc4_hdmi fef05700.hdmi: ASoC: error at snd_soc_dai_startup on fef05700.hdmi: -19
[   15.096270] vc4_hdmi fef05700.hdmi: ASoC: error at snd_soc_dai_startup on fef05700.hdmi: -19
[   15.097290] vc4_hdmi fef05700.hdmi: ASoC: error at snd_soc_dai_startup on fef05700.hdmi: -19
[   15.152313] vc4_hdmi fef05700.hdmi: ASoC: error at snd_soc_dai_startup on fef05700.hdmi: -19
[   15.153156] vc4_hdmi fef05700.hdmi: ASoC: error at snd_soc_dai_startup on fef05700.hdmi: -19
[   15.157055] vc4_hdmi fef05700.hdmi: ASoC: error at snd_soc_dai_startup on fef05700.hdmi: -19
[   15.157316] vc4_hdmi fef05700.hdmi: ASoC: error at snd_soc_dai_startup on fef05700.hdmi: -19
pi@raspberrypi:~ $ dmesg | grep dsi
pi@raspberrypi:~ $ 

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon Jun 21, 2021 12:34 pm

Apologies - I messed up my branches and hadn't taken Marek's latest patchset. I'm sorting them now.

One of the mainline kernel guys is also now trying it, and has reported issues. https://lists.freedesktop.org/archives/ ... 11819.html

If you're getting 5.10.17, then that is the standard Linux kernel from apt, not your self-built one.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon Jun 21, 2021 2:44 pm

6by9 wrote:
Mon Jun 21, 2021 12:34 pm
Apologies - I messed up my branches and hadn't taken Marek's latest patchset. I'm sorting them now.

One of the mainline kernel guys is also now trying it, and has reported issues. https://lists.freedesktop.org/archives/ ... 11819.html

If you're getting 5.10.17, then that is the standard Linux kernel from apt, not your self-built one.
Understood and no problem! Will clone your repro now and start over. Kernel compile can run unattended on one of the Pi's while I try to sort things out on the one with the 5.6in.

Regarding the linked comment I need to say that I don't understand the issue he has. Sounds like he's unable to get the display to work correctly as he's reporting 'weird frame rates'. Weird frame rates sound like incorrect timing to me. So might be a good idea to ask which panel he's testing with.

EDIT: Just saw you've not sorted that out. So just want to let you know I'm ready you start when you're ready.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon Jun 21, 2021 2:57 pm

Branch now updated.
Marek had sent https://patchwork.freedesktop.org/series/91707/ to the list this morning, and Laurent followed it up with https://patchwork.freedesktop.org/series/91725/. Both of those series are on my branch - https://github.com/6by9/linux/tree/rpi- ... si8x-marek
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon Jun 21, 2021 3:13 pm

6by9 wrote:
Mon Jun 21, 2021 2:57 pm
Branch now updated.
Marek had sent https://patchwork.freedesktop.org/series/91707/ to the list this morning, and Laurent followed it up with https://patchwork.freedesktop.org/series/91725/. Both of those series are on my branch - https://github.com/6by9/linux/tree/rpi- ... si8x-marek
Thanks! compiling the kernel wit DSI8x support is started already. Will now have to have a deeper look on these patches.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon Jun 21, 2021 4:22 pm

Pushed again with Maxime's latest PR added.
It is a force push as his PR includes a revert I'd already done, but it should only be a minor rebuild.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon Jun 21, 2021 4:24 pm

aBUGSworstnightmare wrote:
Mon Jun 21, 2021 3:13 pm
6by9 wrote:
Mon Jun 21, 2021 2:57 pm
Branch now updated.
Marek had sent https://patchwork.freedesktop.org/series/91707/ to the list this morning, and Laurent followed it up with https://patchwork.freedesktop.org/series/91725/. Both of those series are on my branch - https://github.com/6by9/linux/tree/rpi- ... si8x-marek
Thanks! compiling the kernel wit DSI8x support is started already. Will now have to have a deeper look on these patches.
KMS is starting but display remains black with 4-lane DSI

Code: Select all

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.44-v7l+ #1 SMP Mon Jun 21 17:08:23 CEST 2021 armv7l GNU/Linux
pi@raspberrypi:~ $ dmesg | grep dsi
[    6.947833] vc4-drm gpu: bound fe700000.dsi (ops vc4_dsi_ops [vc4])
[    7.007226] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: 
[    7.008451] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: All good
pi@raspberrypi:~ $ dmesg | grep vc4
[    5.354975] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    5.399543] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    5.399782] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input0
[    5.401135] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[    5.535631] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    5.569115] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    5.569353] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input1
[    5.570339] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[    5.721049] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    5.723074] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    5.723515] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input2
[    5.724594] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[    5.975838] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    5.983743] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    5.983977] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input3
[    5.985065] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[    6.271032] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.287824] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.288085] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input4
[    6.292531] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.300186] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    6.300673] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input5
[    6.311048] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.591469] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.608570] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.608792] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input6
[    6.613084] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.614832] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    6.615055] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input7
[    6.630616] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.925822] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.927591] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.927894] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input8
[    6.932927] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.941013] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    6.941239] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input9
[    6.946185] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.947833] vc4-drm gpu: bound fe700000.dsi (ops vc4_dsi_ops [vc4])
[    6.948359] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[    6.948740] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.950066] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.950516] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.950862] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.954545] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.974831] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0
[    7.007226] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: 
[    7.008451] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: All good
[    7.248905] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
pi@raspberrypi:~ $ 
Switching to 3-lane DSI brings it alive

Code: Select all

pi@raspberrypi:~ $ dmesg | grep dsi
[    6.788082] vc4-drm gpu: bound fe700000.dsi (ops vc4_dsi_ops [vc4])
[    6.845394] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: 
[    6.846629] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: All good
pi@raspberrypi:~ $ dmesg | grep vc4
[    5.571878] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    5.721813] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    5.722368] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input0
[    5.725529] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[    5.889792] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    5.898625] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    5.898843] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input1
[    5.900832] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[    6.062865] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.077421] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.077651] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input2
[    6.078654] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[    6.383965] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.401572] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.401824] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input3
[    6.406864] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.433950] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    6.434233] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input4
[    6.439653] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.684631] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.704869] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.705121] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input5
[    6.713616] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.758379] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    6.758617] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input6
[    6.786455] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    6.788082] vc4-drm gpu: bound fe700000.dsi (ops vc4_dsi_ops [vc4])
[    6.788495] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[    6.788879] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.789195] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.789507] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.789745] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.790083] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.817035] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[    6.845394] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: 
[    6.846629] [drm:vc4_dsi_runtime_resume [vc4]] *ERROR* vc4_dsi_runtime_resume: All good
[    7.103970] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
pi@raspberrypi:~ $ 
So, 4-lane DSI is still not working yet. This fix posting.php?f=44&mode=quote&p=1880376&s ... #pr1879388 is implemented in 'vc4_dsi.c:842'

Code: Select all

	/* Find what divider gets us a faster clock than the requested
	 * pixel clock.
	 */
	for (divider = 1; divider < 7; divider++) {
		if (parent_rate / (divider + 1) < pll_clock)
			break;
	}
but doesn't seem to solve the issue in real life.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Mon Jun 21, 2021 4:25 pm

6by9 wrote:
Mon Jun 21, 2021 4:22 pm
Pushed again with Maxime's latest PR added.
It is a force push as his PR includes a revert I'd already done, but it should only be a minor rebuild.
Will this impact on what I've just reported? Will check for sure.

Edit: and report tomorrow.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Tue Jun 22, 2021 8:12 am

o.k. .. latest results from this morning:

- DSI8x bridge is NOT working with 4-lane DSI configuration; display is black but system can be accessed via VNC/SSH

- DSI8x bridge is working with 3-lane DSI configuration

- 7in Kippah is working when DPI is the only display (not tested with HDMI connected yet)

- enabling the 7in kipper overlay AND DSI8x overlay kills the system; desktop can't be started (VNC shows 'cannot currently show the desktop' message)
SSH into the system reveals below (which doesn't look good to me ..; looks like some kind of race condition)

Code: Select all

pi@raspberrypi:~ $ dmesg | grep dsi
pi@raspberrypi:~ $ dmesg | grep vc4
[  108.302449] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  108.303146] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  108.303217] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input725
[  108.306376] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  108.309617] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  108.309707] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input726
[  108.313671] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  108.313814] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  108.522393] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  108.523031] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  108.523101] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input727
[  108.525417] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  108.526044] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  108.526126] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input728
[  108.527691] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  108.527829] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  108.838277] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  108.839796] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  108.839983] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input729
[  108.843235] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  108.844738] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  108.844937] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input730
[  108.853914] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  108.854198] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  109.141665] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  109.144559] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  109.144635] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input731
[  109.148658] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  109.149303] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  109.149376] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input732
[  109.156191] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  109.156335] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  109.442430] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  109.443074] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  109.443154] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input733
[  109.446854] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  109.447492] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  109.447568] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input734
[  109.451403] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  109.451543] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  109.733706] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  109.735192] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  109.735362] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input735
[  109.738018] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  109.739329] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  109.739510] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input736
[  109.745226] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  109.745473] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  110.022381] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  110.023029] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  110.023107] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input737
[  110.026854] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.027504] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  110.027596] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input738
[  110.034237] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.034370] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  110.282351] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  110.283002] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  110.283081] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input739
[  110.286960] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.287633] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  110.287709] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input740
[  110.289362] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.289500] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  110.531735] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  110.537489] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  110.537645] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input741
[  110.541096] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.542354] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  110.542516] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input742
[  110.553405] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.553633] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  110.802481] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  110.803116] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  110.803191] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input743
[  110.806748] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.807360] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  110.807437] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input744
[  110.817094] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  110.817240] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  111.042415] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  111.043059] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  111.043130] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input745
[  111.046960] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.047589] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  111.047670] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input746
[  111.057188] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.057340] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  111.311783] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  111.316277] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  111.316351] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input747
[  111.319134] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.322675] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  111.322749] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input748
[  111.327327] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.327476] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  111.601214] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  111.602374] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  111.602511] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input749
[  111.611473] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.612707] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  111.612884] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input750
[  111.628116] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.628323] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  111.871741] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  111.876044] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  111.876118] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input751
[  111.878923] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.880996] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  111.881070] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input752
[  111.893849] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  111.894008] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  112.162480] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  112.163122] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  112.163196] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input753
[  112.165840] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  112.166502] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  112.166576] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input754
[  112.168205] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  112.168344] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  112.453268] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  112.454496] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  112.454645] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input755
[  112.462657] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  112.463906] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  112.464061] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input756
[  112.473586] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  112.473813] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  112.762454] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  112.763098] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  112.763168] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input757
[  112.765455] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  112.766102] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  112.766173] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input758
[  112.773669] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  112.773811] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  113.062630] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  113.063268] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  113.063344] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input759
[  113.066815] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.067446] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  113.067531] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input760
[  113.081169] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.081320] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  113.293042] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  113.294299] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  113.294453] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input761
[  113.304987] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.306210] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  113.306367] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input762
[  113.309228] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.309455] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  113.652531] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  113.653186] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  113.653258] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input763
[  113.658317] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.660567] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  113.660650] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input764
[  113.666602] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.666748] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  113.932506] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  113.933147] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  113.933220] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input765
[  113.935341] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.935978] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  113.936054] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input766
[  113.943830] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  113.943970] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  114.193124] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  114.194242] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  114.194387] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input767
[  114.198729] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  114.199819] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  114.199954] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input768
[  114.216142] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  114.216366] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  114.502565] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  114.503214] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  114.503288] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input769
[  114.506579] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  114.507186] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  114.507261] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input770
[  114.509454] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  114.509591] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  114.832624] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  114.833277] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  114.833348] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input771
[  114.840084] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  114.840686] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  114.840759] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input772
[  114.852550] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  114.852710] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  115.148636] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  115.150184] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  115.150373] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input773
[  115.157372] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  115.158879] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  115.159068] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input774
[  115.179634] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  115.179906] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  115.502565] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  115.503199] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  115.503271] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input775
[  115.506486] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  115.507103] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  115.507175] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input776
[  115.508952] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  115.509105] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  115.772281] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  115.775203] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  115.775275] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input777
[  115.777887] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  115.778535] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  115.778614] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input778
[  115.786995] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  115.787142] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  116.093382] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  116.094731] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  116.094884] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input779
[  116.097199] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  116.100739] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  116.100883] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input780
[  116.110608] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  116.110824] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  116.422671] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  116.423311] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  116.423388] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input781
[  116.426652] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  116.427295] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  116.427366] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input782
[  116.429313] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  116.429448] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  116.742728] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  116.743375] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  116.743450] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input783
[  116.747121] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  116.747763] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  116.747841] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input784
[  116.767466] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  116.767608] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  117.088909] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  117.090459] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  117.090658] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input785
[  117.100748] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.116900] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  117.117013] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input786
[  117.119128] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.119309] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  117.392766] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  117.393437] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  117.393515] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input787
[  117.397528] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.398170] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  117.398256] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input788
[  117.400463] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.400604] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  117.662923] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  117.663585] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  117.663663] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input789
[  117.667147] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.667760] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  117.667831] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input790
[  117.677634] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.677775] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  117.953261] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  117.954518] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  117.954669] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input791
[  117.966570] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.972127] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  117.972285] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input792
[  117.977671] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  117.977895] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  118.192596] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  118.193232] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  118.193305] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input793
[  118.197034] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  118.197747] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  118.197828] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input794
[  118.203783] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  118.203918] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  118.472225] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  118.472956] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  118.473038] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input795
[  118.477425] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  118.478074] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  118.478149] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input796
[  118.481237] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  118.481392] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  118.783854] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  118.785070] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  118.785221] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input797
[  118.790108] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  118.791293] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  118.791447] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input798
[  118.794413] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  118.794648] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  119.072260] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  119.073987] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  119.074067] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input799
[  119.078633] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  119.092275] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  119.092353] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input800
[  119.095299] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  119.095452] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  119.452842] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  119.453496] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  119.453578] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input801
[  119.456908] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  119.457544] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  119.457619] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input802
[  119.470918] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  119.471048] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  119.739989] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  119.741099] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  119.741221] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input803
[  119.750722] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  119.765293] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  119.765443] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input804
[  119.768337] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  119.768569] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  120.042891] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  120.043538] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  120.043613] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input805
[  120.047123] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.047751] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  120.047825] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input806
[  120.062857] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.063008] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  120.302892] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  120.303540] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  120.303613] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input807
[  120.306025] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.306671] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  120.306747] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input808
[  120.308411] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.308553] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  120.593651] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  120.594885] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  120.595042] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input809
[  120.608173] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.618846] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  120.619002] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input810
[  120.624278] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.624508] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  120.862975] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  120.863620] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  120.863692] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input811
[  120.865007] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.865637] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  120.865713] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input812
[  120.867333] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  120.867470] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  121.122650] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  121.123288] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  121.123365] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input813
[  121.126004] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  121.126616] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  121.126692] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input814
[  121.140158] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  121.140310] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  121.403841] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  121.405049] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  121.405200] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input815
[  121.407824] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  121.409018] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  121.409174] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input816
[  121.412162] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  121.412403] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  121.662674] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  121.663318] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  121.663391] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input817
[  121.666618] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  121.667232] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  121.667306] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input818
[  121.677246] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  121.677386] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  122.014252] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  122.014867] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  122.014938] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input819
[  122.020086] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.022370] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  122.022445] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input820
[  122.029302] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.029449] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  122.310189] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  122.311718] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  122.311969] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input821
[  122.318659] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.320130] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  122.320330] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input822
[  122.323907] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.324186] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  122.543029] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  122.543664] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  122.543740] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input823
[  122.547378] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.547998] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  122.548082] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input824
[  122.549771] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.549915] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  122.782994] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  122.783674] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  122.783750] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input825
[  122.786497] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.787153] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  122.787227] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input826
[  122.790476] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  122.790617] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  123.063091] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  123.063744] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  123.063819] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input827
[  123.067173] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.067790] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  123.067868] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input828
[  123.080682] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.080915] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  123.433027] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  123.433671] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  123.433743] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input829
[  123.437199] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.437808] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  123.437882] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input830
[  123.453836] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.453986] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  123.702524] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  123.704346] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  123.704422] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input831
[  123.707759] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.717085] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  123.717164] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input832
[  123.720069] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.720215] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  123.954384] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  123.955540] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  123.955694] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input833
[  123.965936] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.970499] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  123.970656] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input834
[  123.976445] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  123.976679] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  124.303143] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  124.303756] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  124.303831] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input835
[  124.306410] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  124.307081] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  124.307154] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input836
[  124.317300] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  124.317448] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  124.623209] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  124.623815] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  124.623892] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input837
[  124.627430] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  124.628070] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  124.628141] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input838
[  124.629906] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  124.630054] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  124.936898] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  124.938182] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  124.938348] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input839
[  124.941204] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  124.942735] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  124.942911] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input840
[  124.953989] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  124.954271] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  125.192840] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  125.193511] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  125.193589] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input841
[  125.196798] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  125.197433] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  125.197507] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input842
[  125.204673] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  125.204825] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  125.442578] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  125.443310] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  125.443382] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input843
[  125.446654] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  125.448433] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  125.448509] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input844
[  125.454660] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  125.454820] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  125.693511] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  125.694156] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  125.694226] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input845
[  125.695565] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  125.696183] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  125.696259] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input846
[  125.697870] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  125.698031] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  125.987066] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  125.988453] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  125.988622] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input847
[  125.991153] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  125.992598] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  125.992778] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input848
[  126.003652] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  126.003898] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  126.272577] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  126.275852] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  126.275927] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input849
[  126.279702] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  126.284207] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  126.284282] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input850
[  126.288092] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  126.288226] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  126.563408] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  126.564046] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  126.564117] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input851
[  126.566710] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  126.567335] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  126.567412] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input852
[  126.575028] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  126.575162] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  126.830729] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  126.831777] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  126.831940] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input853
[  126.835869] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  126.837053] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  126.837209] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input854
[  126.853781] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  126.854014] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  127.123247] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  127.123902] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  127.123980] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input855
[  127.127347] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  127.127970] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  127.128046] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input856
[  127.141685] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  127.141826] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  127.483219] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  127.483871] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  127.483940] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input857
[  127.487703] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  127.488331] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  127.488404] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input858
[  127.490084] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  127.490228] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  127.850415] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  127.854466] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  127.854603] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input859
[  127.856800] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  127.857879] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  127.858016] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input860
[  127.868577] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  127.868790] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  128.183234] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  128.183897] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  128.183968] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input861
[  128.185342] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  128.185971] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  128.186045] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input862
[  128.195831] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  128.195977] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  128.442817] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  128.444471] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  128.444546] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input863
[  128.447376] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  128.448108] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  128.448183] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input864
[  128.451050] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  128.451181] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  128.734812] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  128.736040] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  128.736186] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input865
[  128.741078] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  128.742395] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  128.742565] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input866
[  128.756797] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  128.757014] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  129.043376] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  129.044029] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  129.044101] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input867
[  129.047523] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.048134] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  129.048205] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input868
[  129.055244] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.055398] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  129.323520] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  129.324142] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  129.324216] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input869
[  129.327501] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.328114] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  129.328185] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input870
[  129.339387] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.339525] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  129.710811] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  129.712459] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  129.712656] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input871
[  129.722893] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.724474] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  129.724749] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input872
[  129.728560] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.728848] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  129.923497] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  129.924142] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  129.924214] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input873
[  129.926554] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.927187] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  129.927261] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input874
[  129.928887] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  129.929039] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  130.213348] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  130.213989] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  130.214060] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input875
[  130.216899] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  130.217696] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  130.217772] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input876
[  130.228453] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  130.228585] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  130.475043] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  130.476991] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  130.477149] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input877
[  130.487143] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  130.489800] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  130.489953] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input878
[  130.511741] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  130.512055] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  130.753435] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  130.754053] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  130.754123] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input879
[  130.756659] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  130.757294] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  130.757366] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input880
[  130.759062] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  130.759195] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  131.035567] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  131.036206] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  131.036280] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input881
[  131.038538] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  131.039168] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  131.039245] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input882
[  131.052403] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  131.052549] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  131.374895] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  131.376150] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  131.376308] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input883
[  131.382137] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  131.403061] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  131.403226] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input884
[  131.405929] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  131.406157] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  131.693435] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  131.694082] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  131.694157] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input885
[  131.696751] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  131.697388] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  131.697465] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input886
[  131.701435] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  131.701575] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  132.043519] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  132.044168] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  132.044239] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input887
[  132.046688] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.047448] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  132.047528] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input888
[  132.054399] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.054530] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  132.355270] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  132.356503] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  132.356661] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input889
[  132.361590] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.363190] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  132.363353] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input890
[  132.381023] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.381259] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  132.605725] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  132.606470] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  132.606540] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input891
[  132.609184] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.610813] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  132.610892] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input892
[  132.613813] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.613950] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  132.913561] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  132.914206] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  132.914282] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input893
[  132.916761] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.917384] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  132.917455] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input894
[  132.922030] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  132.922219] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  133.251439] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  133.253049] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  133.253255] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input895
[  133.266596] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  133.268097] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  133.268289] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input896
[  133.271699] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  133.272055] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  133.593209] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  133.595746] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  133.595825] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input897
[  133.599601] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  133.600217] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  133.600286] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input898
[  133.608076] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  133.608231] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  133.863522] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  133.864136] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  133.864212] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input899
[  133.866654] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  133.867871] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  133.868125] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input900
[  133.875867] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  133.876019] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  134.141380] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  134.143014] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  134.143217] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input901
[  134.156591] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  134.158141] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  134.158336] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input902
[  134.182863] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  134.183149] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  134.483662] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  134.484282] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  134.484356] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input903
[  134.489583] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  134.490234] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  134.490306] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input904
[  134.492049] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  134.492186] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  134.744269] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  134.744993] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  134.745074] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input905
[  134.752887] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  134.758662] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  134.758751] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input906
[  134.763284] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  134.763424] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  135.086206] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  135.087988] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  135.088221] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input907
[  135.092871] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.094630] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  135.094866] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input908
[  135.099017] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.099345] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  135.343952] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  135.344572] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  135.344648] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input909
[  135.349305] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.349921] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  135.349996] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input910
[  135.351595] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.351729] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  135.613327] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  135.614795] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  135.614872] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input911
[  135.619148] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.625788] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  135.625862] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input912
[  135.629171] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.629297] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  135.883617] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  135.884727] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  135.884867] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input913
[  135.888986] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.890096] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  135.890235] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input914
[  135.901416] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  135.901626] vc4-drm gpu: bound fe208000.dpi (ops vc4_dpi_ops [vc4])
[  136.193410] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  136.195053] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  136.195129] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input915
[  136.197130] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  136.197862] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  136.197945] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input916
[  136.200843] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
...
had to shorten this due to the max number of characters allowed in one post. Find it from the files.
latest_marek_dsi8x_testing.zip
log file output for 'vc4' and 'dsi' - hope this helps in finding the issue
(11.01 KiB) Downloaded 14 times

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Tue Jun 22, 2021 9:18 am

3 lane working but 4 not is still weird. I'd hoped that divider issue would have resolved that.

Please don't introduce weird interactions into this thread - it's convoluted enough already.

vc4-kms-dsi-sn65dsi83 enables i2c0if and i2c0mux, so claims GPIOs 0&1 and 44&45.
vc4-kms-kippah-7inch claims dpi_18bit_gpio0, which is all GPIOs from 0 to 21.
Conflict for GPIOs 0&1.

If you're wanting to both together then you'll have to rework vc4-kms-dsi-sn65dsi83 to go to i2c0 instead of i2c_csi_dsi, and then use "dtoverlay=i2c0,pins_44_45" BEFORE your modified "dtoverlay=vc4-kms-dsi-sn65dsi83" line to reassign i2c0.
This is getting to the stage where generic overlays can not cover all eventualities.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Tue Jun 22, 2021 11:08 am

Datasheet sections 2.9 and 2.10 covers the I2C interfaces, implemented via Broadcom Serial Controllers (BSC).
There are two of them (yes, there are more but only two of interrest), generally considered as BSC0 & BSC1.

BSC1 is mapped to GPIOs 2&3 and generally termed i2c1 or i2c_arm. "dtparam=i2c_arm=on" will enable this interface.

BSC0 is routed through an i2c-mux-pinctrl node to be exposed as /dev/i2c0 and /dev/i2c10.
i2c0 is always on GPIOS 0&1
i2c10 is on either 28&29 or 44&45 depending on the platform, so in case of a CM4/Rpi4 it should be on GPIO 44/45

SDA0/SCL0 are GPIOs 44&45 and are routed to CAM1 and DISP1.
ID_SD/ID_SC are GPIOs 0&1 on pins 27&28 on the 40 pin header. If one fits the jumpers on CM4IO then they are routed to CAM0 and DISP0.

Both are alternate pin muxings of BSC0, correct?. If one would add "dtparam=i2c_vc=on" then they'll be presented as /dev/i2c-10 and i2c-0 respectively.

I see the bridge on I2C10 (as expected), so why does it need to connect ID_SD/ID_SC? 'raspi-gpio get' does not show them configured to I2C (note that I'm using GPIO26 as enable signal for DSI8x on this jig).

Code: Select all

pi@raspberrypi:~ $ raspi-gpio get
BANK0 (GPIO 0 to 27):
GPIO 0: level=1 fsel=0 func=INPUT pull=UP
GPIO 1: level=1 fsel=0 func=INPUT pull=UP
GPIO 2: level=1 fsel=0 func=INPUT pull=UP
GPIO 3: level=1 fsel=0 func=INPUT pull=UP
GPIO 4: level=1 fsel=0 func=INPUT pull=UP
GPIO 5: level=1 fsel=0 func=INPUT pull=UP
GPIO 6: level=1 fsel=0 func=INPUT pull=UP
GPIO 7: level=1 fsel=0 func=INPUT pull=UP
GPIO 8: level=1 fsel=0 func=INPUT pull=UP
GPIO 9: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 10: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 11: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 12: level=0 fsel=4 alt=0 func=PWM0_0 pull=DOWN
GPIO 13: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 14: level=1 fsel=0 func=INPUT pull=NONE
GPIO 15: level=1 fsel=0 func=INPUT pull=UP
GPIO 16: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 17: level=1 fsel=1 func=OUTPUT pull=DOWN
GPIO 18: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 19: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 20: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 21: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 22: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 23: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 24: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 25: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 26: level=1 fsel=1 func=OUTPUT pull=DOWN
GPIO 27: level=0 fsel=0 func=INPUT pull=DOWN
BANK1 (GPIO 28 to 45):
GPIO 28: level=1 fsel=2 alt=5 func=RGMII_MDIO pull=UP
GPIO 29: level=0 fsel=2 alt=5 func=RGMII_MDC pull=DOWN
GPIO 30: level=0 fsel=7 alt=3 func=CTS0 pull=UP
GPIO 31: level=0 fsel=7 alt=3 func=RTS0 pull=NONE
GPIO 32: level=1 fsel=7 alt=3 func=TXD0 pull=NONE
GPIO 33: level=1 fsel=7 alt=3 func=RXD0 pull=UP
GPIO 34: level=1 fsel=7 alt=3 func=SD1_CLK pull=NONE
GPIO 35: level=1 fsel=7 alt=3 func=SD1_CMD pull=UP
GPIO 36: level=1 fsel=7 alt=3 func=SD1_DAT0 pull=UP
GPIO 37: level=1 fsel=7 alt=3 func=SD1_DAT1 pull=UP
GPIO 38: level=1 fsel=7 alt=3 func=SD1_DAT2 pull=UP
GPIO 39: level=1 fsel=7 alt=3 func=SD1_DAT3 pull=UP
GPIO 40: level=1 fsel=0 func=INPUT pull=NONE
GPIO 41: level=1 fsel=0 func=INPUT pull=NONE
GPIO 42: level=0 fsel=1 func=OUTPUT pull=NONE
GPIO 43: level=1 fsel=0 func=INPUT pull=NONE
GPIO 44: level=1 fsel=5 alt=1 func=SDA0 pull=NONE
GPIO 45: level=1 fsel=5 alt=1 func=SCL0 pull=NONE
BANK2 (GPIO 46 to 53):
GPIO 46: level=0 fsel=0 func=INPUT pull=UP
GPIO 47: level=0 fsel=0 func=INPUT pull=UP
GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK pull=DOWN
GPIO 49: level=0 fsel=4 alt=0 func=SD0_CMD pull=DOWN
GPIO 50: level=0 fsel=4 alt=0 func=SD0_DAT0 pull=DOWN
GPIO 51: level=0 fsel=4 alt=0 func=SD0_DAT1 pull=DOWN
GPIO 52: level=0 fsel=4 alt=0 func=SD0_DAT2 pull=DOWN
GPIO 53: level=0 fsel=4 alt=0 func=SD0_DAT3 pull=DOWN
pi@raspberrypi:~ $ 
Might be a better idea to introduce parameters with the overlay though or what do I miss-understand here?

i2c-mux-pinctrl node -https://github.com/raspberrypi/linux/bl ... .dtsi#L347

Will stop here and try to figure out how to solve this. Then report back in a new thread.
Last edited by aBUGSworstnightmare on Tue Jun 22, 2021 2:20 pm, edited 2 times in total.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Tue Jun 22, 2021 1:45 pm

The driver is not rebooting reliable, had to fix a few lines where they messed up writing to CSR (were the writes are non-effective in the current access order).

Now every boot/re-boot works fine.
Display still does not start with 4-lane DSI config though.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Tue Jun 22, 2021 3:12 pm

aBUGSworstnightmare wrote:
Tue Jun 22, 2021 11:08 am
Both are alternate pin muxings of BSC0, correct?. If one would add "dtparam=i2c_vc=on" then they'll be presented as /dev/i2c-10 and i2c-0 respectively.

I see the bridge on I2C10 (as expected), so why does it need to connect ID_SD/ID_SC? 'raspi-gpio get' does not show them configured to I2C (note that I'm using GPIO26 as enable signal for DSI8x on this jig).
Two sets of GPIOs simultaneously set to SDA0/SCL0 would be a fail as neither would work. Run "sudo i2cdetect -y 0" and it'll unmap 44&45 and map 0&1.
aBUGSworstnightmare wrote:Might be a better idea to introduce parameters with the overlay though or what do I miss-understand here?

i2c-mux-pinctrl node -https://github.com/raspberrypi/linux/bl ... .dtsi#L347

Will stop here and try to figure out how to solve this. Then report back in a new thread.
dtparam=i2c_vc=on enables the i2c-mux-pinctrl and ALL ports under it. It has

Code: Select all

pinctrl-names = "i2c0", "i2c_csi_dsi";
defined and then via bcm283x-rpi-i2c0mux_0_44.dtsi

Code: Select all

	pinctrl-0 = <&i2c0_gpio0>;
	pinctrl-1 = <&i2c0_gpio44>;
If there are a different number of pinctrl-names to pinctrl-N nodes then it will fail to probe.
There's no easy way to assign the correct pin assignments based on the board variant dynamically, so it's both mappings, or no mappings.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11481
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Rpi 4 with DRM and 7inch panel using kms driver

Tue Jun 22, 2021 3:48 pm

aBUGSworstnightmare wrote:
Tue Jun 22, 2021 11:08 am
4-lane DSI - with any of the displays that I have tested with - was a fail so far.
I think I may have just found another possible cause. The Pi drives the DSI bus in burst mode because it comes via an integer divider off a PLL. SN65DSI83 supports burst mode, but it looks like the configuration is taking the fixed up timing and applying that on the output LVDS side of the '83.

Code: Select all

4 lane
[    6.777722] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: pll_clock 428571441 parent_clock 3000000091 divider 7
[    6.777817] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode was 66800 800 816 832 864
[    6.777905] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode now 71428 800 875 891 923

3 lanes
[    6.869334] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: pll_clock 600000018 parent_clock 3000000091 divider 5
[    6.869428] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode was 66800 800 816 832 864
[    6.869518] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode now 75000 800 922 938 970
I'm suspecting that that munge is resulting in something that the display doesn't like.

Code: Select all

static u8 sn65dsi83_get_dsi_div(struct sn65dsi83 *ctx)
{
	/* The divider is (DSI_CLK / LVDS_CLK) - 1, which really is: */
	unsigned int dsi_div = mipi_dsi_pixel_format_to_bpp(ctx->dsi->format);

	dsi_div /= ctx->dsi_lanes;

	if (!ctx->lvds_dual_link)
		dsi_div /= 2;

	return dsi_div - 1;
}
is very much assuming that the DSI clock and LVDS only differ due to the number of lanes etc, and doesn't handle burst mode.
Likewise the programming of the timings into the '83's registers in sn65dsi83_atomic_enable is all based on crtc_state->adjusted_mode, not crtc_state->mode (which should contain the original mode).

The diff

Code: Select all

@@ -476,6 +482,11 @@ static void sn65dsi83_atomic_enable(struct drm_bridge *bridge,
                     REG_LVDS_LANE_CHB_LVDS_TERM);
        regmap_write(ctx->regmap, REG_LVDS_CM, 0x00);
 
+       mode = &crtc_state->mode;

        le16val = cpu_to_le16(mode->hdisplay);
        regmap_bulk_write(ctx->regmap, REG_VID_CHA_ACTIVE_LINE_LENGTH_LOW,
                          &le16val, 2);
May or may not solve the second part of that equation. Setting the LVDS clock correctly is more involved.

I'm drafting an email to dri-devel to ask a bundle of questions about how DSI is meant to work as the docs aren't forthcoming, and the existing examples don't support all options.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 3203
Joined: Tue Jun 30, 2015 1:35 pm

Re: Rpi 4 with DRM and 7inch panel using kms driver

Wed Jun 23, 2021 12:31 pm

6by9 wrote: Code: Select all

4 lane
[ 6.777722] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: pll_clock 428571441 parent_clock 3000000091 divider 7
[ 6.777817] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode was 66800 800 816 832 864
[ 6.777905] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode now 71428 800 875 891 923

3 lanes
[ 6.869334] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup: pll_clock 600000018 parent_clock 3000000091 divider 5
[ 6.869428] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode was 66800 800 816 832 864
[ 6.869518] [drm:vc4_dsi_encoder_mode_fixup [vc4]] *ERROR* vc4_dsi_encoder_mode_fixup mode now 75000 800 922 938 970
I'm suspecting that that munge is resulting in something that the display doesn't like.
Well, this is screwing up the display timing. To my current understanding only the typical (center) values from the timing definition in 'panel-simple.c) were used, the first entry (min values) and the third value (max value) were ignored. I also not saw one driver checking an 'adjusted timing' against what is specified for min/max.
As you say: the above is screwing up the display timing, which explains why DSI get's started, but TCON fails because the timing is completely off/wrong.
6by9 wrote: is very much assuming that the DSI clock and LVDS only differ due to the number of lanes etc, and doesn't handle burst mode.
Likewise the programming of the timings into the '83's registers in sn65dsi83_atomic_enable is all based on crtc_state->adjusted_mode, not crtc_state->mode (which should contain the original mode).
The original mode needs to be used. That's why display companies specify 'typical' values, because they guaranty best display performance.

Return to “Interfacing (DSI, CSI, I2C, etc.)”