AMD General

Hey,

Nice catch it looks like the init order is incorrect. Strange we never saw any 
crashes, that log wasn't used by anyone it seems.

The fix would be to redefine DC_LOGGER so we have ctx available in              
           get_ss_info_from_atombios().  We can redefine the DC_LOGGER to use  
clk_src->base.ctx->logger (like you mentioned) since clk_src is available 
everywhere.


Thanks,
Bhawan






________________________________
From: Jiri Slaby <[email protected]>
Sent: July 15, 2026 4:51 AM
To: Lakha, Bhawanpreet <[email protected]>; Wentland, Harry 
<[email protected]>
Cc: Li, Sun peng (Leo) <[email protected]>; [email protected] 
<[email protected]>; Deucher, Alexander <[email protected]>; Cheng, 
Tony <[email protected]>; [email protected] 
<[email protected]>; DRI devel <[email protected]>; 
Thomas Zimmermann <[email protected]>
Subject: amdgpu crashes in get_ss_info_from_atombios()

Hi,

SUSE received a bug report:
https://bugzilla.suse.com/show_bug.cgi?id=1271175

get_ss_info_from_atombios() crashes in 7.1.2.

calc_pll_cs->ctx (dc_context) is NULL while trying to log by the first
DC_LOG_SYNC() in get_ss_info_from_atombios():
                 if (as_signal == AS_SIGNAL_TYPE_HDMI
                                 &&
ss_info_cur->spread_spectrum_percentage > 6){
                         /* invalid input, do nothing */
                         DC_LOG_SYNC(
                                 "Invalid SS percentage ");
                         DC_LOG_SYNC(
                                 "for HDMI in ATOMBIOS info Table!!!\n");
                         continue;
                 }




Note dce110_clk_src_construct() calls:
   -> ss_info_from_atombios_create()
     -> get_ss_info_from_atombios()   <- uses calc_pll_cs->ctx
   -> calc_pll_max_vco_construct()    <- sets calc_pll_cs->ctx AFAICT

calc_pll_cs->ctx should not be used in the former, or something.





This was likely introduced by:
commit 1296423bf23c7a58133970e223b1f47ec6570308
Author: Bhawanpreet Lakha <[email protected]>
Date:   Tue Feb 20 17:42:50 2018 -0500

     drm/amd/display: define DC_LOGGER for logger





Before the commit,
   clk_src->base.ctx->logger
was used in get_ss_info_from_atombios(). The commit unified all users to
use:
   clk_src->ctx->logger

The former is set at the beginning of dce110_clk_src_construct() (before
the crash location). The latter only in calc_pll_max_vco_construct()
(after the crash location).


Any ideas how to fix this? Redefine DC_LOGGER to clk_src->base in
get_ss_info_from_atombios()?


I'm not sure if this is a regression and there is some underlying issue
provoking the "Invalid SS percentage" dump -- asked in the bug and
waiting for a reply.

thanks,
--
js
suse labs

Reply via email to