From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH] drm/msm/mdp5: don't use autosuspend Date: Fri, 20 Oct 2017 08:17:43 -0400 Message-ID: <20171020121847.20158-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Archit Taneja , David Airlie , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Rob Clark , Daniel Vetter , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org SXQncyBvbmx5IGxpa2VseSB0byBwYXBlciBvdmVyIGJ1Z3MuICBVbmxpa2UgdGhlIGdwdSwgd2hl cmUgd2Ugd2FudCB0bwprZWVwIHRoaW5ncyBhbGl2ZSBhIGJpdCBsb25nZXIgaW4gZXhwZWN0YXRp b24gb2YgdGhlIG5leHQgZnJhbWUncwpzdWJtaXQsIHdoZW4gdGhlIGRpc3BsYXkgaXMgc2h1dCBk b3duIHdlIGNhbiBwb3dlciBvZmYgaW1tZWRpYXRlbHkuCgpTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xh cmsgPHJvYmRjbGFya0BnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X2NtZF9lbmNvZGVyLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X2NydGMuYyAgICAgICAgfCAgNiArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9lbmNvZGVyLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9pcnEuYyAgICAgICAgIHwgMTAgKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJt L21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jICAgICAgICAgfCAgNiArKystLS0KIDUgZmlsZXMgY2hh bmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NtZF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY21kX2VuY29kZXIuYwppbmRleCA2MDc5MGRmOTFiZmEu LjFhYmM3ZjVjMzQ1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9t ZHA1X2NtZF9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X2NtZF9lbmNvZGVyLmMKQEAgLTIyNCw3ICsyMjQsNyBAQCBpbnQgbWRwNV9jbWRfZW5jb2Rlcl9z ZXRfc3BsaXRfZGlzcGxheShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJbWRwNV93cml0 ZShtZHA1X2ttcywgUkVHX01EUDVfU1BMSVRfRFBMX0xPV0VSLAogCQkgICBNRFA1X1NQTElUX0RQ TF9MT1dFUl9TTUFSVF9QQU5FTCk7CiAJbWRwNV93cml0ZShtZHA1X2ttcywgUkVHX01EUDVfU1BM SVRfRFBMX0VOLCAxKTsKLQlwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChkZXYpOworCXBtX3J1 bnRpbWVfcHV0X3N5bmMoZGV2KTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v bWRwL21kcDUvbWRwNV9jcnRjLmMKaW5kZXggMGI2YWNlMjZkNjIyLi42YWEzYTY4OGQ5YTQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYwpAQCAtNDI5LDcgKzQyOSw3 IEBAIHN0YXRpYyB2b2lkIG1kcDVfY3J0Y19hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJCW1kcF9pcnFfdW5yZWdpc3RlcigmbWRwNV9rbXMtPmJhc2UsICZtZHA1X2NydGMt PnBwX2RvbmUpOwogCiAJbWRwX2lycV91bnJlZ2lzdGVyKCZtZHA1X2ttcy0+YmFzZSwgJm1kcDVf Y3J0Yy0+ZXJyKTsKLQlwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChkZXYpOworCXBtX3J1bnRp bWVfcHV0X3N5bmMoZGV2KTsKIAogCW1kcDVfY3J0Yy0+ZW5hYmxlZCA9IGZhbHNlOwogfQpAQCAt ODIxLDcgKzgyMSw3IEBAIHN0YXRpYyBpbnQgbWRwNV9jcnRjX2N1cnNvcl9zZXQoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCWNydGNfZmx1c2goY3J0YywgZmx1c2hfbWFzayk7CiAKIGVuZDoKLQlw bV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZCgmcGRldi0+ZGV2KTsKKwlwbV9ydW50aW1lX3B1dF9z eW5jKCZwZGV2LT5kZXYpOwogCWlmIChvbGRfYm8pIHsKIAkJZHJtX2ZsaXBfd29ya19xdWV1ZSgm bWRwNV9jcnRjLT51bnJlZl9jdXJzb3Jfd29yaywgb2xkX2JvKTsKIAkJLyogZW5hYmxlIHZibGFu ayB0byBjb21wbGV0ZSBjdXJzb3Igd29yazogKi8KQEAgLTg2Nyw3ICs4NjcsNyBAQCBzdGF0aWMg aW50IG1kcDVfY3J0Y19jdXJzb3JfbW92ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCB4LCBp bnQgeSkKIAogCWNydGNfZmx1c2goY3J0YywgZmx1c2hfbWFzayk7CiAKLQlwbV9ydW50aW1lX3B1 dF9hdXRvc3VzcGVuZCgmbWRwNV9rbXMtPnBkZXYtPmRldik7CisJcG1fcnVudGltZV9wdXRfc3lu YygmbWRwNV9rbXMtPnBkZXYtPmRldik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL21kcC9tZHA1L21kcDVfZW5jb2Rlci5jCmluZGV4IDViODUxMzgwZDNmMi4uMzZhZDNj YmU1Zjc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfZW5j b2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9lbmNvZGVyLmMK QEAgLTM4NCw3ICszODQsNyBAQCBpbnQgbWRwNV92aWRfZW5jb2Rlcl9zZXRfc3BsaXRfZGlzcGxh eShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAKIAltZHA1X2N0bF9wYWlyKG1kcDVfZW5j b2Rlci0+Y3RsLCBtZHA1X3NsYXZlX2VuYy0+Y3RsLCB0cnVlKTsKIAotCXBtX3J1bnRpbWVfcHV0 X2F1dG9zdXNwZW5kKGRldik7CisJcG1fcnVudGltZV9wdXRfc3luYyhkZXYpOwogCiAJcmV0dXJu IDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfaXJx LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfaXJxLmMKaW5kZXggYmI1ZGVi MDBjODk5Li4yODBlMzY4YmM5YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVf aXJxLmMKQEAgLTU0LDcgKzU0LDcgQEAgdm9pZCBtZHA1X2lycV9wcmVpbnN0YWxsKHN0cnVjdCBt c21fa21zICprbXMpCiAJcG1fcnVudGltZV9nZXRfc3luYyhkZXYpOwogCW1kcDVfd3JpdGUobWRw NV9rbXMsIFJFR19NRFA1X0lOVFJfQ0xFQVIsIDB4ZmZmZmZmZmYpOwogCW1kcDVfd3JpdGUobWRw NV9rbXMsIFJFR19NRFA1X0lOVFJfRU4sIDB4MDAwMDAwMDApOwotCXBtX3J1bnRpbWVfcHV0X2F1 dG9zdXNwZW5kKGRldik7CisJcG1fcnVudGltZV9wdXRfc3luYyhkZXYpOwogfQogCiBpbnQgbWRw NV9pcnFfcG9zdGluc3RhbGwoc3RydWN0IG1zbV9rbXMgKmttcykKQEAgLTcyLDcgKzcyLDcgQEAg aW50IG1kcDVfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBtc21fa21zICprbXMpCiAKIAlwbV9ydW50 aW1lX2dldF9zeW5jKGRldik7CiAJbWRwX2lycV9yZWdpc3RlcihtZHBfa21zLCBlcnJvcl9oYW5k bGVyKTsKLQlwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChkZXYpOworCXBtX3J1bnRpbWVfcHV0 X3N5bmMoZGV2KTsKIAogCXJldHVybiAwOwogfQpAQCAtODQsNyArODQsNyBAQCB2b2lkIG1kcDVf aXJxX3VuaW5zdGFsbChzdHJ1Y3QgbXNtX2ttcyAqa21zKQogCiAJcG1fcnVudGltZV9nZXRfc3lu YyhkZXYpOwogCW1kcDVfd3JpdGUobWRwNV9rbXMsIFJFR19NRFA1X0lOVFJfRU4sIDB4MDAwMDAw MDApOwotCXBtX3J1bnRpbWVfcHV0X2F1dG9zdXNwZW5kKGRldik7CisJcG1fcnVudGltZV9wdXRf c3luYyhkZXYpOwogfQogCiBpcnFyZXR1cm5fdCBtZHA1X2lycShzdHJ1Y3QgbXNtX2ttcyAqa21z KQpAQCAtMTE5LDcgKzExOSw3IEBAIGludCBtZHA1X2VuYWJsZV92Ymxhbmsoc3RydWN0IG1zbV9r bXMgKmttcywgc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXBtX3J1bnRpbWVfZ2V0X3N5bmMoZGV2 KTsKIAltZHBfdXBkYXRlX3ZibGFua19tYXNrKHRvX21kcF9rbXMoa21zKSwKIAkJCW1kcDVfY3J0 Y192YmxhbmsoY3J0YyksIHRydWUpOwotCXBtX3J1bnRpbWVfcHV0X2F1dG9zdXNwZW5kKGRldik7 CisJcG1fcnVudGltZV9wdXRfc3luYyhkZXYpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMzIsNSAr MTMyLDUgQEAgdm9pZCBtZHA1X2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBtc21fa21zICprbXMsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlwbV9ydW50aW1lX2dldF9zeW5jKGRldik7CiAJbWRwX3Vw ZGF0ZV92YmxhbmtfbWFzayh0b19tZHBfa21zKGttcyksCiAJCQltZHA1X2NydGNfdmJsYW5rKGNy dGMpLCBmYWxzZSk7Ci0JcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQoZGV2KTsKKwlwbV9ydW50 aW1lX3B1dF9zeW5jKGRldik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21z LmMKaW5kZXggYzY2NGViMWQ0N2RjLi5jYThmMjAyMDZiNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHA1L21kcDVfa21zLmMKQEAgLTEyNSw3ICsxMjUsNyBAQCBzdGF0aWMgdm9pZCBtZHA1 X2NvbXBsZXRlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqcwogCWlmIChtZHA1X2ttcy0+c21wKQogCQltZHA1X3NtcF9jb21wbGV0ZV9jb21taXQo bWRwNV9rbXMtPnNtcCwgJm1kcDVfa21zLT5zdGF0ZS0+c21wKTsKIAotCXBtX3J1bnRpbWVfcHV0 X2F1dG9zdXNwZW5kKGRldik7CisJcG1fcnVudGltZV9wdXRfc3luYyhkZXYpOwogfQogCiBzdGF0 aWMgdm9pZCBtZHA1X3dhaXRfZm9yX2NydGNfY29tbWl0X2RvbmUoc3RydWN0IG1zbV9rbXMgKmtt cywKQEAgLTQ5Niw3ICs0OTYsNyBAQCBzdGF0aWMgdm9pZCByZWFkX21kcF9od19yZXZpc2lvbihz dHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zLAogCiAJcG1fcnVudGltZV9nZXRfc3luYyhkZXYpOwog CXZlcnNpb24gPSBtZHA1X3JlYWQobWRwNV9rbXMsIFJFR19NRFA1X0hXX1ZFUlNJT04pOwotCXBt X3J1bnRpbWVfcHV0X2F1dG9zdXNwZW5kKGRldik7CisJcG1fcnVudGltZV9wdXRfc3luYyhkZXYp OwogCiAJKm1ham9yID0gRklFTEQodmVyc2lvbiwgTURQNV9IV19WRVJTSU9OX01BSk9SKTsKIAkq bWlub3IgPSBGSUVMRCh2ZXJzaW9uLCBNRFA1X0hXX1ZFUlNJT05fTUlOT1IpOwpAQCAtNjgzLDcg KzY4Myw3IEBAIHN0cnVjdCBtc21fa21zICptZHA1X2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJCWFzcGFjZSA9IE5VTEw7OwogCX0KIAotCXBtX3J1bnRpbWVfcHV0X2F1dG9zdXNw ZW5kKCZwZGV2LT5kZXYpOworCXBtX3J1bnRpbWVfcHV0X3N5bmMoJnBkZXYtPmRldik7CiAKIAly ZXQgPSBtb2Rlc2V0X2luaXQobWRwNV9rbXMpOwogCWlmIChyZXQpIHsKLS0gCjIuMTMuNgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1h aWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751456AbdJTMS5 (ORCPT ); Fri, 20 Oct 2017 08:18:57 -0400 Received: from mail-qk0-f194.google.com ([209.85.220.194]:45588 "EHLO mail-qk0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751127AbdJTMSw (ORCPT ); Fri, 20 Oct 2017 08:18:52 -0400 X-Google-Smtp-Source: ABhQp+S+F896NZJerQy3WN8ObMeoOwEPlnFt9Y4l5rvcnvtIbglNe+7affdZsnFVhUhyG1URKZAa9g== From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Archit Taneja , Rob Clark , David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org Subject: [PATCH] drm/msm/mdp5: don't use autosuspend Date: Fri, 20 Oct 2017 08:17:43 -0400 Message-Id: <20171020121847.20158-1-robdclark@gmail.com> X-Mailer: git-send-email 2.13.6 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It's only likely to paper over bugs. Unlike the gpu, where we want to keep things alive a bit longer in expectation of the next frame's submit, when the display is shut down we can power off immediately. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 6 +++--- drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c | 10 +++++----- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c index 60790df91bfa..1abc7f5c345c 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c @@ -224,7 +224,7 @@ int mdp5_cmd_encoder_set_split_display(struct drm_encoder *encoder, mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_LOWER, MDP5_SPLIT_DPL_LOWER_SMART_PANEL); mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_EN, 1); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); return 0; } diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c index 0b6ace26d622..6aa3a688d9a4 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c @@ -429,7 +429,7 @@ static void mdp5_crtc_atomic_disable(struct drm_crtc *crtc, mdp_irq_unregister(&mdp5_kms->base, &mdp5_crtc->pp_done); mdp_irq_unregister(&mdp5_kms->base, &mdp5_crtc->err); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); mdp5_crtc->enabled = false; } @@ -821,7 +821,7 @@ static int mdp5_crtc_cursor_set(struct drm_crtc *crtc, crtc_flush(crtc, flush_mask); end: - pm_runtime_put_autosuspend(&pdev->dev); + pm_runtime_put_sync(&pdev->dev); if (old_bo) { drm_flip_work_queue(&mdp5_crtc->unref_cursor_work, old_bo); /* enable vblank to complete cursor work: */ @@ -867,7 +867,7 @@ static int mdp5_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) crtc_flush(crtc, flush_mask); - pm_runtime_put_autosuspend(&mdp5_kms->pdev->dev); + pm_runtime_put_sync(&mdp5_kms->pdev->dev); return 0; } diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c index 5b851380d3f2..36ad3cbe5f79 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c @@ -384,7 +384,7 @@ int mdp5_vid_encoder_set_split_display(struct drm_encoder *encoder, mdp5_ctl_pair(mdp5_encoder->ctl, mdp5_slave_enc->ctl, true); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); return 0; } diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c index bb5deb00c899..280e368bc9bb 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c @@ -54,7 +54,7 @@ void mdp5_irq_preinstall(struct msm_kms *kms) pm_runtime_get_sync(dev); mdp5_write(mdp5_kms, REG_MDP5_INTR_CLEAR, 0xffffffff); mdp5_write(mdp5_kms, REG_MDP5_INTR_EN, 0x00000000); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); } int mdp5_irq_postinstall(struct msm_kms *kms) @@ -72,7 +72,7 @@ int mdp5_irq_postinstall(struct msm_kms *kms) pm_runtime_get_sync(dev); mdp_irq_register(mdp_kms, error_handler); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); return 0; } @@ -84,7 +84,7 @@ void mdp5_irq_uninstall(struct msm_kms *kms) pm_runtime_get_sync(dev); mdp5_write(mdp5_kms, REG_MDP5_INTR_EN, 0x00000000); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); } irqreturn_t mdp5_irq(struct msm_kms *kms) @@ -119,7 +119,7 @@ int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) pm_runtime_get_sync(dev); mdp_update_vblank_mask(to_mdp_kms(kms), mdp5_crtc_vblank(crtc), true); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); return 0; } @@ -132,5 +132,5 @@ void mdp5_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) pm_runtime_get_sync(dev); mdp_update_vblank_mask(to_mdp_kms(kms), mdp5_crtc_vblank(crtc), false); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); } diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c index c664eb1d47dc..ca8f20206b6c 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c @@ -125,7 +125,7 @@ static void mdp5_complete_commit(struct msm_kms *kms, struct drm_atomic_state *s if (mdp5_kms->smp) mdp5_smp_complete_commit(mdp5_kms->smp, &mdp5_kms->state->smp); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); } static void mdp5_wait_for_crtc_commit_done(struct msm_kms *kms, @@ -496,7 +496,7 @@ static void read_mdp_hw_revision(struct mdp5_kms *mdp5_kms, pm_runtime_get_sync(dev); version = mdp5_read(mdp5_kms, REG_MDP5_HW_VERSION); - pm_runtime_put_autosuspend(dev); + pm_runtime_put_sync(dev); *major = FIELD(version, MDP5_HW_VERSION_MAJOR); *minor = FIELD(version, MDP5_HW_VERSION_MINOR); @@ -683,7 +683,7 @@ struct msm_kms *mdp5_kms_init(struct drm_device *dev) aspace = NULL;; } - pm_runtime_put_autosuspend(&pdev->dev); + pm_runtime_put_sync(&pdev->dev); ret = modeset_init(mdp5_kms); if (ret) { -- 2.13.6