From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH AUTOSEL 4.19 124/192] drm/amd/display: Don't re-program planes for DPMS changes Date: Wed, 27 Mar 2019 14:09:16 -0400 Message-ID: <20190327181025.13507-124-sashal@kernel.org> References: <20190327181025.13507-1-sashal@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190327181025.13507-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: Alex Deucher , Sasha Levin , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Nicholas Kazlauskas , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogTmljaG9sYXMgS2F6bGF1c2thcyA8bmljaG9sYXMua2F6bGF1c2thc0BhbWQuY29tPgoK WyBVcHN0cmVhbSBjb21taXQgNTA2MmI3OTdkYjQxMDMyMThmYTAwZWUyNTQ0MTdiOGVjYWFiNzQw MSBdCgpbV2h5XQpUaGVyZSBhcmUgb3B0MWMgbG9jayB3YXJuaW5ncyBhbmQgQ1JUQyByZWFkIHRp bWVvdXRzIHdoZW4gcnVubmluZyB0aGUKImlndEBrbXNfcGxhbmVAcGxhbmUtcG9zaXRpb24taG9s ZS1kcG1zLXBpcGUtKiIgdGVzdHMuIFRoZXNlIGFyZQpjYXVzZWQgYnkgdHJ5aW5nIHRvIHJlcHJv Z3JhbSBwbGFuZXMgdGhhdCBhcmUgbm90IGluIHRoZSBjdXJyZW50CmNvbnRleHQuCgpEUE1TIG9m ZiByZW1vdmVzIHRoZSBzdHJlYW0gZnJvbSB0aGUgY29udGV4dC4gSW4gdGhpcyBjYXNlOgoKbmV3 X2NydGNfc3RhdGUtPmFjdGl2ZV9jaGFuZ2VkID0gdHJ1ZQpuZXdfY3J0Y19zdGF0ZS0+bW9kZV9j aGFuZ2VkID0gZmFsc2UKClRoZSBwbGFuZXMgYXJlIHJlcHJvZ3JhbW1lZCBiZWZvcmUgdGhlIHN0 cmVhbSBpcyByZW1vdmVkIGZyb20gdGhlCmNvbnRleHQgYmVjYXVzZSBzdHJlYW1fc3RhdGUtPm1v ZGVfY2hhbmdlZCA9IGZhbHNlLgoKRm9yIERQTVMgYWRkcyB0aGUgc3RyZWFtIGFuZCBwbGFuZXMg YmFjayB0byB0aGUgY29udGV4dDoKCm5ld19jcnRjX3N0YXRlLT5hY3RpdmVfY2hhbmdlZCA9IHRy dWUKbmV3X2NydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCA9IGZhbHNlCgpUaGUgcGxhbmVzIGFyZSBh bHNvIHJlcHJvZ3JhbW1lZCBoZXJlIGJlZm9yZSB0aGUgc3RyZWFtIGlzIGFkZGVkIHRvIHRoZQpj b250ZXh0IGJlY2F1c2Ugc3RyZWFtX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlLiBUaGV5IHdl cmUgbm90CnByZXZpb3VzbHkgaW4gdGhlIGN1cnJlbnQgY29udGV4dCBzbyB3YXJuaW5ncyBvY2N1 ciBoZXJlLgoKW0hvd10KU2V0IHN0cmVhbV9zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZSB3aGVu Cm5ld19jcnRjX3N0YXRlLT5hY3RpdmVfY2hhbmdlZCA9IHRydWUgdG9vLgoKVGhpcyBwcmV2ZW50 cyByZXByb2dyYW1taW5nIGJlZm9yZSB0aGUgY29udGV4dCBpcyBhcHBsaWVkIGluIERDLiBUaGUK cHJvZ3JhbW1pbmcgd2lsbCBiZSBkb25lIGFmdGVyIHRoZSBjb250ZXh0IGlzIGFwcGxpZWQuCgpT aWduZWQtb2ZmLWJ5OiBOaWNob2xhcyBLYXpsYXVza2FzIDxuaWNob2xhcy5rYXpsYXVza2FzQGFt ZC5jb20+ClJldmlld2VkLWJ5OiBTdW4gcGVuZyBMaSA8U3VucGVuZy5MaUBhbWQuY29tPgpBY2tl ZC1ieTogQmhhd2FucHJlZXQgTGFraGEgPEJoYXdhbnByZWV0Lkxha2hhQGFtZC5jb20+CkFja2Vk LWJ5OiBUb255IENoZW5nIDxUb255LkNoZW5nQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IEFsZXgg RGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FzaGEg TGV2aW4gPHNhc2hhbEBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCmluZGV4IGM1YmE5MTI4YjczNi4uYzU3ZTg1ZjA4ZTIz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdw dV9kbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1 X2RtLmMKQEAgLTQzNjgsNyArNDM2OCw4IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kbV9jb21taXRf cGxhbmVzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIHN0YXRpYyB2b2lkIGFtZGdw dV9kbV9jcnRjX2NvcHlfdHJhbnNpZW50X2ZsYWdzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIAkJCQkJCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbV9zdGF0ZSkKIHsK LQlzdHJlYW1fc3RhdGUtPm1vZGVfY2hhbmdlZCA9IGNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZDsK KwlzdHJlYW1fc3RhdGUtPm1vZGVfY2hhbmdlZCA9CisJCWNydGNfc3RhdGUtPm1vZGVfY2hhbmdl ZCB8fCBjcnRjX3N0YXRlLT5hY3RpdmVfY2hhbmdlZDsKIH0KIAogc3RhdGljIGludCBhbWRncHVf ZG1fYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotLSAKMi4xOS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxp bmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng= 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=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, USER_AGENT_GIT autolearn=ham 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 6380CC43381 for ; Wed, 27 Mar 2019 18:14:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 33B6A20449 for ; Wed, 27 Mar 2019 18:14:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553710458; bh=qFdjvtJsYcsGZBhr7CtXm9akzcljevN2/HpqJKk4Xio=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=qHuYc2czYu1lb4GWYcGAA9Bg6jId0up6ebnL5ta50wxUWf5fdZIy4YjJ1I2WJnEaB z9eGHsLS1DRoGgoHa/IdSKTZOZbmbQhGvY6ItUB8oIChrHwVSn4zJ2HugUU1SFXiNb QPdb9RgaOcnlf6PVqVGQaGJuBqgfKmHUxRTl1bcw= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389592AbfC0SOL (ORCPT ); Wed, 27 Mar 2019 14:14:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:57028 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389580AbfC0SOI (ORCPT ); Wed, 27 Mar 2019 14:14:08 -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 1098420449; Wed, 27 Mar 2019 18:14:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553710447; bh=qFdjvtJsYcsGZBhr7CtXm9akzcljevN2/HpqJKk4Xio=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OPACDnmKm12K2q5iwuna5P2qFbUtjqhq3/J2EKR48Jaibp17PKfhd1tV3W9VOEiOY jE+yReJMLwJ9cRihlRH8dlkLuZUxmzW4imlkFbuSHC2ML5aWnJnrXvjOngnrVERcVq N1cp/5xMddAL6oAAfcNa3iQ2715HyCXToCIEIHSI= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nicholas Kazlauskas , Alex Deucher , Sasha Levin , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 4.19 124/192] drm/amd/display: Don't re-program planes for DPMS changes Date: Wed, 27 Mar 2019 14:09:16 -0400 Message-Id: <20190327181025.13507-124-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190327181025.13507-1-sashal@kernel.org> References: <20190327181025.13507-1-sashal@kernel.org> MIME-Version: 1.0 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: Nicholas Kazlauskas [ Upstream commit 5062b797db4103218fa00ee254417b8ecaab7401 ] [Why] There are opt1c lock warnings and CRTC read timeouts when running the "igt@kms_plane@plane-position-hole-dpms-pipe-*" tests. These are caused by trying to reprogram planes that are not in the current context. DPMS off removes the stream from the context. In this case: new_crtc_state->active_changed = true new_crtc_state->mode_changed = false The planes are reprogrammed before the stream is removed from the context because stream_state->mode_changed = false. For DPMS adds the stream and planes back to the context: new_crtc_state->active_changed = true new_crtc_state->mode_changed = false The planes are also reprogrammed here before the stream is added to the context because stream_state->mode_changed = true. They were not previously in the current context so warnings occur here. [How] Set stream_state->mode_changed = true when new_crtc_state->active_changed = true too. This prevents reprogramming before the context is applied in DC. The programming will be done after the context is applied. Signed-off-by: Nicholas Kazlauskas Reviewed-by: Sun peng Li Acked-by: Bhawanpreet Lakha Acked-by: Tony Cheng Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 c5ba9128b736..c57e85f08e23 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4368,7 +4368,8 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, static void amdgpu_dm_crtc_copy_transient_flags(struct drm_crtc_state *crtc_state, struct dc_stream_state *stream_state) { - stream_state->mode_changed = crtc_state->mode_changed; + stream_state->mode_changed = + crtc_state->mode_changed || crtc_state->active_changed; } static int amdgpu_dm_atomic_commit(struct drm_device *dev, -- 2.19.1