From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [RFC] drm/msm/mdp5: use irqdomains Date: Mon, 17 Nov 2014 16:52:50 -0500 Message-ID: <1416261170-1273-1-git-send-email-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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org Cc: Courtney Cavin , Hai Li List-Id: linux-arm-msm@vger.kernel.org Rm9yIG1kcDUsIHRoZSBpcnFzIG9mIGhkbWkvZURQL2RzaTAvZHNpMSBibG9ja3MgZ2V0IHJvdXRl ZCB0aHJvdWdoIHRoZQptZHAgYmxvY2suICBJbiBvcmRlciB0byBkZWNvdXBsZSBoZG1pL2VEUC9l dGMsIHJlZ2lzdGVyIGFuIGlycSBkb21haW4KaW4gbWRwNS4gIFdoZW4gaGRtaS9kc2kvZXRjIGFy ZSB1c2VkIHdpdGggbWRwNCwgdGhleSBjYW4gZGlyZWN0bHkgc2V0dXAKdGhlaXIgaXJxcyBpbiB0 aGVpciBEVCBub2RlcyBhcyBub3JtYWwuICBXaGVuIHVzZWQgd2l0aCBtZHA1LCBpbnN0ZWFkCnNl dCB0aGUgbWRwIGRldmljZSBhcyB0aGUgaW50ZXJydXB0LXBhcmVudCwgYXMgaW46CgoJbWRwOiBx Y29tLG1kc3NfbWRwQGZkOTAwMDAwIHsKCQljb21wYXRpYmxlID0gInFjb20sbWRzc19tZHAiOwoJ CWludGVycnVwdC1jb250cm9sbGVyOwoJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8MT47CgkJLi4uCgl9 OwoKCWhkbWk6IHFjb20saGRtaV90eEBmZDkyMjEwMCB7CgkJY29tcGF0aWJsZSA9ICJxY29tLGhk bWktdHgtODA3NCI7CgkJaW50ZXJydXB0LXBhcmVudCA9IDwmbWRwPjsKCQlpbnRlcnJ1cHRzID0g PDggMD47ICAgLyogTURQNV9IV19JTlRSX1NUQVRVUy5JTlRSX0hETUkgKi8KCQkuLi4KCX07CgpU aGVyZSBpcyBhIHNsaWdodCBhd2t3YXJkbmVzcywgaW4gdGhhdCB3ZSBjYW5ub3QgZGlzYWJsZSBj aGlsZCBpcnFzCmF0IHRoZSBtZHAgbGV2ZWwsIHRoZXkgY2FuIG9ubHkgYmUgY2xlYXJlZCBpbiB0 aGUgY2hpbGQgYmxvY2suICBTbwp5b3UgbXVzdCBub3QgdXNlIHRocmVhZGVkIGlycSBoYW5kbGVy cyBpbiB0aGUgY2hpbGQuICBJJ20gbm90IHN1cmUKaWYgdGhlcmUgaXMgYSBiZXR0ZXIgd2F5IHRv IGRlYWwgd2l0aCB0aGF0LgoKU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21h aWwuY29tPgotLS0KQ291cnRuZXkgcG9pbnRlZCBvdXQgb24gSVJDIHRoYXQgaXJxX3NldF9jaGFp bmVkX2hhbmRsZXIoKSBjb3VsZCBoZWxwCndpdGggdGhlIGNoaWxkLXVzaW5nLXRocmVhZGVkLWhh bmRsZXIgaXNzdWUuLiAgYWx0aG91Z2ggSSdtIG5vdCBxdWl0ZQpzdXJlIGhvdyB5ZXQuICAoT3Ig d2hldGhlciBpdCBpcyBldmVuIHdvcnRoIHNvbHZpbmcuKQoKIGRyaXZlcnMvZ3B1L2RybS9tc20v aGRtaS9oZG1pLmMgICAgICAgICB8IDMzICsrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21z bS9oZG1pL2hkbWkuaCAgICAgICAgIHwgIDMgLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21k cDUvbWRwNV9pcnEuYyB8IDk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJp dmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jIHwgMTAgKysrKwogZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oIHwgIDcgKysrCiBkcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9kcnYuaCAgICAgICAgICAgfCAgMSAtCiA2IGZpbGVzIGNoYW5nZWQsIDEyMiBpbnNl cnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2hkbWkvaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWkuYwppbmRleCA5 MDA3NzYxLi5kYjhjM2I0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRt aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmMKQEAgLTE1LDYgKzE1LDcg QEAKICAqIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KICAqLwogCisjaW5jbHVkZSA8bGludXgvb2ZfaXJxLmg+CiAjaW5jbHVkZSAiaGRt aS5oIgogCiB2b2lkIGhkbWlfc2V0X21vZGUoc3RydWN0IGhkbWkgKmhkbWksIGJvb2wgcG93ZXJf b24pCkBAIC0zOSw3ICs0MCw3IEBAIHZvaWQgaGRtaV9zZXRfbW9kZShzdHJ1Y3QgaGRtaSAqaGRt aSwgYm9vbCBwb3dlcl9vbikKIAkJCXBvd2VyX29uID8gIkVuYWJsZSIgOiAiRGlzYWJsZSIsIGN0 cmwpOwogfQogCi1pcnFyZXR1cm5fdCBoZG1pX2lycShpbnQgaXJxLCB2b2lkICpkZXZfaWQpCitz dGF0aWMgaXJxcmV0dXJuX3QgaGRtaV9pcnEoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogewogCXN0 cnVjdCBoZG1pICpoZG1pID0gZGV2X2lkOwogCkBAIC0yMDAsNyArMjAxLDYgQEAgaW50IGhkbWlf bW9kZXNldF9pbml0KHN0cnVjdCBoZG1pICpoZG1pLAogewogCXN0cnVjdCBtc21fZHJtX3ByaXZh dGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYgPSBoZG1pLT5wZGV2OwotCXN0cnVjdCBoZG1pX3BsYXRmb3JtX2NvbmZpZyAqY29uZmlnID0g cGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7CiAJaW50IHJldDsKIAogCWhkbWktPmRldiA9IGRldjsK QEAgLTIyNCwyMiArMjI0LDIwIEBAIGludCBoZG1pX21vZGVzZXRfaW5pdChzdHJ1Y3QgaGRtaSAq aGRtaSwKIAkJZ290byBmYWlsOwogCX0KIAotCWlmICghY29uZmlnLT5zaGFyZWRfaXJxKSB7Ci0J CWhkbWktPmlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7Ci0JCWlmIChoZG1pLT5pcnEg PCAwKSB7Ci0JCQlyZXQgPSBoZG1pLT5pcnE7Ci0JCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVk IHRvIGdldCBpcnE6ICVkXG4iLCByZXQpOwotCQkJZ290byBmYWlsOwotCQl9CisJaGRtaS0+aXJx ID0gaXJxX29mX3BhcnNlX2FuZF9tYXAocGRldi0+ZGV2Lm9mX25vZGUsIDApOworCWlmIChoZG1p LT5pcnEgPCAwKSB7CisJCXJldCA9IGhkbWktPmlycTsKKwkJZGV2X2VycihkZXYtPmRldiwgImZh aWxlZCB0byBnZXQgaXJxOiAlZFxuIiwgcmV0KTsKKwkJZ290byBmYWlsOworCX0KIAotCQlyZXQg PSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJxKCZwZGV2LT5kZXYsIGhkbWktPmlycSwKLQkJCQlO VUxMLCBoZG1pX2lycSwgSVJRRl9UUklHR0VSX0hJR0ggfCBJUlFGX09ORVNIT1QsCi0JCQkJImhk bWlfaXNyIiwgaGRtaSk7Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZfZXJyKGRldi0+ZGV2LCAi ZmFpbGVkIHRvIHJlcXVlc3QgSVJRJXU6ICVkXG4iLAotCQkJCQloZG1pLT5pcnEsIHJldCk7Ci0J CQlnb3RvIGZhaWw7Ci0JCX0KKwlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKCZwZGV2LT5kZXYsIGhk bWktPmlycSwKKwkJCWhkbWlfaXJxLCBJUlFGX1RSSUdHRVJfSElHSCB8IElSUUZfT05FU0hPVCwK KwkJCSJoZG1pX2lzciIsIGhkbWkpOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIoZGV2LT5k ZXYsICJmYWlsZWQgdG8gcmVxdWVzdCBJUlEldTogJWRcbiIsCisJCQkJaGRtaS0+aXJxLCByZXQp OworCQlnb3RvIGZhaWw7CiAJfQogCiAJZW5jb2Rlci0+YnJpZGdlID0gaGRtaS0+YnJpZGdlOwpA QCAtMzE4LDcgKzMxNiw2IEBAIHN0YXRpYyBpbnQgaGRtaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRl diwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQogCQljb25maWcuaHBkX2Nsa19j bnQgICA9IEFSUkFZX1NJWkUoaHBkX2Nsa19uYW1lcyk7CiAJCWNvbmZpZy5wd3JfY2xrX25hbWVz ID0gcHdyX2Nsa19uYW1lczsKIAkJY29uZmlnLnB3cl9jbGtfY250ICAgPSBBUlJBWV9TSVpFKHB3 cl9jbGtfbmFtZXMpOwotCQljb25maWcuc2hhcmVkX2lycSAgICA9IHRydWU7CiAJfSBlbHNlIGlm IChvZl9kZXZpY2VfaXNfY29tcGF0aWJsZShvZl9ub2RlLCAicWNvbSxoZG1pLXR4LTg5NjAiKSkg ewogCQlzdGF0aWMgY29uc3QgY2hhciAqaHBkX2Nsa19uYW1lc1tdID0geyJjb3JlX2NsayIsICJt YXN0ZXJfaWZhY2VfY2xrIiwgInNsYXZlX2lmYWNlX2NsayJ9OwogCQlzdGF0aWMgY29uc3QgY2hh ciAqaHBkX3JlZ19uYW1lc1tdID0geyJjb3JlLXZkZGEiLCAiaGRtaS1tdXgifTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2hkbWkvaGRtaS5oCmluZGV4IGI5ODE5OTUuLjBhNmY1MzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vaGRtaS9oZG1pLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hk bWkuaApAQCAtOTcsOSArOTcsNiBAQCBzdHJ1Y3QgaGRtaV9wbGF0Zm9ybV9jb25maWcgewogCS8q IGdwaW8nczogKi8KIAlpbnQgZGRjX2Nsa19ncGlvLCBkZGNfZGF0YV9ncGlvLCBocGRfZ3Bpbywg bXV4X2VuX2dwaW8sIG11eF9zZWxfZ3BpbzsKIAlpbnQgbXV4X2xwbV9ncGlvOwotCi0JLyogb2xk ZXIgZGV2aWNlcyBoYWQgdGhlaXIgb3duIGlycSwgbWRwNSsgaXQgaXMgc2hhcmVkIHcvIG1kcDog Ki8KLQlib29sIHNoYXJlZF9pcnE7CiB9OwogCiB2b2lkIGhkbWlfc2V0X21vZGUoc3RydWN0IGhk bWkgKmhkbWksIGJvb2wgcG93ZXJfb24pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X2lycS5jCmluZGV4IDgxMmM1OWIuLjcwYWM4MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbWRwL21kcDUvbWRwNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfaXJxLmMKQEAgLTE1LDYgKzE1LDggQEAKICAqIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCisjaW5jbHVkZSA8 bGludXgvaXJxZG9tYWluLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAKICNpbmNsdWRlICJt c21fZHJ2LmgiCiAjaW5jbHVkZSAibWRwNV9rbXMuaCIKQEAgLTgyLDE4ICs4NCwyMyBAQCBpcnFy ZXR1cm5fdCBtZHA1X2lycShzdHJ1Y3QgbXNtX2ttcyAqa21zKQogewogCXN0cnVjdCBtZHBfa21z ICptZHBfa21zID0gdG9fbWRwX2ttcyhrbXMpOwogCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMg PSB0b19tZHA1X2ttcyhtZHBfa21zKTsKLQlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0g bWRwNV9rbXMtPmRldi0+ZGV2X3ByaXZhdGU7CiAJdWludDMyX3QgaW50cjsKIAogCWludHIgPSBt ZHA1X3JlYWQobWRwNV9rbXMsIFJFR19NRFA1X0hXX0lOVFJfU1RBVFVTKTsKIAogCVZFUkIoImlu dHI9JTA4eCIsIGludHIpOwogCi0JaWYgKGludHIgJiBNRFA1X0hXX0lOVFJfU1RBVFVTX0lOVFJf TURQKQorCWlmIChpbnRyICYgTURQNV9IV19JTlRSX1NUQVRVU19JTlRSX01EUCkgewogCQltZHA1 X2lycV9tZHAobWRwX2ttcyk7CisJCWludHIgJj0gfk1EUDVfSFdfSU5UUl9TVEFUVVNfSU5UUl9N RFA7CisJfQogCi0JaWYgKGludHIgJiBNRFA1X0hXX0lOVFJfU1RBVFVTX0lOVFJfSERNSSkKLQkJ aGRtaV9pcnEoMCwgcHJpdi0+aGRtaSk7CisJd2hpbGUgKGludHIpIHsKKwkJaXJxX2h3X251bWJl cl90IGh3aXJxID0gZmxzKGludHIpIC0gMTsKKwkJZ2VuZXJpY19oYW5kbGVfaXJxKGlycV9maW5k X21hcHBpbmcoCisJCQkJbWRwNV9rbXMtPmlycWNvbnRyb2xsZXIuZG9tYWluLCBod2lycSkpOwor CQlpbnRyICY9IH4oMSA8PCBod2lycSk7CisJfQogCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQpA QCAtMTEwLDMgKzExNyw4MiBAQCB2b2lkIG1kcDVfZGlzYWJsZV92Ymxhbmsoc3RydWN0IG1zbV9r bXMgKmttcywgc3RydWN0IGRybV9jcnRjICpjcnRjKQogCW1kcF91cGRhdGVfdmJsYW5rX21hc2so dG9fbWRwX2ttcyhrbXMpLAogCQkJbWRwNV9jcnRjX3ZibGFuayhjcnRjKSwgZmFsc2UpOwogfQor CisvKgorICogaW50ZXJydXB0LWNvbnRyb2xsZXIgaW1wbGVtZW50YXRpb24sIHNvIHN1Yi1ibG9j a3MgKGhkbWkvZURQL2RzaS9ldGMpCisgKiBjYW4gcmVnaXN0ZXIgdG8gZ2V0IHRoZWlyIGlycSdz IGRlbGl2ZXJlZAorICovCisKKyNkZWZpbmUgVkFMSURfSVJRUyAgKE1EUDVfSFdfSU5UUl9TVEFU VVNfSU5UUl9EU0kwIHwgXAorCQlNRFA1X0hXX0lOVFJfU1RBVFVTX0lOVFJfRFNJMSB8IFwKKwkJ TURQNV9IV19JTlRSX1NUQVRVU19JTlRSX0hETUkgfCBcCisJCU1EUDVfSFdfSU5UUl9TVEFUVVNf SU5UUl9FRFApCisKK3N0YXRpYyB2b2lkIG1kcDVfaHdfbWFza19pcnEoc3RydWN0IGlycV9kYXRh ICppcnFkKQoreworCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSBpcnFfZGF0YV9nZXRfaXJx X2NoaXBfZGF0YShpcnFkKTsKKwlzbXBfbWJfX2JlZm9yZV9hdG9taWMoKTsKKwljbGVhcl9iaXQo aXJxZC0+aHdpcnEsICZtZHA1X2ttcy0+aXJxY29udHJvbGxlci5lbmFibGVkX21hc2spOworCXNt cF9tYl9fYWZ0ZXJfYXRvbWljKCk7Cit9CisKK3N0YXRpYyB2b2lkIG1kcDVfaHdfdW5tYXNrX2ly cShzdHJ1Y3QgaXJxX2RhdGEgKmlycWQpCit7CisJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9 IGlycV9kYXRhX2dldF9pcnFfY2hpcF9kYXRhKGlycWQpOworCXNtcF9tYl9fYmVmb3JlX2F0b21p YygpOworCXNldF9iaXQoaXJxZC0+aHdpcnEsICZtZHA1X2ttcy0+aXJxY29udHJvbGxlci5lbmFi bGVkX21hc2spOworCXNtcF9tYl9fYWZ0ZXJfYXRvbWljKCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qg aXJxX2NoaXAgbWRwNV9od19pcnFfY2hpcCA9IHsKKwkubmFtZQkJPSAibWRwNSIsCisJLmlycV9t YXNrCT0gbWRwNV9od19tYXNrX2lycSwKKwkuaXJxX3VubWFzawk9IG1kcDVfaHdfdW5tYXNrX2ly cSwKK307CisKK3N0YXRpYyBpbnQgbWRwNV9od19pcnFkb21haW5fbWFwKHN0cnVjdCBpcnFfZG9t YWluICpkLAorCQl1bnNpZ25lZCBpbnQgaXJxLCBpcnFfaHdfbnVtYmVyX3QgaHdpcnEpCit7CisJ c3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IGQtPmhvc3RfZGF0YTsKKworCWlmICghKFZBTElE X0lSUVMgJiAoMSA8PCBod2lycSkpKQorCQlyZXR1cm4gLUVQRVJNOworCisJaXJxX3NldF9jaGlw X2FuZF9oYW5kbGVyKGlycSwgJm1kcDVfaHdfaXJxX2NoaXAsIGhhbmRsZV9sZXZlbF9pcnEpOwor CWlycV9zZXRfY2hpcF9kYXRhKGlycSwgbWRwNV9rbXMpOworCXNldF9pcnFfZmxhZ3MoaXJxLCBJ UlFGX1ZBTElEKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGlycV9kb21haW5f b3BzIG1kcDVfaHdfaXJxZG9tYWluX29wcyA9IHsKKwkubWFwID0gbWRwNV9od19pcnFkb21haW5f bWFwLAorCS54bGF0ZSA9IGlycV9kb21haW5feGxhdGVfb25lY2VsbCwKK307CisKKworaW50IG1k cDVfaXJxX2RvbWFpbl9pbml0KHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMpCit7CisJc3RydWN0 IGRldmljZSAqZGV2ID0gbWRwNV9rbXMtPmRldi0+ZGV2OworCXN0cnVjdCBpcnFfZG9tYWluICpk OworCisJZCA9IGlycV9kb21haW5fYWRkX2xpbmVhcihkZXYtPm9mX25vZGUsIDMyLAorCQkJJm1k cDVfaHdfaXJxZG9tYWluX29wcywgbWRwNV9rbXMpOworCWlmICghZCkgeworCQlkZXZfZXJyKGRl diwgIm1kcDUgaXJxIGRvbWFpbiBhZGQgZmFpbGVkXG4iKTsKKwkJcmV0dXJuIC1FTlhJTzsKKwl9 CisKKwltZHA1X2ttcy0+aXJxY29udHJvbGxlci5lbmFibGVkX21hc2sgPSAwOworCW1kcDVfa21z LT5pcnFjb250cm9sbGVyLmRvbWFpbiA9IGQ7CisKKwlyZXR1cm4gMDsKK30KKwordm9pZCBtZHA1 X2lycV9kb21haW5fZmluaShzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zKQoreworCWlmIChtZHA1 X2ttcy0+aXJxY29udHJvbGxlci5kb21haW4pIHsKKwkJaXJxX2RvbWFpbl9yZW1vdmUobWRwNV9r bXMtPmlycWNvbnRyb2xsZXIuZG9tYWluKTsKKwkJbWRwNV9rbXMtPmlycWNvbnRyb2xsZXIuZG9t YWluID0gTlVMTDsKKwl9Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMK aW5kZXggY2UwMzA4MS4uNmM0MTRkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t ZHAvbWRwNS9tZHA1X2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9rbXMuYwpAQCAtMjIxLDEwICsyMjEsMTMgQEAgc3RhdGljIHZvaWQgbWRwNV9kZXN0cm95KHN0 cnVjdCBtc21fa21zICprbXMpCiAJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVf a21zKHRvX21kcF9rbXMoa21zKSk7CiAJc3RydWN0IG1zbV9tbXUgKm1tdSA9IG1kcDVfa21zLT5t bXU7CiAKKwltZHA1X2lycV9kb21haW5fZmluaShtZHA1X2ttcyk7CisKIAlpZiAobW11KSB7CiAJ CW1tdS0+ZnVuY3MtPmRldGFjaChtbXUsIGlvbW11X3BvcnRzLCBBUlJBWV9TSVpFKGlvbW11X3Bv cnRzKSk7CiAJCW1tdS0+ZnVuY3MtPmRlc3Ryb3kobW11KTsKIAl9CisKIAlrZnJlZShtZHA1X2tt cyk7CiB9CiAKQEAgLTI3OSw2ICsyODIsMTMgQEAgc3RhdGljIGludCBtb2Rlc2V0X2luaXQoc3Ry dWN0IG1kcDVfa21zICptZHA1X2ttcykKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7CiAJ aW50IGksIHJldDsKIAorCS8qIHJlZ2lzdGVyIG91ciBpbnRlcnJ1cHQtY29udHJvbGxlciBmb3Ig aGRtaS9lRFAvZHNpL2V0YworCSAqIHRvIHVzZSBmb3IgaXJxcyByb3V0ZWQgdGhyb3VnaCBtZHA6 CisJICovCisJcmV0ID0gbWRwNV9pcnFfZG9tYWluX2luaXQobWRwNV9rbXMpOworCWlmIChyZXQp CisJCWdvdG8gZmFpbDsKKwogCS8qIGNvbnN0cnVjdCBDUlRDczogKi8KIAlmb3IgKGkgPSAwOyBp IDwgbWRwNV9rbXMtPmh3X2NmZy0+cGlwZV9yZ2IuY291bnQ7IGkrKykgewogCQlzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUv bWRwNV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaAppbmRl eCBjOTExMDFkLi4wZTllM2Y3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfa21zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2tt cy5oCkBAIC03Miw2ICs3MiwxMSBAQCBzdHJ1Y3QgbWRwNV9rbXMgewogCXN0cnVjdCBjbGsgKnZz eW5jX2NsazsKIAogCXN0cnVjdCBtZHBfaXJxIGVycm9yX2hhbmRsZXI7CisKKwlzdHJ1Y3Qgewor CQl2b2xhdGlsZSB1bnNpZ25lZCBsb25nIGVuYWJsZWRfbWFzazsKKwkJc3RydWN0IGlycV9kb21h aW4gKmRvbWFpbjsKKwl9IGlycWNvbnRyb2xsZXI7CiB9OwogI2RlZmluZSB0b19tZHA1X2ttcyh4 KSBjb250YWluZXJfb2YoeCwgc3RydWN0IG1kcDVfa21zLCBiYXNlKQogCkBAIC0xOTUsNiArMjAw LDggQEAgdm9pZCBtZHA1X2lycV91bmluc3RhbGwoc3RydWN0IG1zbV9rbXMgKmttcyk7CiBpcnFy ZXR1cm5fdCBtZHA1X2lycShzdHJ1Y3QgbXNtX2ttcyAqa21zKTsKIGludCBtZHA1X2VuYWJsZV92 Ymxhbmsoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHZvaWQg bWRwNV9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOworaW50IG1kcDVfaXJxX2RvbWFpbl9pbml0KHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9r bXMpOwordm9pZCBtZHA1X2lycV9kb21haW5fZmluaShzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21z KTsKIAogc3RhdGljIGlubGluZQogdWludDMyX3QgbWRwNV9nZXRfZm9ybWF0cyhlbnVtIG1kcDVf cGlwZSBwaXBlLCB1aW50MzJfdCAqcGl4ZWxfZm9ybWF0cywKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKaW5k ZXggNGI1MmQ3NS4uMTM2MzAzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKQEAgLTIxNSw3ICsyMTUs NiBAQCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqbXNtX2ZiZGV2X2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldik7CiBzdHJ1Y3QgaGRtaTsKIGludCBoZG1pX21vZGVzZXRfaW5pdChzdHJ1Y3QgaGRt aSAqaGRtaSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyKTsKLWlycXJldHVybl90IGhkbWlfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiB2 b2lkIF9faW5pdCBoZG1pX3JlZ2lzdGVyKHZvaWQpOwogdm9pZCBfX2V4aXQgaGRtaV91bnJlZ2lz dGVyKHZvaWQpOwogCi0tIAoxLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK