From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH 26/27] drm/etnaviv: couple runtime PM management to submit object lifetime Date: Fri, 1 Dec 2017 11:36:23 +0100 Message-ID: <20171201103624.6565-27-l.stach@pengutronix.de> References: <20171201103624.6565-1-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by gabe.freedesktop.org (Postfix) with ESMTPS id 339EF6ECBC for ; Fri, 1 Dec 2017 10:58:37 +0000 (UTC) In-Reply-To: <20171201103624.6565-1-l.stach@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: etnaviv@lists.freedesktop.org Cc: patchwork-lst@pengutronix.de, kernel@pengutronix.de, dri-devel@lists.freedesktop.org, Russell King List-Id: dri-devel@lists.freedesktop.org QXMgbG9uZyBhcyB0aGVyZSBpcyBhbiBhY3RpdmUgc3VibWl0LCB3ZSB3YW50IHRoZSBHUFUgdG8g c3RheSBhd2FrZS4gVGhpcwppcyBzbGlnaHRseSBjb21wbGljYXRlZCBieSB0aGUgZmFjdCB0aGF0 IHdlIHJlYWxseSB3YW50IHRvIHdha2UgdGhlIEdQVQphdCB0aGUgbGFzdCBwb3NzaWJsZSBtb21l bnQgdG8gYWNoaWV2ZSBtYXhpbXVtIHBvd2VyIHNhdmluZ3MuCgpTaWduZWQtb2ZmLWJ5OiBMdWNh cyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRu YXZpdi9ldG5hdml2X2dlbS5oICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X2dwdS5jICAgICAgICB8IDMwICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDMg ZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oIGIvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uaAppbmRleCBmZTk5ZjBjMGQwNjguLmJlNzJhOTgzM2Yy YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCkBAIC0xMDYsNiArMTA2LDcg QEAgc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCB7CiAJc3RydWN0IGRtYV9mZW5jZSAqb3V0X2Zl bmNlLCAqaW5fZmVuY2U7CiAJc3RydWN0IGxpc3RfaGVhZCBub2RlOyAvKiBHUFUgYWN0aXZlIHN1 Ym1pdCBsaXN0ICovCiAJc3RydWN0IGV0bmF2aXZfY21kYnVmIGNtZGJ1ZjsKKwlib29sIHJ1bnRp bWVfcmVzdW1lZDsKIAl1MzIgZXhlY19zdGF0ZTsKIAl1MzIgZmxhZ3M7CiAJdW5zaWduZWQgaW50 IG5yX3BtcnM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dl bV9zdWJtaXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5j CmluZGV4IDVhMzUxYjBmMTA4Ny4uMWY4MjAyYmNhMDYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYwpAQCAtMzU1LDYgKzM1NSw5IEBAIHN0YXRpYyB2 b2lkIHN1Ym1pdF9jbGVhbnVwKHN0cnVjdCBrcmVmICprcmVmKQogCQkJY29udGFpbmVyX29mKGty ZWYsIHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQsIHJlZmNvdW50KTsKIAl1bnNpZ25lZCBpOwog CisJaWYgKHN1Ym1pdC0+cnVudGltZV9yZXN1bWVkKQorCQlwbV9ydW50aW1lX3B1dF9hdXRvc3Vz cGVuZChzdWJtaXQtPmdwdS0+ZGV2KTsKKwogCWlmIChzdWJtaXQtPmNtZGJ1Zi5zdWJhbGxvYykK IAkJZXRuYXZpdl9jbWRidWZfZnJlZSgmc3VibWl0LT5jbWRidWYpOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL2V0 bmF2aXYvZXRuYXZpdl9ncHUuYwppbmRleCBiMGY0YzBlNjg2NDUuLjliZWNhZGIwN2VmZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jCkBAIC0xMjEwLDE0ICsxMjEwLDYgQEAg c3RhdGljIHZvaWQgcmV0aXJlX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCWxp c3RfZGVsKCZzdWJtaXQtPm5vZGUpOwogCiAJCWV0bmF2aXZfc3VibWl0X3B1dChzdWJtaXQpOwot CQkvKgotCQkgKiBXZSBuZWVkIHRvIGJhbGFuY2UgdGhlIHJ1bnRpbWUgUE0gY291bnQgY2F1c2Vk IGJ5Ci0JCSAqIGVhY2ggc3VibWlzc2lvbi4gIFVwb24gc3VibWlzc2lvbiwgd2UgaW5jcmVtZW50 Ci0JCSAqIHRoZSBydW50aW1lIFBNIGNvdW50ZXIsIGFuZCBhbGxvY2F0ZSBvbmUgZXZlbnQuCi0J CSAqIFNvIGhlcmUsIHdlIHB1dCB0aGUgcnVudGltZSBQTSBjb3VudCBmb3IgZWFjaAotCQkgKiBj b21wbGV0ZWQgZXZlbnQuCi0JCSAqLwotCQlwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChncHUt PmRldik7CiAJfQogCiAJZ3B1LT5yZXRpcmVkX2ZlbmNlID0gZmVuY2U7CkBAIC0xMjg5LDE3ICsx MjgxLDYgQEAgaW50IGV0bmF2aXZfZ3B1X3dhaXRfb2JqX2luYWN0aXZlKHN0cnVjdCBldG5hdml2 X2dwdSAqZ3B1LAogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIH0KIAotaW50IGV0bmF2aXZfZ3B1X3Bt X2dldF9zeW5jKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQotewotCXJldHVybiBwbV9ydW50aW1l X2dldF9zeW5jKGdwdS0+ZGV2KTsKLX0KLQotdm9pZCBldG5hdml2X2dwdV9wbV9wdXQoc3RydWN0 IGV0bmF2aXZfZ3B1ICpncHUpCi17Ci0JcG1fcnVudGltZV9tYXJrX2xhc3RfYnVzeShncHUtPmRl dik7Ci0JcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQoZ3B1LT5kZXYpOwotfQotCiBzdGF0aWMg dm9pZCBzeW5jX3BvaW50X3BlcmZtb25fc2FtcGxlKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAog CXN0cnVjdCBldG5hdml2X2V2ZW50ICpldmVudCwgdW5zaWduZWQgaW50IGZsYWdzKQogewpAQCAt MTM2Niw5ICsxMzQ3LDEwIEBAIGludCBldG5hdml2X2dwdV9zdWJtaXQoc3RydWN0IGV0bmF2aXZf Z3B1ICpncHUsCiAJdW5zaWduZWQgaW50IGksIG5yX2V2ZW50cyA9IDEsIGV2ZW50WzNdOwogCWlu dCByZXQ7CiAKLQlyZXQgPSBldG5hdml2X2dwdV9wbV9nZXRfc3luYyhncHUpOworCXJldCA9IHBt X3J1bnRpbWVfZ2V0X3N5bmMoZ3B1LT5kZXYpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0 OworCXN1Ym1pdC0+cnVudGltZV9yZXN1bWVkID0gdHJ1ZTsKIAogCS8qCiAJICogaWYgdGhlcmUg YXJlIHBlcmZvcm1hbmNlIG1vbml0b3IgcmVxdWVzdHMgd2UgbmVlZCB0byBoYXZlCkBAIC0xMzgz LDcgKzEzNjUsNyBAQCBpbnQgZXRuYXZpdl9ncHVfc3VibWl0KHN0cnVjdCBldG5hdml2X2dwdSAq Z3B1LAogCXJldCA9IGV2ZW50X2FsbG9jKGdwdSwgbnJfZXZlbnRzLCBldmVudCk7CiAJaWYgKHJl dCkgewogCQlEUk1fRVJST1IoIm5vIGZyZWUgZXZlbnRzXG4iKTsKLQkJZ290byBvdXRfcG1fcHV0 OworCQlyZXR1cm4gcmV0OwogCX0KIAogCW11dGV4X2xvY2soJmdwdS0+bG9jayk7CkBAIC0xNDIw LDE4ICsxNDAyLDEyIEBAIGludCBldG5hdml2X2dwdV9zdWJtaXQoc3RydWN0IGV0bmF2aXZfZ3B1 ICpncHUsCiAKIAlsaXN0X2FkZF90YWlsKCZzdWJtaXQtPm5vZGUsICZncHUtPmFjdGl2ZV9zdWJt aXRfbGlzdCk7CiAKLQkvKiBXZSdyZSBjb21taXR0ZWQgdG8gYWRkaW5nIHRoaXMgY29tbWFuZCBi dWZmZXIsIGhvbGQgYSBQTSByZWZlcmVuY2UgKi8KLQlwbV9ydW50aW1lX2dldF9ub3Jlc3VtZShn cHUtPmRldik7Ci0KIAloYW5nY2hlY2tfdGltZXJfcmVzZXQoZ3B1KTsKIAlyZXQgPSAwOwogCiBv dXRfdW5sb2NrOgogCW11dGV4X3VubG9jaygmZ3B1LT5sb2NrKTsKIAotb3V0X3BtX3B1dDoKLQll dG5hdml2X2dwdV9wbV9wdXQoZ3B1KTsKLQogCXJldHVybiByZXQ7CiB9CiAKLS0gCjIuMTEuMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==