From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH 07/41] drm/rockchip: Don't use atomic constructs for psr Date: Thu, 9 Mar 2017 23:32:22 -0500 Message-ID: <20170310043305.17216-8-seanpaul@chromium.org> References: <20170310043305.17216-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170310043305.17216-1-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: linux-rockchip@lists.infradead.org, dri-devel@lists.freedesktop.org Cc: =?UTF-8?q?=E5=BE=81=E5=A2=9E=20=E7=8E=8B?= , Heiko Stuebner , David Airlie , Sean Paul , =?UTF-8?q?St=C3=A9phane=20Marchesin?= , Caesar Wang , linux-arm-kernel@lists.infradead.org, Mark Yao List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiB1c2luZyB0aW1lciBhbmQgc3BpbmxvY2tzLCB1c2UgZGVsYXllZF93b3JrIGFu ZAptdXRleGVzIGZvciByb2NrY2hpcCBwc3IuIFRoaXMgYWxsb3dzIHVzIHRvIG1ha2UgYmxvY2tp bmcKY2FsbHMgd2hlbiBlbmFibGluZy9kaXNhYmxpbmcgcHNyICh3aGljaCBpcyBzb3J0IG9mIGlt cG9ydGFudApnaXZlbiB3ZSdyZSB0YWxraW5nIG92ZXIgZHBjZCB0byB0aGUgZGlzcGxheSkuCgpD YzogQ2Flc2FyIFdhbmcgPHd4dEByb2NrLWNoaXBzLmNvbT4KQ2M6IOW+geWiniDnjosgPHd6ekBy b2NrLWNoaXBzLmNvbT4KQ2M6IFN0w6lwaGFuZSBNYXJjaGVzaW4gPG1hcmNoZXVAY2hyb21pdW0u b3JnPgpTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvYW5hbG9naXhfZHAtcm9ja2NoaXAuYyB8IDE0ICsr Ky0tCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jICAgICB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5oICAgICB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3Bzci5jICAgICB8IDY4 ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9u cygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvYW5h bG9naXhfZHAtcm9ja2NoaXAuYwppbmRleCAyOGMwZDQ0MDY0NTQuLjkwZWI3OTA4ZTJlNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlwLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlwLmMKQEAg LTcyLDcgKzcyLDcgQEAgc3RydWN0IHJvY2tjaGlwX2RwX2RldmljZSB7CiAJc3RydWN0IHJlc2V0 X2NvbnRyb2wgICAgICpyc3Q7CiAKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QJIHBzcl93b3JrOwotCXNw aW5sb2NrX3QJCSBwc3JfbG9jazsKKwlzdHJ1Y3QgbXV0ZXgJCSBwc3JfbG9jazsKIAl1bnNpZ25l ZCBpbnQgICAgICAgICAgICAgcHNyX3N0YXRlOwogCiAJY29uc3Qgc3RydWN0IHJvY2tjaGlwX2Rw X2NoaXBfZGF0YSAqZGF0YTsKQEAgLTgzLDIxICs4MywyMCBAQCBzdHJ1Y3Qgcm9ja2NoaXBfZHBf ZGV2aWNlIHsKIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX3Bzcl9zZXQoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLCBib29sIGVuYWJsZWQpCiB7CiAJc3RydWN0IHJvY2tjaGlwX2RwX2Rldmlj ZSAqZHAgPSB0b19kcChlbmNvZGVyKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJaWYgKCFh bmFsb2dpeF9kcF9wc3Jfc3VwcG9ydGVkKGRwLT5kZXYpKQogCQlyZXR1cm47CiAKIAlkZXZfZGJn KGRwLT5kZXYsICIlcyBQU1IuLi5cbiIsIGVuYWJsZWQgPyAiRW50cnkiIDogIkV4aXQiKTsKIAot CXNwaW5fbG9ja19pcnFzYXZlKCZkcC0+cHNyX2xvY2ssIGZsYWdzKTsKKwltdXRleF9sb2NrKCZk cC0+cHNyX2xvY2spOwogCWlmIChlbmFibGVkKQogCQlkcC0+cHNyX3N0YXRlID0gRURQX1ZTQ19Q U1JfU1RBVEVfQUNUSVZFOwogCWVsc2UKIAkJZHAtPnBzcl9zdGF0ZSA9IH5FRFBfVlNDX1BTUl9T VEFURV9BQ1RJVkU7CiAKIAlzY2hlZHVsZV93b3JrKCZkcC0+cHNyX3dvcmspOwotCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJmRwLT5wc3JfbG9jaywgZmxhZ3MpOworCW11dGV4X3VubG9jaygmZHAt PnBzcl9sb2NrKTsKIH0KIAogc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfcHNyX3dvcmsoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQpAQCAtMTA4LDcgKzEwNyw2IEBAIHN0YXRpYyB2b2lkIGFuYWxv Z2l4X2RwX3Bzcl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAlpbnQgcHNyX3N0YXRl ID0gZHAtPnBzcl9zdGF0ZTsKIAlpbnQgdmFjdF9lbmQ7CiAJaW50IHJldDsKLQl1bnNpZ25lZCBs b25nIGZsYWdzOwogCiAJaWYgKCFjcnRjKQogCQlyZXR1cm47CkBAIC0xMjIsMTIgKzEyMCwxMiBA QCBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9wc3Jfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspCiAJCXJldHVybjsKIAl9CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZHAtPnBzcl9sb2NrLCBm bGFncyk7CisJbXV0ZXhfbG9jaygmZHAtPnBzcl9sb2NrKTsKIAlpZiAocHNyX3N0YXRlID09IEVE UF9WU0NfUFNSX1NUQVRFX0FDVElWRSkKIAkJYW5hbG9naXhfZHBfZW5hYmxlX3BzcihkcC0+ZGV2 KTsKIAllbHNlCiAJCWFuYWxvZ2l4X2RwX2Rpc2FibGVfcHNyKGRwLT5kZXYpOwotCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJmRwLT5wc3JfbG9jaywgZmxhZ3MpOworCW11dGV4X3VubG9jaygmZHAt PnBzcl9sb2NrKTsKIH0KIAogc3RhdGljIGludCByb2NrY2hpcF9kcF9wcmVfaW5pdChzdHJ1Y3Qg cm9ja2NoaXBfZHBfZGV2aWNlICpkcCkKQEAgLTQwNiw3ICs0MDQsNyBAQCBzdGF0aWMgaW50IHJv Y2tjaGlwX2RwX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIs CiAJZHAtPnBsYXRfZGF0YS5wb3dlcl9vZmYgPSByb2NrY2hpcF9kcF9wb3dlcmRvd247CiAJZHAt PnBsYXRfZGF0YS5nZXRfbW9kZXMgPSByb2NrY2hpcF9kcF9nZXRfbW9kZXM7CiAKLQlzcGluX2xv Y2tfaW5pdCgmZHAtPnBzcl9sb2NrKTsKKwltdXRleF9pbml0KCZkcC0+cHNyX2xvY2spOwogCWRw LT5wc3Jfc3RhdGUgPSB+RURQX1ZTQ19QU1JfU1RBVEVfQUNUSVZFOwogCUlOSVRfV09SSygmZHAt PnBzcl93b3JrLCBhbmFsb2dpeF9kcF9wc3Jfd29yayk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCmluZGV4IDFlMzcxYjdhMTUwNi4uNmI3NjdiOGRhYmQ1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMKQEAgLTEz NCw3ICsxMzQsNyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2RybV9iaW5kKHN0cnVjdCBkZXZpY2Ug KmRldikKIAlkcm1fZGV2LT5kZXZfcHJpdmF0ZSA9IHByaXZhdGU7CiAKIAlJTklUX0xJU1RfSEVB RCgmcHJpdmF0ZS0+cHNyX2xpc3QpOwotCXNwaW5fbG9ja19pbml0KCZwcml2YXRlLT5wc3JfbGlz dF9sb2NrKTsKKwltdXRleF9pbml0KCZwcml2YXRlLT5wc3JfbGlzdF9sb2NrKTsKIAogCWRybV9t b2RlX2NvbmZpZ19pbml0KGRybV9kZXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV9kcnYuaAppbmRleCA4YWNhMjE5ZWM0YzguLjE4NDQ5NTExMThkYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5oCkBAIC01NSw3ICs1NSw3 IEBAIHN0cnVjdCByb2NrY2hpcF9kcm1fcHJpdmF0ZSB7CiAJc3RydWN0IG11dGV4IG1tX2xvY2s7 CiAJc3RydWN0IGRybV9tbSBtbTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHBzcl9saXN0OwotCXNwaW5s b2NrX3QgcHNyX2xpc3RfbG9jazsKKwlzdHJ1Y3QgbXV0ZXggcHNyX2xpc3RfbG9jazsKIH07CiAK IGludCByb2NrY2hpcF9kcm1fZG1hX2F0dGFjaF9kZXZpY2Uoc3RydWN0IGRybV9kZXZpY2UgKmRy bV9kZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJt X3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9wc3IuYwppbmRl eCA0YzM3OWU5MGIxNzguLmIzMzljYTk0MzEzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV9wc3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX3Bzci5jCkBAIC0xOCw3ICsxOCw3IEBACiAjaW5jbHVkZSAicm9ja2No aXBfZHJtX2Rydi5oIgogI2luY2x1ZGUgInJvY2tjaGlwX2RybV9wc3IuaCIKIAotI2RlZmluZSBQ U1JfRkxVU0hfVElNRU9VVAltc2Vjc190b19qaWZmaWVzKDEwMCkKKyNkZWZpbmUgUFNSX0ZMVVNI X1RJTUVPVVRfTVMJMTAwCiAKIGVudW0gcHNyX3N0YXRlIHsKIAlQU1JfRkxVU0gsCkBAIC0zMCwx MSArMzAsMTEgQEAgc3RydWN0IHBzcl9kcnYgewogCXN0cnVjdCBsaXN0X2hlYWQJbGlzdDsKIAlz dHJ1Y3QgZHJtX2VuY29kZXIJKmVuY29kZXI7CiAKLQlzcGlubG9ja190CQlsb2NrOworCXN0cnVj dCBtdXRleAkJbG9jazsKIAlib29sCQkJYWN0aXZlOwogCWVudW0gcHNyX3N0YXRlCQlzdGF0ZTsK IAotCXN0cnVjdCB0aW1lcl9saXN0CWZsdXNoX3RpbWVyOworCXN0cnVjdCBkZWxheWVkX3dvcmsJ Zmx1c2hfd29yazsKIAogCXZvaWQgKCpzZXQpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwg Ym9vbCBlbmFibGUpOwogfTsKQEAgLTQzLDkgKzQzLDggQEAgc3RhdGljIHN0cnVjdCBwc3JfZHJ2 ICpmaW5kX3Bzcl9ieV9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3Qgcm9j a2NoaXBfZHJtX3ByaXZhdGUgKmRybV9kcnYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwogCXN0 cnVjdCBwc3JfZHJ2ICpwc3I7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCXNwaW5fbG9ja19p cnFzYXZlKCZkcm1fZHJ2LT5wc3JfbGlzdF9sb2NrLCBmbGFncyk7CisJbXV0ZXhfbG9jaygmZHJt X2Rydi0+cHNyX2xpc3RfbG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShwc3IsICZkcm1fZHJ2 LT5wc3JfbGlzdCwgbGlzdCkgewogCQlpZiAocHNyLT5lbmNvZGVyLT5jcnRjID09IGNydGMpCiAJ CQlnb3RvIG91dDsKQEAgLTUzLDcgKzUyLDcgQEAgc3RhdGljIHN0cnVjdCBwc3JfZHJ2ICpmaW5k X3Bzcl9ieV9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlwc3IgPSBFUlJfUFRSKC1FTk9E RVYpOwogCiBvdXQ6Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHJtX2Rydi0+cHNyX2xpc3Rf bG9jaywgZmxhZ3MpOworCW11dGV4X3VubG9jaygmZHJtX2Rydi0+cHNyX2xpc3RfbG9jayk7CiAJ cmV0dXJuIHBzcjsKIH0KIApAQCAtNjEsOSArNjAsOCBAQCBzdGF0aWMgc3RydWN0IHBzcl9kcnYg KmZpbmRfcHNyX2J5X2VuY29kZXIoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0 cnVjdCByb2NrY2hpcF9kcm1fcHJpdmF0ZSAqZHJtX2RydiA9IGVuY29kZXItPmRldi0+ZGV2X3By aXZhdGU7CiAJc3RydWN0IHBzcl9kcnYgKnBzcjsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0J c3Bpbl9sb2NrX2lycXNhdmUoJmRybV9kcnYtPnBzcl9saXN0X2xvY2ssIGZsYWdzKTsKKwltdXRl eF9sb2NrKCZkcm1fZHJ2LT5wc3JfbGlzdF9sb2NrKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBz ciwgJmRybV9kcnYtPnBzcl9saXN0LCBsaXN0KSB7CiAJCWlmIChwc3ItPmVuY29kZXIgPT0gZW5j b2RlcikKIAkJCWdvdG8gb3V0OwpAQCAtNzEsNyArNjksNyBAQCBzdGF0aWMgc3RydWN0IHBzcl9k cnYgKmZpbmRfcHNyX2J5X2VuY29kZXIoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCXBz ciA9IEVSUl9QVFIoLUVOT0RFVik7CiAKIG91dDoKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZk cm1fZHJ2LT5wc3JfbGlzdF9sb2NrLCBmbGFncyk7CisJbXV0ZXhfdW5sb2NrKCZkcm1fZHJ2LT5w c3JfbGlzdF9sb2NrKTsKIAlyZXR1cm4gcHNyOwogfQogCkBAIC0xMTIsMjMgKzExMCwyMSBAQCBz dGF0aWMgdm9pZCBwc3Jfc2V0X3N0YXRlX2xvY2tlZChzdHJ1Y3QgcHNyX2RydiAqcHNyLCBlbnVt IHBzcl9zdGF0ZSBzdGF0ZSkKIAogc3RhdGljIHZvaWQgcHNyX3NldF9zdGF0ZShzdHJ1Y3QgcHNy X2RydiAqcHNyLCBlbnVtIHBzcl9zdGF0ZSBzdGF0ZSkKIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdz OwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnBzci0+bG9jaywgZmxhZ3MpOworCW11dGV4X2xvY2so JnBzci0+bG9jayk7CiAJcHNyX3NldF9zdGF0ZV9sb2NrZWQocHNyLCBzdGF0ZSk7Ci0Jc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmcHNyLT5sb2NrLCBmbGFncyk7CisJbXV0ZXhfdW5sb2NrKCZwc3It PmxvY2spOwogfQogCi1zdGF0aWMgdm9pZCBwc3JfZmx1c2hfaGFuZGxlcih1bnNpZ25lZCBsb25n IGRhdGEpCitzdGF0aWMgdm9pZCBwc3JfZmx1c2hfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspCiB7Ci0Jc3RydWN0IHBzcl9kcnYgKnBzciA9IChzdHJ1Y3QgcHNyX2RydiAqKWRhdGE7 Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcHNyX2RydiAqcHNyID0gY29udGFpbmVy X29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwKKwkJCQkJICAgc3RydWN0IHBzcl9kcnYsIGZsdXNo X3dvcmspOwogCiAJLyogSWYgdGhlIHN0YXRlIGhhcyBjaGFuZ2VkIHNpbmNlIHdlIGluaXRpYXRl ZCB0aGUgZmx1c2gsIGRvIG5vdGhpbmcgKi8KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcHNyLT5sb2Nr LCBmbGFncyk7CisJbXV0ZXhfbG9jaygmcHNyLT5sb2NrKTsKIAlpZiAocHNyLT5zdGF0ZSA9PSBQ U1JfRkxVU0gpCiAJCXBzcl9zZXRfc3RhdGVfbG9ja2VkKHBzciwgUFNSX0VOQUJMRSk7Ci0Jc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmcHNyLT5sb2NrLCBmbGFncyk7CisJbXV0ZXhfdW5sb2NrKCZw c3ItPmxvY2spOwogfQogCiAvKioKQEAgLTE0MSwxNCArMTM3LDEzIEBAIHN0YXRpYyB2b2lkIHBz cl9mbHVzaF9oYW5kbGVyKHVuc2lnbmVkIGxvbmcgZGF0YSkKIGludCByb2NrY2hpcF9kcm1fcHNy X2FjdGl2YXRlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgcHNyX2Ry diAqcHNyID0gZmluZF9wc3JfYnlfZW5jb2RlcihlbmNvZGVyKTsKLQl1bnNpZ25lZCBsb25nIGZs YWdzOwogCiAJaWYgKElTX0VSUihwc3IpKQogCQlyZXR1cm4gUFRSX0VSUihwc3IpOwogCi0Jc3Bp bl9sb2NrX2lycXNhdmUoJnBzci0+bG9jaywgZmxhZ3MpOworCW11dGV4X2xvY2soJnBzci0+bG9j ayk7CiAJcHNyLT5hY3RpdmUgPSB0cnVlOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBzci0+ bG9jaywgZmxhZ3MpOworCW11dGV4X3VubG9jaygmcHNyLT5sb2NrKTsKIAogCXJldHVybiAwOwog fQpAQCAtMTY0LDE1ICsxNTksMTQgQEAgRVhQT1JUX1NZTUJPTChyb2NrY2hpcF9kcm1fcHNyX2Fj dGl2YXRlKTsKIGludCByb2NrY2hpcF9kcm1fcHNyX2RlYWN0aXZhdGUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBwc3JfZHJ2ICpwc3IgPSBmaW5kX3Bzcl9ieV9lbmNv ZGVyKGVuY29kZXIpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlpZiAoSVNfRVJSKHBzcikp CiAJCXJldHVybiBQVFJfRVJSKHBzcik7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmcHNyLT5sb2Nr LCBmbGFncyk7CisJbXV0ZXhfbG9jaygmcHNyLT5sb2NrKTsKIAlwc3ItPmFjdGl2ZSA9IGZhbHNl OwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBzci0+bG9jaywgZmxhZ3MpOwotCWRlbF90aW1l cl9zeW5jKCZwc3ItPmZsdXNoX3RpbWVyKTsKKwltdXRleF91bmxvY2soJnBzci0+bG9jayk7CisJ Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZwc3ItPmZsdXNoX3dvcmspOwogCiAJcmV0dXJuIDA7 CiB9CkBAIC0xODAsOSArMTc0LDggQEAgRVhQT1JUX1NZTUJPTChyb2NrY2hpcF9kcm1fcHNyX2Rl YWN0aXZhdGUpOwogCiBzdGF0aWMgdm9pZCByb2NrY2hpcF9kcm1fZG9fZmx1c2goc3RydWN0IHBz cl9kcnYgKnBzcikKIHsKLQltb2RfdGltZXIoJnBzci0+Zmx1c2hfdGltZXIsCi0JCSAgcm91bmRf amlmZmllc191cChqaWZmaWVzICsgUFNSX0ZMVVNIX1RJTUVPVVQpKTsKIAlwc3Jfc2V0X3N0YXRl KHBzciwgUFNSX0ZMVVNIKTsKKwltb2RfZGVsYXllZF93b3JrKHN5c3RlbV93cSwgJnBzci0+Zmx1 c2hfd29yaywgUFNSX0ZMVVNIX1RJTUVPVVRfTVMpOwogfQogCiAvKioKQEAgLTIxOSwxMiArMjEy LDExIEBAIHZvaWQgcm9ja2NoaXBfZHJtX3Bzcl9mbHVzaF9hbGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIHsKIAlzdHJ1Y3Qgcm9ja2NoaXBfZHJtX3ByaXZhdGUgKmRybV9kcnYgPSBkZXYtPmRl dl9wcml2YXRlOwogCXN0cnVjdCBwc3JfZHJ2ICpwc3I7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsK IAotCXNwaW5fbG9ja19pcnFzYXZlKCZkcm1fZHJ2LT5wc3JfbGlzdF9sb2NrLCBmbGFncyk7CisJ bXV0ZXhfbG9jaygmZHJtX2Rydi0+cHNyX2xpc3RfbG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRy eShwc3IsICZkcm1fZHJ2LT5wc3JfbGlzdCwgbGlzdCkKIAkJcm9ja2NoaXBfZHJtX2RvX2ZsdXNo KHBzcik7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHJtX2Rydi0+cHNyX2xpc3RfbG9jaywg ZmxhZ3MpOworCW11dGV4X3VubG9jaygmZHJtX2Rydi0+cHNyX2xpc3RfbG9jayk7CiB9CiBFWFBP UlRfU1lNQk9MKHJvY2tjaGlwX2RybV9wc3JfZmx1c2hfYWxsKTsKIApAQCAtMjQxLDcgKzIzMyw2 IEBAIGludCByb2NrY2hpcF9kcm1fcHNyX3JlZ2lzdGVyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKIHsKIAlzdHJ1Y3Qgcm9ja2NoaXBfZHJtX3ByaXZhdGUgKmRybV9kcnYgPSBlbmNvZGVy LT5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBwc3JfZHJ2ICpwc3I7Ci0JdW5zaWduZWQgbG9u ZyBmbGFnczsKIAogCWlmICghZW5jb2RlciB8fCAhcHNyX3NldCkKIAkJcmV0dXJuIC1FSU5WQUw7 CkBAIC0yNTAsMTcgKzI0MSwxNyBAQCBpbnQgcm9ja2NoaXBfZHJtX3Bzcl9yZWdpc3RlcihzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKCFwc3IpCiAJCXJldHVybiAtRU5PTUVNOwog Ci0Jc2V0dXBfdGltZXIoJnBzci0+Zmx1c2hfdGltZXIsIHBzcl9mbHVzaF9oYW5kbGVyLCAodW5z aWduZWQgbG9uZylwc3IpOwotCXNwaW5fbG9ja19pbml0KCZwc3ItPmxvY2spOworCUlOSVRfREVM QVlFRF9XT1JLKCZwc3ItPmZsdXNoX3dvcmssIHBzcl9mbHVzaF9oYW5kbGVyKTsKKwltdXRleF9p bml0KCZwc3ItPmxvY2spOwogCiAJcHNyLT5hY3RpdmUgPSB0cnVlOwogCXBzci0+c3RhdGUgPSBQ U1JfRElTQUJMRTsKIAlwc3ItPmVuY29kZXIgPSBlbmNvZGVyOwogCXBzci0+c2V0ID0gcHNyX3Nl dDsKIAotCXNwaW5fbG9ja19pcnFzYXZlKCZkcm1fZHJ2LT5wc3JfbGlzdF9sb2NrLCBmbGFncyk7 CisJbXV0ZXhfbG9jaygmZHJtX2Rydi0+cHNyX2xpc3RfbG9jayk7CiAJbGlzdF9hZGRfdGFpbCgm cHNyLT5saXN0LCAmZHJtX2Rydi0+cHNyX2xpc3QpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo JmRybV9kcnYtPnBzcl9saXN0X2xvY2ssIGZsYWdzKTsKKwltdXRleF91bmxvY2soJmRybV9kcnYt PnBzcl9saXN0X2xvY2spOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yNzgsMTYgKzI2OSwxNSBAQCB2 b2lkIHJvY2tjaGlwX2RybV9wc3JfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpCiB7CiAJc3RydWN0IHJvY2tjaGlwX2RybV9wcml2YXRlICpkcm1fZHJ2ID0gZW5jb2Rlci0+ ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgcHNyX2RydiAqcHNyLCAqbjsKLQl1bnNpZ25lZCBs b25nIGZsYWdzOwogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmRybV9kcnYtPnBzcl9saXN0X2xvY2ss IGZsYWdzKTsKKwltdXRleF9sb2NrKCZkcm1fZHJ2LT5wc3JfbGlzdF9sb2NrKTsKIAlsaXN0X2Zv cl9lYWNoX2VudHJ5X3NhZmUocHNyLCBuLCAmZHJtX2Rydi0+cHNyX2xpc3QsIGxpc3QpIHsKIAkJ aWYgKHBzci0+ZW5jb2RlciA9PSBlbmNvZGVyKSB7Ci0JCQlkZWxfdGltZXIoJnBzci0+Zmx1c2hf dGltZXIpOworCQkJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZwc3ItPmZsdXNoX3dvcmspOwog CQkJbGlzdF9kZWwoJnBzci0+bGlzdCk7CiAJCQlrZnJlZShwc3IpOwogCQl9CiAJfQotCXNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmRybV9kcnYtPnBzcl9saXN0X2xvY2ssIGZsYWdzKTsKKwltdXRl eF91bmxvY2soJmRybV9kcnYtPnBzcl9saXN0X2xvY2spOwogfQogRVhQT1JUX1NZTUJPTChyb2Nr Y2hpcF9kcm1fcHNyX3VucmVnaXN0ZXIpOwotLSAKMi4xMi4wLjI0Ni5nYTJlY2M4NDg2Ni1nb29n CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=