From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4241A31B104; Mon, 18 Aug 2025 13:02:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755522153; cv=none; b=TkG84mwZjhuPdoE4g77xGWxuJOyv7himt8UXg8z8xxAbGlYoimmqMH9J5NqsIrRt5iXDp4ApW9J8VJAE/2nDFVRT7qSLX9JE8DcA04rkL50O0lO6AZnqGtHIFf1hqBrNS02nHuVSV80QFR7bF+xyE+1zcamxEnbYeS1v3WRqAfM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755522153; c=relaxed/simple; bh=4t215xsumHIf/wfPU8AvXzcIIhwRblteDDwe3oznSxQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=MuE6c5TqDdCZ9upFDaNdPNkExHdJgOCEuGsWl/VkJt8w9EotD7G1AuNhWHB+AI6rM6BEyj5py4+qFhPYoAQn3m3bYHLGbn0yWYj19B5Buw+EaJc5/k/Dd5J8MnlC12nEy0LVlQhNwJBXU1HQc7Dbr4zRLQiRBaLEKyzhcOCl2CM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=VRYiwjqq; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="VRYiwjqq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4EC1BC4CEEB; Mon, 18 Aug 2025 13:02:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1755522152; bh=4t215xsumHIf/wfPU8AvXzcIIhwRblteDDwe3oznSxQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VRYiwjqqfKl0763zXYkG/MxMO2VUSZO7BBkmIkU1N/dxA9g+Bi1qGEyqMKFUbPuwi aX0hl+Yz6abjH8QaUWSHzMwsfl9oTJT+IryHIfhiyBv1Xu6qBvfya2zSitwMuRpMSl RlXcPSrocCpm0BlJ+u5GWY7cU6thhdkza6pNKltk= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Nicholas Kazlauskas , Wen Chen , Fangzhi Zuo , Daniel Wheeler , Alex Deucher , Sasha Levin Subject: [PATCH 6.12 232/444] drm/amd/display: Fix failed to blank crtc! Date: Mon, 18 Aug 2025 14:44:18 +0200 Message-ID: <20250818124457.537751107@linuxfoundation.org> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250818124448.879659024@linuxfoundation.org> References: <20250818124448.879659024@linuxfoundation.org> User-Agent: quilt/0.68 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 6.12-stable review patch. If anyone has any objections, please let me know. ------------------ From: Wen Chen [ Upstream commit 01f60348d8fb6b3fbcdfc7bdde5d669f95b009a4 ] [why] DCN35 is having “DC: failed to blank crtc!” when running HPO test cases. It's caused by not having sufficient udelay time. [how] Replace the old wait_for_blank_complete function with fsleep function to sleep just until the next frame should come up. This way it doesn't poll in case the pixel clock or other clock was bugged or until vactive and the vblank are hit again. Reviewed-by: Nicholas Kazlauskas Signed-off-by: Wen Chen Signed-off-by: Fangzhi Zuo Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c index d9de8e17ccf4..08fc2a2c399f 100644 --- a/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c +++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c @@ -945,7 +945,7 @@ enum dc_status dcn20_enable_stream_timing( return DC_ERROR_UNEXPECTED; } - hws->funcs.wait_for_blank_complete(pipe_ctx->stream_res.opp); + fsleep(stream->timing.v_total * (stream->timing.h_total * 10000u / stream->timing.pix_clk_100hz)); params.vertical_total_min = stream->adjust.v_total_min; params.vertical_total_max = stream->adjust.v_total_max; -- 2.39.5