From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8AE94C388F7 for ; Tue, 3 Nov 2020 22:02:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3587E207BB for ; Tue, 3 Nov 2020 22:02:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604440978; bh=Ga1lqezWK56VHxgJMXTy1lhGsiX2XcK52Smt/6B7GwA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=E4BvS+m4wFexFZzOe9/mV0q+hP6gIXBGwK3AmIdPtoyh3AlDq2nErncwSBDW33eDx AV+fkjQhio/u2B3OUWpvTYTlMWvBBCPoHmkOmFzLnWeEb/JIw9aXDeBbz6lFZGZ9qP CQCR9qZLN/YIyLne2vfDW1IzqQi6BxnZ77NCBvwo= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730307AbgKCUox (ORCPT ); Tue, 3 Nov 2020 15:44:53 -0500 Received: from mail.kernel.org ([198.145.29.99]:60522 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730941AbgKCUou (ORCPT ); Tue, 3 Nov 2020 15:44:50 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5D727223C6; Tue, 3 Nov 2020 20:44:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604436289; bh=Ga1lqezWK56VHxgJMXTy1lhGsiX2XcK52Smt/6B7GwA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QICHjCIynYZ+iMhiHGMWRCz9JY7KBaQh0txGzQZHURT5VHkNd8H+2dlAsoEoSmgoJ ffEIcK56F2fGmzErQnHuO7Vs8XCvrXESfJEZFgAGvRdUxLQhfjzjmwinDj7FfrNfwU /zSGoJTgGF/7/nzb0a17fB1KU50WNlDvH27uTWak= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Fangzhi Zuo , Hersen Wu , Eryk Brol , Alex Deucher , Sasha Levin Subject: [PATCH 5.9 138/391] drm/amd/display: HDMI remote sink need mode validation for Linux Date: Tue, 3 Nov 2020 21:33:09 +0100 Message-Id: <20201103203356.143124722@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@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: Fangzhi Zuo [ Upstream commit 95d620adb48f7728e67d82f56f756e8d451cf8d2 ] [Why] Currently mode validation is bypassed if remote sink exists. That leads to mode set issue when a BW bottle neck exists in the link path, e.g., a DP-to-HDMI converter that only supports HDMI 1.4. Any invalid mode passed to Linux user space will cause the modeset failure due to limitation of Linux user space implementation. [How] Mode validation is skipped only if in edid override. For real remote sink, clock limit check should be done for HDMI remote sink. Have HDMI related remote sink going through mode validation to elimiate modes which pixel clock exceeds BW limitation. Signed-off-by: Fangzhi Zuo Reviewed-by: Hersen Wu Acked-by: Eryk Brol Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c index 437d1a7a16fe7..b0f8bfd48d102 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c @@ -2441,7 +2441,7 @@ enum dc_status dc_link_validate_mode_timing( /* A hack to avoid failing any modes for EDID override feature on * topology change such as lower quality cable for DP or different dongle */ - if (link->remote_sinks[0]) + if (link->remote_sinks[0] && link->remote_sinks[0]->sink_signal == SIGNAL_TYPE_VIRTUAL) return DC_OK; /* Passive Dongle */ -- 2.27.0