Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HDMI output is broken when /boot/config.txt contains hdmi_enable_4kp60=1 #4446

Closed
graysky2 opened this issue Jul 9, 2021 · 56 comments
Closed

Comments

@graysky2
Copy link

graysky2 commented Jul 9, 2021

Describe the bug
Booting with hdmi_enable_4kp60=1 in /boot/config.txt results in no video output. Removing this line restores HDMI output.

To reproduce
Use the following for /boot/config.txt and boot.

dtoverlay=vc4-kms-v3d,cma-512
dtoverlay=rpivid-v4l2
disable_overscan=1
disable_fw_kms_setup=1
hdmi_enable_4kp60=1

Expected behaviour
The machine should boot displaying video output (boot messages, console login etc.)

Actual behaviour
The machine boots but there is not HDMI output available. The monitor does not detect any signal.

System

Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:

This is ArchARM which does not ship with raspinfo

  • Which model of Raspberry Pi? RPi4B
  • Which firmware version (vcgencmd version): raspberrypi/userland@97bc818
  • Which kernel version (uname -a): Linux workbench 5.10.48-1-ARCH #1 SMP PREEMPT Fri Jul 9 14:19:24 EDT 2021 aarch64 GNU/Linux

Logs
I see the following in dmesg:

[  +0.007207] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  +0.001395] Registered IR keymap rc-cec
[  +0.000085] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  +0.000074] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input1
[  +0.000423] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[  +0.008635] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[  +0.000026] cfg80211: failed to load regulatory.db
[  +0.018276] brcmfmac: F1 signature read @0x18000000=0x15264345
[  +0.004858] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[  +0.010943] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[  +0.000802] usbcore: registered new interface driver brcmfmac
[  +0.006627] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  +0.001633] Registered IR keymap rc-cec
[  +0.000092] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  +0.000072] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input2
[  +0.000326] vc4_hdmi fef00700.hdmi: Could not register sound card: -517
[  +0.045470] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[  +0.000529] Registered IR keymap rc-cec
[  +0.000110] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[  +0.000067] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input3
[  +0.001343] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[  +0.000779] Registered IR keymap rc-cec
[  +0.000086] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[  +0.000067] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input4
[  +0.001551] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[  +0.000129] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[  +0.000075] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[  +0.000061] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[  +0.000055] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[  +0.000045] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[  +0.000058] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[  +0.001265] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[  +0.151747] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[  +0.005376] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Sep 18 2020 02:27:58 version 7.45.221 (3a6d3a0 CY) FWID 01-bbd9282b
[  +0.422594] random: crng init done
[  +0.000003] random: 7 urandom warning(s) missed due to ratelimiting
[  +3.192255] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  +0.000037] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  +6.463800] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] *ERROR* [CRTC:76:crtc-3] flip_done timed out
[  +0.000104] Console: switching to colour frame buffer device 480x135
[ +10.239902] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CRTC:76:crtc-3] flip_done timed out
[ +10.239987] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CONNECTOR:32:HDMI-A-1] flip_done timed out
[ +10.239998] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [PLANE:70:plane-3] flip_done timed out
[Jul 9 16:44] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] *ERROR* [CRTC:76:crtc-3] flip_done timed out
[  +0.050926] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
[ +10.445038] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CRTC:76:crtc-3] flip_done timed out
[ +10.240067] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CONNECTOR:32:HDMI-A-1] flip_done timed out
[ +10.240009] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [PLANE:70:plane-3] flip_done timed out
[ +10.239990] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] *ERROR* [CRTC:76:crtc-3] flip_done timed out

Complete dmesg.log from boot.
dmesg.log

Additional context
As stated above, if I comment or remove hdmi_enable_4kp60=1 the RPi boots with video as expected.

@graysky2 graysky2 changed the title HDMI out is broken when /boot/config.txt contains hdmi_enable_4kp60=1 HDMI output is broken when /boot/config.txt contains hdmi_enable_4kp60=1 Jul 9, 2021
@popcornmix
Copy link
Collaborator

Are you using dtoverlay=vc4-kms-v3d ?
Does the monitor prefer 4096x2160@60?
I think that still has a clocking issue compared to 3840x2160@60.
If so try adding core_freq=600.

@graysky2
Copy link
Author

Are you using dtoverlay=vc4-kms-v3d ?

Yes:

dtoverlay=vc4-kms-v3d,cma-512
dtoverlay=rpivid-v4l2
disable_overscan=1
disable_fw_kms_setup=1
hdmi_enable_4kp60=1

Does the monitor prefer 4096x2160@60?

I don't think so, according to the manufacture's website, "Optimum resolution: 3840 x 2160 @ 60 Hz"

If so try adding core_freq=600.

I added that line and rebooted but still no video output.

@popcornmix
Copy link
Collaborator

You say it doesn't work with 5.10.48. Was it working with a previous version?

@graysky2
Copy link
Author

graysky2 commented Jul 10, 2021

I don't know when it broke as I only recently tried using it. I did step back 5 kernels one-at-a-time going back as far as 5.10.38 and none of them boot with functional video when I have hdmi_enable_4kp60=1 in the config.txt

@graysky2
Copy link
Author

graysky2 commented Jul 18, 2021

I verified this bug on another monitor (different brand/model) and it is consistent. Also occurring with the current commit of the rpi-5.10.y branch kernel.

@popcornmix
Copy link
Collaborator

Is it okay with fkms driver? What hdmi mode do you end up with?

@graysky2
Copy link
Author

No, dtoverlay=vc4-fkms-v3d together with hdmi_enable_4kp60=1 does not work either. If I remove hdmi_enable_4kp60=1 it does.

How can I determine which HDMI mode I am in?

graysky2 referenced this issue in LibreELEC/LibreELEC.tv Jul 19, 2021
Signed-off-by: Matthias Reichl <hias@horus.com>
graysky2 referenced this issue in LibreELEC/LibreELEC.tv Jul 29, 2021
@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

Just to rule out something in the Arch ARM kernel config, I built the latest commit from rpi-5.10.y using make bcm2711_defconfig and found the same bug is triggered. I think that rules out any kernel config diffs between the two.

@popcornmix
Copy link
Collaborator

How can I determine which HDMI mode I am in?

sudo cat /sys/kernel/debug/dri/0/state

(if that doesn't exist then use /sys/kernel/debug/dri/1/state)

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

When I boot with hdmi_enable_4kp60=1 (when the bug is manifested), the output is below. If I comment it out and reboot, then diff the output against the bad state, only 1 line is different:

-	mode: "3840x2160": 60 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x48 0x9
+	mode: "3840x2160": 30 297000 3840 4016 4104 4400 2160 2168 2178 2250 0x40 0x5

Here is the complete output when booting with hdmi_enable_4kp60=1 when the bug is present:

# cat /sys/kernel/debug/dri/1/state
plane[49]: plane-0
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[56]: plane-1
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[63]: plane-2
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[70]: plane-3
	crtc=crtc-3
	fb=224
		allocated by = [fbcon]
		refcount=2
		format=RG16 little-endian (0x36314752)
		modifier=0x0
		size=3840x2160
		layers:
			size[0]=3840x2160
			pitch[0]=7680
			offset[0]=0
			obj[0]:
				name=0
				refcount=3
				start=00100000
				size=16588800
				imported=no
	crtc-pos=3840x2160+0+0
	src-pos=3840.000000x2160.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[77]: plane-4
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[84]: plane-5
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[91]: plane-6
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[97]: plane-7
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[103]: plane-8
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[109]: plane-9
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[115]: plane-10
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[121]: plane-11
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[127]: plane-12
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[133]: plane-13
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[139]: plane-14
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[145]: plane-15
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[151]: plane-16
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[157]: plane-17
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[163]: plane-18
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[169]: plane-19
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[175]: plane-20
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[181]: plane-21
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[187]: plane-22
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[193]: plane-23
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[199]: plane-24
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[205]: plane-25
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[211]: plane-26
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
plane[217]: plane-27
	crtc=(null)
	fb=0
	crtc-pos=0x0+0+0
	src-pos=0.000000x0.000000+0.000000+0.000000
	rotation=1
	normalized-zpos=0
	color-encoding=ITU-R BT.601 YCbCr
	color-range=YCbCr limited range
crtc[55]: crtc-0
	enable=0
	active=0
	self_refresh_active=0
	planes_changed=0
	mode_changed=0
	active_changed=0
	connectors_changed=0
	color_mgmt_changed=0
	plane_mask=0
	connector_mask=0
	encoder_mask=0
	mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
crtc[62]: crtc-1
	enable=0
	active=0
	self_refresh_active=0
	planes_changed=0
	mode_changed=0
	active_changed=0
	connectors_changed=0
	color_mgmt_changed=0
	plane_mask=0
	connector_mask=0
	encoder_mask=0
	mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
crtc[69]: crtc-2
	enable=0
	active=0
	self_refresh_active=0
	planes_changed=0
	mode_changed=0
	active_changed=0
	connectors_changed=0
	color_mgmt_changed=0
	plane_mask=0
	connector_mask=0
	encoder_mask=0
	mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
crtc[76]: crtc-3
	enable=1
	active=1
	self_refresh_active=0
	planes_changed=1
	mode_changed=0
	active_changed=0
	connectors_changed=0
	color_mgmt_changed=0
	plane_mask=8
	connector_mask=1
	encoder_mask=1
	mode: "3840x2160": 60 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x48 0x9
crtc[83]: crtc-4
	enable=0
	active=0
	self_refresh_active=0
	planes_changed=0
	mode_changed=0
	active_changed=0
	connectors_changed=0
	color_mgmt_changed=0
	plane_mask=0
	connector_mask=0
	encoder_mask=0
	mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
crtc[90]: crtc-5
	enable=0
	active=0
	self_refresh_active=0
	planes_changed=0
	mode_changed=0
	active_changed=0
	connectors_changed=0
	color_mgmt_changed=0
	plane_mask=0
	connector_mask=0
	encoder_mask=0
	mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
connector[32]: HDMI-A-1
	crtc=crtc-3
	self_refresh_aware=0
connector[40]: HDMI-A-2
	crtc=(null)
	self_refresh_aware=0
connector[48]: Writeback-1
	crtc=(null)
	self_refresh_aware=0

@popcornmix
Copy link
Collaborator

You need a good hdmi cable to support 4kp60. That would be my first guess.
Otherwise can you post your edid? e.g. output of:

base64 /sys/devices/platform/gpu/drm/card1/card1-HDMI-A-1/edid

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

The cable is a CanaKit Raspberry Pi 4 Micro HDMI. According to the page, it supports 4k@60Hz.

  • When I boot with hdmi_enable_4kp60=1, I have a 0-byte file for /sys/devices/platform/gpu/drm/card1/card1-HDMI-A-1/edid
  • When I boot with that commented out, here is the output:
AP///////wBBDI/BFAYAABkdAQOAPCJ4KmehpVVNoicOUFS/7wDRwLMAlQCBgIFAgcABAQEBTdAA
oPBwPoAwIDUAVVAhAAAao2YAoPBwH4AwIDUAVVAhAAAaAAAA/ABQSEwgMjc2RThWCiAgAAAA/QAX
UB6gPAAKICAgICAgAQsCAzPxTJAEAx8TARJdXl9gYSMJBweDAQAAbQMMABAAOHggAGABAgNn2F3E
AXiAA+MPAAxWXgCgoKApUDAgNQBVUCEAAB4COoAYcTgtQFgsRQBVUCEAAB4BHQByUdAeIG4oVQBV
UCEAAB5NbICgcHA+gDAgOgBVUCEAABoAAAAATg==

@popcornmix
Copy link
Collaborator

The 3 one-star reviews there don't fill me with confidence about the cable.
I also didn't see any positive reviews mentioning it working at 4kp60.

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

Agreed. Do you have a link to a cable you know to properly run 4k@60fps?

@popcornmix
Copy link
Collaborator

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

https://www.amazon.com/CanaKit-Raspberry-Micro-HDMI-Cable/dp/B07TTKD38N

Interesting. The "Buy Now" button links me to the CanaKit website as an option. It would seem to be the same as the 2-pack I already bought above. I emailed CanaKit to confirm.

@popcornmix
Copy link
Collaborator

What country did you select?

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

United States

@popcornmix
Copy link
Collaborator

I ended up here which is an official cable (has raspberry logo embossed on the micro-hdmi end of cable.

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

Yes, I found this on amazon which, by pic and description is the official one. The pic shows the embossed logo as you mentioned. Further, the amazon description shows "PI-OFFICIAL-MICRO-HDMI-CABLE-1M" as the part number which matches but who knows if it's legit.

By contrast, the CanaKit 2-pack which I purchased in the past does not have that logo. It just has "Canakit" embossed.

@popcornmix
Copy link
Collaborator

That looks like official one.

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

Otherwise can you post your edid? e.g. output of

Did that edid look right? I ordered from a 1 meter official cable from Microcenter.

@popcornmix
Copy link
Collaborator

The edid looked fine. It says it supports 4kp60 in 4:4:4, 4:2:2 and 4:2:0 formats.
There are some displays that only support 4:2:0 which isn't supported by Pi4.

@graysky2
Copy link
Author

graysky2 commented Aug 4, 2021

Thanks for the info. I'll wait for the replacement cable to arrive and try that. CanaKit did reply to my email query stating that the 2-pack I purchased does support 4k@60Hz, yet neither of the cables work for me. If the official one I ordered doesn't work, could there be any hardware damage on the board itself that would explain this? I assume we ruled out configuration on kernel.

@graysky2
Copy link
Author

graysky2 commented Aug 6, 2021

The official cable does not work either. I also tried the official cable in another RPi4 with the same result. This has to be a software bug, no?

@popcornmix
Copy link
Collaborator

If were a software issue I'm surprised it's not more widespread (4kp60 from fkms driver has been supported for 2 years).
And you say it affects kms and fkms drivers (written by different people).

What's the make and model of TV?
Do you have another 4k TV you can test with?

@graysky2
Copy link
Author

graysky2 commented Aug 6, 2021

  • Correct, present with both kms and fkms.
  • I am not using a TV, just a regular monitor, confirmed on two different ones: Philips 276E and LG 27UK650.

As an sanity check, I just booted into a fresh install of Arch ARM aarch64 and indeed, the bug is present which rules out a configuration issue on my side. It is possible something default config in the distro is causing it, but since I ran the RPiOS kernel's config, I don't think that's likely. I guess it could be something outside of the kernel? I do not know.

I guess the next control to run is to make a RPiOS image, boot into it, and confirm the behavior there. I will work on this now. Again, open to other ideas.

popcornmix added a commit that referenced this issue Feb 1, 2023
…reme reduced blanking

See: #4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
limeng-linux pushed a commit to limeng-linux/linux-yocto-bsp that referenced this issue Feb 6, 2023
…reme reduced blanking

commit  375dcf298b8c3eebd205645cd9ef7ee4113ab3c4 from
https://github.com/raspberrypi/linux.git rpi-6.1.y

See: raspberrypi/linux#4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Meng Li <Meng.Li@windriver.com>
popcornmix added a commit that referenced this issue Feb 6, 2023
…reme reduced blanking

See: #4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
popcornmix added a commit that referenced this issue Feb 6, 2023
…reme reduced blanking

See: #4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
limeng-linux pushed a commit to limeng-linux/linux-yocto-bsp that referenced this issue Feb 7, 2023
…reme reduced blanking

commit  375dcf298b8c3eebd205645cd9ef7ee4113ab3c4 from
https://github.com/raspberrypi/linux.git rpi-6.1.y

See: raspberrypi/linux#4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Meng Li <Meng.Li@windriver.com>
popcornmix added a commit that referenced this issue Feb 10, 2023
…reme reduced blanking

See: #4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Feb 10, 2023
…e extreme reduced blanking

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
popcornmix added a commit that referenced this issue Feb 14, 2023
…reme reduced blanking

See: #4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 18, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 18, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 18, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 18, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 18, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 18, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 18, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 19, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 20, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 20, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 20, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 20, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 20, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
popcornmix added a commit that referenced this issue Feb 20, 2023
…reme reduced blanking

See: #4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 21, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 22, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
github-actions bot pushed a commit to sirdarckcat/linux-1 that referenced this issue Feb 22, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Feb 22, 2023
…e extreme reduced blanking

commit 247a631 upstream.

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peter-JanGootzen pushed a commit to Peter-JanGootzen/linux that referenced this issue May 7, 2023
…e extreme reduced blanking

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
fozog pushed a commit to fozog/linux that referenced this issue Nov 30, 2023
…e extreme reduced blanking

The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: raspberrypi/linux#4446
Fixes: 16e1010 ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
jai-raptee pushed a commit to jai-raptee/iliteck1 that referenced this issue Apr 30, 2024
…reme reduced blanking

See: raspberrypi/linux#4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
jai-raptee pushed a commit to jai-raptee/iliteck1 that referenced this issue Apr 30, 2024
…reme reduced blanking

See: raspberrypi/linux#4446

The formula that determines the core clock requirement based on pixel clock and blanking
has been determined experimentally to minimise the clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard 594MHz) has been seen
that doesn't produce a high enough clock and results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work.
The result is a reduced blanking mode increases by up to 7MHz while leaving the standard timing
mode untouched

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants