Re: [PATCH] drm/amd: Disable DP audio spread spectrum for Cyan Skillfish
Alex Deucher <[email protected]> Tue, 4 Aug 2026 10:11:07 -0400
| Newsgroups | org.freedesktop.lists.amd-gfx |
|---|---|
| Message-ID | <CADnq5_OL6_WQYmNev241VA1HMgSgyG6BynbZM_AtXUSDOyGiTQ@mail.gmail.com> |
On Tue, Aug 4, 2026 at 3:28=E2=80=AFAM Travis B <[email protected]> wrote: > > From: Travis K. Bangs <[email protected]> > > The VBIOS for Cyan Skillfish devices (DCN201) indicates there is > DisplayPort ref clock spread spectrum downspread, so the audio clock > is corrected for it. > > However, the clock source in this hardware does not seem to actually be > running with a clock downspread, so DisplayPort audio desyncs with video > after several minutes. > > Ignore dprefclk SS downspread on CYAN_SKILLFISH2 asic. > > Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5429 > Signed-off-by: Travis K. Bangs <[email protected]> Applied. Thanks! Alex > > --- > Submitting this patch as requested by Alex Deucher. > > The system with this problem is the ASRock BC-250, which to my knowledge > is the only GPU which uses DCN 201, so this should not affect anything > else. I have tested this patch on my system. > > Some relevant register reads: > dprefclk is set based on the value of register CLK4_CLK2_CURRENT_CNT > which reads as 6000. > > Without this patch DCCG_AUDIO_DTO1_MODULE gets set to 598874. > With this patch DCCG_AUDIO_DTO1_MODULE gets set to 600000 and audio > stays in sync. > > I am in contact with about a dozen other BC-250 users who have also used > this patch and reported that it solved their desync. > > There might be a deeper underlying bug here but I think it takes AMD > insider knowledge to fully understand what is happening. I am glad to > provide further info or do further testing if needed. > > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 1820547b1dde..941c1a312824 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -2189,6 +2189,11 @@ static int amdgpu_dm_init(struct amdgpu_device *ad= ev) > init_data.flags.unify_link_enc_assignment =3D true; > init_data.flags.usb4_bw_alloc_support =3D true; > } > + > + /* DCN201 audio desyncs using DP SS */ > + if (adev->apu_flags & AMD_APU_IS_CYAN_SKILLFISH2) > + init_data.flags.ignore_dpref_ss =3D true; > + > retrieve_dmi_info(&adev->dm); > if (adev->dm.edp0_on_dp1_quirk) > init_data.flags.support_edp0_on_dp1 =3D true;