From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arkadiusz Hiler Subject: [PATCH 04/11] drm/i915/uc: Move intel_uc_fw_fetch() to intel_uc.c Date: Tue, 14 Mar 2017 15:28:08 +0100 Message-ID: <20170314142815.17440-5-arkadiusz.hiler@intel.com> References: <20170314142815.17440-1-arkadiusz.hiler@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 ESMTPS id 8B41F6E773 for ; Tue, 14 Mar 2017 14:28:28 +0000 (UTC) In-Reply-To: <20170314142815.17440-1-arkadiusz.hiler@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 VGhlIGZpbGUgZml0cyBiZXR0ZXIuCgpBZGRpdGlvbmFsbHkgcmVuYW1lIGl0IHRvIGludGVsX3Vj X3ByZXBhcmVfZncoKSwgYXMgdGhlIGZ1bmN0aW9uIGRvZXMKbW9yZSB0aGFuIHNpbXBsZSBmZXRj aC4KCmBvYmpgIGNsZWFudXAgaW4gdGhlIGZ1bmN0aW9uIGlzIGFsc28gZml4ZWQgKGkuZS4gcmVt b3ZlZCkuIEluIHRoZSBmYWlsCnNjZW5hcmlvIGl0IHdhcyBhbHdheXMgJ3B1dCcgYnV0IHRoZXJl J3Mgbm8gcG9zc2libGUgZmxvdyB0aGF0CmluaXRpYWxpemVzIHRoZSBvYmogcHJvcGVybHkgYW5k IHRoZW4gZ29lcyB0byB0aGUgZmFpbCBsYWJlbC4KCnYyOiByZW1vdmUgc2Vjb25kIGRlY2xhcmF0 aW9uLCByZW9yZGVyIChNLiBXYWpkZWN6a28pCnYzOiBub24tdHJpdmlhbCByZWJhc2UKdjQ6IHJl bW92ZSBvYmogY2xlYW51cCBpbiB0aGUgZmFpbCBzY2VuYXJpbyAoQy4gV2lsc29uKQoKQ2M6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogTWljaGFsIFdhamRlY3pr byA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFya2FkaXVzeiBI aWxlciA8YXJrYWRpdXN6LmhpbGVyQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IE1pY2hhbCBXYWpk ZWN6a28gPG1pY2hhbC53YWpkZWN6a29AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19sb2FkZXIuYyB8IDEzNyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMgICAgICAgIHwgICAyICstCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jICAgICAgICAgfCAxMzEgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oICAgICAg ICAgfCAgIDQgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTM1IGluc2VydGlvbnMoKyksIDEzOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9h ZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKaW5kZXggZDg5 ODY2Zi4uMzgzMzExYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj X2xvYWRlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwpA QCAtMjYsNyArMjYsNiBAQAogICogICAgRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVs LmNvbT4KICAqICAgIEFsZXggRGFpIDx5dS5kYWlAaW50ZWwuY29tPgogICovCi0jaW5jbHVkZSA8 bGludXgvZmlybXdhcmUuaD4KICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImludGVs X3VjLmgiCiAKQEAgLTUyMCwxNDAgKzUxOSw2IEBAIGludCBpbnRlbF9ndWNfaW5pdF9odyhzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCiAJcmV0dXJuIHJldDsKIH0KIAotdm9pZCBpbnRlbF91Y19md19m ZXRjaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgc3RydWN0IGludGVs X3VjX2Z3ICp1Y19mdykKLXsKLQlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGRldl9wcml2LT5kcm0u cGRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwotCWNvbnN0IHN0cnVjdCBm aXJtd2FyZSAqZncgPSBOVUxMOwotCXN0cnVjdCB1Y19jc3NfaGVhZGVyICpjc3M7Ci0Jc2l6ZV90 IHNpemU7Ci0JaW50IGVycjsKLQotCURSTV9ERUJVR19EUklWRVIoImJlZm9yZSByZXF1ZXN0aW5n IGZpcm13YXJlOiB1QyBmdyBmZXRjaCBzdGF0dXMgJXNcbiIsCi0JCWludGVsX3VjX2Z3X3N0YXR1 c19yZXByKHVjX2Z3LT5mZXRjaF9zdGF0dXMpKTsKLQotCWVyciA9IHJlcXVlc3RfZmlybXdhcmUo JmZ3LCB1Y19mdy0+cGF0aCwgJnBkZXYtPmRldik7Ci0JaWYgKGVycikKLQkJZ290byBmYWlsOwot CWlmICghZncpCi0JCWdvdG8gZmFpbDsKLQotCURSTV9ERUJVR19EUklWRVIoImZldGNoIHVDIGZ3 IGZyb20gJXMgc3VjY2VlZGVkLCBmdyAlcFxuIiwKLQkJdWNfZnctPnBhdGgsIGZ3KTsKLQotCS8q IENoZWNrIHRoZSBzaXplIG9mIHRoZSBibG9iIGJlZm9yZSBleGFtaW5pbmcgYnVmZmVyIGNvbnRl bnRzICovCi0JaWYgKGZ3LT5zaXplIDwgc2l6ZW9mKHN0cnVjdCB1Y19jc3NfaGVhZGVyKSkgewot CQlEUk1fTk9URSgiRmlybXdhcmUgaGVhZGVyIGlzIG1pc3NpbmdcbiIpOwotCQlnb3RvIGZhaWw7 Ci0JfQotCi0JY3NzID0gKHN0cnVjdCB1Y19jc3NfaGVhZGVyICopZnctPmRhdGE7Ci0KLQkvKiBG aXJtd2FyZSBiaXRzIGFsd2F5cyBzdGFydCBmcm9tIGhlYWRlciAqLwotCXVjX2Z3LT5oZWFkZXJf b2Zmc2V0ID0gMDsKLQl1Y19mdy0+aGVhZGVyX3NpemUgPSAoY3NzLT5oZWFkZXJfc2l6ZV9kdyAt IGNzcy0+bW9kdWx1c19zaXplX2R3IC0KLQkJY3NzLT5rZXlfc2l6ZV9kdyAtIGNzcy0+ZXhwb25l bnRfc2l6ZV9kdykgKiBzaXplb2YodTMyKTsKLQotCWlmICh1Y19mdy0+aGVhZGVyX3NpemUgIT0g c2l6ZW9mKHN0cnVjdCB1Y19jc3NfaGVhZGVyKSkgewotCQlEUk1fTk9URSgiQ1NTIGhlYWRlciBk ZWZpbml0aW9uIG1pc21hdGNoXG4iKTsKLQkJZ290byBmYWlsOwotCX0KLQotCS8qIHRoZW4sIHVD b2RlICovCi0JdWNfZnctPnVjb2RlX29mZnNldCA9IHVjX2Z3LT5oZWFkZXJfb2Zmc2V0ICsgdWNf ZnctPmhlYWRlcl9zaXplOwotCXVjX2Z3LT51Y29kZV9zaXplID0gKGNzcy0+c2l6ZV9kdyAtIGNz cy0+aGVhZGVyX3NpemVfZHcpICogc2l6ZW9mKHUzMik7Ci0KLQkvKiBub3cgUlNBICovCi0JaWYg KGNzcy0+a2V5X3NpemVfZHcgIT0gVU9TX1JTQV9TQ1JBVENIX01BWF9DT1VOVCkgewotCQlEUk1f Tk9URSgiUlNBIGtleSBzaXplIGlzIGJhZFxuIik7Ci0JCWdvdG8gZmFpbDsKLQl9Ci0JdWNfZnct PnJzYV9vZmZzZXQgPSB1Y19mdy0+dWNvZGVfb2Zmc2V0ICsgdWNfZnctPnVjb2RlX3NpemU7Ci0J dWNfZnctPnJzYV9zaXplID0gY3NzLT5rZXlfc2l6ZV9kdyAqIHNpemVvZih1MzIpOwotCi0JLyog QXQgbGVhc3QsIGl0IHNob3VsZCBoYXZlIGhlYWRlciwgdUNvZGUgYW5kIFJTQS4gU2l6ZSBvZiBh bGwgdGhyZWUuICovCi0Jc2l6ZSA9IHVjX2Z3LT5oZWFkZXJfc2l6ZSArIHVjX2Z3LT51Y29kZV9z aXplICsgdWNfZnctPnJzYV9zaXplOwotCWlmIChmdy0+c2l6ZSA8IHNpemUpIHsKLQkJRFJNX05P VEUoIk1pc3NpbmcgZmlybXdhcmUgY29tcG9uZW50c1xuIik7Ci0JCWdvdG8gZmFpbDsKLQl9Ci0K LQkvKgotCSAqIFRoZSBHdUMgZmlybXdhcmUgaW1hZ2UgaGFzIHRoZSB2ZXJzaW9uIG51bWJlciBl bWJlZGRlZCBhdCBhIHdlbGwta25vd24KLQkgKiBvZmZzZXQgd2l0aGluIHRoZSBmaXJtd2FyZSBi bG9iOyBub3RlIHRoYXQgbWFqb3IgLyBtaW5vciB2ZXJzaW9uIGFyZQotCSAqIFRXTyBieXRlcyBl YWNoIChpLmUuIHUxNiksIGFsdGhvdWdoIGFsbCBwb2ludGVycyBhbmQgb2Zmc2V0cyBhcmUgZGVm aW5lZAotCSAqIGluIHRlcm1zIG9mIGJ5dGVzICh1OCkuCi0JICovCi0Jc3dpdGNoICh1Y19mdy0+ ZncpIHsKLQljYXNlIElOVEVMX1VDX0ZXX1RZUEVfR1VDOgotCQkvKiBIZWFkZXIgYW5kIHVDb2Rl IHdpbGwgYmUgbG9hZGVkIHRvIFdPUENNLiBTaXplIG9mIHRoZSB0d28uICovCi0JCXNpemUgPSB1 Y19mdy0+aGVhZGVyX3NpemUgKyB1Y19mdy0+dWNvZGVfc2l6ZTsKLQotCQkvKiBUb3AgMzJrIG9m IFdPUENNIGlzIHJlc2VydmVkICg4SyBzdGFjayArIDI0ayBSQzYgY29udGV4dCkuICovCi0JCWlm IChzaXplID4gaW50ZWxfZ3VjX3dvcGNtX3NpemUoZGV2X3ByaXYpKSB7Ci0JCQlEUk1fRVJST1Io IkZpcm13YXJlIGlzIHRvbyBsYXJnZSB0byBmaXQgaW4gV09QQ01cbiIpOwotCQkJZ290byBmYWls OwotCQl9Ci0JCXVjX2Z3LT5tYWpvcl92ZXJfZm91bmQgPSBjc3MtPmd1Yy5zd192ZXJzaW9uID4+ IDE2OwotCQl1Y19mdy0+bWlub3JfdmVyX2ZvdW5kID0gY3NzLT5ndWMuc3dfdmVyc2lvbiAmIDB4 RkZGRjsKLQkJYnJlYWs7Ci0KLQljYXNlIElOVEVMX1VDX0ZXX1RZUEVfSFVDOgotCQl1Y19mdy0+ bWFqb3JfdmVyX2ZvdW5kID0gY3NzLT5odWMuc3dfdmVyc2lvbiA+PiAxNjsKLQkJdWNfZnctPm1p bm9yX3Zlcl9mb3VuZCA9IGNzcy0+aHVjLnN3X3ZlcnNpb24gJiAweEZGRkY7Ci0JCWJyZWFrOwot Ci0JZGVmYXVsdDoKLQkJRFJNX0VSUk9SKCJVbmtub3duIGZpcm13YXJlIHR5cGUgJWRcbiIsIHVj X2Z3LT5mdyk7Ci0JCWVyciA9IC1FTk9FWEVDOwotCQlnb3RvIGZhaWw7Ci0JfQotCi0JaWYgKHVj X2Z3LT5tYWpvcl92ZXJfZm91bmQgIT0gdWNfZnctPm1ham9yX3Zlcl93YW50ZWQgfHwKLQkgICAg dWNfZnctPm1pbm9yX3Zlcl9mb3VuZCA8IHVjX2Z3LT5taW5vcl92ZXJfd2FudGVkKSB7Ci0JCURS TV9OT1RFKCJ1QyBmaXJtd2FyZSB2ZXJzaW9uICVkLiVkLCByZXF1aXJlZCAlZC4lZFxuIiwKLQkJ CXVjX2Z3LT5tYWpvcl92ZXJfZm91bmQsIHVjX2Z3LT5taW5vcl92ZXJfZm91bmQsCi0JCQl1Y19m dy0+bWFqb3JfdmVyX3dhbnRlZCwgdWNfZnctPm1pbm9yX3Zlcl93YW50ZWQpOwotCQllcnIgPSAt RU5PRVhFQzsKLQkJZ290byBmYWlsOwotCX0KLQotCURSTV9ERUJVR19EUklWRVIoImZpcm13YXJl IHZlcnNpb24gJWQuJWQgT0sgKG1pbmltdW0gJWQuJWQpXG4iLAotCQkJdWNfZnctPm1ham9yX3Zl cl9mb3VuZCwgdWNfZnctPm1pbm9yX3Zlcl9mb3VuZCwKLQkJCXVjX2Z3LT5tYWpvcl92ZXJfd2Fu dGVkLCB1Y19mdy0+bWlub3JfdmVyX3dhbnRlZCk7Ci0KLQltdXRleF9sb2NrKCZkZXZfcHJpdi0+ ZHJtLnN0cnVjdF9tdXRleCk7Ci0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9mcm9tX2Rh dGEoZGV2X3ByaXYsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7Ci0JbXV0ZXhfdW5sb2NrKCZkZXZfcHJp di0+ZHJtLnN0cnVjdF9tdXRleCk7Ci0JaWYgKElTX0VSUl9PUl9OVUxMKG9iaikpIHsKLQkJZXJy ID0gb2JqID8gUFRSX0VSUihvYmopIDogLUVOT01FTTsKLQkJZ290byBmYWlsOwotCX0KLQotCXVj X2Z3LT5vYmogPSBvYmo7Ci0JdWNfZnctPnNpemUgPSBmdy0+c2l6ZTsKLQotCURSTV9ERUJVR19E UklWRVIoInVDIGZ3IGZldGNoIHN0YXR1cyBTVUNDRVNTLCBvYmogJXBcbiIsCi0JCQl1Y19mdy0+ b2JqKTsKLQotCXJlbGVhc2VfZmlybXdhcmUoZncpOwotCXVjX2Z3LT5mZXRjaF9zdGF0dXMgPSBJ TlRFTF9VQ19GSVJNV0FSRV9TVUNDRVNTOwotCXJldHVybjsKLQotZmFpbDoKLQlEUk1fV0FSTigi RmFpbGVkIHRvIGZldGNoIHZhbGlkIHVDIGZpcm13YXJlIGZyb20gJXMgKGVycm9yICVkKVxuIiwK LQkJIHVjX2Z3LT5wYXRoLCBlcnIpOwotCURSTV9ERUJVR19EUklWRVIoInVDIGZ3IGZldGNoIHN0 YXR1cyBGQUlMOyBlcnIgJWQsIGZ3ICVwLCBvYmogJXBcbiIsCi0JCWVyciwgZncsIHVjX2Z3LT5v YmopOwotCi0Jb2JqID0gZmV0Y2hfYW5kX3plcm8oJnVjX2Z3LT5vYmopOwotCWlmIChvYmopCi0J CWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKLQotCXJlbGVhc2VfZmlybXdhcmUoZncpOwkJLyog T0sgZXZlbiBpZiBmdyBpcyBOVUxMICovCi0JdWNfZnctPmZldGNoX3N0YXR1cyA9IElOVEVMX1VD X0ZJUk1XQVJFX0ZBSUw7Ci19CiAKIC8qKgogICogaW50ZWxfZ3VjX2luaXQoKSAtIGRlZmluZSBw YXJhbWV0ZXJzIGFuZCBmZXRjaCBmaXJtd2FyZQpAQCAtNzEyLDcgKzU3Nyw3IEBAIHZvaWQgaW50 ZWxfZ3VjX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJZ3VjX2Z3 LT5mZXRjaF9zdGF0dXMgPSBJTlRFTF9VQ19GSVJNV0FSRV9QRU5ESU5HOwogCURSTV9ERUJVR19E UklWRVIoIkd1QyBmaXJtd2FyZSBwZW5kaW5nLCBwYXRoICVzXG4iLCBmd19wYXRoKTsKLQlpbnRl bF91Y19md19mZXRjaChkZXZfcHJpdiwgZ3VjX2Z3KTsKKwlpbnRlbF91Y19wcmVwYXJlX2Z3KGRl dl9wcml2LCBndWNfZncpOwogCS8qIHN0YXR1cyBtdXN0IG5vdyBiZSBGQUlMIG9yIFNVQ0NFU1Mg Ki8KIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYwppbmRleCBlNDIwMjFkLi4zNjMyNmNhIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYwpAQCAtMTg5LDcgKzE4OSw3IEBAIHZvaWQgaW50ZWxf aHVjX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJRFJNX0RFQlVH X0RSSVZFUigiSHVDIGZpcm13YXJlIHBlbmRpbmcsIHBhdGggJXNcbiIsIGZ3X3BhdGgpOwogCi0J aW50ZWxfdWNfZndfZmV0Y2goZGV2X3ByaXYsIGh1Y19mdyk7CisJaW50ZWxfdWNfcHJlcGFyZV9m dyhkZXZfcHJpdiwgaHVjX2Z3KTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwppbmRl eCBjNDZiYzg1Li4yZWE4YTJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKQEAgLTI0LDYgKzI0 LDcgQEAKIAogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAjaW5jbHVkZSAiaW50ZWxfdWMuaCIKKyNp bmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiB2b2lkIGludGVsX3VjX2luaXRfZWFybHkoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewpAQCAtMTE0LDMgKzExNSwxMzMgQEAg aW50IGludGVsX2d1Y19zYW1wbGVfZm9yY2V3YWtlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAly ZXR1cm4gaW50ZWxfZ3VjX3NlbmQoZ3VjLCBhY3Rpb24sIEFSUkFZX1NJWkUoYWN0aW9uKSk7CiB9 CiAKK3ZvaWQgaW50ZWxfdWNfcHJlcGFyZV9mdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCisJCQkgc3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdykKK3sKKwlzdHJ1Y3QgcGNpX2Rl diAqcGRldiA9IGRldl9wcml2LT5kcm0ucGRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOworCXN0cnVjdCB1Y19j c3NfaGVhZGVyICpjc3M7CisJc2l6ZV90IHNpemU7CisJaW50IGVycjsKKworCURSTV9ERUJVR19E UklWRVIoImJlZm9yZSByZXF1ZXN0aW5nIGZpcm13YXJlOiB1QyBmdyBmZXRjaCBzdGF0dXMgJXNc biIsCisJCWludGVsX3VjX2Z3X3N0YXR1c19yZXByKHVjX2Z3LT5mZXRjaF9zdGF0dXMpKTsKKwor CWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCB1Y19mdy0+cGF0aCwgJnBkZXYtPmRldik7CisJ aWYgKGVycikKKwkJZ290byBmYWlsOworCWlmICghZncpCisJCWdvdG8gZmFpbDsKKworCURSTV9E RUJVR19EUklWRVIoImZldGNoIHVDIGZ3IGZyb20gJXMgc3VjY2VlZGVkLCBmdyAlcFxuIiwKKwkJ dWNfZnctPnBhdGgsIGZ3KTsKKworCS8qIENoZWNrIHRoZSBzaXplIG9mIHRoZSBibG9iIGJlZm9y ZSBleGFtaW5pbmcgYnVmZmVyIGNvbnRlbnRzICovCisJaWYgKGZ3LT5zaXplIDwgc2l6ZW9mKHN0 cnVjdCB1Y19jc3NfaGVhZGVyKSkgeworCQlEUk1fTk9URSgiRmlybXdhcmUgaGVhZGVyIGlzIG1p c3NpbmdcbiIpOworCQlnb3RvIGZhaWw7CisJfQorCisJY3NzID0gKHN0cnVjdCB1Y19jc3NfaGVh ZGVyICopZnctPmRhdGE7CisKKwkvKiBGaXJtd2FyZSBiaXRzIGFsd2F5cyBzdGFydCBmcm9tIGhl YWRlciAqLworCXVjX2Z3LT5oZWFkZXJfb2Zmc2V0ID0gMDsKKwl1Y19mdy0+aGVhZGVyX3NpemUg PSAoY3NzLT5oZWFkZXJfc2l6ZV9kdyAtIGNzcy0+bW9kdWx1c19zaXplX2R3IC0KKwkJY3NzLT5r ZXlfc2l6ZV9kdyAtIGNzcy0+ZXhwb25lbnRfc2l6ZV9kdykgKiBzaXplb2YodTMyKTsKKworCWlm ICh1Y19mdy0+aGVhZGVyX3NpemUgIT0gc2l6ZW9mKHN0cnVjdCB1Y19jc3NfaGVhZGVyKSkgewor CQlEUk1fTk9URSgiQ1NTIGhlYWRlciBkZWZpbml0aW9uIG1pc21hdGNoXG4iKTsKKwkJZ290byBm YWlsOworCX0KKworCS8qIHRoZW4sIHVDb2RlICovCisJdWNfZnctPnVjb2RlX29mZnNldCA9IHVj X2Z3LT5oZWFkZXJfb2Zmc2V0ICsgdWNfZnctPmhlYWRlcl9zaXplOworCXVjX2Z3LT51Y29kZV9z aXplID0gKGNzcy0+c2l6ZV9kdyAtIGNzcy0+aGVhZGVyX3NpemVfZHcpICogc2l6ZW9mKHUzMik7 CisKKwkvKiBub3cgUlNBICovCisJaWYgKGNzcy0+a2V5X3NpemVfZHcgIT0gVU9TX1JTQV9TQ1JB VENIX01BWF9DT1VOVCkgeworCQlEUk1fTk9URSgiUlNBIGtleSBzaXplIGlzIGJhZFxuIik7CisJ CWdvdG8gZmFpbDsKKwl9CisJdWNfZnctPnJzYV9vZmZzZXQgPSB1Y19mdy0+dWNvZGVfb2Zmc2V0 ICsgdWNfZnctPnVjb2RlX3NpemU7CisJdWNfZnctPnJzYV9zaXplID0gY3NzLT5rZXlfc2l6ZV9k dyAqIHNpemVvZih1MzIpOworCisJLyogQXQgbGVhc3QsIGl0IHNob3VsZCBoYXZlIGhlYWRlciwg dUNvZGUgYW5kIFJTQS4gU2l6ZSBvZiBhbGwgdGhyZWUuICovCisJc2l6ZSA9IHVjX2Z3LT5oZWFk ZXJfc2l6ZSArIHVjX2Z3LT51Y29kZV9zaXplICsgdWNfZnctPnJzYV9zaXplOworCWlmIChmdy0+ c2l6ZSA8IHNpemUpIHsKKwkJRFJNX05PVEUoIk1pc3NpbmcgZmlybXdhcmUgY29tcG9uZW50c1xu Iik7CisJCWdvdG8gZmFpbDsKKwl9CisKKwkvKgorCSAqIFRoZSBHdUMgZmlybXdhcmUgaW1hZ2Ug aGFzIHRoZSB2ZXJzaW9uIG51bWJlciBlbWJlZGRlZCBhdCBhCisJICogd2VsbC1rbm93biBvZmZz ZXQgd2l0aGluIHRoZSBmaXJtd2FyZSBibG9iOyBub3RlIHRoYXQgbWFqb3IgLyBtaW5vcgorCSAq IHZlcnNpb24gYXJlIFRXTyBieXRlcyBlYWNoIChpLmUuIHUxNiksIGFsdGhvdWdoIGFsbCBwb2lu dGVycyBhbmQKKwkgKiBvZmZzZXRzIGFyZSBkZWZpbmVkIGluIHRlcm1zIG9mIGJ5dGVzICh1OCku CisJICovCisJc3dpdGNoICh1Y19mdy0+ZncpIHsKKwljYXNlIElOVEVMX1VDX0ZXX1RZUEVfR1VD OgorCQkvKiBIZWFkZXIgYW5kIHVDb2RlIHdpbGwgYmUgbG9hZGVkIHRvIFdPUENNLiBTaXplIG9m IHRoZSB0d28uICovCisJCXNpemUgPSB1Y19mdy0+aGVhZGVyX3NpemUgKyB1Y19mdy0+dWNvZGVf c2l6ZTsKKworCQkvKiBUb3AgMzJrIG9mIFdPUENNIGlzIHJlc2VydmVkICg4SyBzdGFjayArIDI0 ayBSQzYgY29udGV4dCkuICovCisJCWlmIChzaXplID4gaW50ZWxfZ3VjX3dvcGNtX3NpemUoZGV2 X3ByaXYpKSB7CisJCQlEUk1fRVJST1IoIkZpcm13YXJlIGlzIHRvbyBsYXJnZSB0byBmaXQgaW4g V09QQ01cbiIpOworCQkJZ290byBmYWlsOworCQl9CisJCXVjX2Z3LT5tYWpvcl92ZXJfZm91bmQg PSBjc3MtPmd1Yy5zd192ZXJzaW9uID4+IDE2OworCQl1Y19mdy0+bWlub3JfdmVyX2ZvdW5kID0g Y3NzLT5ndWMuc3dfdmVyc2lvbiAmIDB4RkZGRjsKKwkJYnJlYWs7CisKKwljYXNlIElOVEVMX1VD X0ZXX1RZUEVfSFVDOgorCQl1Y19mdy0+bWFqb3JfdmVyX2ZvdW5kID0gY3NzLT5odWMuc3dfdmVy c2lvbiA+PiAxNjsKKwkJdWNfZnctPm1pbm9yX3Zlcl9mb3VuZCA9IGNzcy0+aHVjLnN3X3ZlcnNp b24gJiAweEZGRkY7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJRFJNX0VSUk9SKCJVbmtub3du IGZpcm13YXJlIHR5cGUgJWRcbiIsIHVjX2Z3LT5mdyk7CisJCWVyciA9IC1FTk9FWEVDOworCQln b3RvIGZhaWw7CisJfQorCisJaWYgKHVjX2Z3LT5tYWpvcl92ZXJfZm91bmQgIT0gdWNfZnctPm1h am9yX3Zlcl93YW50ZWQgfHwKKwkgICAgdWNfZnctPm1pbm9yX3Zlcl9mb3VuZCA8IHVjX2Z3LT5t aW5vcl92ZXJfd2FudGVkKSB7CisJCURSTV9OT1RFKCJ1QyBmaXJtd2FyZSB2ZXJzaW9uICVkLiVk LCByZXF1aXJlZCAlZC4lZFxuIiwKKwkJCXVjX2Z3LT5tYWpvcl92ZXJfZm91bmQsIHVjX2Z3LT5t aW5vcl92ZXJfZm91bmQsCisJCQl1Y19mdy0+bWFqb3JfdmVyX3dhbnRlZCwgdWNfZnctPm1pbm9y X3Zlcl93YW50ZWQpOworCQllcnIgPSAtRU5PRVhFQzsKKwkJZ290byBmYWlsOworCX0KKworCURS TV9ERUJVR19EUklWRVIoImZpcm13YXJlIHZlcnNpb24gJWQuJWQgT0sgKG1pbmltdW0gJWQuJWQp XG4iLAorCQkJdWNfZnctPm1ham9yX3Zlcl9mb3VuZCwgdWNfZnctPm1pbm9yX3Zlcl9mb3VuZCwK KwkJCXVjX2Z3LT5tYWpvcl92ZXJfd2FudGVkLCB1Y19mdy0+bWlub3JfdmVyX3dhbnRlZCk7CisK KwltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CisJb2JqID0gaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9mcm9tX2RhdGEoZGV2X3ByaXYsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7 CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CisJaWYgKElTX0VS Ul9PUl9OVUxMKG9iaikpIHsKKwkJZXJyID0gb2JqID8gUFRSX0VSUihvYmopIDogLUVOT01FTTsK KwkJZ290byBmYWlsOworCX0KKworCXVjX2Z3LT5vYmogPSBvYmo7CisJdWNfZnctPnNpemUgPSBm dy0+c2l6ZTsKKworCURSTV9ERUJVR19EUklWRVIoInVDIGZ3IGZldGNoIHN0YXR1cyBTVUNDRVNT LCBvYmogJXBcbiIsCisJCQl1Y19mdy0+b2JqKTsKKworCXJlbGVhc2VfZmlybXdhcmUoZncpOwor CXVjX2Z3LT5mZXRjaF9zdGF0dXMgPSBJTlRFTF9VQ19GSVJNV0FSRV9TVUNDRVNTOworCXJldHVy bjsKKworZmFpbDoKKwlEUk1fV0FSTigiRmFpbGVkIHRvIGZldGNoIHZhbGlkIHVDIGZpcm13YXJl IGZyb20gJXMgKGVycm9yICVkKVxuIiwKKwkJIHVjX2Z3LT5wYXRoLCBlcnIpOworCURSTV9ERUJV R19EUklWRVIoInVDIGZ3IGZldGNoIHN0YXR1cyBGQUlMOyBlcnIgJWQsIGZ3ICVwLCBvYmogJXBc biIsCisJCWVyciwgZncsIHVjX2Z3LT5vYmopOworCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CQkv KiBPSyBldmVuIGlmIGZ3IGlzIE5VTEwgKi8KKwl1Y19mdy0+ZmV0Y2hfc3RhdHVzID0gSU5URUxf VUNfRklSTVdBUkVfRkFJTDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCmluZGV4IDdiOTA0MTQu Ljk1MDk0MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuaApAQCAtMTg1LDYgKzE4NSw4IEBAIHN0 cnVjdCBpbnRlbF9odWMgewogCiAvKiBpbnRlbF91Yy5jICovCiB2b2lkIGludGVsX3VjX2luaXRf ZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgaW50ZWxfdWNf cHJlcGFyZV9mdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgc3RydWN0 IGludGVsX3VjX2Z3ICp1Y19mdyk7CiBpbnQgaW50ZWxfZ3VjX3NlbmQoc3RydWN0IGludGVsX2d1 YyAqZ3VjLCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbik7CiBpbnQgaW50ZWxfZ3VjX3NhbXBs ZV9mb3JjZXdha2Uoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIApAQCAtMTk1LDggKzE5Nyw2IEBA IHZvaWQgaW50ZWxfZ3VjX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK IGNvbnN0IGNoYXIgKmludGVsX3VjX2Z3X3N0YXR1c19yZXByKGVudW0gaW50ZWxfdWNfZndfc3Rh dHVzIHN0YXR1cyk7CiBpbnQgaW50ZWxfZ3VjX3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKIGludCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Ci12b2lkIGludGVsX3VjX2Z3X2ZldGNoKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKLQlzdHJ1Y3QgaW50ZWxfdWNfZncgKnVjX2Z3KTsKIHUzMiBpbnRl bF9ndWNfd29wY21fc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCiAv KiBpOTE1X2d1Y19zdWJtaXNzaW9uLmMgKi8KLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK