From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 35/38] drm/i915/preempt: Implement mid-batch preemption support Date: Fri, 11 Dec 2015 14:50:43 +0000 Message-ID: <1449845443-14951-1-git-send-email-John.C.Harrison@Intel.com> References: <1448278932-31551-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F68A6EF1C for ; Fri, 11 Dec 2015 06:50:47 -0800 (PST) In-Reply-To: <1448278932-31551-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KCkJhdGNoIGJ1ZmZl cnMgd2hpY2ggaGF2ZSBiZWVuIHByZS1lbXB0aW9uIG1pZC13YXkgdGhyb3VnaCBleGVjdXRpb24K bXVzdCBiZSBoYW5kbGVkIHNlcGVyYXRlbHkuIFJhdGhlciB0aGFuIHNpbXBseSByZS1zdWJtaXR0 aW5nIHRoZSBiYXRjaAphcyBhIGJyYW5kIG5ldyBwaWVjZSBvZiB3b3JrLCB0aGUgZHJpdmVyIG9u bHkgbmVlZHMgdG8gcmVxdWV1ZSB0aGUKY29udGV4dC4gVGhlIGhhcmR3YXJlIHdpbGwgdGFrZSBj YXJlIG9mIHBpY2tpbmcgdXAgd2hlcmUgaXQgbGVmdCBvZmYuCgp2MjogTmV3IHBhdGNoIGluIHNl cmllcy4KCkZvcjogVklaLTIwMjEKU2lnbmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMu Z29yZG9uQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YyAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyB8IDU1ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3NjaGVkdWxlci5oIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j ICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICB8ICAxICsKIDUgZmlsZXMgY2hhbmdlZCwgMTA1IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YwppbmRleCA3MTM3NDM5Li42Nzk4ZjljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YwpAQCAtMzcyMiw2ICszNzIyLDcgQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9pbmZvKHN0 cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCVBSSU5UX1ZBUigiICBRdWV1ZWQiLCAg ICAgICAgICAgICAgICJ1Iiwgc3RhdHNbcl0ucXVldWVkKTsKIAlQUklOVF9WQVIoIiAgU3VibWl0 dGVkIiwgICAgICAgICAgICAidSIsIHN0YXRzW3JdLnN1Ym1pdHRlZCk7CiAJUFJJTlRfVkFSKCIg IFByZWVtcHRlZCIsICAgICAgICAgICAgInUiLCBzdGF0c1tyXS5wcmVlbXB0ZWQpOworCVBSSU5U X1ZBUigiICBNaWRiYXRjaCBwcmVlbXB0ZWQiLCAgICJ1Iiwgc3RhdHNbcl0ubWlkX3ByZWVtcHRl ZCk7CiAJUFJJTlRfVkFSKCIgIENvbXBsZXRlZCIsICAgICAgICAgICAgInUiLCBzdGF0c1tyXS5j b21wbGV0ZWQpOwogCVBSSU5UX1ZBUigiICBFeHBpcmVkIiwgICAgICAgICAgICAgICJ1Iiwgc3Rh dHNbcl0uZXhwaXJlZCk7CiAJc2VxX3B1dGMobSwgJ1xuJyk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9zY2hlZHVsZXIuYwppbmRleCBkMGM0YjQ2Li5kOTZlZWZiIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfc2NoZWR1bGVyLmMKQEAgLTc0Myw2ICs3NDMsNyBAQCBpOTE1X3NjaGVkdWxlcl9wcmVl bXB0aW9uX3Bvc3Rwcm9jZXNzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJc3RydWN0 IGk5MTVfc2NoZWR1bGVyICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOwogCXN0cnVj dCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqcG5vZGUgPSBOVUxMOwogCXN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcHJlcSA9IE5VTEw7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICptaWRwID0gTlVMTDsKIAlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfc3RhdHMgKnN0YXRzOwog CXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHByZWVtcHRlZCA9IDAsIHByZWVtcHRpdmUgPSAw OwpAQCAtODA2LDggKzgwNywxMiBAQCBpOTE1X3NjaGVkdWxlcl9wcmVlbXB0aW9uX3Bvc3Rwcm9j ZXNzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCQkJbm9kZS0+c3RhdHVzID0gaTkx NV9zcXNfcHJlZW1wdGVkOwogCQkJCXRyYWNlX2k5MTVfc2NoZWR1bGVyX3VuZmx5KHJpbmcsIG5v ZGUpOwogCQkJCXRyYWNlX2k5MTVfc2NoZWR1bGVyX25vZGVfc3RhdGVfY2hhbmdlKHJpbmcsIG5v ZGUpOwotCQkJCS8qIEVtcHR5IHRoZSBwcmVlbXB0ZWQgcmluZ2J1ZmZlciAqLwotCQkJCWludGVs X2xyX2NvbnRleHRfcmVzeW5jKHJlcS0+Y3R4LCByaW5nLCBmYWxzZSk7CisKKwkJCQkvKiBJZGVu dGlmeSBhIG1pZC1iYXRjaCBwcmVlbXB0aW9uICovCisJCQkJaWYgKHJlcS0+c2Vxbm8gPT0gcmlu Zy0+bGFzdF9iYXRjaF9zdGFydCkgeworCQkJCQlXQVJOKG1pZHAsICJNdWx0aXBsZSBtaWQtYmF0 Y2gtcHJlZW1wdGVkIHJlcXVlc3RzP1xuIik7CisJCQkJCW1pZHAgPSByZXE7CisJCQkJfQogCQkJ fQogCiAJCQlpOTE1X2dlbV9yZXF1ZXN0X2RlcXVldWUocmVxKTsKQEAgLTgyMSwxMSArODI2LDQ3 IEBAIGk5MTVfc2NoZWR1bGVyX3ByZWVtcHRpb25fcG9zdHByb2Nlc3Moc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZykKIAlpZiAoc3RhdHMtPm1heF9wcmVlbXB0ZWQgPCBwcmVlbXB0ZWQpCiAJ CXN0YXRzLT5tYXhfcHJlZW1wdGVkID0gcHJlZW1wdGVkOwogCisJLyogTm93IGZpeCB1cCB0aGUg Y29udGV4dHMgb2YgYWxsIHByZWVtcHR7aXZlLGVkfSByZXF1ZXN0cyAqLwogCXsKLQkJLyogWFhY OiBTa3kgc2hvdWxkIGJlIGVtcHR5IG5vdyAqLworCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqbWlk X2N0eCA9IE5VTEw7CiAJCXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZTsK LQkJbGlzdF9mb3JfZWFjaF9lbnRyeShub2RlLCAmc2NoZWR1bGVyLT5ub2RlX3F1ZXVlW3Jpbmct PmlkXSwgbGluaykKLQkJCVdBUk5fT04oSTkxNV9TUVNfSVNfRkxZSU5HKG5vZGUpKTsKKwkJdTMy IHN0YXJ0ZWQgPSByaW5nLT5sYXN0X2JhdGNoX3N0YXJ0OworCisJCS8qCisJCSAqIElmZiBwcmVl bXB0aW9uIHdhcyBtaWQtYmF0Y2gsIHdlIHNob3VsZCBoYXZlIGZvdW5kIGEKKwkJICogbWlkLWJh dGNoLXByZWVtcHRlZCByZXF1ZXN0CisJCSAqLworCQlpZiAoc3RhcnRlZCAmJiBzdGFydGVkICE9 IHJpbmctPmxhc3RfaXJxX3NlcW5vKQorCQkJV0FSTighbWlkcCwgIk1pZC1iYXRjaCBwcmVlbXB0 ZWQsIGJ1dCByZXF1ZXN0IG5vdCBmb3VuZFxuIik7CisJCWVsc2UKKwkJCVdBUk4obWlkcCwgIkZv dW5kIHVuZXhwZWN0ZWQgbWlkLWJhdGNoIHByZWVtcHRpb24/XG4iKTsKKworCQlpZiAobWlkcCkg eworCQkJLyogUmV3cml0ZSB0aGlzIGNvbnRleHQgcmF0aGVyIHRoYW4gZW1wdHlpbmcgaXQgKi8K KwkJCWludGVsX2xyX2NvbnRleHRfcmVzeW5jX3JlcShtaWRwKTsKKwkJCW1pZHAtPnNjaGVkdWxl cl9mbGFncyB8PSBpOTE1X3JlcV9zZl9yZXN0YXJ0OworCQkJbWlkX2N0eCA9IG1pZHAtPmN0eDsK KwkJCXN0YXRzLT5taWRfcHJlZW1wdGVkICs9IDE7CisJCQlXQVJOX09OKHByZXEgPT0gbWlkcCk7 CisJCX0KKworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KG5vZGUsICZzY2hlZHVsZXItPm5vZGVfcXVl dWVbcmluZy0+aWRdLCBsaW5rKSB7CisJCQkvKiBYWFg6IFNreSBzaG91bGQgYmUgZW1wdHkgbm93 ICovCisJCQlpZiAoV0FSTl9PTihJOTE1X1NRU19JU19GTFlJTkcobm9kZSkpKQorCQkJCWNvbnRp bnVlOworCisJCQkvKiBDbGVhbiB1cCBwcmVlbXB0ZWQgY29udGV4dHMgKi8KKwkJCWlmIChub2Rl LT5zdGF0dXMgIT0gaTkxNV9zcXNfcHJlZW1wdGVkKQorCQkJCWNvbnRpbnVlOworCisJCQlpZiAo bm9kZS0+cGFyYW1zLmN0eCAhPSBtaWRfY3R4KSB7CisJCQkJLyogRW1wdHkgdGhlIHByZWVtcHRl ZCByaW5nYnVmZmVyICovCisJCQkJaW50ZWxfbHJfY29udGV4dF9yZXN5bmMobm9kZS0+cGFyYW1z LmN0eCwgcmluZywgZmFsc2UpOworCQkJCS8qIFJlcXVlc3QgaXMgbm93IHF1ZXVlZCwgbm90IHBy ZWVtcHRlZCAqLworCQkJCW5vZGUtPnN0YXR1cyA9IGk5MTVfc3FzX3F1ZXVlZDsKKwkJCQl0cmFj ZV9pOTE1X3NjaGVkdWxlcl9ub2RlX3N0YXRlX2NoYW5nZShyaW5nLCBub2RlKTsKKwkJCX0KKwkJ fQogCX0KIAogCS8qIEFueXRoaW5nIGVsc2UgdG8gZG8gaGVyZSAuLi4gPyAqLwpAQCAtMTc0Niw3 ICsxNzg3LDkgQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9zdWJtaXQoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZywgYm9vbCB3YXNfbG9ja2VkKQogCQlzcGluX2xvY2tfaXJxc2F2ZSgm c2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CiAJCXNjaGVkdWxlci0+ZmxhZ3NbcmluZy0+aWRdICY9 IH5pOTE1X3NmX3N1Ym1pdHRpbmc7CiAKLQkJaWYgKHJldCkgeworCQlpZiAocmV0ID09IDApIHsK KwkJCXJlcS0+c2NoZWR1bGVyX2ZsYWdzICY9IH5pOTE1X3JlcV9zZl9yZXN0YXJ0OworCQl9IGVs c2UgewogCQkJaW50IHJlcXVldWUgPSAxOwogCiAJCQkvKiBPaCBkZWFyISBFaXRoZXIgdGhlIG5v ZGUgaXMgYnJva2VuIG9yIHRoZSByaW5nIGlzCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3NjaGVkdWxlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVs ZXIuaAppbmRleCA3ZTdlOTc0Li44NmViZmRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3NjaGVkdWxlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2No ZWR1bGVyLmgKQEAgLTMzLDYgKzMzLDggQEAgZW51bSB7CiAJaTkxNV9yZXFfc2Zfd2FzX3ByZWVt cHQgICAgICA9ICgxIDw8IDEpLAogCS8qIFJlcXVlc3QgaXMgcHJlZW1wdGl2ZSAqLwogCWk5MTVf cmVxX3NmX3ByZWVtcHQgICAgICAgICAgPSAoMSA8PCAyKSwKKwkvKiBSZXF1ZXN0IGhhcyBiZWVu IHByZWVtcHRlZCBtaWRiYXRjaCwgbmVlZCB0byByZXN0YXJ0ICovCisJaTkxNV9yZXFfc2ZfcmVz dGFydCAgICAgICAgICA9ICgxIDw8IDMpLAogfTsKIAogZW51bSBpOTE1X3NjaGVkdWxlcl9xdWV1 ZV9zdGF0dXMgewpAQCAtMTA4LDYgKzExMCw3IEBAIHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9zdGF0 cyB7CiAJdWludDMyX3QgICAgICAgICAgICBxdWV1ZWQ7CiAJdWludDMyX3QgICAgICAgICAgICBz dWJtaXR0ZWQ7CiAJdWludDMyX3QgICAgICAgICAgICBwcmVlbXB0ZWQ7CisJdWludDMyX3QgICAg ICAgICAgICBtaWRfcHJlZW1wdGVkOwogCXVpbnQzMl90ICAgICAgICAgICAgY29tcGxldGVkOwog CXVpbnQzMl90ICAgICAgICAgICAgZXhwaXJlZDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpp bmRleCBjYzlmMjEzLi4zNmQ2M2I3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTAx Miw2ICsxMDEyLDE4IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbl9maW5hbChzdHJ1 Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zKQogCWlmIChyZXQpCiAJCWdvdG8gZXJy OwogCisJLyoKKwkgKiBGb3IgdGhlIGNhc2Ugb2YgcmVzdGFydGluZyBhIG1pZC1iYXRjaCBwcmVl bXB0ZWQgcmVxdWVzdCwKKwkgKiB0aGUgcmluZ2J1ZmZlciBhbHJlYWR5IGNvbnRhaW5zIGFsbCBu ZWNlc3NhcnkgaW5zdHJ1Y3Rpb25zLAorCSAqIHNvIHdlIGNhbiBqdXN0IGdvIHN0cmFpZ2h0IHRv IHN1Ym1pdHRpbmcgaXQKKwkgKi8KKwlpZiAoKHJlcS0+c2NoZWR1bGVyX2ZsYWdzICYgaTkxNV9y ZXFfc2ZfcmVzdGFydCkpIHsKKwkJRFJNX0RFQlVHX0RSSVZFUigicmVzdGFydDogcmVxIGhlYWQv dGFpbCAweCV4LyV4IHJpbmdidWYgMHgleC8leFxuIiwKKwkJCXJlcS0+aGVhZCwgcmVxLT50YWls LCByaW5nYnVmLT5oZWFkLCByaW5nYnVmLT50YWlsKTsKKwkJaTkxNV9nZW1fZXhlY2J1ZmZlcl9y ZXRpcmVfY29tbWFuZHMocGFyYW1zKTsKKwkJcmV0dXJuIDA7CisJfQorCiAJLyogcmVjb3JkIHdo ZXJlIHdlIHN0YXJ0IGZpbGxpbmcgdGhlIHJpbmcgKi8KIAlyZXEtPmhlYWQgPSBpbnRlbF9yaW5n X2dldF90YWlsKHJpbmdidWYpOwogCkBAIC0yNjcwLDYgKzI2ODIsNDUgQEAgZXJyb3JfcG06CiB9 CiAKIC8qCisgKiBVcGRhdGUgdGhlIHJpbmdidWZmZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVj aWZpZWQgcmVxdWVzdAorICogc28gdGhhdCBvbmx5IHRoZSBzZWN0aW9uIHJlbGF0aW5nIHRvIHRo YXQgcmVxdWVzdCBpcyB2YWxpZC4KKyAqIFRoZW4gcHJvcGFnYXRlIHRoZSBjaGFuZ2UgdG8gdGhl IGFzc29jaWF0ZWQgY29udGV4dCBpbWFnZS4KKyAqLwordm9pZCBpbnRlbF9scl9jb250ZXh0X3Jl c3luY19yZXEoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCit7CisJZW51bSBpbnRl bF9yaW5nX2lkIHJpbmdfaWQgPSByZXEtPnJpbmctPmlkOworCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpjdHhfb2JqOworCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmOworCXN0 cnVjdCBwYWdlICpwYWdlOworCXVpbnQzMl90ICpyZWdfc3RhdGU7CisKKwljdHhfb2JqID0gcmVx LT5jdHgtPmVuZ2luZVtyaW5nX2lkXS5zdGF0ZTsKKwlyaW5nYnVmID0gcmVxLT5yaW5nYnVmOwor CisJaWYgKFdBUk5fT04oIXJpbmdidWYgfHwgIWN0eF9vYmopKQorCQlyZXR1cm47CisJaWYgKFdB Uk5fT04oaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhjdHhfb2JqKSkpCisJCXJldHVybjsKKwor CXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoY3R4X29iaiwgTFJDX1NUQVRFX1BOKTsK KwlyZWdfc3RhdGUgPSBrbWFwX2F0b21pYyhwYWdlKTsKKworCURSTV9ERUJVR19EUklWRVIoIlVw ZGF0aW5nIHJpbmdidWYgaGVhZC90YWlsLCBwcmV2aW91c2x5IDB4JXgvJXggLi4uXG4iLAorCQly aW5nYnVmLT5oZWFkLCByaW5nYnVmLT50YWlsKTsKKworCXJpbmdidWYtPnRhaWwgPSByZXEtPnRh aWw7CisJcmluZ2J1Zi0+bGFzdF9yZXRpcmVkX2hlYWQgPSByZXEtPmhlYWQ7CisJaW50ZWxfcmlu Z191cGRhdGVfc3BhY2UocmluZ2J1Zik7CisKKwlEUk1fREVCVUdfRFJJVkVSKCJVcGRhdGVkIHJp bmdidWYsIG5vdyAweCV4LyV4IHNwYWNlICVkXG4iLAorCQlyaW5nYnVmLT5oZWFkLCByaW5nYnVm LT50YWlsLCByaW5nYnVmLT5zcGFjZSk7CisKKwlyZWdfc3RhdGVbQ1RYX1JJTkdfVEFJTCsxXSA9 IHJpbmdidWYtPnRhaWw7CisKKwlrdW5tYXBfYXRvbWljKHJlZ19zdGF0ZSk7Cit9CisKKy8qCiAg KiBFbXB0eSB0aGUgcmluZ2J1ZmZlciBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCByZXF1 ZXN0CiAgKiBieSB1cGRhdGluZyB0aGUgcmluZ2J1ZmZlciAnaGVhZCcgdG8gdGhlIHZhbHVlIG9m ICd0YWlsJywgb3IsCiAgKiBpZiAncmV6ZXJvJyBpcyB0cnVlLCBzZXR0aW5nIGJvdGggJ2hlYWQn IGFuZCAndGFpbCcgdG8gemVyby4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKaW5kZXggZmEyZjgx NC4uNjUzMDY0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKQEAgLTgzLDYgKzgzLDcgQEAg dWludDMyX3QgaW50ZWxfbHJfY29udGV4dF9zaXplKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpOwogaW50IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2Nv bnRleHQgKmN0eCwKIAkJCQkgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CiB2b2lk IGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEp Owordm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc3luY19yZXEoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEpOwogdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc3luYyhzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY3R4LAogCQkJICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQkJ ICAgICBib29sIHJlemVybyk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK