From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 38/43] drm/i915: Parametrize AUX registers Date: Tue, 20 Oct 2015 16:37:15 +0300 Message-ID: <20151020133715.GL26517@intel.com> References: <1442595836-23981-39-git-send-email-ville.syrjala@linux.intel.com> <1443452990-26761-1-git-send-email-ville.syrjala@linux.intel.com> <87vba1y9kb.fsf@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 66AD26E82F for ; Tue, 20 Oct 2015 06:37:19 -0700 (PDT) Content-Disposition: inline In-Reply-To: <87vba1y9kb.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjAsIDIwMTUgYXQgMDQ6MDU6MjRQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gTW9uLCAyOCBTZXAgMjAxNSwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20g d3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+ID4KPiA+IHYyOiBLZWVwIHNvbWUgTUlTU0lOR19DQVNFKCkgc3R1ZmYgKEphbmkp Cj4gPiAgICAgcy8tMS8tUElQRV9CLyBpbiB0aGUgcmVnaXN0ZXIgbWFjcm8KPiA+ICAgICBGaXgg dHlwbyBpbiBwYXRjaCBzdWJqZWN0Cj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmggIHwgMTAyICsrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgIHwgIDIz ICsrKy0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIHwgICA1ICst Cj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkK PiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+IGluZGV4IDJjNTE4YTAuLjc3MjNlZDMg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBAQCAtMzA2OCwxMSArMzA2OCw3 IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ID4gICNkZWZpbmUgICBFRFBfUFNSX0lE TEVfRlJBTUVfU0hJRlQJCTAKPiA+ICAKPiA+ICAjZGVmaW5lIEVEUF9QU1JfQVVYX0NUTChkZXYp CQkJKEVEUF9QU1JfQkFTRShkZXYpICsgMHgxMCkKPiA+IC0jZGVmaW5lIEVEUF9QU1JfQVVYX0RB VEExKGRldikJCQkoRURQX1BTUl9CQVNFKGRldikgKyAweDE0KQo+ID4gLSNkZWZpbmUgRURQX1BT Ul9BVVhfREFUQTIoZGV2KQkJCShFRFBfUFNSX0JBU0UoZGV2KSArIDB4MTgpCj4gPiAtI2RlZmlu ZSBFRFBfUFNSX0FVWF9EQVRBMyhkZXYpCQkJKEVEUF9QU1JfQkFTRShkZXYpICsgMHgxYykKPiA+ IC0jZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEE0KGRldikJCQkoRURQX1BTUl9CQVNFKGRldikgKyAw eDIwKQo+ID4gLSNkZWZpbmUgRURQX1BTUl9BVVhfREFUQTUoZGV2KQkJCShFRFBfUFNSX0JBU0Uo ZGV2KSArIDB4MjQpCj4gPiArI2RlZmluZSBFRFBfUFNSX0FVWF9EQVRBKGRldiwgaSkJCShFRFBf UFNSX0JBU0UoZGV2KSArIDB4MTQgKyAoaSkgKiA0KSAvKiA1IHJlZ2lzdGVycyAqLwo+ID4gIAo+ ID4gICNkZWZpbmUgRURQX1BTUl9TVEFUVVNfQ1RMKGRldikJCQkoRURQX1BTUl9CQVNFKGRldikg KyAweDQwKQo+ID4gICNkZWZpbmUgICBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLCQkoNzw8Mjkp Cj4gPiBAQCAtNDE4OCwzMyArNDE4NCwzNiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsK PiA+ICAgKiBpcyAyMCBieXRlcyBpbiBlYWNoIGRpcmVjdGlvbiwgaGVuY2UgdGhlIDUgZml4ZWQK PiA+ICAgKiBkYXRhIHJlZ2lzdGVycwo+ID4gICAqLwo+ID4gLSNkZWZpbmUgRFBBX0FVWF9DSF9D VEwJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAxMCkKPiA+IC0j ZGVmaW5lIERQQV9BVVhfQ0hfREFUQTEJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDY0MDE0KQo+ID4gLSNkZWZpbmUgRFBBX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMTgpCj4gPiAtI2RlZmluZSBEUEFfQVVYX0NI X0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAxYykKPiA+ IC0jZGVmaW5lIERQQV9BVVhfQ0hfREFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDY0MDIwKQo+ID4gLSNkZWZpbmUgRFBBX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMjQpCj4gPiAtCj4gPiAtI2RlZmluZSBE UEJfQVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 MTEwKQo+ID4gLSNkZWZpbmUgRFBCX0FVWF9DSF9EQVRBMQkoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQxMTQpCj4gPiAtI2RlZmluZSBEUEJfQVVYX0NIX0RBVEEyCShk ZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDExOCkKPiA+IC0jZGVmaW5l IERQQl9BVVhfQ0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDY0MTFjKQo+ID4gLSNkZWZpbmUgRFBCX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQxMjApCj4gPiAtI2RlZmluZSBEUEJfQVVYX0NIX0RBVEE1 CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDEyNCkKPiA+IC0KPiA+ IC0jZGVmaW5lIERQQ19BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQyMTApCj4gPiAtI2RlZmluZSBEUENfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIxNCkKPiA+IC0jZGVmaW5lIERQQ19BVVhf Q0hfREFUQTIJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjE4KQo+ ID4gLSNkZWZpbmUgRFBDX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjQyMWMpCj4gPiAtI2RlZmluZSBEUENfQVVYX0NIX0RBVEE0CShkZXZfcHJp di0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIyMCkKPiA+IC0jZGVmaW5lIERQQ19B VVhfQ0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjI0 KQo+ID4gLQo+ID4gLSNkZWZpbmUgRFBEX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxMCkKPiA+IC0jZGVmaW5lIERQRF9BVVhfQ0hfREFUQTEJ KGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzE0KQo+ID4gLSNkZWZp bmUgRFBEX0FVWF9DSF9EQVRBMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjQzMTgpCj4gPiAtI2RlZmluZSBEUERfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxYykKPiA+IC0jZGVmaW5lIERQRF9BVVhfQ0hfREFU QTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzIwKQo+ID4gLSNk ZWZpbmUgRFBEX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjQzMjQpCj4gPiArI2RlZmluZSBfRFBBX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAxMCkKPiA+ICsjZGVmaW5lIF9EUEFfQVVYX0NI X0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAxNCkKPiA+ ICsjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEEyCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDAxOCkKPiA+ICsjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEEzCShkZXZfcHJp di0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAxYykKPiA+ICsjZGVmaW5lIF9EUEFf QVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAy MCkKPiA+ICsjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDAyNCkKPiA+ICsKPiA+ICsjZGVmaW5lIF9EUEJfQVVYX0NIX0NU TAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTEwKQo+ID4gKyNk ZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTEJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZz ZXQgKyAweDY0MTE0KQo+ID4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTIJKGRldl9wcml2LT5p bmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTE4KQo+ID4gKyNkZWZpbmUgX0RQQl9BVVhf Q0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTFjKQo+ ID4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDY0MTIwKQo+ID4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTUJKGRldl9w cml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTI0KQo+ID4gKwo+ID4gKyNkZWZp bmUgX0RQQ19BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjQyMTApCj4gPiArI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBMQkoZGV2X3ByaXYtPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTQpCj4gPiArI2RlZmluZSBfRFBDX0FVWF9DSF9E QVRBMgkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTgpCj4gPiAr I2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQyMWMpCj4gPiArI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMjApCj4gPiArI2RlZmluZSBfRFBDX0FV WF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMjQp Cj4gPiArCj4gPiArI2RlZmluZSBfRFBEX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxMCkKPiA+ICsjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEEx CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxNCkKPiA+ICsjZGVm aW5lIF9EUERfQVVYX0NIX0RBVEEyCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2NDMxOCkKPiA+ICsjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxYykKPiA+ICsjZGVmaW5lIF9EUERfQVVYX0NI X0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyMCkKPiA+ ICsjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDMyNCkKPiA+ICsKPiA+ICsjZGVmaW5lIERQX0FVWF9DSF9DVEwocG9ydCkJ X1BPUlQocG9ydCwgX0RQQV9BVVhfQ0hfQ1RMLCBfRFBCX0FVWF9DSF9DVEwpCj4gPiArI2RlZmlu ZSBEUF9BVVhfQ0hfREFUQShwb3J0LCBpKQkoX1BPUlQocG9ydCwgX0RQQV9BVVhfQ0hfREFUQTEs IF9EUEJfQVVYX0NIX0RBVEExKSArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovCj4gPiAgCj4g PiAgI2RlZmluZSAgIERQX0FVWF9DSF9DVExfU0VORF9CVVNZCSAgICAoMSA8PCAzMSkKPiA+ICAj ZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9ET05FCQkgICAgKDEgPDwgMzApCj4gPiBAQCAtNjU0OSwy OCArNjU0OCwzMSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiA+ICAjZGVmaW5lIEJY VF9QUF9PRkZfREVMQVlTKG4pCV9QSVBFKG4sIFBDSF9QUF9PRkZfREVMQVlTLCBfQlhUX1BQX09G Rl9ERUxBWVMyKQo+ID4gIAo+ID4gICNkZWZpbmUgUENIX0RQX0IJCTB4ZTQxMDAKPiA+IC0jZGVm aW5lIFBDSF9EUEJfQVVYX0NIX0NUTAkweGU0MTEwCj4gPiAtI2RlZmluZSBQQ0hfRFBCX0FVWF9D SF9EQVRBMQkweGU0MTE0Cj4gPiAtI2RlZmluZSBQQ0hfRFBCX0FVWF9DSF9EQVRBMgkweGU0MTE4 Cj4gPiAtI2RlZmluZSBQQ0hfRFBCX0FVWF9DSF9EQVRBMwkweGU0MTFjCj4gPiAtI2RlZmluZSBQ Q0hfRFBCX0FVWF9DSF9EQVRBNAkweGU0MTIwCj4gPiAtI2RlZmluZSBQQ0hfRFBCX0FVWF9DSF9E QVRBNQkweGU0MTI0Cj4gPiArI2RlZmluZSBfUENIX0RQQl9BVVhfQ0hfQ1RMCTB4ZTQxMTAKPiA+ ICsjZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9EQVRBMQkweGU0MTE0Cj4gPiArI2RlZmluZSBfUENI X0RQQl9BVVhfQ0hfREFUQTIJMHhlNDExOAo+ID4gKyNkZWZpbmUgX1BDSF9EUEJfQVVYX0NIX0RB VEEzCTB4ZTQxMWMKPiA+ICsjZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9EQVRBNAkweGU0MTIwCj4g PiArI2RlZmluZSBfUENIX0RQQl9BVVhfQ0hfREFUQTUJMHhlNDEyNAo+ID4gIAo+ID4gICNkZWZp bmUgUENIX0RQX0MJCTB4ZTQyMDAKPiA+IC0jZGVmaW5lIFBDSF9EUENfQVVYX0NIX0NUTAkweGU0 MjEwCj4gPiAtI2RlZmluZSBQQ0hfRFBDX0FVWF9DSF9EQVRBMQkweGU0MjE0Cj4gPiAtI2RlZmlu ZSBQQ0hfRFBDX0FVWF9DSF9EQVRBMgkweGU0MjE4Cj4gPiAtI2RlZmluZSBQQ0hfRFBDX0FVWF9D SF9EQVRBMwkweGU0MjFjCj4gPiAtI2RlZmluZSBQQ0hfRFBDX0FVWF9DSF9EQVRBNAkweGU0MjIw Cj4gPiAtI2RlZmluZSBQQ0hfRFBDX0FVWF9DSF9EQVRBNQkweGU0MjI0Cj4gPiArI2RlZmluZSBf UENIX0RQQ19BVVhfQ0hfQ1RMCTB4ZTQyMTAKPiA+ICsjZGVmaW5lIF9QQ0hfRFBDX0FVWF9DSF9E QVRBMQkweGU0MjE0Cj4gPiArI2RlZmluZSBfUENIX0RQQ19BVVhfQ0hfREFUQTIJMHhlNDIxOAo+ ID4gKyNkZWZpbmUgX1BDSF9EUENfQVVYX0NIX0RBVEEzCTB4ZTQyMWMKPiA+ICsjZGVmaW5lIF9Q Q0hfRFBDX0FVWF9DSF9EQVRBNAkweGU0MjIwCj4gPiArI2RlZmluZSBfUENIX0RQQ19BVVhfQ0hf REFUQTUJMHhlNDIyNAo+ID4gIAo+ID4gICNkZWZpbmUgUENIX0RQX0QJCTB4ZTQzMDAKPiA+IC0j ZGVmaW5lIFBDSF9EUERfQVVYX0NIX0NUTAkweGU0MzEwCj4gPiAtI2RlZmluZSBQQ0hfRFBEX0FV WF9DSF9EQVRBMQkweGU0MzE0Cj4gPiAtI2RlZmluZSBQQ0hfRFBEX0FVWF9DSF9EQVRBMgkweGU0 MzE4Cj4gPiAtI2RlZmluZSBQQ0hfRFBEX0FVWF9DSF9EQVRBMwkweGU0MzFjCj4gPiAtI2RlZmlu ZSBQQ0hfRFBEX0FVWF9DSF9EQVRBNAkweGU0MzIwCj4gPiAtI2RlZmluZSBQQ0hfRFBEX0FVWF9D SF9EQVRBNQkweGU0MzI0Cj4gPiArI2RlZmluZSBfUENIX0RQRF9BVVhfQ0hfQ1RMCTB4ZTQzMTAK PiA+ICsjZGVmaW5lIF9QQ0hfRFBEX0FVWF9DSF9EQVRBMQkweGU0MzE0Cj4gPiArI2RlZmluZSBf UENIX0RQRF9BVVhfQ0hfREFUQTIJMHhlNDMxOAo+ID4gKyNkZWZpbmUgX1BDSF9EUERfQVVYX0NI X0RBVEEzCTB4ZTQzMWMKPiA+ICsjZGVmaW5lIF9QQ0hfRFBEX0FVWF9DSF9EQVRBNAkweGU0MzIw Cj4gPiArI2RlZmluZSBfUENIX0RQRF9BVVhfQ0hfREFUQTUJMHhlNDMyNAo+ID4gKwo+ID4gKyNk ZWZpbmUgUENIX0RQX0FVWF9DSF9DVEwocG9ydCkJCV9QT1JUKChwb3J0KSAtIFBPUlRfQiwgX1BD SF9EUEJfQVVYX0NIX0NUTCwgX1BDSF9EUENfQVVYX0NIX0NUTCkKPiA+ICsjZGVmaW5lIFBDSF9E UF9BVVhfQ0hfREFUQShwb3J0LCBpKQkoX1BPUlQoKHBvcnQpIC0gUE9SVF9CLCBfUENIX0RQQl9B VVhfQ0hfREFUQTEsIF9QQ0hfRFBDX0FVWF9DSF9EQVRBMSkgKyAoaSkgKiA0KSAvKiA1IHJlZ2lz dGVycyAqLwo+ID4gIAo+ID4gIC8qIENQVCAqLwo+ID4gICNkZWZpbmUgIFBPUlRfVFJBTlNfQV9T RUxfQ1BUCTAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gaW5kZXggMTE4MDI4OS4uZDI1 MmZlYiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+IEBAIC03NTEsNyArNzUx LDcgQEAgc3RhdGljIHVpbnQzMl90IGk5eHhfZ2V0X2F1eF9zZW5kX2N0bChzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAo+ID4gIAllbHNlCj4gPiAgCQlwcmVjaGFyZ2UgPSA1Owo+ID4gIAo+ID4g LQlpZiAoSVNfQlJPQURXRUxMKGRldikgJiYgaW50ZWxfZHAtPmF1eF9jaF9jdGxfcmVnID09IERQ QV9BVVhfQ0hfQ1RMKQo+ID4gKwlpZiAoSVNfQlJPQURXRUxMKGRldikgJiYgaW50ZWxfZHAtPmF1 eF9jaF9jdGxfcmVnID09IERQX0FVWF9DSF9DVEwoUE9SVF9BKSkKPiA+ICAJCXRpbWVvdXQgPSBE UF9BVVhfQ0hfQ1RMX1RJTUVfT1VUXzYwMHVzOwo+ID4gIAllbHNlCj4gPiAgCQl0aW1lb3V0ID0g RFBfQVVYX0NIX0NUTF9USU1FX09VVF80MDB1czsKPiA+IEBAIC0xMDE0LDE0ICsxMDE0LDEyIEBA IHN0YXRpYyB1aW50MzJfdCBnNHhfYXV4X2N0bF9yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4gIHsKPiA+ICAJc3dpdGNoIChwb3J0KSB7Cj4gPiAgCWNhc2UgUE9SVF9C Ogo+ID4gLQkJcmV0dXJuIERQQl9BVVhfQ0hfQ1RMOwo+ID4gIAljYXNlIFBPUlRfQzoKPiA+IC0J CXJldHVybiBEUENfQVVYX0NIX0NUTDsKPiA+ICAJY2FzZSBQT1JUX0Q6Cj4gPiAtCQlyZXR1cm4g RFBEX0FVWF9DSF9DVEw7Cj4gPiArCQlyZXR1cm4gRFBfQVVYX0NIX0NUTChwb3J0KTsKPiA+ICAJ ZGVmYXVsdDoKPiA+ICAJCU1JU1NJTkdfQ0FTRShwb3J0KTsKPiA+IC0JCXJldHVybiBEUEJfQVVY X0NIX0NUTDsKPiA+ICsJCXJldHVybiBEUF9BVVhfQ0hfQ1RMKFBPUlRfQSk7Cj4gCj4gQ2hhbmdl cyBkZWZhdWx0IGZyb20gcG9ydCBCIHRvIEEuCgpXaG9vcHMuIE5vIHBvcnQgQSBvbiB0aGVzZSBw bGF0Zm9ybXMsIHNvIEknbGwgZ28gZml4IGl0IHVwLgoKPiAKPiBPdGhlcndpc2UsCj4gCj4gUmV2 aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gCj4gCj4gPiAg CX0KPiA+ICB9Cj4gPiAgCj4gPiBAQCAtMTAzMCwxNiArMTAyOCwxNCBAQCBzdGF0aWMgdWludDMy X3QgaWxrX2F1eF9jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ ICB7Cj4gPiAgCXN3aXRjaCAocG9ydCkgewo+ID4gIAljYXNlIFBPUlRfQToKPiA+IC0JCXJldHVy biBEUEFfQVVYX0NIX0NUTDsKPiA+ICsJCXJldHVybiBEUF9BVVhfQ0hfQ1RMKHBvcnQpOwo+ID4g IAljYXNlIFBPUlRfQjoKPiA+IC0JCXJldHVybiBQQ0hfRFBCX0FVWF9DSF9DVEw7Cj4gPiAgCWNh c2UgUE9SVF9DOgo+ID4gLQkJcmV0dXJuIFBDSF9EUENfQVVYX0NIX0NUTDsKPiA+ICAJY2FzZSBQ T1JUX0Q6Cj4gPiAtCQlyZXR1cm4gUENIX0RQRF9BVVhfQ0hfQ1RMOwo+ID4gKwkJcmV0dXJuIFBD SF9EUF9BVVhfQ0hfQ1RMKHBvcnQpOwo+ID4gIAlkZWZhdWx0Ogo+ID4gIAkJTUlTU0lOR19DQVNF KHBvcnQpOwo+ID4gLQkJcmV0dXJuIERQQV9BVVhfQ0hfQ1RMOwo+ID4gKwkJcmV0dXJuIERQX0FV WF9DSF9DVEwoUE9SVF9BKTsKPiA+ICAJfQo+ID4gIH0KPiA+ICAKPiA+IEBAIC0xMDc1LDE2ICsx MDcxLDEzIEBAIHN0YXRpYyB1aW50MzJfdCBza2xfYXV4X2N0bF9yZWcoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAo+ID4gIAlzd2l0Y2ggKHBvcnQpIHsKPiA+ICAJY2Fz ZSBQT1JUX0E6Cj4gPiAtCQlyZXR1cm4gRFBBX0FVWF9DSF9DVEw7Cj4gPiAgCWNhc2UgUE9SVF9C Ogo+ID4gLQkJcmV0dXJuIERQQl9BVVhfQ0hfQ1RMOwo+ID4gIAljYXNlIFBPUlRfQzoKPiA+IC0J CXJldHVybiBEUENfQVVYX0NIX0NUTDsKPiA+ICAJY2FzZSBQT1JUX0Q6Cj4gPiAtCQlyZXR1cm4g RFBEX0FVWF9DSF9DVEw7Cj4gPiArCQlyZXR1cm4gRFBfQVVYX0NIX0NUTChwb3J0KTsKPiA+ICAJ ZGVmYXVsdDoKPiA+ICAJCU1JU1NJTkdfQ0FTRShwb3J0KTsKPiA+IC0JCXJldHVybiBEUEFfQVVY X0NIX0NUTDsKPiA+ICsJCXJldHVybiBEUF9BVVhfQ0hfQ1RMKFBPUlRfQSk7Cj4gPiAgCX0KPiA+ ICB9Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNy LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gaW5kZXggMjEzNTgxYy4u ZmY2NjcxOCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gQEAgLTE2Niw2 ICsxNjYsNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zaW5rKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4gPiAgCQlbM10gPSAxIC0gMSwKPiA+ICAJCVs0XSA9IERQX1NFVF9QT1dF Ul9EMCwKPiA+ICAJfTsKPiA+ICsJZW51bSBwb3J0IHBvcnQgPSBkaWdfcG9ydC0+cG9ydDsKPiA+ ICAJaW50IGk7Cj4gPiAgCj4gPiAgCUJVSUxEX0JVR19PTihzaXplb2YoYXV4X21zZykgPiAyMCk7 Cj4gPiBAQCAtMTgyLDkgKzE4Myw5IEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3Npbmso c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ICAJCQkJRFBfQVVYX0ZSQU1FX1NZTkNfRU5B QkxFKTsKPiA+ICAKPiA+ICAJYXV4X2RhdGFfcmVnID0gKElOVEVMX0lORk8oZGV2KS0+Z2VuID49 IDkpID8KPiA+IC0JCQkJRFBBX0FVWF9DSF9EQVRBMSA6IEVEUF9QU1JfQVVYX0RBVEExKGRldik7 Cj4gPiArCQlEUF9BVVhfQ0hfREFUQShwb3J0LCAwKSA6IEVEUF9QU1JfQVVYX0RBVEEoZGV2LCAw KTsKPiA+ICAJYXV4X2N0bF9yZWcgPSAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgPwo+ID4g LQkJCQlEUEFfQVVYX0NIX0NUTCA6IEVEUF9QU1JfQVVYX0NUTChkZXYpOwo+ID4gKwkJRFBfQVVY X0NIX0NUTChwb3J0KSA6IEVEUF9QU1JfQVVYX0NUTChkZXYpOwo+ID4gIAo+ID4gIAkvKiBTZXR1 cCBBVVggcmVnaXN0ZXJzICovCj4gPiAgCWZvciAoaSA9IDA7IGkgPCBzaXplb2YoYXV4X21zZyk7 IGkgKz0gNCkKPiA+IC0tIAo+ID4gMi40LjYKPiA+Cj4gCj4gLS0gCj4gSmFuaSBOaWt1bGEsIElu dGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCgotLSAKVmlsbGUgU3lyasOkbMOkCklu dGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=