From nobody Wed Apr 1 10:27:24 2026 Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.173]) (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 7669B1E98EF for ; Wed, 1 Apr 2026 00:39:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775003982; cv=none; b=HYjP5QAmjltg2mFvMo9fgUlb7nvmaES1VTnuUwhI9HT/S4sfl7VZQgwQcy0bwavs15fZ/s2vraXrvuyjUX5aEV0vWCIk6LevlG33Kx4Msb+AYchk3DiA1+KAbGL9XIoA49ogCFKe7msP6/kpHwq3fwJdOVO8EkqnLH8Lbu9AJeM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775003982; 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=T6GeqH1lcJ3EV+RhfSKU1vbr7MwgN3Knp3aDroxTbB+aSsCTETZ4AUnkimH8P6O5OsHeOkfZYTJ8dwBzcLpHEqm/kgEc7d3wARW4gciMwGJSIn0joA4ObsWicUqHrSUDPCHks5pTscfm/GNrbrWtY37erCcMhEsQPYjdWU9ZN/E= 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=Xg2Ogfuv; arc=none smtp.client-ip=74.125.82.173 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="Xg2Ogfuv" Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-2bd9a485bd6so12339522eec.1 for ; Tue, 31 Mar 2026 17:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775003978; x=1775608778; 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=Xg2Ogfuv/yoqp/5nQ0DnOiUlfbe7pYlkrY4COOMRvNJhMC0XT/2Chn7QOKjJhQdMKM bs2oH/IohycEKbSHWA0R9ix1+0VwZdkJlQFkyW+iQ8UzNrV5woSwoSgLWllZqXpThI0d LRip1lPY1kXUOescJKzG8SKQm+tNq4ps+SUVAsR4CnXJosWjmpD1g+4Ii9p60SPo9vt+ FWycl8A2AXvF0ZtabTOWDwbjzUdrjIMblRpTta6keFY7P6lKhXSP58OoOiTtEgQwE5li OV52QKKVyJMSG3/+kcOXrYz8rXmZTwU1JcMPy08r/awoUzggp4qpRcQ5GU0FuJG53d0i sr2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775003978; x=1775608778; 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=mpXfQuGYn0O8daFPlrQ5NKi8XdWdhPA9AcY5a8UZy8HNMADsAby7ubMlopmUo+yG/M o+tp4vaVIe7XuBYbaByJ/ZmRf0eFS3toLQqGZzPvR2piW7jfW2fITVZPIYowWr1rN2Mx 6+Q6FkoB70KjZH3AgBfF2QR1DFdVcCY8xF1BbVi7fEyg0Zi7Ela96yxdbQ69byH5QyVG UTL+LVA6vtVd7LYsiJWblqsJMRVzX9X5RDbUh23QV3veT5RgPfihUBjc11tUn95fiyGh O4/763YwHqApjWVRx6V7rCVb8/IbobrGZ14CPfICt6xbIbegZwpEDFdDUCkUdHyrwIlV EBYQ== X-Forwarded-Encrypted: i=1; AJvYcCWchYe9ckG0i/wO0FjVYXobTOW65YC9bvRRx227W5cCcUFCHDUEZZrABwBg6nCdg/tuHEwqymRIRYBcXpY=@vger.kernel.org X-Gm-Message-State: AOJu0YxqRuvdwvpeXVH4MAatB3We5XgAlejDsO/hIR5jHpghL2+WiC7f KmVsITDraS3qc8/Mb7/9yz3UP3tgASTWxnDEU/fKJ67zIympkqCHjh/1 X-Gm-Gg: ATEYQzzHjo5sAuruDaouG+pabAbuXDlvZJ4KENv07WY6I6Hghj64tWkwliPNXQvm7AL Fo+u48XDKb9yEXFUqW5lwzvKGgHXXfG7DCjv2HM1M/zOoxuLo9/uj8MbV8WG1th+8zXWqKYSEEK A8x9rnmv2CkZW9FfmB7tBo2XABamaTT6QQd1HPwf9HvWS9iq51lButWRI3hMtqpZyeSrFo+mk2x wRPlbsGtmmyXeYEzoTg6PWPoGoiqirQROSmAQ5uYfCTcp1+h30od5MNlZKvYBYdB3ze0llyuVGB i5RvMFkz0Ii2YToKt/h/gE5PkfIq2rv2tpu4UJw9E8wiOuxIFCfE79gzE6rxt8N/i7QoRuErz4c 5AQon2v4yacAsxqWX2EAHpuntuVjnglEIYxHu0uyiVeieVBH79pZ9pingVZXTrheJXw7yjK7MTL sn4pLF3IAoTug66xOmS6GEgkQ6dLfi7TvBUnLmBUrsqmbeSvJYe2GhGRlIGojnEuGBUA== X-Received: by 2002:a05:7300:cc1b:b0:2c4:a862:2368 with SMTP id 5a478bee46e88-2c930c76802mr929306eec.2.1775003977555; Tue, 31 Mar 2026 17:39:37 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d::8bd]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c3c3bd9894sm11543019eec.4.2026.03.31.17.39.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 17:39:37 -0700 (PDT) From: Rosen Penev To: stable@vger.kernel.org Cc: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , Xinhui Pan , David Airlie , Simona Vetter , Harry Wentland , Leo Li , Rodrigo Siqueira , Ray Wu , Wayne Lin , Mario Limonciello , Roman Li , Eric Yang , Tony Cheng , Mauro Rossi , =?UTF-8?q?Timur=20Krist=C3=B3f?= , Alex Hung , 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: [PATCHv2 for 6.12 05/10] drm/amd/display: Keep PLL0 running on DCE 6.0 and 6.4 Date: Tue, 31 Mar 2026 17:39:03 -0700 Message-ID: <20260401003908.3438-6-rosenp@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260401003908.3438-1-rosenp@gmail.com> References: <20260401003908.3438-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