]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
drm/amd/display: Attempt to avoid empty TUs when endpoint is DPIA
authorMichael Strauss <michael.strauss@amd.com>
Tue, 7 May 2024 16:03:15 +0000 (12:03 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 19 Jun 2024 18:17:25 +0000 (14:17 -0400)
commitc03d770c0b014a3007a5874bf6b3c3e64d32aaac
tree662765cd335f7ce0f7a47ef06c170ba3a6b8be32
parent6071607bfefefc50a3907c0ba88878846960d29a
drm/amd/display: Attempt to avoid empty TUs when endpoint is DPIA

[WHY]
Empty SST TUs are illegal to transmit over a USB4 DP tunnel.
Current policy is to configure stream encoder to pack 2 pixels per pclk
even when ODM combine is not in use, allowing seamless dynamic ODM
reconfiguration. However, in extreme edge cases where average pixel
count per TU is less than 2, this can lead to unexpected empty TU
generation during compliance testing. For example, VIC 1 with a 1xHBR3
link configuration will average 1.98 pix/TU.

[HOW]
Calculate average pixel count per TU, and block 2 pixels per clock if
endpoint is a DPIA tunnel and pixel clock is low enough that we will
never require 2:1 ODM combine.

Cc: stable@vger.kernel.org # 6.6+
Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Michael Strauss <michael.strauss@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.h
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_init.c