Re: amdgpu crashes in get_ss_info_from_atombios()
"Lakha, Bhawanpreet" <[email protected]>
| Newsgroups | org.freedesktop.lists.amd-gfx,org.freedesktop.lists.dri-devel |
|---|---|
| Message-ID | <PH8PR12MB7279ACE40040268C9A48F484F9F82@PH8PR12MB7279.namprd12.prod.outlook.com> |
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