From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin via amd-gfx Subject: [PATCH AUTOSEL 4.20 069/105] drm/amd/display: fix PME notification not working in RV desktop Date: Tue, 12 Feb 2019 21:33:00 -0500 Message-ID: <20190213023336.19019-69-sashal@kernel.org> References: <20190213023336.19019-1-sashal@kernel.org> Reply-To: Sasha Levin Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190213023336.19019-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 , Charlene Liu , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Sasha Levin RnJvbTogQ2hhcmxlbmUgTGl1IDxjaGFybGVuZS5saXVAYW1kLmNvbT4KClsgVXBzdHJlYW0gY29t bWl0IDIwMzAwZGI0YWVjNWJhNWVkZjZmMGFkNmY3MTExYTUxZmJlYTdlMTAgXQoKW1doeV0KUFBM SUIgbm90IHJlY2VpdmUgdGhlIFBNRSB3aGVuIHVucGx1Zy4KClNpZ25lZC1vZmYtYnk6IENoYXJs ZW5lIExpdSA8Y2hhcmxlbmUubGl1QGFtZC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBQYXJrIDxD aHJpcy5QYXJrQGFtZC5jb20+CkFja2VkLWJ5OiBMZW8gTGkgPHN1bnBlbmcubGlAYW1kLmNvbT4K U2lnbmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgpT aWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8c2FzaGFsQGtlcm5lbC5vcmc+Ci0tLQogLi4uL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9od19zZXF1ZW5jZXIuYyAgICB8IDcg KysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEw X2h3X3NlcXVlbmNlci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9k Y2UxMTBfaHdfc2VxdWVuY2VyLmMKaW5kZXggYTZiY2I5MGU4NDE5Li4wYWU0MTY5M2NkOWYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEwX2h3 X3NlcXVlbmNlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAv ZGNlMTEwX2h3X3NlcXVlbmNlci5jCkBAIC0xMDAwLDcgKzEwMDAsNyBAQCB2b2lkIGRjZTExMF9l bmFibGVfYXVkaW9fc3RyZWFtKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9jdHgpCiAKIAkJcGlwZV9j dHgtPnN0cmVhbV9yZXMuYXVkaW8tPmZ1bmNzLT5hel9lbmFibGUocGlwZV9jdHgtPnN0cmVhbV9y ZXMuYXVkaW8pOwogCi0JCWlmIChudW1fYXVkaW8gPT0gMSAmJiBwcF9zbXUgIT0gTlVMTCAmJiBw cF9zbXUtPnNldF9wbWVfd2FfZW5hYmxlICE9IE5VTEwpCisJCWlmIChudW1fYXVkaW8gPj0gMSAm JiBwcF9zbXUgIT0gTlVMTCAmJiBwcF9zbXUtPnNldF9wbWVfd2FfZW5hYmxlICE9IE5VTEwpCiAJ CQkvKnRoaXMgaXMgdGhlIGZpcnN0IGF1ZGlvLiBhcHBseSB0aGUgUE1FIHcvYSBpbiBvcmRlciB0 byB3YWtlIEFaIGZyb20gRDMqLwogCQkJcHBfc211LT5zZXRfcG1lX3dhX2VuYWJsZSgmcHBfc211 LT5wcF9zbXUpOwogCQkvKiB1bi1tdXRlIGF1ZGlvICovCkBAIC0xMDE3LDYgKzEwMTcsOCBAQCB2 b2lkIGRjZTExMF9kaXNhYmxlX2F1ZGlvX3N0cmVhbShzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4 LCBpbnQgb3B0aW9uKQogCXBpcGVfY3R4LT5zdHJlYW1fcmVzLnN0cmVhbV9lbmMtPmZ1bmNzLT5h dWRpb19tdXRlX2NvbnRyb2woCiAJCQlwaXBlX2N0eC0+c3RyZWFtX3Jlcy5zdHJlYW1fZW5jLCB0 cnVlKTsKIAlpZiAocGlwZV9jdHgtPnN0cmVhbV9yZXMuYXVkaW8pIHsKKwkJc3RydWN0IHBwX3Nt dV9mdW5jc19ydiAqcHBfc211ID0gZGMtPnJlc19wb29sLT5wcF9zbXU7CisKIAkJaWYgKG9wdGlv biAhPSBLRUVQX0FDUVVJUkVEX1JFU09VUkNFIHx8CiAJCQkJIWRjLT5kZWJ1Zy5hel9lbmRwb2lu dF9tdXRlX29ubHkpIHsKIAkJCS8qb25seSBkaXNhbGJlIGF6X2VuZHBvaW50IGlmIHBvd2VyIGRv d24gb3IgZnJlZSovCkBAIC0xMDM2LDYgKzEwMzgsOSBAQCB2b2lkIGRjZTExMF9kaXNhYmxlX2F1 ZGlvX3N0cmVhbShzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4LCBpbnQgb3B0aW9uKQogCQkJdXBk YXRlX2F1ZGlvX3VzYWdlKCZkYy0+Y3VycmVudF9zdGF0ZS0+cmVzX2N0eCwgZGMtPnJlc19wb29s LCBwaXBlX2N0eC0+c3RyZWFtX3Jlcy5hdWRpbywgZmFsc2UpOwogCQkJcGlwZV9jdHgtPnN0cmVh bV9yZXMuYXVkaW8gPSBOVUxMOwogCQl9CisJCWlmIChwcF9zbXUgIT0gTlVMTCAmJiBwcF9zbXUt PnNldF9wbWVfd2FfZW5hYmxlICE9IE5VTEwpCisJCQkvKnRoaXMgaXMgdGhlIGZpcnN0IGF1ZGlv LiBhcHBseSB0aGUgUE1FIHcvYSBpbiBvcmRlciB0byB3YWtlIEFaIGZyb20gRDMqLworCQkJcHBf c211LT5zZXRfcG1lX3dhX2VuYWJsZSgmcHBfc211LT5wcF9zbXUpOwogCiAJCS8qIFRPRE86IG5v dGlmeSBhdWRpbyBkcml2ZXIgZm9yIGlmIGF1ZGlvIG1vZGVzIGxpc3QgY2hhbmdlZAogCQkgKiBh ZGQgYXVkaW8gbW9kZSBsaXN0IGNoYW5nZSBmbGFnICovCi0tIAoyLjE5LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0 CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA== 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=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 8C966C282C4 for ; Wed, 13 Feb 2019 03:00:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5CAB421B68 for ; Wed, 13 Feb 2019 03:00:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550026831; bh=/fdL2QZLBUc6YA0ThfsjV5gihgnjA/nzrOzRvpjC3OY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=2LTBY5YalUgKuLTDBZYiT1wGTh6UDd1nbK+/XON4bNMefuiaEhFOSi1n0wug3eC1G gwLFKOW0T+B/3KkAPcAnywVLGchdbh6SW7UFOJL7ua02OxFVFAlR6AKtV/N3kD6R39 shOLl3usHIX9LzUbDOv+AoYQRMvlp6MZc4D92rVA= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388012AbfBMCff (ORCPT ); Tue, 12 Feb 2019 21:35:35 -0500 Received: from mail.kernel.org ([198.145.29.99]:39090 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387998AbfBMCfZ (ORCPT ); Tue, 12 Feb 2019 21:35:25 -0500 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 0598D206B6; Wed, 13 Feb 2019 02:35:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550025324; bh=/fdL2QZLBUc6YA0ThfsjV5gihgnjA/nzrOzRvpjC3OY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gCAiM61NYCrZ4qby4QeCDI06eu2K3YV7JZK5+l2Wl9N9s/feni+z/B3DGrnwyZtaV rWK0SHzOxgfS/BfGmoonIzTzuc3FV0Uybbj+HhR85xvhmOpSvvO4ERfto/LeOKDj7b 2Qz0fTa8U/VEOaUyeWRffdK7dtjZRRJj8ayyd9NI= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Charlene Liu , Alex Deucher , Sasha Levin , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 4.20 069/105] drm/amd/display: fix PME notification not working in RV desktop Date: Tue, 12 Feb 2019 21:33:00 -0500 Message-Id: <20190213023336.19019-69-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190213023336.19019-1-sashal@kernel.org> References: <20190213023336.19019-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: Charlene Liu [ Upstream commit 20300db4aec5ba5edf6f0ad6f7111a51fbea7e10 ] [Why] PPLIB not receive the PME when unplug. Signed-off-by: Charlene Liu Reviewed-by: Chris Park Acked-by: Leo Li Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- .../gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c index a6bcb90e8419..0ae41693cd9f 100644 --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c @@ -1000,7 +1000,7 @@ void dce110_enable_audio_stream(struct pipe_ctx *pipe_ctx) pipe_ctx->stream_res.audio->funcs->az_enable(pipe_ctx->stream_res.audio); - if (num_audio == 1 && pp_smu != NULL && pp_smu->set_pme_wa_enable != NULL) + if (num_audio >= 1 && pp_smu != NULL && pp_smu->set_pme_wa_enable != NULL) /*this is the first audio. apply the PME w/a in order to wake AZ from D3*/ pp_smu->set_pme_wa_enable(&pp_smu->pp_smu); /* un-mute audio */ @@ -1017,6 +1017,8 @@ void dce110_disable_audio_stream(struct pipe_ctx *pipe_ctx, int option) pipe_ctx->stream_res.stream_enc->funcs->audio_mute_control( pipe_ctx->stream_res.stream_enc, true); if (pipe_ctx->stream_res.audio) { + struct pp_smu_funcs_rv *pp_smu = dc->res_pool->pp_smu; + if (option != KEEP_ACQUIRED_RESOURCE || !dc->debug.az_endpoint_mute_only) { /*only disalbe az_endpoint if power down or free*/ @@ -1036,6 +1038,9 @@ void dce110_disable_audio_stream(struct pipe_ctx *pipe_ctx, int option) update_audio_usage(&dc->current_state->res_ctx, dc->res_pool, pipe_ctx->stream_res.audio, false); pipe_ctx->stream_res.audio = NULL; } + if (pp_smu != NULL && pp_smu->set_pme_wa_enable != NULL) + /*this is the first audio. apply the PME w/a in order to wake AZ from D3*/ + pp_smu->set_pme_wa_enable(&pp_smu->pp_smu); /* TODO: notify audio driver for if audio modes list changed * add audio mode list change flag */ -- 2.19.1