From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH AUTOSEL 4.19 16/73] drm/msm: Grab a vblank reference when waiting for commit_done Date: Wed, 12 Dec 2018 23:27:41 -0500 Message-ID: <20181213042838.75160-16-sashal@kernel.org> References: <20181213042838.75160-1-sashal@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181213042838.75160-1-sashal@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sasha Levin , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, Sean Paul , freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org RnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpbIFVwc3RyZWFtIGNvbW1p dCAzYjcxMmU0M2UzODc2YjQyYjM4MzIxZWNmNzkwYTFmNWZlNTljODM0IF0KClNpbWlsYXIgdG8g dGhlIGF0b21pYyBoZWxwZXJzLCB3ZSBzaG91bGQgZW5hYmxlIHZibGFuayB3aGlsZSB3ZSdyZQp3 YWl0aW5nIGZvciB0aGUgY29tbWl0IHRvIGZpbmlzaC4gRFBVIG5lZWRzIHRoaXMsIE1EUDUgc2Vl bXMgdG8gd29yawpmaW5lIHdpdGhvdXQgaXQuCgpSZXZpZXdlZC1ieTogQWJoaW5hdiBLdW1hciA8 YWJoaW5hdmtAY29kZWF1cm9yYS5vcmc+ClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBh dWxAY2hyb21pdW0ub3JnPgpTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhc2hhIExldmluIDxzYXNoYWxAa2VybmVsLm9yZz4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFu Z2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCmluZGV4IGMxZjE3 NzljOTgwZi4uMmI3YmI2ZTE2NmQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwpAQCAtMzIs NyArMzIsMTIgQEAgc3RhdGljIHZvaWQgbXNtX2F0b21pY193YWl0X2Zvcl9jb21taXRfZG9uZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlpZiAoIW5ld19jcnRjX3N0YXRlLT5hY3RpdmUpCiAJ CQljb250aW51ZTsKIAorCQlpZiAoZHJtX2NydGNfdmJsYW5rX2dldChjcnRjKSkKKwkJCWNvbnRp bnVlOworCiAJCWttcy0+ZnVuY3MtPndhaXRfZm9yX2NydGNfY29tbWl0X2RvbmUoa21zLCBjcnRj KTsKKworCQlkcm1fY3J0Y192YmxhbmtfcHV0KGNydGMpOwogCX0KIH0KIAotLSAKMi4xOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK 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.3 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=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 1658FC67839 for ; Thu, 13 Dec 2018 04:51:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D24672080F for ; Thu, 13 Dec 2018 04:51:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544676704; bh=87wMa19j3zV9fhlC6uKzNhaqNhRh5ySWn9cJ3RS0zc8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=NLW5NjF+UDtG5cEMNu+zxUk7HR5JkHofv8D+jFGgiWy2wtOF+UjUJebsRt6yUc1XM X5b9S3QqP0I0oJF0Ag5uj95kB05PRCE2XNwc+wzQe2yY5HExw/1/dvJl3KxkpScA4k RV0Y96EWKuylihQ/6qmy6UMlvtfZGeDnTLKaSVhk= DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D24672080F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728622AbeLMEvn (ORCPT ); Wed, 12 Dec 2018 23:51:43 -0500 Received: from mail.kernel.org ([198.145.29.99]:42070 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727340AbeLME3F (ORCPT ); Wed, 12 Dec 2018 23:29:05 -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 02B3620879; Thu, 13 Dec 2018 04:29:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544675344; bh=87wMa19j3zV9fhlC6uKzNhaqNhRh5ySWn9cJ3RS0zc8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d+lR2YP18yMmSdaraIoykjOBbrf8tcfwngvCGeLXfHwhMTElEP0bF8Z0Jbc889Ylq IGLrW5AsDy1itskMpZeDBBKl+FdHfDczDfXYM9r91fpiZG4V1+UPvntT0Yo28caAkx GfL78PWY5OoadAWHfzZnIbe7Pwe/1GoSPaorksio= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sean Paul , Rob Clark , Sasha Levin , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org Subject: [PATCH AUTOSEL 4.19 16/73] drm/msm: Grab a vblank reference when waiting for commit_done Date: Wed, 12 Dec 2018 23:27:41 -0500 Message-Id: <20181213042838.75160-16-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181213042838.75160-1-sashal@kernel.org> References: <20181213042838.75160-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: Sean Paul [ Upstream commit 3b712e43e3876b42b38321ecf790a1f5fe59c834 ] Similar to the atomic helpers, we should enable vblank while we're waiting for the commit to finish. DPU needs this, MDP5 seems to work fine without it. Reviewed-by: Abhinav Kumar Signed-off-by: Sean Paul Signed-off-by: Rob Clark Signed-off-by: Sasha Levin --- drivers/gpu/drm/msm/msm_atomic.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/msm/msm_atomic.c b/drivers/gpu/drm/msm/msm_atomic.c index c1f1779c980f..2b7bb6e166d3 100644 --- a/drivers/gpu/drm/msm/msm_atomic.c +++ b/drivers/gpu/drm/msm/msm_atomic.c @@ -32,7 +32,12 @@ static void msm_atomic_wait_for_commit_done(struct drm_device *dev, if (!new_crtc_state->active) continue; + if (drm_crtc_vblank_get(crtc)) + continue; + kms->funcs->wait_for_crtc_commit_done(kms, crtc); + + drm_crtc_vblank_put(crtc); } } -- 2.19.1