From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58C706E946 for ; Tue, 23 Jun 2020 06:20:07 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Tue, 23 Jun 2020 08:19:58 +0200 Message-Id: <20200623062000.17889-3-zbigniew.kempczynski@intel.com> In-Reply-To: <20200623062000.17889-1-zbigniew.kempczynski@intel.com> References: <20200623062000.17889-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/4] lib/intel_bufops: Add new functions and intel_buf fields List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Chris Wilson List-ID: VGhpcyBpcyBtaW5vciBzdGVwIHRvd2FyZCByZW1vdmluZyBsaWJkcm0gZnJvbSByZW5kZXJjb3B5 LiBMZXRzCmFkZCBuZXcgZnVuY3Rpb25zIGFuZCBzdHJ1Y3R1cmUgZmllbGRzIHRvIHZlcmlmeSB3 ZSBkb24ndCBpbnRyb2R1Y2UKcmVncmVzc2lvbnMgaW4gYWxyZWFkeSBtaWdyYXRlZCBjb2RlLgpT b21lIHV0aWxpdHkgZnVuY3Rpb25zIC0gd3JpdGUgYnVmL2F1eCAoY2NzKSB0byBwbmcgd2VyZSBh ZGRlZC4KClNpZ25lZC1vZmYtYnk6IFpiaWduaWV3IEtlbXBjennFhHNraSA8emJpZ25pZXcua2Vt cGN6eW5za2lAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Ci0tLQogbGliL2ludGVsX2J1Zm9wcy5jIHwgMTM1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLQogbGliL2ludGVsX2J1Zm9wcy5oIHwgIDI0ICsrKysr KystCiAyIGZpbGVzIGNoYW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saWIvaW50ZWxfYnVmb3BzLmMgYi9saWIvaW50ZWxfYnVmb3BzLmMKaW5k ZXggMDMzN2I2MzguLjEzZDAxMzk2IDEwMDY0NAotLS0gYS9saWIvaW50ZWxfYnVmb3BzLmMKKysr IGIvbGliL2ludGVsX2J1Zm9wcy5jCkBAIC0yMyw2ICsyMyw3IEBACiAgKi8KIAogI2luY2x1ZGUg PHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPGNhaXJvLmg+CiAjaW5jbHVkZSAiaWd0LmgiCiAjaW5j bHVkZSAiaWd0X3g4Ni5oIgogI2luY2x1ZGUgImludGVsX2J1Zm9wcy5oIgpAQCAtMTc0LDEwICsx NzUsMTQgQEAgc3RhdGljIGJvb2wgX19nZXRfdGlsaW5nKGludCBmZCwgdWludDMyX3QgaGFuZGxl LCB1aW50MzJfdCAqdGlsaW5nLAogfQogCiBzdGF0aWMgaW50IF9fc2V0X3RpbGluZyhpbnQgZmQs IHVpbnQzMl90IGhhbmRsZSwgdWludDMyX3QgdGlsaW5nLAotCQkJdWludDMyX3Qgc3RyaWRlKQor CQkJdWludDMyX3Qgc3RyaWRlLAorCQkJdWludDMyX3QgKnJldF90aWxpbmcsIHVpbnQzMl90ICpy ZXRfc3dpenpsZSkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3NldF90aWxpbmcgc3Q7CisKKwlt ZW1zZXQoJnN0LCAwLCBzaXplb2Yoc3QpKTsKIAlkbyB7Ci0JCXN0cnVjdCBkcm1faTkxNV9nZW1f c2V0X3RpbGluZyBzdDsKKwogCQlpbnQgZXJyOwogCiAJCXN0LmhhbmRsZSA9IGhhbmRsZTsKQEAg LTE4OCwxMyArMTkzLDIyIEBAIHN0YXRpYyBpbnQgX19zZXRfdGlsaW5nKGludCBmZCwgdWludDMy X3QgaGFuZGxlLCB1aW50MzJfdCB0aWxpbmcsCiAJCWlmIChpb2N0bChmZCwgRFJNX0lPQ1RMX0k5 MTVfR0VNX1NFVF9USUxJTkcsICZzdCkpCiAJCQllcnIgPSAtZXJybm87CiAJCWVycm5vID0gMDsK LQkJaWYgKGVyciAhPSAtRUlOVFIpCisJCWlmIChlcnIgIT0gLUVJTlRSKSB7CisJCQlpZiAocmV0 X3RpbGluZykKKwkJCQkqcmV0X3RpbGluZyA9IHN0LnRpbGluZ19tb2RlOworCisJCQlpZiAocmV0 X3N3aXp6bGUpCisJCQkJKnJldF9zd2l6emxlID0gc3Quc3dpenpsZV9tb2RlOworCiAJCQlyZXR1 cm4gZXJyOworCQl9CiAJfSB3aGlsZSAoMSk7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9od190aWxl ZChzdHJ1Y3QgYnVmX29wcyAqYm9wcywgc3RydWN0IGludGVsX2J1ZiAqYnVmKQogeworCXVpbnQz Ml90IHJldF90aWxpbmcsIHJldF9zd2l6emxlOworCiAJaWYgKGJ1Zi0+dGlsaW5nICE9IEk5MTVf VElMSU5HX1ggJiYgYnVmLT50aWxpbmcgIT0gSTkxNV9USUxJTkdfWSkKIAkJcmV0dXJuOwogCkBA IC0yMDIsOCArMjE2LDEyIEBAIHN0YXRpYyB2b2lkIHNldF9od190aWxlZChzdHJ1Y3QgYnVmX29w cyAqYm9wcywgc3RydWN0IGludGVsX2J1ZiAqYnVmKQogCQlyZXR1cm47CiAKIAlpZ3RfYXNzZXJ0 X2VxKF9fc2V0X3RpbGluZyhib3BzLT5mZCwKLQkJCQkgICBidWYtPmhhbmRsZSwgYnVmLT50aWxp bmcsIGJ1Zi0+c3RyaWRlKSwKKwkJCQkgICBidWYtPmhhbmRsZSwgYnVmLT50aWxpbmcsIGJ1Zi0+ c3RyaWRlLAorCQkJCSAgICZyZXRfdGlsaW5nLCAmcmV0X3N3aXp6bGUpLAogCQkgICAgICAwKTsK KworCWlndF9hc3NlcnQocmV0X3RpbGluZyA9PSBidWYtPnRpbGluZyk7CisJYnVmLT5zd2l6emxl X21vZGUgPSByZXRfc3dpenpsZTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgc3dpenpsZV9i aXQodW5zaWduZWQgaW50IGJpdCwgdW5zaWduZWQgbG9uZyBvZmZzZXQpCkBAIC02OTcsNyArNzE1 LDYgQEAgc3RhdGljIHZvaWQgX19pbnRlbF9idWZfaW5pdChzdHJ1Y3QgYnVmX29wcyAqYm9wcywK IAkJaWd0X3JlcXVpcmUoYm9wcy0+aW50ZWxfZ2VuID49IDkpOwogCQlpZ3RfYXNzZXJ0KHJlcV90 aWxpbmcgPT0gSTkxNV9USUxJTkdfWSB8fAogCQkJICAgcmVxX3RpbGluZyA9PSBJOTE1X1RJTElO R19ZZik7Ci0KIAkJLyoKIAkJICogT24gR0VOMTIrIHdlIGFsaWduIHRoZSBtYWluIHN1cmZhY2Ug dG8gNCAqIDQgbWFpbiBzdXJmYWNlCiAJCSAqIHRpbGVzLCB3aGljaCBpcyA2NGtCLiBUaGVzZSAx NiB0aWxlcyBhcmUgbWFwcGVkIGJ5IDQgQVVYCkBAIC03MjQsNyArNzQxLDYgQEAgc3RhdGljIHZv aWQgX19pbnRlbF9idWZfaW5pdChzdHJ1Y3QgYnVmX29wcyAqYm9wcywKIAkJYnVmLT5hdXguc3Ry aWRlID0gYXV4X3dpZHRoOwogCiAJCXNpemUgPSBidWYtPmF1eC5vZmZzZXQgKyBhdXhfd2lkdGgg KiBhdXhfaGVpZ2h0OwotCiAJfSBlbHNlIHsKIAkJaWYgKGJ1Zi0+dGlsaW5nKSB7CiAJCQlkZXZp ZCA9ICBpbnRlbF9nZXRfZHJtX2RldmlkKGJvcHMtPmZkKTsKQEAgLTgyNiw2ICs4NDIsOTggQEAg dm9pZCBpbnRlbF9idWZfaW5pdF91c2luZ19oYW5kbGUoc3RydWN0IGJ1Zl9vcHMgKmJvcHMsCiAJ CQkgcmVxX3RpbGluZywgY29tcHJlc3Npb24pOwogfQogCitzdHJ1Y3QgaW50ZWxfYnVmICppbnRl bF9idWZfY3JlYXRlKHN0cnVjdCBidWZfb3BzICpib3BzLAorCQkJCSAgIGludCB3aWR0aCwgaW50 IGhlaWdodCwKKwkJCQkgICBpbnQgYnBwLCBpbnQgYWxpZ25tZW50LAorCQkJCSAgIHVpbnQzMl90 IHJlcV90aWxpbmcsIHVpbnQzMl90IGNvbXByZXNzaW9uKQoreworCXN0cnVjdCBpbnRlbF9idWYg KmJ1ZjsKKworCWlndF9hc3NlcnQoYm9wcyk7CisKKwlidWYgPSBjYWxsb2MoMSwgc2l6ZW9mKCpi dWYpKTsKKwlpZ3RfYXNzZXJ0KGJ1Zik7CisKKwlpbnRlbF9idWZfaW5pdChib3BzLCBidWYsIHdp ZHRoLCBoZWlnaHQsIGJwcCwgYWxpZ25tZW50LAorCQkgICAgICAgcmVxX3RpbGluZywgY29tcHJl c3Npb24pOworCisJcmV0dXJuIGJ1ZjsKK30KKwordm9pZCBpbnRlbF9idWZfZGVzdHJveShzdHJ1 Y3QgaW50ZWxfYnVmICpidWYpCit7CisJaWd0X2Fzc2VydChidWYpOworCisJaW50ZWxfYnVmX2Ns b3NlKGJ1Zi0+Ym9wcywgYnVmKTsKKwlmcmVlKGJ1Zik7Cit9CisKK3ZvaWQgaW50ZWxfYnVmX3By aW50KGNvbnN0IHN0cnVjdCBpbnRlbF9idWYgKmJ1ZikKK3sKKwlpZ3RfaW5mbygiW25hbWU6ICVz XVxuIiwgYnVmLT5uYW1lKTsKKwlpZ3RfaW5mbygiWyV1XTogdzogJXUsIGg6ICV1LCBzdHJpZGU6 ICV1LCBzaXplOiAldSwgYm8tc2l6ZTogJXUsICIKKwkJICJicHA6ICV1LCB0aWxpbmc6ICV1LCBj b21wcmVzczogJXVcbiIsCisJCSBidWYtPmhhbmRsZSwgaW50ZWxfYnVmX3dpZHRoKGJ1ZiksIGlu dGVsX2J1Zl9oZWlnaHQoYnVmKSwKKwkJIGJ1Zi0+c3RyaWRlLCBidWYtPnNpemUsCisJCSBpbnRl bF9idWZfYm9fc2l6ZShidWYpLCBidWYtPmJwcCwKKwkJIGJ1Zi0+dGlsaW5nLCBidWYtPmNvbXBy ZXNzaW9uKTsKKwlpZ3RfaW5mbygiIGF1eCA8b2Zmc2V0OiAldSwgc3RyaWRlOiAldSwgdzogJXUs IGg6ICV1PiBjYyA8b2Zmc2V0OiAldT5cbiIsCisJCSBidWYtPmF1eC5vZmZzZXQsCisJCSBpbnRl bF9idWZfYXV4X3dpZHRoKGJ1Zi0+Ym9wcy0+aW50ZWxfZ2VuLCBidWYpLAorCQkgaW50ZWxfYnVm X2F1eF9oZWlnaHQoYnVmLT5ib3BzLT5pbnRlbF9nZW4sIGJ1ZiksCisJCSBidWYtPmF1eC5zdHJp ZGUsIGJ1Zi0+Y2Mub2Zmc2V0KTsKKwlpZ3RfaW5mbygiIGFkZHIgPG9mZnNldDogJXAsIGN0eDog JXU+XG4iLAorCQkgZnJvbV91c2VyX3BvaW50ZXIoYnVmLT5hZGRyLm9mZnNldCksIGJ1Zi0+YWRk ci5jdHgpOworfQorCitjb25zdCBjaGFyICppbnRlbF9idWZfc2V0X25hbWUoc3RydWN0IGludGVs X2J1ZiAqYnVmLCBjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiBzdHJuY3B5KGJ1Zi0+bmFt ZSwgbmFtZSwgSU5URUxfQlVGX05BTUVfTUFYU0laRSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW50 ZWxfYnVmX3dyaXRlX3RvX3BuZyhzdHJ1Y3QgYnVmX29wcyAqYm9wcywKKwkJCQkgICAgIHN0cnVj dCBpbnRlbF9idWYgKmJ1ZiwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCSAg ICAgYm9vbCB3cml0ZV9hdXgpCit7CisJY2Fpcm9fc3VyZmFjZV90ICpzdXJmYWNlOworCWNhaXJv X3N0YXR1c190IHJldDsKKwl2b2lkICpsaW5lYXI7CisJaW50IGZvcm1hdCwgd2lkdGgsIGhlaWdo dCwgc3RyaWRlLCBvZmZzZXQ7CisJaW50IGdlbiA9IGJvcHMtPmludGVsX2dlbjsKKworCWlndF9h c3NlcnRfZXEocG9zaXhfbWVtYWxpZ24oJmxpbmVhciwgMTYsIGludGVsX2J1Zl9ib19zaXplKGJ1 ZikpLCAwKTsKKworCWZvcm1hdCA9IHdyaXRlX2F1eCA/IENBSVJPX0ZPUk1BVF9BOCA6IENBSVJP X0ZPUk1BVF9SR0IyNDsKKwl3aWR0aCA9IHdyaXRlX2F1eCA/IGludGVsX2J1Zl9hdXhfd2lkdGgo Z2VuLCBidWYpIDogaW50ZWxfYnVmX3dpZHRoKGJ1Zik7CisJaGVpZ2h0ID0gd3JpdGVfYXV4ID8g aW50ZWxfYnVmX2F1eF9oZWlnaHQoZ2VuLCBidWYpIDogaW50ZWxfYnVmX2hlaWdodChidWYpOwor CXN0cmlkZSA9IHdyaXRlX2F1eCA/IGJ1Zi0+YXV4LnN0cmlkZSA6IGJ1Zi0+c3RyaWRlOworCW9m ZnNldCA9IHdyaXRlX2F1eCA/IGJ1Zi0+YXV4Lm9mZnNldCA6IDA7CisKKwlpbnRlbF9idWZfdG9f bGluZWFyKGJvcHMsIGJ1ZiwgbGluZWFyKTsKKworCXN1cmZhY2UgPSBjYWlyb19pbWFnZV9zdXJm YWNlX2NyZWF0ZV9mb3JfZGF0YSgodWludDhfdCAqKSBsaW5lYXIgKyBvZmZzZXQsCisJCQkJCQkg ICAgICBmb3JtYXQsIHdpZHRoLCBoZWlnaHQsCisJCQkJCQkgICAgICBzdHJpZGUpOworCXJldCA9 IGNhaXJvX3N1cmZhY2Vfd3JpdGVfdG9fcG5nKHN1cmZhY2UsIGZpbGVuYW1lKTsKKwlpZ3RfYXNz ZXJ0KHJldCA9PSBDQUlST19TVEFUVVNfU1VDQ0VTUyk7CisJY2Fpcm9fc3VyZmFjZV9kZXN0cm95 KHN1cmZhY2UpOworCisJZnJlZShsaW5lYXIpOworfQorCit2b2lkIGludGVsX2J1Zl93cml0ZV90 b19wbmcoc3RydWN0IGludGVsX2J1ZiAqYnVmLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlf X2ludGVsX2J1Zl93cml0ZV90b19wbmcoYnVmLT5ib3BzLCBidWYsIGZpbGVuYW1lLCBmYWxzZSk7 Cit9CisKK3ZvaWQgaW50ZWxfYnVmX3dyaXRlX2F1eF90b19wbmcoc3RydWN0IGludGVsX2J1ZiAq YnVmLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpZ3RfYXNzZXJ0KGJ1Zi0+Y29tcHJlc3Np b24pOworCisJX19pbnRlbF9idWZfd3JpdGVfdG9fcG5nKGJ1Zi0+Ym9wcywgYnVmLCBmaWxlbmFt ZSwgdHJ1ZSk7Cit9CisKICNkZWZpbmUgREVGQVVMVF9CVUZPUFMoX19nZW5fc3RhcnQsIF9fZ2Vu X2VuZCkgXAogCS5nZW5fc3RhcnQgICAgICAgICAgPSBfX2dlbl9zdGFydCwgXAogCS5nZW5fZW5k ICAgICAgICAgICAgPSBfX2dlbl9lbmQsIFwKQEAgLTg3Niw3ICs5ODQsNyBAQCBzdGF0aWMgYm9v bCBwcm9iZV9od190aWxpbmcoc3RydWN0IGJ1Zl9vcHMgKmJvcHMsIHVpbnQzMl90IHRpbGluZykK IAloYW5kbGUgPSBnZW1fY3JlYXRlKGJvcHMtPmZkLCBzaXplKTsKIAogCS8qIFNpbmdsZSBzaG90 LCBpZiBubyBmZW5jZXMgYXJlIGF2YWlsYWJsZSB3ZSBmYWlsIGltbWVkaWF0ZWx5ICovCi0JcmV0 ID0gX19zZXRfdGlsaW5nKGJvcHMtPmZkLCBoYW5kbGUsIHRpbGluZywgc3RyaWRlKTsKKwlyZXQg PSBfX3NldF90aWxpbmcoYm9wcy0+ZmQsIGhhbmRsZSwgdGlsaW5nLCBzdHJpZGUsIE5VTEwsIE5V TEwpOwogCWlmIChyZXQpCiAJCWdvdG8gZW5kOwogCkBAIC05NTYsNiArMTA2NCwxNSBAQCBzdGF0 aWMgdm9pZCBpZGVtcG90ZW5jeV9zZWxmdGVzdChzdHJ1Y3QgYnVmX29wcyAqYm9wcywgdWludDMy X3QgdGlsaW5nKQogCWJ1Zl9vcHNfc2V0X3NvZnR3YXJlX3RpbGluZyhib3BzLCB0aWxpbmcsIGZh bHNlKTsKIH0KIAoraW50IGludGVsX2J1Zl9ib19zaXplKGNvbnN0IHN0cnVjdCBpbnRlbF9idWYg KmJ1ZikKK3sKKwlpbnQgb2Zmc2V0ID0gQ0NTX09GRlNFVChidWYpID86IGJ1Zi0+c2l6ZTsKKwlp bnQgY2NzX3NpemUgPSBidWYtPmNvbXByZXNzaW9uID8KKwkJCQlDQ1NfU0laRShidWYtPmJvcHMt PmludGVsX2dlbiwgYnVmKSA6IDA7CisKKwlyZXR1cm4gb2Zmc2V0ICsgY2NzX3NpemU7Cit9CisK IC8qKgogICogYnVmX29wc19jcmVhdGUKICAqIEBmZDogZGV2aWNlIGZpbGVkZXNjcmlwdG9yCkBA IC0xMDYxLDEyICsxMTc4LDEyIEBAIHZvaWQgYnVmX29wc19kZXN0cm95KHN0cnVjdCBidWZfb3Bz ICpib3BzKQogfQogCiAvKioKLSAqIGJ1Zl9vcHNfZ2V0ZmQKKyAqIGJ1Zl9vcHNfZ2V0X2ZkCiAg KiBAYm9wczogcG9pbnRlciB0byBidWZfb3BzCiAgKgogICogUmV0dXJuczogZHJtIGZkCiAgKi8K LWludCBidWZfb3BzX2dldGZkKHN0cnVjdCBidWZfb3BzICpib3BzKQoraW50IGJ1Zl9vcHNfZ2V0 X2ZkKHN0cnVjdCBidWZfb3BzICpib3BzKQogewogCWlndF9hc3NlcnQoYm9wcyk7CiAKZGlmZiAt LWdpdCBhL2xpYi9pbnRlbF9idWZvcHMuaCBiL2xpYi9pbnRlbF9idWZvcHMuaAppbmRleCA5NTIx N2NmZS4uYWIxOWQ5MTYgMTAwNjQ0Ci0tLSBhL2xpYi9pbnRlbF9idWZvcHMuaAorKysgYi9saWIv aW50ZWxfYnVmb3BzLmgKQEAgLTYsNiArNiw3IEBACiAKIHN0cnVjdCBidWZfb3BzOwogCisjZGVm aW5lIElOVEVMX0JVRl9OQU1FX01BWFNJWkUgMzIKIHN0cnVjdCBpbnRlbF9idWYgewogCXN0cnVj dCBidWZfb3BzICpib3BzOwogCXVpbnQzMl90IGhhbmRsZTsKQEAgLTE0LDE0ICsxNSwyMSBAQCBz dHJ1Y3QgaW50ZWxfYnVmIHsKIAl1aW50MzJfdCBicHA7CiAJdWludDMyX3Qgc2l6ZTsKIAl1aW50 MzJfdCBjb21wcmVzc2lvbjsKKwl1aW50MzJfdCBzd2l6emxlX21vZGU7CiAJc3RydWN0IHsKIAkJ dWludDMyX3Qgb2Zmc2V0OwogCQl1aW50MzJfdCBzdHJpZGU7CiAJfSBhdXg7CisJc3RydWN0IHsK KwkJdWludDMyX3Qgb2Zmc2V0OworCX0gY2M7CiAJc3RydWN0IHsKIAkJdWludDY0X3Qgb2Zmc2V0 OwogCQl1aW50MzJfdCBjdHg7CiAJfSBhZGRyOworCisJLyogRm9yIGRlYnVnZ2luZyBwdXJwb3Nl cyAqLworCWNoYXIgbmFtZVtJTlRFTF9CVUZfTkFNRV9NQVhTSVpFICsgMV07CiB9OwogCiBzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBpbnRlbF9idWZfd2lkdGgoY29uc3Qgc3RydWN0IGludGVs X2J1ZiAqYnVmKQpAQCAtNjIsOSArNzAsMTEgQEAgaW50ZWxfYnVmX2F1eF9oZWlnaHQoaW50IGdl biwgY29uc3Qgc3RydWN0IGludGVsX2J1ZiAqYnVmKQogCXJldHVybiBESVZfUk9VTkRfVVAoaW50 ZWxfYnVmX2hlaWdodChidWYpLCA1MTIpICogMzI7CiB9CiAKK2ludCBpbnRlbF9idWZfYm9fc2l6 ZShjb25zdCBzdHJ1Y3QgaW50ZWxfYnVmICpidWYpOworCiBzdHJ1Y3QgYnVmX29wcyAqYnVmX29w c19jcmVhdGUoaW50IGZkKTsKIHZvaWQgYnVmX29wc19kZXN0cm95KHN0cnVjdCBidWZfb3BzICpi b3BzKTsKLWludCBidWZfb3BzX2dldGZkKHN0cnVjdCBidWZfb3BzICpib3BzKTsKK2ludCBidWZf b3BzX2dldF9mZChzdHJ1Y3QgYnVmX29wcyAqYm9wcyk7CiAKIGJvb2wgYnVmX29wc19zZXRfc29m dHdhcmVfdGlsaW5nKHN0cnVjdCBidWZfb3BzICpib3BzLAogCQkJCSB1aW50MzJfdCB0aWxpbmcs CkBAIC05MCw0ICsxMDAsMTYgQEAgdm9pZCBpbnRlbF9idWZfaW5pdF91c2luZ19oYW5kbGUoc3Ry dWN0IGJ1Zl9vcHMgKmJvcHMsCiAJCQkJIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJwcCwg aW50IGFsaWdubWVudCwKIAkJCQkgdWludDMyX3QgcmVxX3RpbGluZywgdWludDMyX3QgY29tcHJl c3Npb24pOwogCitzdHJ1Y3QgaW50ZWxfYnVmICppbnRlbF9idWZfY3JlYXRlKHN0cnVjdCBidWZf b3BzICpib3BzLAorCQkJCSAgIGludCB3aWR0aCwgaW50IGhlaWdodCwKKwkJCQkgICBpbnQgYnBw LCBpbnQgYWxpZ25tZW50LAorCQkJCSAgIHVpbnQzMl90IHJlcV90aWxpbmcsIHVpbnQzMl90IGNv bXByZXNzaW9uKTsKK3ZvaWQgaW50ZWxfYnVmX2Rlc3Ryb3koc3RydWN0IGludGVsX2J1ZiAqYnVm KTsKKwordm9pZCBpbnRlbF9idWZfcHJpbnQoY29uc3Qgc3RydWN0IGludGVsX2J1ZiAqYnVmKTsK K2NvbnN0IGNoYXIgKmludGVsX2J1Zl9zZXRfbmFtZShzdHJ1Y3QgaW50ZWxfYnVmICpidWYsIGNv bnN0IGNoYXIgKm5hbWUpOworCit2b2lkIGludGVsX2J1Zl93cml0ZV90b19wbmcoc3RydWN0IGlu dGVsX2J1ZiAqYnVmLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7Cit2b2lkIGludGVsX2J1Zl93cml0 ZV9hdXhfdG9fcG5nKHN0cnVjdCBpbnRlbF9idWYgKmJ1ZiwgY29uc3QgY2hhciAqZmlsZW5hbWUp OworCiAjZW5kaWYKLS0gCjIuMjYuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p Z3QtZGV2Cg==