From nobody Thu Apr 2 20:26:41 2026 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99BDE33555B for ; Thu, 26 Mar 2026 23:47:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774568870; cv=none; b=V2pUDvPMStWHbpWy2jx99fyuOuP4ytj731Zz6P0pRqs/1Y53fj25yNnFrPmbgJ38zJYJTA7gFZKzXCKplU8jEf3JPgchWh00XIcL2vuCnlSZnYu2ZQS2luZbRUbKyTr/G1estNCuHOfYCfmCwiylc/YJErxmu0eSDXKp5FpOxAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774568870; c=relaxed/simple; bh=7iOT+Z7eb7KqS/bY5XBbf4Vi9sbim1UF/Q/8f3P5oDI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=lmsf8Uj38S2S29uiygwYAFlUaGFvBYWHYiOAuGFsj26YsOxMygCj8+QFXuXQ4nmoRy2HtNwFW4KeWDMrbjz42V4so+PlmfUX6SRG1Ntu8jgxeq1PEDfKQgC9c0TcZ/RV3ST2i8Cz0NKZXQjb0dbBoNfWdbku7ymza6N+EuXm5U4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=e4idUwH4; arc=none smtp.client-ip=209.85.215.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="e4idUwH4" Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-c757a9251faso702907a12.1 for ; Thu, 26 Mar 2026 16:47:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774568866; x=1775173666; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=R5FyONZ8Ftg8PcUrjhCTmSRITsVvMq+p91xq+TbWIsM=; b=e4idUwH4Ixn6EZQZ/LPajFCZ4CFzqKsGYeSSuqbaB1XAEo6A0u64AWisZCIu4IkF8Q e3fQk2AQLmmKWnLOigDQPOoZfVqlZzhqx9tyIfo2o+wkTIXXl7GgBvg8vMcgpp+J9I6Z yPF6sh5uyOi1UVjN15IuZ2Thers6G8C1xVS2zOCHm/qWBbsen/MX05yxNsoeN6lS8HYM PbQBzSzTkf0VurW9idSMHNkeZiJBtGt/EfI/qYd2XOMY/ve13HmLim9LYQoEYZjwxBKq 9JHjOsW5DCCtFTEWbgsYVRxx5UO8Pt0ghKv3j6aEiCGcVo3bLhK8vyX6vmK8MWRn/XO9 6uaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774568866; x=1775173666; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=R5FyONZ8Ftg8PcUrjhCTmSRITsVvMq+p91xq+TbWIsM=; b=VzF51hSb9clZNS1gZJTXAX/aY0wLGlJb4KTY3MZkqI1JONPm7j4eMu0SSSkqNoPL9r Cm6c2/sxQBWDvrjG4hUSTVjpTxi5G+8xp/+IuzHlDn82Mg46oDjfi6yZpMCcaNIUzsts P3atBgAKWb4jsILa3zMNmJgD9OuWRe7Z/6dkwz925mWzrmNblb2I74+lBdSu8DuNc4ft bjgMgegn4y3PI/WUXV+UHy6twRMQgkRoC902SuzqHONfheBDbwnr+1O+VeINY2frEaW0 o+yZ1yCLDABd/gRUaow8th/cATk8xFV53Sm/TOBPUj8oHS8sEOgVln8T5StHqNWzcRQZ nqig== X-Forwarded-Encrypted: i=1; AJvYcCWPTJAMNlKGRMY7JIezV8aOZRt7JQZy9CdeiUAB1IFwpfJi/lg9a98po6qokgrdaXbPLGtBUB7vEbT0Pv4=@vger.kernel.org X-Gm-Message-State: AOJu0YzZLsAt+VCJ5YxU7s+/Eq4hC0jxSYGfSE2wnqEIlvkHQCBofULQ JtImo11hiptJZoPbBxcSHq1ZdIjdvRp2rnvaYeDGoIoM1McTdI6w7dFr X-Gm-Gg: ATEYQzyUb6jzollukCiZ6J/T2Kzj2Z9CfUlG+NCx4zQJ21zEnJaCMM3t3XeJ9zcPrcB ayJnAOdiQs+67dIISILL6tlojJfM0CfPPOAOa7hHQPZ1NHoz569V7OPkQSg9f3OvqIP1r19e+P2 UpG264N4i2x4T6+rKRQ3juE5BS11fPtdSXzUKyAZ6SLHkmgLgFweByOKAee6joNRCPIHfrLKwdc dYBQK4ztMDrn84rO8NYAnGmoTb29WW/FgSOmnJRr3PPj2r8ohS5t3R5XMKKe1oPuaODneBXqY47 kqLkmUTeQKn9qRMFbG/EuwFJaQoSb6v6WnJE9PC7H6Tdj+P7WVTyotf7YBpyky/gHDiK9a49ug5 2CWNt279WTwrY7dezvglrKxgzgO8Uw13Wl1j8rgU5k6w/x/lRWWMWAnBnNWpa3mNeRT2mQbHmLE mj4ZS5+bo7/kcnepa2cFMB3nwKZgtL7RZVdLjURbIJGMRfZ/f+P+2JbVU= X-Received: by 2002:a05:6a21:6d97:b0:398:b16f:703e with SMTP id adf61e73a8af0-39c87abf84fmr507549637.40.1774568866039; Thu, 26 Mar 2026 16:47:46 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d::8bd]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c7673933816sm3201162a12.21.2026.03.26.16.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Mar 2026 16:47:45 -0700 (PDT) From: Rosen Penev To: stable@vger.kernel.org Cc: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , "Pan, Xinhui" , David Airlie , Daniel Vetter , Harry Wentland , Leo Li , Greg Kroah-Hartman , Bin Lan , He Zhe , Vitaly Prosyak , Alex Hung , Rodrigo Siqueira , =?UTF-8?q?Timur=20Krist=C3=B3f?= , Mario Limonciello , Ray Wu , Wayne Lin , Roman Li , Eric Yang , Tony Cheng , Mauro Rossi , amd-gfx@lists.freedesktop.org (open list:RADEON and AMDGPU DRM DRIVERS), dri-devel@lists.freedesktop.org (open list:DRM DRIVERS), linux-kernel@vger.kernel.org (open list) Subject: [PATCH for 6.12 5/9] drm/amd/display: Keep PLL0 running on DCE 6.0 and 6.4 Date: Thu, 26 Mar 2026 16:47:12 -0700 Message-ID: <20260326234716.16723-6-rosenp@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260326234716.16723-1-rosenp@gmail.com> References: <20260326234716.16723-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Timur Krist=C3=B3f [ Upstream commit 0449726b58ea64ec96b95f95944f0a3650204059 ] DC can turn off the display clock when no displays are connected or when all displays are off, for reference see: - dce*_validate_bandwidth DC also assumes that the DP clock is always on and never powers it down, for reference see: - dce110_clock_source_power_down In case of DCE 6.0 and 6.4, PLL0 is the clock source for both the engine clock and DP clock, for reference see: - radeon_atom_pick_pll - atombios_crtc_set_disp_eng_pll Therefore, PLL0 should be always kept running on DCE 6.0 and 6.4. This commit achieves that by ensuring that by setting the display clock to the corresponding value in low power state instead of zero. This fixes a page flip timeout on SI with DC which happens when all connected displays are blanked. Signed-off-by: Timur Krist=C3=B3f Reviewed-by: Alex Deucher Reviewed-by: Alex Hung Signed-off-by: Alex Deucher Signed-off-by: Rosen Penev --- drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c b/driver= s/gpu/drm/amd/display/dc/dce60/dce60_resource.c index 7886a2a55caf..c4d7fa60d654 100644 --- a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c @@ -889,7 +889,16 @@ static bool dce60_validate_bandwidth( context->bw_ctx.bw.dce.dispclk_khz =3D 681000; context->bw_ctx.bw.dce.yclk_khz =3D 250000 * MEMORY_TYPE_MULTIPLIER_CZ; } else { - context->bw_ctx.bw.dce.dispclk_khz =3D 0; + /* On DCE 6.0 and 6.4 the PLL0 is both the display engine clock and + * the DP clock, and shouldn't be turned off. Just select the display + * clock value from its low power mode. + */ + if (dc->ctx->dce_version =3D=3D DCE_VERSION_6_0 || + dc->ctx->dce_version =3D=3D DCE_VERSION_6_4) + context->bw_ctx.bw.dce.dispclk_khz =3D 352000; + else + context->bw_ctx.bw.dce.dispclk_khz =3D 0; + context->bw_ctx.bw.dce.yclk_khz =3D 0; } =20 --=20 2.53.0