Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2509347pxj; Mon, 10 May 2021 04:51:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcyRmYq6LlYu4ZM6Oa/bic5QkgOhYF0xhMAiJxTZGT0zadhiJoQDH8Rj1lB36kgw9OVJsx X-Received: by 2002:a17:907:2cc1:: with SMTP id hg1mr25889352ejc.453.1620647463368; Mon, 10 May 2021 04:51:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620647463; cv=none; d=google.com; s=arc-20160816; b=GVjMYzPJlt/TbtxnVSv8PEZGFLMbuetO6iC2jmscDi78K4e9Wm57kXc1BcOWyEg9Eg 1XnJoaIuDHttDVmANjBT37RuKjDrpR1CORe3wITWtpjY0wLFGfn8rfNrXU0c/+eWJiZ8 tdK+b4CazcI7Fct+b9DkL3E0LOyQatMDNbhWLoH5icGMYyNhyeCXteE8hBCJuoW45uXd j1OTnbd3pLTNR8qNYmZEZJFBEgqvOk5YFIhVreDUdDqWv+rNBzCSv+J/lZeqhXcAbiMJ unQAc9v4YnhwgkZVb3La8au88zfPx48tXRlWNka+TcOG2nY5VgzGAoFmsQ49GdQ+cmKE 3g+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=G3Y+bSqCX28kJPcAg7GDp1sH4rkSn5H+dTthbVAHv/4=; b=QDpvLi21DZNTrqrUC9soI+7aUlOmM1hwGPI3jRHfGJwN6mODD8nRzZfCmTHFxpgWk0 gi5AAd1am9XLbQ3uQWCQqDgc1iklpX8Yloq3M/+GZzhUammODbSU3p0HTbZ7YfxC6s8Q R/7wjKYWa08oLaYe0SXmIIOwhRXQDK/ho4qvIbFS5zDRrR2G0fKPQ2ZWW1X/O7QbPPfC pS9k85QCDdULtJEz1oHV/KAJzp9+ZWdV2c1ofkLP06FeNTZa460OqT4MyL9JK2bE2nIY EA28izkz08G8VIPK/eyB85HFhHVkKBmjwYaE9zxTFx3K6I9Y20YFFCL9VkLxNf8uadWE y35Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=oUCX2OHZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q6si12398829ejn.673.2021.05.10.04.50.37; Mon, 10 May 2021 04:51:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=oUCX2OHZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236769AbhEJLpn (ORCPT + 99 others); Mon, 10 May 2021 07:45:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:52754 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232288AbhEJK6L (ORCPT ); Mon, 10 May 2021 06:58:11 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 735F961968; Mon, 10 May 2021 10:52:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620643940; bh=StED5C+9xFJIbXF5NNcYncqzgF/6dFP2+isRA9tQBtc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oUCX2OHZ5JGF8IRBF749XZCThbTrqyRdEoAAecG2mbyYKoPHANVbJGX6wdM2T6KA5 Am8oXbrgJTck21Ih/KhdTDT8p/S2dcz1OQeBDps9ao14ccuFFrQSnuB0Lokzl2XXI/ +TelM4+qVXmu26KY0dLT52/i8+/yWOPaF247OhfA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Harry Wentland , Werner Sembach , Alex Deucher , Sasha Levin Subject: [PATCH 5.11 223/342] drm/amd/display: Try YCbCr420 color when YCbCr444 fails Date: Mon, 10 May 2021 12:20:13 +0200 Message-Id: <20210510102017.461162224@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102010.096403571@linuxfoundation.org> References: <20210510102010.096403571@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Werner Sembach [ Upstream commit 68eb3ae3c63708f823aeeb63bb15197c727bd9bf ] When encoder validation of a display mode fails, retry with less bandwidth heavy YCbCr420 color mode, if available. This enables some HDMI 1.4 setups to support 4k60Hz output, which previously failed silently. On some setups, while the monitor and the gpu support display modes with pixel clocks of up to 600MHz, the link encoder might not. This prevents YCbCr444 and RGB encoding for 4k60Hz, but YCbCr420 encoding might still be possible. However, which color mode is used is decided before the link encoder capabilities are checked. This patch fixes the problem by retrying to find a display mode with YCbCr420 enforced and using it, if it is valid. Reviewed-by: Harry Wentland Signed-off-by: Werner Sembach Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 2b957d60c7b5..fa4786a8296f 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -5735,6 +5735,15 @@ create_validate_stream_for_sink(struct amdgpu_dm_connector *aconnector, } while (stream == NULL && requested_bpc >= 6); + if (dc_result == DC_FAIL_ENC_VALIDATE && !aconnector->force_yuv420_output) { + DRM_DEBUG_KMS("Retry forcing YCbCr420 encoding\n"); + + aconnector->force_yuv420_output = true; + stream = create_validate_stream_for_sink(aconnector, drm_mode, + dm_state, old_stream); + aconnector->force_yuv420_output = false; + } + return stream; } -- 2.30.2