From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH 29/48] staging: etnaviv: fix runtime resume Date: Fri, 25 Sep 2015 13:57:41 +0200 Message-ID: <1443182280-15868-30-git-send-email-l.stach@pengutronix.de> References: <20150916080435.GA21084@n2100.arm.linux.org.uk> <1443182280-15868-1-git-send-email-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.4.pengutronix.de [92.198.50.35]) by gabe.freedesktop.org (Postfix) with ESMTPS id F15666F0A7 for ; Fri, 25 Sep 2015 04:58:04 -0700 (PDT) In-Reply-To: <1443182280-15868-1-git-send-email-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: Russell King , Christian Gmeiner Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybS5saW51eC5vcmcudWs+CgpXaGVuIHJl c3VtaW5nIGEgY29yZSwgZXNwZWNpYWxseSBpZiBpdCBoYXMgYmVlbiBwb3dlcmVkIGRvd24gYnkg YSBQTQpkb21haW4sIHdlIG5lZWQgdG8gcmUtaW5pdGlhbGlzZSB0aGUgY2xvY2sgY29udHJvbCBy ZWdpc3RlciwgYW5kCnBlcmZvcm0gYSByZWxvYWQgb2YgdGhlIGNvbnRleHQuCgpUaGlzIGlzIGlt cG9ydGFudCB3aGVyZSB3ZSBoYXZlIGEgR1BVIHdpdGggbXVsdGlwbGUgZXhlY3V0aW9uIHN0YXRl cywKd2hlcmUgd2UgbXVzdCBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIGV4ZWN1dGlvbiBzdGF0ZSBw cmlvciB0bwpwcm9jZXNzaW5nIGFueSBmdXJ0aGVyIEdQVSBvcGVyYXRpb25zIGZyb20gdXNlcnNw YWNlLgoKU2lnbmVkLW9mZi1ieTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybS5saW51eC5v cmcudWs+Ci0tLQogZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9ncHUuYyB8IDM4ICsr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5z ZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcv ZXRuYXZpdi9ldG5hdml2X2dwdS5jIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9n cHUuYwppbmRleCAyYTY1NjBiZTRjNTEuLjdiNjE4ZWQ2OTIwMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9ncHUuYworKysgYi9kcml2ZXJzL3N0YWdpbmcvZXRu YXZpdi9ldG5hdml2X2dwdS5jCkBAIC0xMDc4LDcgKzEwNzgsNyBAQCBzdGF0aWMgaW50IGV0bmF2 aXZfZ3B1X2Nsa19kaXNhYmxlKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQogCXJldHVybiAwOwog fQogCi1zdGF0aWMgaW50IGV0bmF2aXZfZ3B1X3N1c3BlbmQoc3RydWN0IGV0bmF2aXZfZ3B1ICpn cHUpCitzdGF0aWMgaW50IGV0bmF2aXZfZ3B1X2h3X3N1c3BlbmQoc3RydWN0IGV0bmF2aXZfZ3B1 ICpncHUpCiB7CiAJaWYgKGdwdS0+YnVmZmVyKSB7CiAJCXVuc2lnbmVkIGxvbmcgdGltZW91dDsK QEAgLTExMTIsNiArMTExMiwyOSBAQCBzdGF0aWMgaW50IGV0bmF2aXZfZ3B1X3N1c3BlbmQoc3Ry dWN0IGV0bmF2aXZfZ3B1ICpncHUpCiAJcmV0dXJuIGV0bmF2aXZfZ3B1X2Nsa19kaXNhYmxlKGdw dSk7CiB9CiAKK3N0YXRpYyBpbnQgZXRuYXZpdl9ncHVfaHdfcmVzdW1lKHN0cnVjdCBldG5hdml2 X2dwdSAqZ3B1KQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBncHUtPmRybTsKKwl1MzIg Y2xvY2s7CisJaW50IHJldDsKKworCXJldCA9IG11dGV4X2xvY2tfa2lsbGFibGUoJmRybS0+c3Ry dWN0X211dGV4KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJY2xvY2sgPSBWSVZTX0hJ X0NMT0NLX0NPTlRST0xfRElTQUJMRV9ERUJVR19SRUdJU1RFUlMgfAorCQlWSVZTX0hJX0NMT0NL X0NPTlRST0xfRlNDQUxFX1ZBTCgweDQwKTsKKworCWV0bmF2aXZfZ3B1X2xvYWRfY2xvY2soZ3B1 LCBjbG9jayk7CisJZXRuYXZpdl9ncHVfaHdfaW5pdChncHUpOworCisJZ3B1LT5zd2l0Y2hfY29u dGV4dCA9IHRydWU7CisKKwltdXRleF91bmxvY2soJmRybS0+c3RydWN0X211dGV4KTsKKworCXJl dHVybiAwOworfQorCiBzdGF0aWMgaW50IGV0bmF2aXZfZ3B1X2JpbmQoc3RydWN0IGRldmljZSAq ZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCiAJdm9pZCAqZGF0YSkKIHsKQEAgLTExNjEsNyAr MTE4NCw3IEBAIHN0YXRpYyB2b2lkIGV0bmF2aXZfZ3B1X3VuYmluZChzdHJ1Y3QgZGV2aWNlICpk ZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKIAlwbV9ydW50aW1lX2dldF9zeW5jKGdwdS0+ZGV2 KTsKIAlwbV9ydW50aW1lX3B1dF9zeW5jX3N1c3BlbmQoZ3B1LT5kZXYpOwogI2Vsc2UKLQlldG5h dml2X2dwdV9zdXNwZW5kKGdwdSk7CisJZXRuYXZpdl9ncHVfaHdfc3VzcGVuZChncHUpOwogI2Vu ZGlmCiAKIAlpZiAoZ3B1LT5idWZmZXIpIHsKQEAgLTEyOTIsMTcgKzEzMTUsMTYgQEAgc3RhdGlj IGludCBldG5hdml2X2dwdV9ycG1fc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJaWYgKGlk bGUgIT0gbWFzaykKIAkJcmV0dXJuIC1FQlVTWTsKIAotCXJldHVybiBldG5hdml2X2dwdV9zdXNw ZW5kKGdwdSk7CisJcmV0dXJuIGV0bmF2aXZfZ3B1X2h3X3N1c3BlbmQoZ3B1KTsKIH0KIAogc3Rh dGljIGludCBldG5hdml2X2dwdV9ycG1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlz dHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwotCXN0cnVjdCBk cm1fZGV2aWNlICpkcm0gPSBncHUtPmRybTsKIAlpbnQgcmV0OwogCiAJLyogV2UgbXVzdCBuZXZl ciBydW50aW1lLVBNIHJlc3VtZSBob2xkaW5nIHN0cnVjdF9tdXRleCAqLwotCWlmIChkcm0gJiYg V0FSTl9PTl9PTkNFKG11dGV4X2lzX2xvY2tlZCgmZHJtLT5zdHJ1Y3RfbXV0ZXgpKSkKKwlpZiAo Z3B1LT5kcm0gJiYgV0FSTl9PTl9PTkNFKG11dGV4X2lzX2xvY2tlZCgmZ3B1LT5kcm0tPnN0cnVj dF9tdXRleCkpKQogCQlyZXR1cm4gLUVERUFETEs7CiAKIAlyZXQgPSBldG5hdml2X2dwdV9jbGtf ZW5hYmxlKGdwdSk7CkBAIC0xMzEwLDE0ICsxMzMyLDEyIEBAIHN0YXRpYyBpbnQgZXRuYXZpdl9n cHVfcnBtX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJCXJldHVybiByZXQ7CiAKIAkvKiBS ZS1pbml0aWFsaXNlIHRoZSBiYXNpYyBoYXJkd2FyZSBzdGF0ZSAqLwotCWlmIChkcm0gJiYgZ3B1 LT5idWZmZXIpIHsKLQkJcmV0ID0gbXV0ZXhfbG9ja19raWxsYWJsZSgmZHJtLT5zdHJ1Y3RfbXV0 ZXgpOworCWlmIChncHUtPmRybSAmJiBncHUtPmJ1ZmZlcikgeworCQlyZXQgPSBldG5hdml2X2dw dV9od19yZXN1bWUoZ3B1KTsKIAkJaWYgKHJldCkgewogCQkJZXRuYXZpdl9ncHVfY2xrX2Rpc2Fi bGUoZ3B1KTsKIAkJCXJldHVybiByZXQ7CiAJCX0KLQkJZXRuYXZpdl9ncHVfaHdfaW5pdChncHUp OwotCQltdXRleF91bmxvY2soJmRybS0+c3RydWN0X211dGV4KTsKIAl9CiAKIAlyZXR1cm4gMDsK LS0gCjIuNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=