From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 1/5] drm/i915: Clearing buffer objects via blitter engine Date: Wed, 29 Apr 2015 15:01:55 +0530 Message-ID: <1430299919-9865-2-git-send-email-ankitprasad.r.sharma@intel.com> References: <1430299919-9865-1-git-send-email-ankitprasad.r.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id C45537A007 for ; Wed, 29 Apr 2015 02:45:50 -0700 (PDT) In-Reply-To: <1430299919-9865-1-git-send-email-ankitprasad.r.sharma@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 Cc: Ankitprasad Sharma , akash.goel@intel.com, shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ CgpUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgY2xlYXJpbmcgYnVmZmVyIG9iamVjdHMgdmlh IGJsaXR0ZXIKZW5naW5lcy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBjbGVhcmlu ZyBvdXQgdGhlIG1lbW9yeQpmcm9tIHN0b2xlbiByZWdpb24uCgp2MjogQWRkIHN1cHBvcnQgZm9y IHVzaW5nIGV4ZWNsaXN0cyAmIFBQR1RUCgp2MzogRml4IGlzc3VlcyBpbiBsZWdhY3kgcmluZ2J1 ZmZlciBzdWJtaXNzaW9uIG1vZGUKCnRlc3RjYXNlOiBpZ3QvZ2VtX2NyZWF0ZV9zdG9sZW4KClNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWdu ZWQtb2ZmLWJ5OiBEZWVwYWsgUyA8ZGVlcGFrLnNAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgICA0ICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWMuYyB8IDE5NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgIHwgICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAgfCAgIDIgKwogNSBmaWxlcyBjaGFuZ2Vk LCAyMDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWMuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5k ZXggYTY5MDAyZS4uNzExYTg3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTI1LDYgKzI1LDcg QEAgaTkxNS15ICs9IGk5MTVfY21kX3BhcnNlci5vIFwKIAkgIGk5MTVfZ2VtX2RlYnVnLm8gXAog CSAgaTkxNV9nZW1fZG1hYnVmLm8gXAogCSAgaTkxNV9nZW1fZXZpY3QubyBcCisJICBpOTE1X2dl bV9leGVjLm8gXAogCSAgaTkxNV9nZW1fZXhlY2J1ZmZlci5vIFwKIAkgIGk5MTVfZ2VtX2d0dC5v IFwKIAkgIGk5MTVfZ2VtLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZWIzOGNkMS4u MjFhMmIxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yOTI3LDYgKzI5MjcsMTAgQEAg aW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV9ldmljdF9zb21ldGhpbmcoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIGludCBpOTE1X2dlbV9ldmljdF92bShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSwgYm9vbCBkb19pZGxlKTsKIGludCBpOTE1X2dlbV9ldmljdF9ldmVyeXRoaW5nKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwogCisvKiBpOTE1X2dlbV9leGVjLmMgKi8KK2ludCBpOTE1X2dl bV9leGVjX2NsZWFyX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJ ICAgICAgIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdik7CisKIC8qIGJl bG9uZ3MgaW4gaTkxNV9nZW1fZ3R0LmggKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9j aGlwc2V0X2ZsdXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI0YmQ1 ZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWMu YwpAQCAtMCwwICsxLDE5NyBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDEzIEludGVsIENvcnBv cmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICog U29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw ZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxs IGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl CisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5D TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ VFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN RU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE RVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwg QVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdB UkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoK KyAqIEF1dGhvcnM6CisgKiAgICBDaHJpcyBXaWxzb24gPGNocmlzIGF0IGNocmlzLXdpbHNvbi5j by51az4KKyAqCisgKi8KKworI2luY2x1ZGUgPGRybS9kcm1QLmg+CisjaW5jbHVkZSA8ZHJtL2k5 MTVfZHJtLmg+CisjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKworI2RlZmluZSBHRU44X0NPTE9SX0JM VF9DTUQgKDI8PDI5IHwgMHg1MDw8MjIpCisKKyNkZWZpbmUgQlBQXzggMAorI2RlZmluZSBCUFBf MTYgKDE8PDI0KQorI2RlZmluZSBCUFBfMzIgKDE8PDI1IHwgMTw8MjQpCisKKyNkZWZpbmUgUk9Q X0ZJTExfQ09QWSAoMHhmMCA8PCAxNikKKworc3RhdGljIGludCBpOTE1X2dlbV9leGVjX2ZsdXNo X29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJCSAgICAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkJICAgICAgc3RydWN0IGludGVsX2NvbnRleHQg KmN0eCkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0g Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7CisKKwlyZXQgPSBpOTE1X2dlbV9vYmplY3Rf c3luYyhvYmosIHJpbmcpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlpZiAob2JqLT5i YXNlLndyaXRlX2RvbWFpbiAmIEk5MTVfR0VNX0RPTUFJTl9DUFUpIHsKKwkJaWYgKGk5MTVfZ2Vt X2NsZmx1c2hfb2JqZWN0KG9iaiwgZmFsc2UpKQorCQkJaTkxNV9nZW1fY2hpcHNldF9mbHVzaChv YmotPmJhc2UuZGV2KTsKKwkJb2JqLT5iYXNlLndyaXRlX2RvbWFpbiAmPSB+STkxNV9HRU1fRE9N QUlOX0NQVTsKKwl9CisJaWYgKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiBJOTE1X0dFTV9ET01B SU5fR1RUKSB7CisJCXdtYigpOworCQlvYmotPmJhc2Uud3JpdGVfZG9tYWluICY9IH5JOTE1X0dF TV9ET01BSU5fR1RUOworCX0KKworCisJcmV0dXJuIGk5MTUuZW5hYmxlX2V4ZWNsaXN0cyA/CisJ CQlsb2dpY2FsX3JpbmdfaW52YWxpZGF0ZV9hbGxfY2FjaGVzKHJpbmdidWYsIGN0eCkgOgorCQkJ aW50ZWxfcmluZ19pbnZhbGlkYXRlX2FsbF9jYWNoZXMocmluZyk7Cit9CisKK3N0YXRpYyB2b2lk IGk5MTVfZ2VtX2V4ZWNfZGlydHlfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCisJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkJICAgICAg IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQoreworCXN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxOworCXJlcSA9IGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyk7CisKKwlp OTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmb2JqLT5sYXN0X3dyaXRlX3JlcSwgcmVxKTsKKwlvYmot PmJhc2UucmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKKwlvYmotPmJhc2Uu d3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKKwlpOTE1X3ZtYV9tb3ZlX3Rv X2FjdGl2ZShpOTE1X2dlbV9vYmpfdG9fdm1hKG9iaiwgdm0pLCByaW5nKTsKKwlvYmotPmRpcnR5 ID0gMTsKKworCXJpbmctPmdwdV9jYWNoZXNfZGlydHkgPSB0cnVlOworfQorCitpbnQgaTkxNV9n ZW1fZXhlY19jbGVhcl9vYmplY3Qoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJ CSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYpCit7CisJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nOworCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7CisJc3RydWN0IGludGVsX3Jp bmdidWZmZXIgKnJpbmdidWY7CisJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07CisJaW50 IHJldCA9IDA7CisKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXYtPnN0cnVjdF9tdXRleCk7CisK KwlyaW5nID0gJmRldl9wcml2LT5yaW5nW0hBU19CTFQoZGV2KSA/IEJDUyA6IFJDU107CisJY3R4 ID0gaTkxNV9nZW1fY29udGV4dF9nZXQoZmlsZV9wcml2LCBERUZBVUxUX0NPTlRFWFRfSEFORExF KTsKKwlpZiAoY3R4LT5wcGd0dCkKKwkJdm0gPSAmY3R4LT5wcGd0dC0+YmFzZTsKKwllbHNlCisJ CXZtID0gJmRldl9wcml2LT5ndHQuYmFzZTsKKworCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMg JiYgIWN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZSkgeworCQlyZXQgPSBpbnRlbF9scl9jb250 ZXh0X2RlZmVycmVkX2NyZWF0ZShjdHgsIHJpbmcpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJl dDsKKwl9CisKKwlyaW5nYnVmID0gY3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7CisKKwly ZXQgPSBpOTE1X2dlbV9vYmplY3RfcGluKG9iaiwgdm0sIFBBR0VfU0laRSwgMCk7CisJaWYgKHJl dCkKKwkJcmV0dXJuIHJldDsKKworCWlmIChvYmotPnRpbGluZ19tb2RlICYmIElOVEVMX0lORk8o ZGV2KS0+Z2VuIDw9IDMpIHsKKwkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3B1dF9mZW5jZShvYmop OworCQlpZiAocmV0KQorCQkJZ290byB1bnBpbjsKKwl9CisKKwlyZXQgPSBpOTE1X2dlbV9leGVj X2ZsdXNoX29iamVjdChvYmosIHJpbmcsIGN0eCk7CisJaWYgKHJldCkKKwkJZ290byB1bnBpbjsK KworCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKKwkJaWYgKGRldl9wcml2LT5pbmZvLmdl biA+PSA4KSB7CisJCQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocmluZ2J1ZiwgY3R4 LCA4KTsKKwkJCWlmIChyZXQpCisJCQkJZ290byB1bnBpbjsKKworCQkJaW50ZWxfbG9naWNhbF9y aW5nX2VtaXQocmluZ2J1ZiwgR0VOOF9DT0xPUl9CTFRfQ01EIHwKKwkJCQkJCQkgQkxUX1dSSVRF X1JHQkEgfAorCQkJCQkJCSAoNy0yKSk7CisJCQlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5n YnVmLCBCUFBfMzIgfAorCQkJCQkJCSBST1BfRklMTF9DT1BZIHwKKwkJCQkJCQkgUEFHRV9TSVpF KTsKKwkJCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIDApOworCQkJaW50ZWxfbG9n aWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwKKwkJCQkJCW9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJ RlQKKwkJCQkJCTw8IDE2IHwgUEFHRV9TSVpFIC8gNCk7CisJCQlpbnRlbF9sb2dpY2FsX3Jpbmdf ZW1pdChyaW5nYnVmLAorCQkJCQkJaTkxNV9nZW1fb2JqX29mZnNldChvYmosIHZtKSk7CisJCQlp bnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCAwKTsKKwkJCWludGVsX2xvZ2ljYWxfcmlu Z19lbWl0KHJpbmdidWYsIDApOworCQkJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1Ziwg TUlfTk9PUCk7CisKKwkJCWludGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNlKHJpbmdidWYpOworCQl9 IGVsc2UgeworCQkJRFJNX0VSUk9SKCJFeGVjbGlzdHMgbm90IHN1cHBvcnRlZCBmb3IgZ2VuICVk XG4iLAorCQkJCSAgZGV2X3ByaXYtPmluZm8uZ2VuKTsKKwkJCXJldCA9IC1FSU5WQUw7CisJCQln b3RvIHVucGluOworCQl9CisJfSBlbHNlIHsKKwkJaWYgKElTX0dFTjgoZGV2KSkgeworCQkJcmV0 ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA4KTsKKwkJCWlmIChyZXQpCisJCQkJZ290byB1bnBp bjsKKworCQkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIEdFTjhfQ09MT1JfQkxUX0NNRCB8CisJCQkJ CSAgICAgIEJMVF9XUklURV9SR0JBIHwgKDctMikpOworCQkJaW50ZWxfcmluZ19lbWl0KHJpbmcs IEJQUF8zMiB8CisJCQkJCSAgICAgIFJPUF9GSUxMX0NPUFkgfCBQQUdFX1NJWkUpOworCQkJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIDApOworCQkJaW50ZWxfcmluZ19lbWl0KHJpbmcsCisJCQkJCW9i ai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQgPDwgMTYgfAorCQkJCQlQQUdFX1NJWkUgLyA0KTsK KwkJCWludGVsX3JpbmdfZW1pdChyaW5nLCBpOTE1X2dlbV9vYmpfb2Zmc2V0KG9iaiwgdm0pKTsK KwkJCWludGVsX3JpbmdfZW1pdChyaW5nLCAwKTsKKwkJCWludGVsX3JpbmdfZW1pdChyaW5nLCAw KTsKKwkJCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsKKwkJfSBlbHNlIHsKKwkJCXJl dCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJCQlpZiAocmV0KQorCQkJCWdvdG8gdW5w aW47CisKKwkJCWludGVsX3JpbmdfZW1pdChyaW5nLCBDT0xPUl9CTFRfQ01EIHwKKwkJCQkJICAg ICAgQkxUX1dSSVRFX1JHQkEpOworCQkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIEJQUF8zMiB8CisJ CQkJCSAgICAgIFJPUF9GSUxMX0NPUFkgfCBQQUdFX1NJWkUpOworCQkJaW50ZWxfcmluZ19lbWl0 KHJpbmcsCisJCQkJCW9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQgPDwgMTYgfAorCQkJCQlQ QUdFX1NJWkUpOworCQkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGk5MTVfZ2VtX29ial9vZmZzZXQo b2JqLCB2bSkpOworCQkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIDApOworCQkJaW50ZWxfcmluZ19l bWl0KHJpbmcsIE1JX05PT1ApOworCQl9CisKKwkJX19pbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7 CisJfQorCisJaTkxNV9nZW1fZXhlY19kaXJ0eV9vYmplY3Qob2JqLCByaW5nLCB2bSk7CisKK3Vu cGluOgorCWk5MTVfZ2VtX29ial90b192bWEob2JqLCB2bSktPnBpbl9jb3VudC0tOworCXJldHVy biByZXQ7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGZjYjA3NGIuLjU0ODE2Mzgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC01NTksNyArNTU5LDcgQEAgc3RhdGljIGlu dCBleGVjbGlzdHNfY29udGV4dF9xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAog CXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbnZhbGlkYXRlX2FsbF9j YWNoZXMoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsCitpbnQgbG9naWNhbF9yaW5n X2ludmFsaWRhdGVfYWxsX2NhY2hlcyhzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwK IAkJCQkJICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKIHsKIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nID0gcmluZ2J1Zi0+cmluZzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgK aW5kZXggYWRiNzMxZTQuLjgwYTg3M2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC00 Miw2ICs0Miw4IEBAIGludCBpbnRlbF9sb2dpY2FsX3JpbmdzX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldik7CiAKIGludCBsb2dpY2FsX3JpbmdfZmx1c2hfYWxsX2NhY2hlcyhzdHJ1Y3QgaW50 ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwKIAkJCQkgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgp OworaW50IGxvZ2ljYWxfcmluZ19pbnZhbGlkYXRlX2FsbF9jYWNoZXMoc3RydWN0IGludGVsX3Jp bmdidWZmZXIgKnJpbmdidWYsCisJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgp OwogLyoqCiAgKiBpbnRlbF9sb2dpY2FsX3JpbmdfYWR2YW5jZSgpIC0gYWR2YW5jZSB0aGUgcmlu Z2J1ZmZlciB0YWlsCiAgKiBAcmluZ2J1ZjogUmluZ2J1ZmZlciB0byBhZHZhbmNlLgotLSAKMS45 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==