From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 38/43] drm/i915: Parametrize AUX registes Date: Mon, 28 Sep 2015 15:15:18 +0300 Message-ID: <87r3likaeh.fsf@intel.com> References: <1442595836-23981-1-git-send-email-ville.syrjala@linux.intel.com> <1442595836-23981-39-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id C325F6E13D for ; Mon, 28 Sep 2015 05:11:59 -0700 (PDT) In-Reply-To: <1442595836-23981-39-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAxOCBTZXAgMjAxNSwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3JvdGU6 Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Pgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggIHwgMTAy ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jICB8ICA0NSArKystLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wc3IuYyB8ICAgNSArLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDYyIGlu c2VydGlvbnMoKyksIDkwIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4g aW5kZXggNGU5N2JmMi4uMDRiMjA2MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBA IC0zMDYyLDExICszMDYyLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZp bmUgICBFRFBfUFNSX0lETEVfRlJBTUVfU0hJRlQJCTAKPiAgCj4gICNkZWZpbmUgRURQX1BTUl9B VVhfQ1RMKGRldikJCQkoRURQX1BTUl9CQVNFKGRldikgKyAweDEwKQo+IC0jZGVmaW5lIEVEUF9Q U1JfQVVYX0RBVEExKGRldikJCQkoRURQX1BTUl9CQVNFKGRldikgKyAweDE0KQo+IC0jZGVmaW5l IEVEUF9QU1JfQVVYX0RBVEEyKGRldikJCQkoRURQX1BTUl9CQVNFKGRldikgKyAweDE4KQo+IC0j ZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEzKGRldikJCQkoRURQX1BTUl9CQVNFKGRldikgKyAweDFj KQo+IC0jZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEE0KGRldikJCQkoRURQX1BTUl9CQVNFKGRldikg KyAweDIwKQo+IC0jZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEE1KGRldikJCQkoRURQX1BTUl9CQVNF KGRldikgKyAweDI0KQo+ICsjZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEoZGV2LCBpKQkJKEVEUF9Q U1JfQkFTRShkZXYpICsgMHgxNCArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovCj4gIAo+ICAj ZGVmaW5lIEVEUF9QU1JfU1RBVFVTX0NUTChkZXYpCQkJKEVEUF9QU1JfQkFTRShkZXYpICsgMHg0 MCkKPiAgI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX01BU0sJCSg3PDwyOSkKPiBAQCAt NDE4MiwzMyArNDE3OCwzNiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgICogaXMg MjAgYnl0ZXMgaW4gZWFjaCBkaXJlY3Rpb24sIGhlbmNlIHRoZSA1IGZpeGVkCj4gICAqIGRhdGEg cmVnaXN0ZXJzCj4gICAqLwo+IC0jZGVmaW5lIERQQV9BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMTApCj4gLSNkZWZpbmUgRFBBX0FVWF9DSF9E QVRBMQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMTQpCj4gLSNk ZWZpbmUgRFBBX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjQwMTgpCj4gLSNkZWZpbmUgRFBBX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMWMpCj4gLSNkZWZpbmUgRFBBX0FVWF9DSF9EQVRB NAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMjApCj4gLSNkZWZp bmUgRFBBX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjQwMjQpCj4gLQo+IC0jZGVmaW5lIERQQl9BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMTApCj4gLSNkZWZpbmUgRFBCX0FVWF9DSF9EQVRB MQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMTQpCj4gLSNkZWZp bmUgRFBCX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjQxMTgpCj4gLSNkZWZpbmUgRFBCX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQxMWMpCj4gLSNkZWZpbmUgRFBCX0FVWF9DSF9EQVRBNAko ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMjApCj4gLSNkZWZpbmUg RFBCX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjQxMjQpCj4gLQo+IC0jZGVmaW5lIERQQ19BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQyMTApCj4gLSNkZWZpbmUgRFBDX0FVWF9DSF9EQVRBMQko ZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTQpCj4gLSNkZWZpbmUg RFBDX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjQyMTgpCj4gLSNkZWZpbmUgRFBDX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQyMWMpCj4gLSNkZWZpbmUgRFBDX0FVWF9DSF9EQVRBNAkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMjApCj4gLSNkZWZpbmUgRFBD X0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQy MjQpCj4gLQo+IC0jZGVmaW5lIERQRF9BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQzMTApCj4gLSNkZWZpbmUgRFBEX0FVWF9DSF9EQVRBMQkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMTQpCj4gLSNkZWZpbmUgRFBE X0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQz MTgpCj4gLSNkZWZpbmUgRFBEX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9t bWlvX29mZnNldCArIDB4NjQzMWMpCj4gLSNkZWZpbmUgRFBEX0FVWF9DSF9EQVRBNAkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMjApCj4gLSNkZWZpbmUgRFBEX0FV WF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMjQp Cj4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjQwMTApCj4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hfREFUQTEJKGRldl9wcml2 LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDE0KQo+ICsjZGVmaW5lIF9EUEFfQVVY X0NIX0RBVEEyCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAxOCkK PiArI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjQwMWMpCj4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hfREFUQTQJKGRldl9wcml2 LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDIwKQo+ICsjZGVmaW5lIF9EUEFfQVVY X0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAyNCkK PiArCj4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9t bWlvX29mZnNldCArIDB4NjQxMTApCj4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTEJKGRldl9w cml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTE0KQo+ICsjZGVmaW5lIF9EUEJf QVVYX0NIX0RBVEEyCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDEx OCkKPiArI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9t bWlvX29mZnNldCArIDB4NjQxMWMpCj4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTQJKGRldl9w cml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTIwKQo+ICsjZGVmaW5lIF9EUEJf QVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDEy NCkKPiArCj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQyMTApCj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTEJKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjE0KQo+ICsjZGVmaW5lIF9E UENfQVVYX0NIX0RBVEEyCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDIxOCkKPiArI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQyMWMpCj4gKyNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTQJKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjIwKQo+ICsjZGVmaW5lIF9E UENfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDIyNCkKPiArCj4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQzMTApCj4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfREFUQTEJ KGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzE0KQo+ICsjZGVmaW5l IF9EUERfQVVYX0NIX0RBVEEyCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDMxOCkKPiArI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQzMWMpCj4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfREFUQTQJ KGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzIwKQo+ICsjZGVmaW5l IF9EUERfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDMyNCkKPiArCj4gKyNkZWZpbmUgRFBfQVVYX0NIX0NUTChwb3J0KQlfUE9SVChwb3J0LCBf RFBBX0FVWF9DSF9DVEwsIF9EUEJfQVVYX0NIX0NUTCkKPiArI2RlZmluZSBEUF9BVVhfQ0hfREFU QShwb3J0LCBpKQkoX1BPUlQocG9ydCwgX0RQQV9BVVhfQ0hfREFUQTEsIF9EUEJfQVVYX0NIX0RB VEExKSArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovCj4gIAo+ICAjZGVmaW5lICAgRFBfQVVY X0NIX0NUTF9TRU5EX0JVU1kJICAgICgxIDw8IDMxKQo+ICAjZGVmaW5lICAgRFBfQVVYX0NIX0NU TF9ET05FCQkgICAgKDEgPDwgMzApCj4gQEAgLTY1NDMsMjggKzY1NDIsMzEgQEAgZW51bSBza2xf ZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgQlhUX1BQX09GRl9ERUxBWVMobikJX1BJUEUo biwgUENIX1BQX09GRl9ERUxBWVMsIF9CWFRfUFBfT0ZGX0RFTEFZUzIpCj4gIAo+ICAjZGVmaW5l IFBDSF9EUF9CCQkweGU0MTAwCj4gLSNkZWZpbmUgUENIX0RQQl9BVVhfQ0hfQ1RMCTB4ZTQxMTAK PiAtI2RlZmluZSBQQ0hfRFBCX0FVWF9DSF9EQVRBMQkweGU0MTE0Cj4gLSNkZWZpbmUgUENIX0RQ Ql9BVVhfQ0hfREFUQTIJMHhlNDExOAo+IC0jZGVmaW5lIFBDSF9EUEJfQVVYX0NIX0RBVEEzCTB4 ZTQxMWMKPiAtI2RlZmluZSBQQ0hfRFBCX0FVWF9DSF9EQVRBNAkweGU0MTIwCj4gLSNkZWZpbmUg UENIX0RQQl9BVVhfQ0hfREFUQTUJMHhlNDEyNAo+ICsjZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9D VEwJMHhlNDExMAo+ICsjZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9EQVRBMQkweGU0MTE0Cj4gKyNk ZWZpbmUgX1BDSF9EUEJfQVVYX0NIX0RBVEEyCTB4ZTQxMTgKPiArI2RlZmluZSBfUENIX0RQQl9B VVhfQ0hfREFUQTMJMHhlNDExYwo+ICsjZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9EQVRBNAkweGU0 MTIwCj4gKyNkZWZpbmUgX1BDSF9EUEJfQVVYX0NIX0RBVEE1CTB4ZTQxMjQKPiAgCj4gICNkZWZp bmUgUENIX0RQX0MJCTB4ZTQyMDAKPiAtI2RlZmluZSBQQ0hfRFBDX0FVWF9DSF9DVEwJMHhlNDIx MAo+IC0jZGVmaW5lIFBDSF9EUENfQVVYX0NIX0RBVEExCTB4ZTQyMTQKPiAtI2RlZmluZSBQQ0hf RFBDX0FVWF9DSF9EQVRBMgkweGU0MjE4Cj4gLSNkZWZpbmUgUENIX0RQQ19BVVhfQ0hfREFUQTMJ MHhlNDIxYwo+IC0jZGVmaW5lIFBDSF9EUENfQVVYX0NIX0RBVEE0CTB4ZTQyMjAKPiAtI2RlZmlu ZSBQQ0hfRFBDX0FVWF9DSF9EQVRBNQkweGU0MjI0Cj4gKyNkZWZpbmUgX1BDSF9EUENfQVVYX0NI X0NUTAkweGU0MjEwCj4gKyNkZWZpbmUgX1BDSF9EUENfQVVYX0NIX0RBVEExCTB4ZTQyMTQKPiAr I2RlZmluZSBfUENIX0RQQ19BVVhfQ0hfREFUQTIJMHhlNDIxOAo+ICsjZGVmaW5lIF9QQ0hfRFBD X0FVWF9DSF9EQVRBMwkweGU0MjFjCj4gKyNkZWZpbmUgX1BDSF9EUENfQVVYX0NIX0RBVEE0CTB4 ZTQyMjAKPiArI2RlZmluZSBfUENIX0RQQ19BVVhfQ0hfREFUQTUJMHhlNDIyNAo+ICAKPiAgI2Rl ZmluZSBQQ0hfRFBfRAkJMHhlNDMwMAo+IC0jZGVmaW5lIFBDSF9EUERfQVVYX0NIX0NUTAkweGU0 MzEwCj4gLSNkZWZpbmUgUENIX0RQRF9BVVhfQ0hfREFUQTEJMHhlNDMxNAo+IC0jZGVmaW5lIFBD SF9EUERfQVVYX0NIX0RBVEEyCTB4ZTQzMTgKPiAtI2RlZmluZSBQQ0hfRFBEX0FVWF9DSF9EQVRB MwkweGU0MzFjCj4gLSNkZWZpbmUgUENIX0RQRF9BVVhfQ0hfREFUQTQJMHhlNDMyMAo+IC0jZGVm aW5lIFBDSF9EUERfQVVYX0NIX0RBVEE1CTB4ZTQzMjQKPiArI2RlZmluZSBfUENIX0RQRF9BVVhf Q0hfQ1RMCTB4ZTQzMTAKPiArI2RlZmluZSBfUENIX0RQRF9BVVhfQ0hfREFUQTEJMHhlNDMxNAo+ ICsjZGVmaW5lIF9QQ0hfRFBEX0FVWF9DSF9EQVRBMgkweGU0MzE4Cj4gKyNkZWZpbmUgX1BDSF9E UERfQVVYX0NIX0RBVEEzCTB4ZTQzMWMKPiArI2RlZmluZSBfUENIX0RQRF9BVVhfQ0hfREFUQTQJ MHhlNDMyMAo+ICsjZGVmaW5lIF9QQ0hfRFBEX0FVWF9DSF9EQVRBNQkweGU0MzI0Cj4gKwo+ICsj ZGVmaW5lIFBDSF9EUF9BVVhfQ0hfQ1RMKHBvcnQpCQlfUE9SVCgocG9ydCktMSwgX1BDSF9EUEJf QVVYX0NIX0NUTCwgX1BDSF9EUENfQVVYX0NIX0NUTCkKPiArI2RlZmluZSBQQ0hfRFBfQVVYX0NI X0RBVEEocG9ydCwgaSkJKF9QT1JUKChwb3J0KS0xLCBfUENIX0RQQl9BVVhfQ0hfREFUQTEsIF9Q Q0hfRFBDX0FVWF9DSF9EQVRBMSkgKyAoaSkgKiA0KSAvKiA1IHJlZ2lzdGVycyAqLwo+ICAKPiAg LyogQ1BUICovCj4gICNkZWZpbmUgIFBPUlRfVFJBTlNfQV9TRUxfQ1BUCTAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKPiBpbmRleCBmYTRlOGIxLi4yN2RmMjQwIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCj4gQEAgLTc1MSw3ICs3NTEsNyBAQCBzdGF0aWMgdWludDMyX3QgaTl4eF9nZXRf YXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAllbHNlCj4gIAkJcHJl Y2hhcmdlID0gNTsKPiAgCj4gLQlpZiAoSVNfQlJPQURXRUxMKGRldikgJiYgaW50ZWxfZHAtPmF1 eF9jaF9jdGxfcmVnID09IERQQV9BVVhfQ0hfQ1RMKQo+ICsJaWYgKElTX0JST0FEV0VMTChkZXYp ICYmIGludGVsX2RwLT5hdXhfY2hfY3RsX3JlZyA9PSBEUF9BVVhfQ0hfQ1RMKFBPUlRfQSkpCj4g IAkJdGltZW91dCA9IERQX0FVWF9DSF9DVExfVElNRV9PVVRfNjAwdXM7Cj4gIAllbHNlCj4gIAkJ dGltZW91dCA9IERQX0FVWF9DSF9DVExfVElNRV9PVVRfNDAwdXM7Cj4gQEAgLTEwMTIsMzUgKzEw MTIsMTYgQEAgaW50ZWxfZHBfYXV4X3RyYW5zZmVyKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHN0 cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQo+ICBzdGF0aWMgdWludDMyX3QgZzR4X2F1eF9jdGxf cmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCWVudW0gcG9ydCBw b3J0KQo+ICB7Cj4gLQlzd2l0Y2ggKHBvcnQpIHsKPiAtCWNhc2UgUE9SVF9COgo+IC0JCXJldHVy biBEUEJfQVVYX0NIX0NUTDsKPiAtCWNhc2UgUE9SVF9DOgo+IC0JCXJldHVybiBEUENfQVVYX0NI X0NUTDsKPiAtCWNhc2UgUE9SVF9EOgo+IC0JCXJldHVybiBEUERfQVVYX0NIX0NUTDsKPiAtCWRl ZmF1bHQ6Cj4gLQkJTUlTU0lOR19DQVNFKHBvcnQpOwo+IC0JCXJldHVybiBEUEJfQVVYX0NIX0NU TDsKPiAtCX0KPiArCXJldHVybiBEUF9BVVhfQ0hfQ1RMKHBvcnQpOwoKVG9nZXRoZXIgd2l0aCB0 aGUgcHJldmlvdXMgcGF0Y2ggeW91IG5vdyBsb3NlIGFsbCBNSVNTSU5HX0NBU0UvQlVHL1dBUk4K Zm9yIGhhdmluZyBhbiBvdXQtb2YtYm91bmRzL3Vuc3VwcG9ydGVkIHBvcnQuIEkga2luZGEgbGlr ZWQgdGhlbS4KCkJSLApKYW5pLgoKPiAgfQo+ICAKPiAgc3RhdGljIHVpbnQzMl90IGlsa19hdXhf Y3RsX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQllbnVtIHBv cnQgcG9ydCkKPiAgewo+IC0Jc3dpdGNoIChwb3J0KSB7Cj4gLQljYXNlIFBPUlRfQToKPiAtCQly ZXR1cm4gRFBBX0FVWF9DSF9DVEw7Cj4gLQljYXNlIFBPUlRfQjoKPiAtCQlyZXR1cm4gUENIX0RQ Ql9BVVhfQ0hfQ1RMOwo+IC0JY2FzZSBQT1JUX0M6Cj4gLQkJcmV0dXJuIFBDSF9EUENfQVVYX0NI X0NUTDsKPiAtCWNhc2UgUE9SVF9EOgo+IC0JCXJldHVybiBQQ0hfRFBEX0FVWF9DSF9DVEw7Cj4g LQlkZWZhdWx0Ogo+IC0JCU1JU1NJTkdfQ0FTRShwb3J0KTsKPiAtCQlyZXR1cm4gRFBBX0FVWF9D SF9DVEw7Cj4gLQl9Cj4gKwlpZiAocG9ydCA9PSBQT1JUX0EpCj4gKwkJcmV0dXJuIERQX0FVWF9D SF9DVEwocG9ydCk7Cj4gKwllbHNlCj4gKwkJcmV0dXJuIFBDSF9EUF9BVVhfQ0hfQ1RMKHBvcnQp Owo+ICB9Cj4gIAo+ICAvKgo+IEBAIC0xMDczLDE5ICsxMDU0LDcgQEAgc3RhdGljIHVpbnQzMl90 IHNrbF9hdXhfY3RsX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlp ZiAocG9ydCA9PSBQT1JUX0UpCj4gIAkJcG9ydCA9IHNrbF9wb3J0ZV9hdXhfcG9ydChkZXZfcHJp dik7Cj4gIAo+IC0Jc3dpdGNoIChwb3J0KSB7Cj4gLQljYXNlIFBPUlRfQToKPiAtCQlyZXR1cm4g RFBBX0FVWF9DSF9DVEw7Cj4gLQljYXNlIFBPUlRfQjoKPiAtCQlyZXR1cm4gRFBCX0FVWF9DSF9D VEw7Cj4gLQljYXNlIFBPUlRfQzoKPiAtCQlyZXR1cm4gRFBDX0FVWF9DSF9DVEw7Cj4gLQljYXNl IFBPUlRfRDoKPiAtCQlyZXR1cm4gRFBEX0FVWF9DSF9DVEw7Cj4gLQlkZWZhdWx0Ogo+IC0JCU1J U1NJTkdfQ0FTRShwb3J0KTsKPiAtCQlyZXR1cm4gRFBBX0FVWF9DSF9DVEw7Cj4gLQl9Cj4gKwly ZXR1cm4gRFBfQVVYX0NIX0NUTChwb3J0KTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wc3IuYwo+IGluZGV4IDIxMzU4MWMuLmZmNjY3MTggMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wc3IuYwo+IEBAIC0xNjYsNiArMTY2LDcgQEAgc3RhdGljIHZvaWQgaHN3 X3Bzcl9lbmFibGVfc2luayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJCVszXSA9IDEg LSAxLAo+ICAJCVs0XSA9IERQX1NFVF9QT1dFUl9EMCwKPiAgCX07Cj4gKwllbnVtIHBvcnQgcG9y dCA9IGRpZ19wb3J0LT5wb3J0Owo+ICAJaW50IGk7Cj4gIAo+ICAJQlVJTERfQlVHX09OKHNpemVv ZihhdXhfbXNnKSA+IDIwKTsKPiBAQCAtMTgyLDkgKzE4Myw5IEBAIHN0YXRpYyB2b2lkIGhzd19w c3JfZW5hYmxlX3Npbmsoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCQkJCURQX0FVWF9G UkFNRV9TWU5DX0VOQUJMRSk7Cj4gIAo+ICAJYXV4X2RhdGFfcmVnID0gKElOVEVMX0lORk8oZGV2 KS0+Z2VuID49IDkpID8KPiAtCQkJCURQQV9BVVhfQ0hfREFUQTEgOiBFRFBfUFNSX0FVWF9EQVRB MShkZXYpOwo+ICsJCURQX0FVWF9DSF9EQVRBKHBvcnQsIDApIDogRURQX1BTUl9BVVhfREFUQShk ZXYsIDApOwo+ICAJYXV4X2N0bF9yZWcgPSAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgPwo+ IC0JCQkJRFBBX0FVWF9DSF9DVEwgOiBFRFBfUFNSX0FVWF9DVEwoZGV2KTsKPiArCQlEUF9BVVhf Q0hfQ1RMKHBvcnQpIDogRURQX1BTUl9BVVhfQ1RMKGRldik7Cj4gIAo+ICAJLyogU2V0dXAgQVVY IHJlZ2lzdGVycyAqLwo+ICAJZm9yIChpID0gMDsgaSA8IHNpemVvZihhdXhfbXNnKTsgaSArPSA0 KQo+IC0tIAo+IDIuNC42Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9s b2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=