From mboxrd@z Thu Jan 1 00:00:00 1970 From: yu.dai@intel.com Subject: [PATCH v2 2/2] drm/i915/guc: Simplify code by keeping vmap of guc_client object Date: Thu, 18 Feb 2016 10:31:38 -0800 Message-ID: <1455820298-5463-3-git-send-email-yu.dai@intel.com> References: <1455820298-5463-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 1839E6ED21 for ; Thu, 18 Feb 2016 18:36:20 +0000 (UTC) In-Reply-To: <1455820298-5463-1-git-send-email-yu.dai@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: daniel.vetter@ffwll.ch List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+CgpHdUMgY2xpZW50IG9iamVjdCBpcyBh bHdheXMgcGlubmVkIGR1cmluZyBpdHMgbGlmZSBjeWNsZS4gV2UgY2FjaGUKdGhlIHZtYXAgb2Yg Y2xpZW50IG9iamVjdCwgd2hpY2ggaW5jbHVkZXMgZ3VjX3Byb2Nlc3NfZGVzYywgZG9vcmJlbGwK YW5kIHdvcmsgcXVldWUuIEJ5IGRvaW5nIHNvLCB3ZSBjYW4gc2ltcGxpZnkgdGhlIGNvZGUgd2hl cmUgZHJpdmVyCmNvbW11bmljYXRlIHdpdGggR3VDLgoKQXMgYSByZXN1bHQsIHRoaXMgcGF0Y2gg cmVtb3ZlcyB0aGUga21hcF9hdG9taWMgaW4gd3FfY2hlY2tfc3BhY2UsCndoZXJlIHVzbGVlcF9y YW5nZSBjb3VsZCBiZSBjYWxsZWQgd2hpbGUga21hcF9hdG9taWMgaXMgaGVsZC4gVGhpcwpmaXhl cyBpc3N1ZSBiZWxvdy4KCnYyOiBQYXNzIHBhZ2UgYWN0dWFsIG51bWJlcnMgdG8gaTkxNV9nZW1f b2JqZWN0X3ZtYXAoKS4gQWxzbywgY2hlY2sKICAgIHJldHVybiB2YWx1ZSBmb3IgZXJyb3IgaGFu ZGxpbmcuIChUdnJ0a28gVXJzdWxpbikKdjE6IHZtYXAgaXMgZG9uZSBieSBpOTE1X2dlbV9vYmpl Y3Rfdm1hcCgpLgoKWyAgIDM0LjA5ODc5OF0gQlVHOiBzY2hlZHVsaW5nIHdoaWxlIGF0b21pYzog Z2VtX2Nsb3NlX3JhY2UvMTk0MS8weDAwMDAwMDAyClsgICAzNC4wOTg4MjJdIE1vZHVsZXMgbGlu a2VkIGluOiBoaWRfZ2VuZXJpYyB1c2JoaWQgaTkxNSBhc2l4IHVzYm5ldCBsaWJwaHkgbWlpIGky Y19hbGdvX2JpdCBkcm1fa21zX2hlbHBlciBjZmJmaWxscmVjdCBzeXNjb3B5YXJlYSBjZmJpbWdi bHQgc3lzZmlsbHJlY3Qgc3lzaW1nYmx0IGZiX3N5c19mb3BzIGNmYmNvcHlhcmVhIGRybSBjb3Jl dGVtcCBpMmNfaGlkIGhpZCB2aWRlbyBwaW5jdHJsX3N1bnJpc2Vwb2ludCBwaW5jdHJsX2ludGVs IGFjcGlfcGFkIG5sc19pc284ODU5XzEgZTEwMDBlIHB0cCBwc21vdXNlIHBwc19jb3JlIGFoY2kg bGliYWhjaQpbICAgMzQuMDk4ODI0XSBDUFU6IDAgUElEOiAxOTQxIENvbW06IGdlbV9jbG9zZV9y YWNlIFRhaW50ZWQ6IEcgICAgIFUgICAgICAgICAgNC40LjAtMTYwMTIxKyAjMTIzClsgICAzNC4w OTg4MjRdIEhhcmR3YXJlIG5hbWU6IEludGVsIENvcnBvcmF0aW9uIFNreWxha2UgQ2xpZW50IHBs YXRmb3JtL1NreWxha2UgQUlPIEREUjNMIFJWUDEwLCBCSU9TIFNLTFNFMlIxLlIwMC5YMTAwLkIw MS4xNTA5MjIwNTUxIDA5LzIyLzIwMTUKWyAgIDM0LjA5ODgyNV0gIDAwMDAwMDAwMDAwMTNlNDAg ZmZmZjg4MDE2NmMyN2E3OCBmZmZmZmZmZjgxMjgwZDAyIGZmZmY4ODAxNzJjMTNlNDAKWyAgIDM0 LjA5ODgyNl0gIGZmZmY4ODAxNjZjMjdhODggZmZmZmZmZmY4MTBjMjAzYSBmZmZmODgwMTY2YzI3 YWM4IGZmZmZmZmZmODE0ZWM4MDgKWyAgIDM0LjA5ODgyN10gIGZmZmY4ODAxNmI3YzYwMDAgZmZm Zjg4MDE2NmMyODAwMCAwMDAwMDAwMDAwMGY0MjQwIDAwMDAwMDAwMDAwMDAwMDEKWyAgIDM0LjA5 ODgyN10gQ2FsbCBUcmFjZToKWyAgIDM0LjA5ODgzMV0gIFs8ZmZmZmZmZmY4MTI4MGQwMj5dIGR1 bXBfc3RhY2srMHg0Yi8weDc5ClsgICAzNC4wOTg4MzNdICBbPGZmZmZmZmZmODEwYzIwM2E+XSBf X3NjaGVkdWxlX2J1ZysweDQxLzB4NGYKWyAgIDM0LjA5ODgzNF0gIFs8ZmZmZmZmZmY4MTRlYzgw OD5dIF9fc2NoZWR1bGUrMHg1YTgvMHg2OTAKWyAgIDM0LjA5ODgzNV0gIFs8ZmZmZmZmZmY4MTRl YzkyNz5dIHNjaGVkdWxlKzB4MzcvMHg4MApbICAgMzQuMDk4ODM2XSAgWzxmZmZmZmZmZjgxNGVm M2ZkPl0gc2NoZWR1bGVfaHJ0aW1lb3V0X3JhbmdlX2Nsb2NrKzB4YWQvMHgxMzAKWyAgIDM0LjA5 ODgzN10gIFs8ZmZmZmZmZmY4MTA5MGJlMD5dID8gaHJ0aW1lcl9pbml0KzB4MTAvMHgxMApbICAg MzQuMDk4ODM4XSAgWzxmZmZmZmZmZjgxNGVmM2YxPl0gPyBzY2hlZHVsZV9ocnRpbWVvdXRfcmFu Z2VfY2xvY2srMHhhMS8weDEzMApbICAgMzQuMDk4ODM5XSAgWzxmZmZmZmZmZjgxNGVmNDhlPl0g c2NoZWR1bGVfaHJ0aW1lb3V0X3JhbmdlKzB4ZS8weDEwClsgICAzNC4wOTg4NDBdICBbPGZmZmZm ZmZmODE0ZWVmOWI+XSB1c2xlZXBfcmFuZ2UrMHgzYi8weDQwClsgICAzNC4wOTg4NTNdICBbPGZm ZmZmZmZmYTAxZWMxMDk+XSBpOTE1X2d1Y193cV9jaGVja19zcGFjZSsweDExOS8weDIxMCBbaTkx NV0KWyAgIDM0LjA5ODg2MV0gIFs8ZmZmZmZmZmZhMDFkYTQ3Yz5dIGludGVsX2xvZ2ljYWxfcmlu Z19hbGxvY19yZXF1ZXN0X2V4dHJhcysweDVjLzB4NzAgW2k5MTVdClsgICAzNC4wOTg4NjldICBb PGZmZmZmZmZmYTAxY2RiZjE+XSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKzB4OTEvMHgxNzAgW2k5 MTVdClsgICAzNC4wOTg4NzVdICBbPGZmZmZmZmZmYTAxYzFjMDc+XSBpOTE1X2dlbV9kb19leGVj YnVmZmVyLmlzcmEuMjUrMHhiYzcvMHgxMmEwIFtpOTE1XQpbICAgMzQuMDk4ODgyXSAgWzxmZmZm ZmZmZmEwMWNiNzg1Pl0gPyBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2d0dCsweDIyNS8weDNj MCBbaTkxNV0KWyAgIDM0LjA5ODg4OV0gIFs8ZmZmZmZmZmZhMDFkMWZiNj5dID8gaTkxNV9nZW1f cHdyaXRlX2lvY3RsKzB4ZDYvMHg5ZjAgW2k5MTVdClsgICAzNC4wOTg4OTVdICBbPGZmZmZmZmZm YTAxYzJlNjg+XSBpOTE1X2dlbV9leGVjYnVmZmVyMisweGE4LzB4MjUwIFtpOTE1XQpbICAgMzQu MDk4OTAwXSAgWzxmZmZmZmZmZmEwMGY2NWQ4Pl0gZHJtX2lvY3RsKzB4MjU4LzB4NGYwIFtkcm1d ClsgICAzNC4wOTg5MDZdICBbPGZmZmZmZmZmYTAxYzJkYzA+XSA/IGk5MTVfZ2VtX2V4ZWNidWZm ZXIrMHgzNDAvMHgzNDAgW2k5MTVdClsgICAzNC4wOTg5MDhdICBbPGZmZmZmZmZmODExMTU5MGQ+ XSBkb192ZnNfaW9jdGwrMHgyY2QvMHg0YTAKWyAgIDM0LjA5ODkwOV0gIFs8ZmZmZmZmZmY4MTEx ZWFjMj5dID8gX19mZ2V0KzB4NzIvMHhiMApbICAgMzQuMDk4OTEwXSAgWzxmZmZmZmZmZjgxMTE1 YjFjPl0gU3lTX2lvY3RsKzB4M2MvMHg3MApbICAgMzQuMDk4OTExXSAgWzxmZmZmZmZmZjgxNGVm ZmQ3Pl0gZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsweDEyLzB4NmEKWyAgIDM0LjEwMDIwOF0g LS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCgpCdWd6aWxsYTogaHR0cHM6Ly9i dWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM4NDcKQ2M6IERhdmUgR29yZG9u IDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgpDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgNTYgKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCAgICAgICAg ICAgfCAgMyArLQogMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXgg ZDc1NDNlZi4uM2UyZWE0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n dWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1p c3Npb24uYwpAQCAtMTk1LDExICsxOTUsOSBAQCBzdGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxs KHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQogCXN0cnVjdCBndWNfcHJvY2Vzc19kZXNjICpk ZXNjOwogCXVuaW9uIGd1Y19kb29yYmVsbF9xdyBkYl9jbXAsIGRiX2V4YywgZGJfcmV0OwogCXVu aW9uIGd1Y19kb29yYmVsbF9xdyAqZGI7Ci0Jdm9pZCAqYmFzZTsKIAlpbnQgYXR0ZW1wdCA9IDIs IHJldCA9IC1FQUdBSU47CiAKLQliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dl dF9wYWdlKGdjLT5jbGllbnRfb2JqLCAwKSk7Ci0JZGVzYyA9IGJhc2UgKyBnYy0+cHJvY19kZXNj X29mZnNldDsKKwlkZXNjID0gZ2MtPmNsaWVudF9iYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7 CiAKIAkvKiBVcGRhdGUgdGhlIHRhaWwgc28gaXQgaXMgdmlzaWJsZSB0byBHdUMgKi8KIAlkZXNj LT50YWlsID0gZ2MtPndxX3RhaWw7CkBAIC0yMTUsNyArMjEzLDcgQEAgc3RhdGljIGludCBndWNf cmluZ19kb29yYmVsbChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKIAkJZGJfZXhjLmNvb2tp ZSA9IDE7CiAKIAkvKiBwb2ludGVyIG9mIGN1cnJlbnQgZG9vcmJlbGwgY2FjaGVsaW5lICovCi0J ZGIgPSBiYXNlICsgZ2MtPmRvb3JiZWxsX29mZnNldDsKKwlkYiA9IGdjLT5jbGllbnRfYmFzZSAr IGdjLT5kb29yYmVsbF9vZmZzZXQ7CiAKIAl3aGlsZSAoYXR0ZW1wdC0tKSB7CiAJCS8qIGxldHMg cmluZyB0aGUgZG9vcmJlbGwgKi8KQEAgLTI0NCwxMCArMjQyLDYgQEAgc3RhdGljIGludCBndWNf cmluZ19kb29yYmVsbChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKIAkJCWRiX2V4Yy5jb29r aWUgPSAxOwogCX0KIAotCS8qIEZpbmFsbHksIHVwZGF0ZSB0aGUgY2FjaGVkIGNvcHkgb2YgdGhl IEd1QydzIFdRIGhlYWQgKi8KLQlnYy0+d3FfaGVhZCA9IGRlc2MtPmhlYWQ7Ci0KLQlrdW5tYXBf YXRvbWljKGJhc2UpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTM0MSwxMCArMzM1LDggQEAgc3Rh dGljIHZvaWQgZ3VjX2luaXRfcHJvY19kZXNjKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKIAkJCSAg ICAgICBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCiB7CiAJc3RydWN0IGd1Y19wcm9j ZXNzX2Rlc2MgKmRlc2M7Ci0Jdm9pZCAqYmFzZTsKIAotCWJhc2UgPSBrbWFwX2F0b21pYyhpOTE1 X2dlbV9vYmplY3RfZ2V0X3BhZ2UoY2xpZW50LT5jbGllbnRfb2JqLCAwKSk7Ci0JZGVzYyA9IGJh c2UgKyBjbGllbnQtPnByb2NfZGVzY19vZmZzZXQ7CisJZGVzYyA9IGNsaWVudC0+Y2xpZW50X2Jh c2UgKyBjbGllbnQtPnByb2NfZGVzY19vZmZzZXQ7CiAKIAltZW1zZXQoZGVzYywgMCwgc2l6ZW9m KCpkZXNjKSk7CiAKQEAgLTM2MSw4ICszNTMsNiBAQCBzdGF0aWMgdm9pZCBndWNfaW5pdF9wcm9j X2Rlc2Moc3RydWN0IGludGVsX2d1YyAqZ3VjLAogCWRlc2MtPndxX3NpemVfYnl0ZXMgPSBjbGll bnQtPndxX3NpemU7CiAJZGVzYy0+d3Ffc3RhdHVzID0gV1FfU1RBVFVTX0FDVElWRTsKIAlkZXNj LT5wcmlvcml0eSA9IGNsaWVudC0+cHJpb3JpdHk7Ci0KLQlrdW5tYXBfYXRvbWljKGJhc2UpOwog fQogCiAvKgpAQCAtNDc0LDI1ICs0NjQsMTYgQEAgc3RhdGljIHZvaWQgZ3VjX2ZpbmlfY3R4X2Rl c2Moc3RydWN0IGludGVsX2d1YyAqZ3VjLAogaW50IGk5MTVfZ3VjX3dxX2NoZWNrX3NwYWNlKHN0 cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQogewogCXN0cnVjdCBndWNfcHJvY2Vzc19kZXNjICpk ZXNjOwotCXZvaWQgKmJhc2U7CiAJdTMyIHNpemUgPSBzaXplb2Yoc3RydWN0IGd1Y193cV9pdGVt KTsKIAlpbnQgcmV0ID0gLUVUSU1FRE9VVCwgdGltZW91dF9jb3VudGVyID0gMjAwOwogCiAJaWYg KCFnYykKIAkJcmV0dXJuIDA7CiAKLQkvKiBRdWlja2x5IHJldHVybiBpZiB3cSBzcGFjZSBpcyBh dmFpbGFibGUgc2luY2UgbGFzdCB0aW1lIHdlIGNhY2hlIHRoZQotCSAqIGhlYWQgcG9zaXRpb24u ICovCi0JaWYgKENJUkNfU1BBQ0UoZ2MtPndxX3RhaWwsIGdjLT53cV9oZWFkLCBnYy0+d3Ffc2l6 ZSkgPj0gc2l6ZSkKLQkJcmV0dXJuIDA7Ci0KLQliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1f b2JqZWN0X2dldF9wYWdlKGdjLT5jbGllbnRfb2JqLCAwKSk7Ci0JZGVzYyA9IGJhc2UgKyBnYy0+ cHJvY19kZXNjX29mZnNldDsKKwlkZXNjID0gZ2MtPmNsaWVudF9iYXNlICsgZ2MtPnByb2NfZGVz Y19vZmZzZXQ7CiAKIAl3aGlsZSAodGltZW91dF9jb3VudGVyLS0gPiAwKSB7Ci0JCWdjLT53cV9o ZWFkID0gZGVzYy0+aGVhZDsKLQotCQlpZiAoQ0lSQ19TUEFDRShnYy0+d3FfdGFpbCwgZ2MtPndx X2hlYWQsIGdjLT53cV9zaXplKSA+PSBzaXplKSB7CisJCWlmIChDSVJDX1NQQUNFKGdjLT53cV90 YWlsLCBkZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSkgPj0gc2l6ZSkgewogCQkJcmV0ID0gMDsKIAkJ CWJyZWFrOwogCQl9CkBAIC01MDEsMjQgKzQ4MiwyMyBAQCBpbnQgaTkxNV9ndWNfd3FfY2hlY2tf c3BhY2Uoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MpCiAJCQl1c2xlZXBfcmFuZ2UoMTAwMCwg MjAwMCk7CiAJfTsKIAotCWt1bm1hcF9hdG9taWMoYmFzZSk7Ci0KIAlyZXR1cm4gcmV0OwogfQog CiBzdGF0aWMgaW50IGd1Y19hZGRfd29ya3F1ZXVlX2l0ZW0oc3RydWN0IGk5MTVfZ3VjX2NsaWVu dCAqZ2MsCiAJCQkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQogeworCXN0cnVj dCBndWNfcHJvY2Vzc19kZXNjICpkZXNjOwogCXN0cnVjdCBndWNfd3FfaXRlbSAqd3FpOwotCXZv aWQgKmJhc2U7Ci0JdTMyIHRhaWwsIHdxX2xlbiwgd3Ffb2ZmLCBzcGFjZTsKKwl1MzIgdGFpbCwg d3FfbGVuLCB3cWlfb2ZmLCBzcGFjZTsKIAotCXNwYWNlID0gQ0lSQ19TUEFDRShnYy0+d3FfdGFp bCwgZ2MtPndxX2hlYWQsIGdjLT53cV9zaXplKTsKKwlkZXNjID0gZ2MtPmNsaWVudF9iYXNlICsg Z2MtPnByb2NfZGVzY19vZmZzZXQ7CisJc3BhY2UgPSBDSVJDX1NQQUNFKGdjLT53cV90YWlsLCBk ZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSk7CiAJaWYgKFdBUk5fT04oc3BhY2UgPCBzaXplb2Yoc3Ry dWN0IGd1Y193cV9pdGVtKSkpCiAJCXJldHVybiAtRU5PU1BDOyAvKiBzaG91bGRuJ3QgaGFwcGVu ICovCiAKIAkvKiBwb3N0aW5jcmVtZW50IFdRIHRhaWwgZm9yIG5leHQgdGltZSAqLwotCXdxX29m ZiA9IGdjLT53cV90YWlsOworCXdxaV9vZmYgPSBnYy0+d3FfdGFpbDsKIAlnYy0+d3FfdGFpbCAr PSBzaXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKTsKIAlnYy0+d3FfdGFpbCAmPSBnYy0+d3Ffc2l6 ZSAtIDE7CiAKQEAgLTUzMCwxMyArNTEwLDEwIEBAIHN0YXRpYyBpbnQgZ3VjX2FkZF93b3JrcXVl dWVfaXRlbShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYywKIAkgKiB3b3JrcXVldWUgYnVmZmVy IGR3IGJ5IGR3LgogCSAqLwogCVdBUk5fT04oc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSkgIT0g MTYpOwotCVdBUk5fT04od3Ffb2ZmICYgMyk7CisJV0FSTl9PTih3cWlfb2ZmICYgMyk7CiAKIAkv KiB3cSBzdGFydHMgZnJvbSB0aGUgcGFnZSBhZnRlciBkb29yYmVsbCAvIHByb2Nlc3NfZGVzYyAq LwotCWJhc2UgPSBrbWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoZ2MtPmNsaWVu dF9vYmosCi0JCQkod3Ffb2ZmICsgR1VDX0RCX1NJWkUpID4+IFBBR0VfU0hJRlQpKTsKLQl3cV9v ZmYgJj0gUEFHRV9TSVpFIC0gMTsKLQl3cWkgPSAoc3RydWN0IGd1Y193cV9pdGVtICopKChjaGFy ICopYmFzZSArIHdxX29mZik7CisJd3FpID0gZ2MtPmNsaWVudF9iYXNlICsgZ2MtPndxX29mZnNl dCArIHdxaV9vZmY7CiAKIAkvKiBsZW4gZG9lcyBub3QgaW5jbHVkZSB0aGUgaGVhZGVyICovCiAJ d3FfbGVuID0gc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSkgLyBzaXplb2YodTMyKSAtIDE7CkBA IC01NTMsOCArNTMwLDYgQEAgc3RhdGljIGludCBndWNfYWRkX3dvcmtxdWV1ZV9pdGVtKHN0cnVj dCBpOTE1X2d1Y19jbGllbnQgKmdjLAogCXdxaS0+cmluZ190YWlsID0gdGFpbCA8PCBXUV9SSU5H X1RBSUxfU0hJRlQ7CiAJd3FpLT5mZW5jZV9pZCA9IDA7IC8qWFhYOiB3aGF0IGZlbmNlIHRvIGJl IGhlcmUgKi8KIAotCWt1bm1hcF9hdG9taWMoYmFzZSk7Ci0KIAlyZXR1cm4gMDsKIH0KIApAQCAt Njc1LDYgKzY1MCw4IEBAIHN0YXRpYyB2b2lkIGd1Y19jbGllbnRfZnJlZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCSAqIEJlIHN1cmUgdG8gZHJvcCBhbnkgbG9ja3MKIAkgKi8KIAorCXZ1bm1h cChjbGllbnQtPmNsaWVudF9iYXNlKTsKKwogCWdlbV9yZWxlYXNlX2d1Y19vYmooY2xpZW50LT5j bGllbnRfb2JqKTsKIAogCWlmIChjbGllbnQtPmN0eF9pbmRleCAhPSBHVUNfSU5WQUxJRF9DVFhf SUQpIHsKQEAgLTcyNyw2ICs3MDQsMTEgQEAgc3RhdGljIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQg Kmd1Y19jbGllbnRfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpZiAoIW9iaikKIAkJ Z290byBlcnI7CiAKKwljbGllbnQtPmNsaWVudF9iYXNlID0gaTkxNV9nZW1fb2JqZWN0X3ZtYXAo b2JqLCAwLAorCQkJb2JqLT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVCk7CisJaWYgKGNsaWVudC0+ Y2xpZW50X2Jhc2UgPT0gTlVMTCkKKwkJZ290byBlcnI7CisKIAljbGllbnQtPmNsaWVudF9vYmog PSBvYmo7CiAJY2xpZW50LT53cV9vZmZzZXQgPSBHVUNfREJfU0laRTsKIAljbGllbnQtPndxX3Np emUgPSBHVUNfV1FfU0laRTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggNzMwMDJlOS4u OWYwOGJkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTM0LDYgKzM0LDggQEAgc3Ry dWN0IGk5MTVfZ3VjX2NsaWVudCB7CiAJdWludDMyX3QgcHJpb3JpdHk7CiAJdWludDMyX3QgY3R4 X2luZGV4OwogCisJdm9pZCAqY2xpZW50X2Jhc2U7CisKIAl1aW50MzJfdCBwcm9jX2Rlc2Nfb2Zm c2V0OwogCXVpbnQzMl90IGRvb3JiZWxsX29mZnNldDsKIAl1aW50MzJfdCBjb29raWU7CkBAIC00 Myw3ICs0NSw2IEBAIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgewogCXVpbnQzMl90IHdxX29mZnNl dDsKIAl1aW50MzJfdCB3cV9zaXplOwogCXVpbnQzMl90IHdxX3RhaWw7Ci0JdWludDMyX3Qgd3Ff aGVhZDsKIAogCS8qIEd1QyBzdWJtaXNzaW9uIHN0YXRpc3RpY3MgJiBzdGF0dXMgKi8KIAl1aW50 NjRfdCBzdWJtaXNzaW9uc1tHVUNfTUFYX0VOR0lORVNfTlVNXTsKLS0gCjIuNS4wCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK