Linux kernel source tree
Go to file
Timur Kristóf 645cc7863d drm/amd/display: Fix DP audio DTO1 clock source on DCE 6.
On DCE 6, DP audio was not working. However, it worked when an
HDMI monitor was also plugged in.

Looking at dce_aud_wall_dto_setup it seems that the main
difference is that we use DTO1 when only DP is plugged in.

When programming DTO1, it uses audio_dto_source_clock_in_khz
which is set from get_dp_ref_freq_khz

The dce60_get_dp_ref_freq_khz implementation looks incorrect,
because DENTIST_DISPCLK_CNTL seems to be always zero on DCE 6,
so it isn't usable.
I compared dce60_get_dp_ref_freq_khz to the legacy display code,
specifically dce_v6_0_audio_set_dto, and it turns out that in
case of DCE 6, it needs to use the display clock. With that,
DP audio started working on Pitcairn, Oland and Cape Verde.

However, it still didn't work on Tahiti. Despite having the
same DCE version, Tahiti seems to have a different audio device.
After some trial and error I realized that it works with the
default display clock as reported by the VBIOS, not the current
display clock.

The patch was tested on all four SI GPUs:

* Pitcairn (DCE 6.0)
* Oland (DCE 6.4)
* Cape Verde (DCE 6.0)
* Tahiti (DCE 6.0 but different)

The testing was done on Samsung Odyssey G7 LS28BG700EPXEN on
each of the above GPUs, at the following settings:

* 4K 60 Hz
* 1080p 60 Hz
* 1080p 144 Hz

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Rodrigo Siqueira <siqueira@igalia.com>
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2025-08-18 17:06:28 -04:00
arch drm-misc-next for 6.17: 2025-06-27 09:58:05 +10:00
block block-6.16-20250614 2025-06-14 09:25:22 -07:00
certs
crypto crypto: hkdf - move to late_initcall 2025-06-11 10:59:45 +08:00
Documentation Documentation: Remove VCE support from OLAND's features 2025-08-06 14:16:47 -04:00
drivers drm/amd/display: Fix DP audio DTO1 clock source on DCE 6. 2025-08-18 17:06:28 -04:00
fs three smb3 client fixes 2025-06-14 10:13:32 -07:00
include amd-drm-next-6.17-2025-07-17: 2025-07-21 11:57:43 +10:00
init init: fix build warnings about export.h 2025-06-11 22:42:36 -07:00
io_uring io_uring-6.16-20250614 2025-06-14 08:44:54 -07:00
ipc - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
kernel PM: hibernate: shrink shmem pages after dev_pm_ops.prepare() 2025-07-10 10:49:45 -05:00
lib scatterlist: fix extraneous '@'-sign kernel-doc notation 2025-06-11 22:42:35 -07:00
LICENSES
mm 9 hotfixes. 3 are cc:stable and the remainder address post-6.15 issues 2025-06-14 08:18:09 -07:00
net Including fixes from bluetooth and wireless. 2025-06-12 09:50:36 -07:00
rust Nova changes for v6.17 2025-07-21 12:56:39 +10:00
samples rust: dma: convert the read/write macros to return Result 2025-06-23 15:34:13 +02:00
scripts gendwarfksyms: Fix structure type overrides 2025-06-16 00:49:48 +09:00
security KEYS: Invert FINAL_PUT bit 2025-06-11 11:57:14 -07:00
sound treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tools 9 hotfixes. 3 are cc:stable and the remainder address post-6.15 issues 2025-06-14 08:18:09 -07:00
usr
virt Merge branch 'kvm-lockdep-common' into HEAD 2025-05-28 06:29:17 -04:00
.clang-format
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap Including fixes from bluetooth and wireless. 2025-06-12 09:50:36 -07:00
.pylintrc
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Nova changes for v6.17 2025-07-21 12:56:39 +10:00
Makefile Linux 6.16-rc2 2025-06-15 13:49:41 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.