From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 2/9] drm/amdgpu: add irq domain support Date: Fri, 8 Jan 2016 18:22:04 -0500 Message-ID: <1452295331-28476-3-git-send-email-alexander.deucher@amd.com> References: <1452295331-28476-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1452295331-28476-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@gmail.com, dri-devel@lists.freedesktop.org, broonie@kernel.org, alsa-devel@alsa-project.org, maruthi.bayyavarapu@amd.com, rajeevkumar.linux@gmail.com Cc: Alex Deucher , lgirdwood@gmail.com, perex@perex.cz List-Id: alsa-devel@alsa-project.org SGFyZHdhcmUgYmxvY2tzIG9uIHRoZSBHUFUgbGlrZSBBQ1AgZ2VuZXJhdGUgaW50ZXJydXB0cyBp bgp0aGUgR1BVIGludGVycnVwdCBjb250cm9sbGVyLCBidXQgYXJlIGRyaXZlbiBieSBhIHNlcGFy YXRlCmRyaXZlci4gIEFkZCBhbiBpcnEgZG9tYWluIHRvIHRoZSBHUFUgZHJpdmVyIHNvIHRoYXQK YmxvY2tzIGxpa2UgQUNQIGNhbiByZWdpc3RlciBhIExpbnV4IGludGVycnVwdC4KCkFja2VkLWJ5 OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgpBY2tlZC1ieTogQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNo ZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2lycS5jIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmggfCAgIDkgKysrCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYyAgICAgfCAgIDYgKysKIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2N6X2loLmMgICAgICB8ICAgNyArKysKIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2ljZWxhbmRfaWguYyB8ICAgNyArKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3RvbmdhX2loLmMgICB8ICAgNyArKysKIDYgZmlsZXMgY2hhbmdlZCwgMTM2IGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ly cS5jCmluZGV4IDdjNDJmZjYuLjMwMDYxODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfaXJxLmMKQEAgLTMxMiw2ICszMTIsNyBAQCBpbnQgYW1kZ3B1X2lycV9hZGRfaWQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIHNyY19pZCwKIAl9CiAKIAlhZGV2LT5p cnEuc291cmNlc1tzcmNfaWRdID0gc291cmNlOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTMzNSwx NSArMzM2LDE5IEBAIHZvaWQgYW1kZ3B1X2lycV9kaXNwYXRjaChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKIAkJcmV0dXJuOwogCX0KIAotCXNyYyA9IGFkZXYtPmlycS5zb3VyY2VzW3NyY19p ZF07Ci0JaWYgKCFzcmMpIHsKLQkJRFJNX0RFQlVHKCJVbmhhbmRsZWQgaW50ZXJydXB0IHNyY19p ZDogJWRcbiIsIHNyY19pZCk7Ci0JCXJldHVybjsKLQl9CisJaWYgKGFkZXYtPmlycS52aXJxW3Ny Y19pZF0pIHsKKwkJZ2VuZXJpY19oYW5kbGVfaXJxKGlycV9maW5kX21hcHBpbmcoYWRldi0+aXJx LmRvbWFpbiwgc3JjX2lkKSk7CisJfSBlbHNlIHsKKwkJc3JjID0gYWRldi0+aXJxLnNvdXJjZXNb c3JjX2lkXTsKKwkJaWYgKCFzcmMpIHsKKwkJCURSTV9ERUJVRygiVW5oYW5kbGVkIGludGVycnVw dCBzcmNfaWQ6ICVkXG4iLCBzcmNfaWQpOworCQkJcmV0dXJuOworCQl9CiAKLQlyID0gc3JjLT5m dW5jcy0+cHJvY2VzcyhhZGV2LCBzcmMsIGVudHJ5KTsKLQlpZiAocikKLQkJRFJNX0VSUk9SKCJl cnJvciBwcm9jZXNzaW5nIGludGVycnVwdCAoJWQpXG4iLCByKTsKKwkJciA9IHNyYy0+ZnVuY3Mt PnByb2Nlc3MoYWRldiwgc3JjLCBlbnRyeSk7CisJCWlmIChyKQorCQkJRFJNX0VSUk9SKCJlcnJv ciBwcm9jZXNzaW5nIGludGVycnVwdCAoJWQpXG4iLCByKTsKKwl9CiB9CiAKIC8qKgpAQCAtNDYx LDMgKzQ2Niw5MCBAQCBib29sIGFtZGdwdV9pcnFfZW5hYmxlZChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgc3RydWN0IGFtZGdwdV9pcnFfc3JjICpzcmMsCiAKIAlyZXR1cm4gISFhdG9taWNf cmVhZCgmc3JjLT5lbmFibGVkX3R5cGVzW3R5cGVdKTsKIH0KKworLyogZ2VuIGlycSAqLworc3Rh dGljIHZvaWQgYW1kZ3B1X2lycV9tYXNrKHN0cnVjdCBpcnFfZGF0YSAqaXJxZCkKK3sKKwkvKiBY WFggKi8KK30KKworc3RhdGljIHZvaWQgYW1kZ3B1X2lycV91bm1hc2soc3RydWN0IGlycV9kYXRh ICppcnFkKQoreworCS8qIFhYWCAqLworfQorCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIGFtZGdw dV9pcnFfY2hpcCA9IHsKKwkubmFtZSA9ICJhbWRncHUtaWgiLAorCS5pcnFfbWFzayA9IGFtZGdw dV9pcnFfbWFzaywKKwkuaXJxX3VubWFzayA9IGFtZGdwdV9pcnFfdW5tYXNrLAorfTsKKworc3Rh dGljIGludCBhbWRncHVfaXJxZG9tYWluX21hcChzdHJ1Y3QgaXJxX2RvbWFpbiAqZCwKKwkJCQl1 bnNpZ25lZCBpbnQgaXJxLCBpcnFfaHdfbnVtYmVyX3QgaHdpcnEpCit7CisJaWYgKGh3aXJxID49 IEFNREdQVV9NQVhfSVJRX1NSQ19JRCkKKwkJcmV0dXJuIC1FUEVSTTsKKworCWlycV9zZXRfY2hp cF9hbmRfaGFuZGxlcihpcnEsCisJCQkJICZhbWRncHVfaXJxX2NoaXAsIGhhbmRsZV9zaW1wbGVf aXJxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBpcnFfZG9tYWluX29wcyBhbWRn cHVfaHdfaXJxZG9tYWluX29wcyA9IHsKKwkubWFwID0gYW1kZ3B1X2lycWRvbWFpbl9tYXAsCit9 OworCisvKioKKyAqIGFtZGdwdV9pcnFfYWRkX2RvbWFpbiAtIGNyZWF0ZSBhIGxpbmVhciBpcnEg ZG9tYWluCisgKgorICogQGFkZXY6IGFtZGdwdSBkZXZpY2UgcG9pbnRlcgorICoKKyAqIENyZWF0 ZSBhbiBpcnEgZG9tYWluIGZvciBHUFUgaW50ZXJydXB0IHNvdXJjZXMKKyAqIHRoYXQgbWF5IGJl IGRyaXZlbiBieSBhbm90aGVyIGRyaXZlciAoZS5nLiwgQUNQKS4KKyAqLworaW50IGFtZGdwdV9p cnFfYWRkX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKK3sKKwlhZGV2LT5pcnEu ZG9tYWluID0gaXJxX2RvbWFpbl9hZGRfbGluZWFyKE5VTEwsIEFNREdQVV9NQVhfSVJRX1NSQ19J RCwKKwkJCQkJCSAmYW1kZ3B1X2h3X2lycWRvbWFpbl9vcHMsIGFkZXYpOworCWlmICghYWRldi0+ aXJxLmRvbWFpbikgeworCQlEUk1fRVJST1IoIkdQVSBpcnEgYWRkIGRvbWFpbiBmYWlsZWRcbiIp OworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBhbWRn cHVfaXJxX3JlbW92ZV9kb21haW4gLSByZW1vdmUgdGhlIGlycSBkb21haW4KKyAqCisgKiBAYWRl djogYW1kZ3B1IGRldmljZSBwb2ludGVyCisgKgorICogUmVtb3ZlIHRoZSBpcnEgZG9tYWluIGZv ciBHUFUgaW50ZXJydXB0IHNvdXJjZXMKKyAqIHRoYXQgbWF5IGJlIGRyaXZlbiBieSBhbm90aGVy IGRyaXZlciAoZS5nLiwgQUNQKS4KKyAqLwordm9pZCBhbWRncHVfaXJxX3JlbW92ZV9kb21haW4o c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCit7CisJaWYgKGFkZXYtPmlycS5kb21haW4pIHsK KwkJaXJxX2RvbWFpbl9yZW1vdmUoYWRldi0+aXJxLmRvbWFpbik7CisJCWFkZXYtPmlycS5kb21h aW4gPSBOVUxMOworCX0KK30KKworLyoqCisgKiBhbWRncHVfaXJxX2NyZWF0ZV9tYXBwaW5nIC0g Y3JlYXRlIGEgbWFwcGluZyBiZXR3ZWVuIGEgZG9tYWluIGlycSBhbmQgYQorICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExpbnV4IGlycQorICoKKyAqIEBhZGV2OiBhbWRncHUgZGV2aWNl IHBvaW50ZXIKKyAqIEBzcmNfaWQ6IElIIHNvdXJjZSBpZAorICoKKyAqIENyZWF0ZSBhIG1hcHBp bmcgYmV0d2VlbiBhIGRvbWFpbiBpcnEgKEdQVSBJSCBzcmMgaWQpIGFuZCBhIExpbnV4IGlycQor ICogVXNlIHRoaXMgZm9yIGNvbXBvbmVudHMgdGhhdCBnZW5lcmF0ZSBhIEdQVSBpbnRlcnJ1cHQs IGJ1dCBhcmUgZHJpdmVuCisgKiBieSBhIGRpZmZlcmVudCBkcml2ZXIgKGUuZy4sIEFDUCkuCisg KiBSZXR1cm5zIHRoZSBMaW51eCBpcnEuCisgKi8KK3Vuc2lnbmVkIGFtZGdwdV9pcnFfY3JlYXRl X21hcHBpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIHNyY19pZCkKK3sK KwlhZGV2LT5pcnEudmlycVtzcmNfaWRdID0gaXJxX2NyZWF0ZV9tYXBwaW5nKGFkZXYtPmlycS5k b21haW4sIHNyY19pZCk7CisKKwlyZXR1cm4gYWRldi0+aXJxLnZpcnFbc3JjX2lkXTsKK30KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuaCBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuaAppbmRleCAxN2IwMWFlZi4uZTEyNGI1 OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lycS5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuaApAQCAtMjQsNiArMjQs NyBAQAogI2lmbmRlZiBfX0FNREdQVV9JUlFfSF9fCiAjZGVmaW5lIF9fQU1ER1BVX0lSUV9IX18K IAorI2luY2x1ZGUgPGxpbnV4L2lycWRvbWFpbi5oPgogI2luY2x1ZGUgImFtZGdwdV9paC5oIgog CiAjZGVmaW5lIEFNREdQVV9NQVhfSVJRX1NSQ19JRAkweDEwMApAQCAtNjUsNiArNjYsMTAgQEAg c3RydWN0IGFtZGdwdV9pcnEgewogCS8qIGludGVycnVwdCByaW5nICovCiAJc3RydWN0IGFtZGdw dV9paF9yaW5nCQlpaDsKIAljb25zdCBzdHJ1Y3QgYW1kZ3B1X2loX2Z1bmNzCSppaF9mdW5jczsK KworCS8qIGdlbiBpcnEgc3R1ZmYgKi8KKwlzdHJ1Y3QgaXJxX2RvbWFpbgkJKmRvbWFpbjsgLyog R1BVIGlycSBjb250cm9sbGVyIGRvbWFpbiAqLworCXVuc2lnbmVkCQkJdmlycVtBTURHUFVfTUFY X0lSUV9TUkNfSURdOwogfTsKIAogdm9pZCBhbWRncHVfaXJxX3ByZWluc3RhbGwoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7CkBAIC05MCw0ICs5NSw4IEBAIGludCBhbWRncHVfaXJxX3B1dChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV9pcnFfc3JjICpzcmMsCiBib29s IGFtZGdwdV9pcnFfZW5hYmxlZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFt ZGdwdV9pcnFfc3JjICpzcmMsCiAJCQl1bnNpZ25lZCB0eXBlKTsKIAoraW50IGFtZGdwdV9pcnFf YWRkX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cit2b2lkIGFtZGdwdV9pcnFf cmVtb3ZlX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cit1bnNpZ25lZCBhbWRn cHVfaXJxX2NyZWF0ZV9tYXBwaW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25l ZCBzcmNfaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2Npa19paC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX2loLmMKaW5kZXgg ODk5M2M1MC4uMzBjOWIzYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2Npa19paC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19paC5jCkBAIC0y NzQsNiArMjc0LDExIEBAIHN0YXRpYyB2b2lkIGNpa19paF9zZXRfcnB0cihzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIHN0YXRpYyBpbnQgY2lrX2loX2Vhcmx5X2luaXQodm9pZCAqaGFuZGxl KQogewogCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNl ICopaGFuZGxlOworCWludCByZXQ7CisKKwlyZXQgPSBhbWRncHVfaXJxX2FkZF9kb21haW4oYWRl dik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAogCWNpa19paF9zZXRfaW50ZXJydXB0X2Z1 bmNzKGFkZXYpOwogCkBAIC0zMDAsNiArMzA1LDcgQEAgc3RhdGljIGludCBjaWtfaWhfc3dfZmlu aSh2b2lkICpoYW5kbGUpCiAKIAlhbWRncHVfaXJxX2ZpbmkoYWRldik7CiAJYW1kZ3B1X2loX3Jp bmdfZmluaShhZGV2KTsKKwlhbWRncHVfaXJxX3JlbW92ZV9kb21haW4oYWRldik7CiAKIAlyZXR1 cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2N6X2loLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jCmluZGV4IGJjNzUxYmYuLmM3OTYz OGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2N6X2loLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY3pfaWguYwpAQCAtMjUzLDggKzI1MywxNCBAQCBz dGF0aWMgdm9pZCBjel9paF9zZXRfcnB0cihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIHN0 YXRpYyBpbnQgY3pfaWhfZWFybHlfaW5pdCh2b2lkICpoYW5kbGUpCiB7CiAJc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7CisJaW50IHJl dDsKKworCXJldCA9IGFtZGdwdV9pcnFfYWRkX2RvbWFpbihhZGV2KTsKKwlpZiAocmV0KQorCQly ZXR1cm4gcmV0OwogCiAJY3pfaWhfc2V0X2ludGVycnVwdF9mdW5jcyhhZGV2KTsKKwogCXJldHVy biAwOwogfQogCkBAIC0yNzgsNiArMjg0LDcgQEAgc3RhdGljIGludCBjel9paF9zd19maW5pKHZv aWQgKmhhbmRsZSkKIAogCWFtZGdwdV9pcnFfZmluaShhZGV2KTsKIAlhbWRncHVfaWhfcmluZ19m aW5pKGFkZXYpOworCWFtZGdwdV9pcnFfcmVtb3ZlX2RvbWFpbihhZGV2KTsKIAogCXJldHVybiAw OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5jCmluZGV4IDc3OTUzMmQu LjY3OWU3MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRf aWguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5kX2loLmMKQEAgLTI1 Myw4ICsyNTMsMTQgQEAgc3RhdGljIHZvaWQgaWNlbGFuZF9paF9zZXRfcnB0cihzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKIHN0YXRpYyBpbnQgaWNlbGFuZF9paF9lYXJseV9pbml0KHZvaWQg KmhhbmRsZSkKIHsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqKWhhbmRsZTsKKwlpbnQgcmV0OworCisJcmV0ID0gYW1kZ3B1X2lycV9hZGRfZG9t YWluKGFkZXYpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CiAKIAlpY2VsYW5kX2loX3NldF9p bnRlcnJ1cHRfZnVuY3MoYWRldik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjc4LDYgKzI4NCw3 IEBAIHN0YXRpYyBpbnQgaWNlbGFuZF9paF9zd19maW5pKHZvaWQgKmhhbmRsZSkKIAogCWFtZGdw dV9pcnFfZmluaShhZGV2KTsKIAlhbWRncHVfaWhfcmluZ19maW5pKGFkZXYpOworCWFtZGdwdV9p cnFfcmVtb3ZlX2RvbWFpbihhZGV2KTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L3RvbmdhX2loLmMKaW5kZXggNzQzYzM3Mi4uYjZmN2Q3YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS90b25nYV9paC5jCkBAIC0yNzMsOCArMjczLDE0IEBAIHN0YXRpYyB2b2lkIHRv bmdhX2loX3NldF9ycHRyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogc3RhdGljIGludCB0 b25nYV9paF9lYXJseV9pbml0KHZvaWQgKmhhbmRsZSkKIHsKIAlzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKKwlpbnQgcmV0OworCisJ cmV0ID0gYW1kZ3B1X2lycV9hZGRfZG9tYWluKGFkZXYpOworCWlmIChyZXQpCisJCXJldHVybiBy ZXQ7CiAKIAl0b25nYV9paF9zZXRfaW50ZXJydXB0X2Z1bmNzKGFkZXYpOworCiAJcmV0dXJuIDA7 CiB9CiAKQEAgLTMwMSw2ICszMDcsNyBAQCBzdGF0aWMgaW50IHRvbmdhX2loX3N3X2Zpbmkodm9p ZCAqaGFuZGxlKQogCiAJYW1kZ3B1X2lycV9maW5pKGFkZXYpOwogCWFtZGdwdV9paF9yaW5nX2Zp bmkoYWRldik7CisJYW1kZ3B1X2lycV9hZGRfZG9tYWluKGFkZXYpOwogCiAJcmV0dXJuIDA7CiB9 Ci0tIAoyLjUuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK