From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH AUTOSEL 5.2 053/171] drm/amd/display: Update link rate from DPCD 10 Date: Thu, 18 Jul 2019 23:54:44 -0400 Message-ID: <20190719035643.14300-53-sashal@kernel.org> References: <20190719035643.14300-1-sashal@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190719035643.14300-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Sasha Levin , Wesley Chalmers , Anthony Koo , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Alex Deucher , Bhawanpreet Lakha RnJvbTogV2VzbGV5IENoYWxtZXJzIDxXZXNsZXkuQ2hhbG1lcnNAYW1kLmNvbT4KClsgVXBzdHJl YW0gY29tbWl0IDUzYzgxZmM3ODc1YmMyZGNhMzU4NDg1ZGFjMzk5OWUxNGVjOTFhMDAgXQoKW1dI WV0KU29tZSBwYW5lbHMgcmV0dXJuIGEgbGluayByYXRlIG9mIDAgKHVua25vd24pIGluIERQQ0Qg MC4gSW4gdGhpcyBjYXNlLAphbiBhcHByb3ByaWF0ZSBtb2RlIGNhbm5vdCBiZSBzZXQsIGFuZCBj ZXJ0YWluIHBhbmVscyB3aWxsIHNob3cKY29ycnVwdGlvbiBhcyB0aGV5IGFyZSBmb3JjZWQgdG8g dXNlIGEgbW9kZSB0aGV5IGRvIG5vdCBzdXBwb3J0LgoKW0hPV10KUmVhZCBEUENEIDEwIGluIHRo ZSBjYXNlIHdoZXJlIHN1cHBvcnRlZCBsaW5rIHJhdGUgZnJvbSBEUENEIDAgaXMKdW5rbm93biwg YW5kIHBhc3MgdGhhdCB2YWx1ZSBvbiB0byB0aGUgcmVwb3J0ZWQgbGluayByYXRlLgpUaGlzIHJl LWludHJvZHVjZXMgYmVoYXZpb3VyIHByZXNlbnQgaW4gcHJldmlvdXMgdmVyc2lvbnMgdGhhdCBh cHBlYXJzCnRvIGhhdmUgYmVlbiBhY2NpZGVudGFsbHkgcmVtb3ZlZC4KClNpZ25lZC1vZmYtYnk6 IFdlc2xleSBDaGFsbWVycyA8V2VzbGV5LkNoYWxtZXJzQGFtZC5jb20+ClJldmlld2VkLWJ5OiBB bnRob255IEtvbyA8QW50aG9ueS5Lb29AYW1kLmNvbT4KQWNrZWQtYnk6IEJoYXdhbnByZWV0IExh a2hhIDxCaGF3YW5wcmVldC5MYWtoYUBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNo ZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhc2hhIExldmlu IDxzYXNoYWxAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19saW5rX2RwLmMgfCA5ICsrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvY29yZS9kY19saW5rX2RwLmMKaW5kZXggMWVlNTQ0YTMyZWJiLi4yNTMzMTE4NjRjZGQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtf ZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2Rw LmMKQEAgLTE2MjQsOCArMTYyNCw3IEBAIHN0YXRpYyBib29sIGRlY2lkZV9lZHBfbGlua19zZXR0 aW5ncyhzdHJ1Y3QgZGNfbGluayAqbGluaywgc3RydWN0IGRjX2xpbmtfc2V0dGluCiAJdWludDMy X3QgbGlua19idzsKIAogCWlmIChsaW5rLT5kcGNkX2NhcHMuZHBjZF9yZXYucmF3IDwgRFBDRF9S RVZfMTQgfHwKLQkJCWxpbmstPmRwY2RfY2Fwcy5lZHBfc3VwcG9ydGVkX2xpbmtfcmF0ZXNfY291 bnQgPT0gMCB8fAotCQkJbGluay0+ZGMtPmNvbmZpZy5vcHRpbWl6ZV9lZHBfbGlua19yYXRlID09 IGZhbHNlKSB7CisJCQlsaW5rLT5kcGNkX2NhcHMuZWRwX3N1cHBvcnRlZF9saW5rX3JhdGVzX2Nv dW50ID09IDApIHsKIAkJKmxpbmtfc2V0dGluZyA9IGxpbmstPnZlcmlmaWVkX2xpbmtfY2FwOwog CQlyZXR1cm4gdHJ1ZTsKIAl9CkBAIC0yNTk3LDcgKzI1OTYsOCBAQCB2b2lkIGRldGVjdF9lZHBf c2lua19jYXBzKHN0cnVjdCBkY19saW5rICpsaW5rKQogCW1lbXNldChzdXBwb3J0ZWRfbGlua19y YXRlcywgMCwgc2l6ZW9mKHN1cHBvcnRlZF9saW5rX3JhdGVzKSk7CiAKIAlpZiAobGluay0+ZHBj ZF9jYXBzLmRwY2RfcmV2LnJhdyA+PSBEUENEX1JFVl8xNCAmJgotCQkJbGluay0+ZGMtPmNvbmZp Zy5vcHRpbWl6ZV9lZHBfbGlua19yYXRlKSB7CisJCQkobGluay0+ZGMtPmNvbmZpZy5vcHRpbWl6 ZV9lZHBfbGlua19yYXRlIHx8CisJCQlsaW5rLT5yZXBvcnRlZF9saW5rX2NhcC5saW5rX3JhdGUg PT0gTElOS19SQVRFX1VOS05PV04pKSB7CiAJCS8vIFJlYWQgRFBDRCAwMDAxMGggLSAwMDAxRmgg MTYgYnl0ZXMgYXQgb25lIHNob3QKIAkJY29yZV9saW5rX3JlYWRfZHBjZChsaW5rLCBEUF9TVVBQ T1JURURfTElOS19SQVRFUywKIAkJCQkJCQlzdXBwb3J0ZWRfbGlua19yYXRlcywgc2l6ZW9mKHN1 cHBvcnRlZF9saW5rX3JhdGVzKSk7CkBAIC0yNjEyLDYgKzI2MTIsOSBAQCB2b2lkIGRldGVjdF9l ZHBfc2lua19jYXBzKHN0cnVjdCBkY19saW5rICpsaW5rKQogCQkJCWxpbmtfcmF0ZSA9IGxpbmtS YXRlSW5LSHpUb0xpbmtSYXRlTXVsdGlwbGllcihsaW5rX3JhdGVfaW5fa2h6KTsKIAkJCQlsaW5r LT5kcGNkX2NhcHMuZWRwX3N1cHBvcnRlZF9saW5rX3JhdGVzW2xpbmstPmRwY2RfY2Fwcy5lZHBf c3VwcG9ydGVkX2xpbmtfcmF0ZXNfY291bnRdID0gbGlua19yYXRlOwogCQkJCWxpbmstPmRwY2Rf Y2Fwcy5lZHBfc3VwcG9ydGVkX2xpbmtfcmF0ZXNfY291bnQrKzsKKworCQkJCWlmIChsaW5rLT5y ZXBvcnRlZF9saW5rX2NhcC5saW5rX3JhdGUgPCBsaW5rX3JhdGUpCisJCQkJCWxpbmstPnJlcG9y dGVkX2xpbmtfY2FwLmxpbmtfcmF0ZSA9IGxpbmtfcmF0ZTsKIAkJCX0KIAkJfQogCX0KLS0gCjIu MjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 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=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,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 A5BBAC76195 for ; Fri, 19 Jul 2019 03:58:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7DC5721851 for ; Fri, 19 Jul 2019 03:58:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563508733; bh=TI0TPOQn5WRhgeZCy07aXRVhI2CGOzL2HZJKi35gJgg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=WdcTfBbmFbZu6WK2qVfGgPeb7t9XMXOLPYjmPTSuQZwjh0qUZZzQapk0bxZ9Leq0s f6ytB/yjbF6rI0Iqk6fzy7ueZEdOZC4mug+J/ai84B9q2N7I72O1S/+MoEkVrbLCAK cvs7BYXVmjLqupO6RZH6TaVwkLnuX7RocdxVxCxw= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728340AbfGSD6w (ORCPT ); Thu, 18 Jul 2019 23:58:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:58146 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728216AbfGSD6q (ORCPT ); Thu, 18 Jul 2019 23:58:46 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2139421851; Fri, 19 Jul 2019 03:58:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563508725; bh=TI0TPOQn5WRhgeZCy07aXRVhI2CGOzL2HZJKi35gJgg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vFaxJwwb7fXtwQHwdbk1B6i3tWGP5Afa1MJCq/IEIXTKl73lltp9GZVCX41j1q+Up SPL8rlnJyOWJ2p81DjPoNdWFXyXeDqVS9QMTTO6pK+OTtSVKXt0Kti1Km+HmJ48TsC jSNNiAcwrfGyJRGnsMi6O+wr/YW9hf9fyBtcFZoM= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Wesley Chalmers , Anthony Koo , Bhawanpreet Lakha , Alex Deucher , Sasha Levin , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 5.2 053/171] drm/amd/display: Update link rate from DPCD 10 Date: Thu, 18 Jul 2019 23:54:44 -0400 Message-Id: <20190719035643.14300-53-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190719035643.14300-1-sashal@kernel.org> References: <20190719035643.14300-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wesley Chalmers [ Upstream commit 53c81fc7875bc2dca358485dac3999e14ec91a00 ] [WHY] Some panels return a link rate of 0 (unknown) in DPCD 0. In this case, an appropriate mode cannot be set, and certain panels will show corruption as they are forced to use a mode they do not support. [HOW] Read DPCD 10 in the case where supported link rate from DPCD 0 is unknown, and pass that value on to the reported link rate. This re-introduces behaviour present in previous versions that appears to have been accidentally removed. Signed-off-by: Wesley Chalmers Reviewed-by: Anthony Koo Acked-by: Bhawanpreet Lakha Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c index 1ee544a32ebb..253311864cdd 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -1624,8 +1624,7 @@ static bool decide_edp_link_settings(struct dc_link *link, struct dc_link_settin uint32_t link_bw; if (link->dpcd_caps.dpcd_rev.raw < DPCD_REV_14 || - link->dpcd_caps.edp_supported_link_rates_count == 0 || - link->dc->config.optimize_edp_link_rate == false) { + link->dpcd_caps.edp_supported_link_rates_count == 0) { *link_setting = link->verified_link_cap; return true; } @@ -2597,7 +2596,8 @@ void detect_edp_sink_caps(struct dc_link *link) memset(supported_link_rates, 0, sizeof(supported_link_rates)); if (link->dpcd_caps.dpcd_rev.raw >= DPCD_REV_14 && - link->dc->config.optimize_edp_link_rate) { + (link->dc->config.optimize_edp_link_rate || + link->reported_link_cap.link_rate == LINK_RATE_UNKNOWN)) { // Read DPCD 00010h - 0001Fh 16 bytes at one shot core_link_read_dpcd(link, DP_SUPPORTED_LINK_RATES, supported_link_rates, sizeof(supported_link_rates)); @@ -2612,6 +2612,9 @@ void detect_edp_sink_caps(struct dc_link *link) link_rate = linkRateInKHzToLinkRateMultiplier(link_rate_in_khz); link->dpcd_caps.edp_supported_link_rates[link->dpcd_caps.edp_supported_link_rates_count] = link_rate; link->dpcd_caps.edp_supported_link_rates_count++; + + if (link->reported_link_cap.link_rate < link_rate) + link->reported_link_cap.link_rate = link_rate; } } } -- 2.20.1