From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/6] drm/i915: Merge the PPS register definitions Date: Tue, 9 Aug 2016 14:53:09 +0300 Message-ID: <20160809115309.GL4329@intel.com> References: <1470742452-5240-1-git-send-email-imre.deak@intel.com> <1470742452-5240-2-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id B47E66E026 for ; Tue, 9 Aug 2016 11:53:12 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1470742452-5240-2-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBdWcgMDksIDIwMTYgYXQgMDI6MzQ6MDdQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IFRoZSBQUFMgcmVnaXN0ZXJzIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBldmVyeXdoZXJl LCB0aGUgZGlmZmVyZW5jZXMKPiBiZWluZzoKPiAtIFJlZ2lzdGVyIGZpZWxkcyBhcHBlYXJpbmcs IGRpc2FwcGVhcmluZyBmcm9tIG9uZSBwbGF0Zm9ybSB0byB0aGUKPiAgIG5leHQ6IHBhbmVsLXJl c2V0LW9uLXBvd2VyZG93biwgYmFja2xpZ2h0LW9uLCBwYW5lbC1wb3J0LAo+ICAgcmVnaXN0ZXIt dW5sb2NrCj4gLSBEaWZmZXJlbnQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzZXMKPiAtIERpZmZlcmVu dCBudW1iZXIgb2YgUFBTIGluc3RhbmNlczogMiBvbiBWTFYvQ0hWL0JYVCwgMSBldmVyeXdoZXJl Cj4gICBlbHNlLgo+IAo+IFdlIGNhbiBtZXJnZSB0aGUgc2VwYXJhdGUgc2V0IG9mIFBQUyBkZWZp bml0aW9ucyBieSBleHRlbmRpbmcgdGhlIFBQUwo+IGluc3RhbmNlIGFyZ3VtZW50IHRvIGFsbCBw bGF0Zm9ybXMgYW5kIHVzaW5nIGluc3RhbmNlIDAgb24gcGxhdGZvcm1zCj4gd2l0aCBhIHNpbmds ZSBpbnN0YW5jZS4gVGhpcyBtZWFucyB3ZSdsbCBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgcmVnaXN0 ZXIKPiBhZGRyZXNzZXMgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGdpdmVuIHBsYXRmb3JtIGFu ZCBQUFMgaW5zdGFuY2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtA aW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg fCAgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAxNDUgKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zdXNwZW5kLmMgIHwgIDMwICsrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyB8ICAyMiArKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYyAgICAgIHwgIDQ3ICsrKysrLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9sdmRzLmMgICAgfCAgNDMgKysrLS0tLS0tLS0KPiAgNiBmaWxlcyBjaGFuZ2VkLCAxMTkgaW5z ZXJ0aW9ucygrKSwgMTcwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IGluZGV4IGMzNmQxNzYuLmZkZGFlYzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBA QCAtMTc0OSw2ICsxNzQ5LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ICAKPiAgCXVp bnQzMl90IHBzcl9tbWlvX2Jhc2U7Cj4gIAo+ICsJdWludDMyX3QgcHBzX21taW9fYmFzZTsKPiAr Cj4gIAl3YWl0X3F1ZXVlX2hlYWRfdCBnbWJ1c193YWl0X3F1ZXVlOwo+ICAKPiAgCXN0cnVjdCBw Y2lfZGV2ICpicmlkZ2VfZGV2Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IGYzOGE1 ZTIuLmI2NWZlNTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtMzY2MCw4ICsz NjYwLDE3IEBAIGVudW0gewo+ICAjZGVmaW5lICAgVklERU9fRElQX0VOQUJMRV9TUERfSFNXCSgx IDw8IDApCj4gIAo+ICAvKiBQYW5lbCBwb3dlciBzZXF1ZW5jaW5nICovCj4gLSNkZWZpbmUgUFBf U1RBVFVTCV9NTUlPKDB4NjEyMDApCj4gLSNkZWZpbmUgICBQUF9PTgkJKDEgPDwgMzEpCj4gKyNk ZWZpbmUgUFBTX0JBU0UJCQkweDYxMjAwCj4gKyNkZWZpbmUgVkxWX1BQU19CQVNFCQkJKFZMVl9E SVNQTEFZX0JBU0UgKyBQUFNfQkFTRSkKPiArI2RlZmluZSBQQ0hfUFBTX0JBU0UJCQkweEM3MjAw Cj4gKwo+ICsjZGVmaW5lIF9NTUlPX1BQUyhwcHNfaWR4LCByZWcpCQlfTU1JTyhkZXZfcHJpdi0+ cHBzX21taW9fYmFzZSAtCVwKPiArCQkJCQkgICAgICBQUFNfQkFTRSArIChyZWcpICsJXAo+ICsJ CQkJCSAgICAgIChwcHNfaWR4KSAqIDB4MTAwKQo+ICsKPiArI2RlZmluZSBfUFBfU1RBVFVTCQkJ MHg2MTIwMAo+ICsjZGVmaW5lIFBQX1NUQVRVUyhwcHNfaWR4KQkJX01NSU9fUFBTKHBwc19pZHgs IF9QUF9TVEFUVVMpCj4gKyNkZWZpbmUgICBQUF9PTgkJCQkoMSA8PCAzMSkKPiAgLyoKPiAgICog SW5kaWNhdGVzIHRoYXQgYWxsIGRlcGVuZGVuY2llcyBvZiB0aGUgcGFuZWwgYXJlIG9uOgo+ICAg Kgo+IEBAIC0zNjY5LDE0ICszNjc4LDE0IEBAIGVudW0gewo+ICAgKiAtIHBpcGUgZW5hYmxlZAo+ ICAgKiAtIExWRFMvRFZPQi9EVk9DIG9uCj4gICAqLwo+IC0jZGVmaW5lICAgUFBfUkVBRFkJCSgx IDw8IDMwKQo+IC0jZGVmaW5lICAgUFBfU0VRVUVOQ0VfTk9ORQkoMCA8PCAyOCkKPiAtI2RlZmlu ZSAgIFBQX1NFUVVFTkNFX1BPV0VSX1VQCSgxIDw8IDI4KQo+IC0jZGVmaW5lICAgUFBfU0VRVUVO Q0VfUE9XRVJfRE9XTiAoMiA8PCAyOCkKPiAtI2RlZmluZSAgIFBQX1NFUVVFTkNFX01BU0sJKDMg PDwgMjgpCj4gLSNkZWZpbmUgICBQUF9TRVFVRU5DRV9TSElGVAkyOAo+IC0jZGVmaW5lICAgUFBf Q1lDTEVfREVMQVlfQUNUSVZFCSgxIDw8IDI3KQo+IC0jZGVmaW5lICAgUFBfU0VRVUVOQ0VfU1RB VEVfTUFTSyAweDAwMDAwMDBmCj4gKyNkZWZpbmUgICBQUF9SRUFEWQkJCSgxIDw8IDMwKQo+ICsj ZGVmaW5lICAgUFBfU0VRVUVOQ0VfTk9ORQkJKDAgPDwgMjgpCj4gKyNkZWZpbmUgICBQUF9TRVFV RU5DRV9QT1dFUl9VUAkJKDEgPDwgMjgpCj4gKyNkZWZpbmUgICBQUF9TRVFVRU5DRV9QT1dFUl9E T1dOCSgyIDw8IDI4KQo+ICsjZGVmaW5lICAgUFBfU0VRVUVOQ0VfTUFTSwkJKDMgPDwgMjgpCj4g KyNkZWZpbmUgICBQUF9TRVFVRU5DRV9TSElGVAkJMjgKPiArI2RlZmluZSAgIFBQX0NZQ0xFX0RF TEFZX0FDVElWRQkJKDEgPDwgMjcpCj4gKyNkZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9NQVNL CTB4MDAwMDAwMGYKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9JRExFCSgweDAg PDwgMCkKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9TMF8xCSgweDEgPDwgMCkK PiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9TMF8yCSgweDIgPDwgMCkKPiBAQCAt MzY4NiwxMSArMzY5NSw0NiBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRF X09OX1MxXzIJKDB4YSA8PCAwKQo+ICAjZGVmaW5lICAgUFBfU0VRVUVOQ0VfU1RBVEVfT05fUzFf MwkoMHhiIDw8IDApCj4gICNkZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9SRVNFVAkoMHhmIDw8 IDApCj4gLSNkZWZpbmUgUFBfQ09OVFJPTAlfTU1JTygweDYxMjA0KQo+IC0jZGVmaW5lICAgUE9X RVJfVEFSR0VUX09OCSgxIDw8IDApCj4gLSNkZWZpbmUgUFBfT05fREVMQVlTCV9NTUlPKDB4NjEy MDgpCj4gLSNkZWZpbmUgUFBfT0ZGX0RFTEFZUwlfTU1JTygweDYxMjBjKQo+IC0jZGVmaW5lIFBQ X0RJVklTT1IJX01NSU8oMHg2MTIxMCkKPiArCj4gKyNkZWZpbmUgX1BQX0NPTlRST0wJCQkweDYx MjA0Cj4gKyNkZWZpbmUgUFBfQ09OVFJPTChwcHNfaWR4KQkJX01NSU9fUFBTKHBwc19pZHgsIF9Q UF9DT05UUk9MKQo+ICsjZGVmaW5lICBQQU5FTF9VTkxPQ0tfUkVHUwkJKDB4YWJjZCA8PCAxNikK PiArI2RlZmluZSAgUEFORUxfVU5MT0NLX01BU0sJCSgweGZmZmYgPDwgMTYpCj4gKyNkZWZpbmUg IEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCTB4MWYwCj4gKyNkZWZpbmUgIEJYVF9QT1dFUl9D WUNMRV9ERUxBWV9TSElGVAk0Cj4gKyNkZWZpbmUgIEVEUF9GT1JDRV9WREQJCQkoMSA8PCAzKQo+ ICsjZGVmaW5lICBFRFBfQkxDX0VOQUJMRQkJCSgxIDw8IDIpCj4gKyNkZWZpbmUgIFBBTkVMX1BP V0VSX1JFU0VUCQkoMSA8PCAxKQo+ICsjZGVmaW5lICBQQU5FTF9QT1dFUl9PRkYJCSgwIDw8IDAp Cj4gKyNkZWZpbmUgIFBBTkVMX1BPV0VSX09OCQkJKDEgPDwgMCkKPiArI2RlZmluZSAgUE9XRVJf VEFSR0VUX09OCQkoMSA8PCAwKQo+ICsKPiArI2RlZmluZSBfUFBfT05fREVMQVlTCQkJMHg2MTIw OAo+ICsjZGVmaW5lIFBQX09OX0RFTEFZUyhwcHNfaWR4KQkJX01NSU9fUFBTKHBwc19pZHgsIF9Q UF9PTl9ERUxBWVMpCj4gKyNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX01BU0sJCSgzIDw8IDMw KQo+ICsjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9MVkRTCQkoMCA8PCAzMCkKPiArI2RlZmlu ZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBBCQkoMSA8PCAzMCkKPiArI2RlZmluZSAgUEFORUxfUE9S VF9TRUxFQ1RfRFBDCQkoMiA8PCAzMCkKPiArI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBE CQkoMyA8PCAzMCkKPiArI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfVkxWKHBvcnQpCSgocG9y dCkgPDwgMzApCj4gKyNkZWZpbmUgIFBBTkVMX1BPV0VSX1VQX0RFTEFZX01BU0sJMHgxZmZmMDAw MAo+ICsjZGVmaW5lICBQQU5FTF9QT1dFUl9VUF9ERUxBWV9TSElGVAkxNgo+ICsjZGVmaW5lICBQ QU5FTF9MSUdIVF9PTl9ERUxBWV9NQVNLCTB4MWZmZgo+ICsjZGVmaW5lICBQQU5FTF9MSUdIVF9P Tl9ERUxBWV9TSElGVAkwCj4gKwo+ICsjZGVmaW5lIF9QUF9PRkZfREVMQVlTCQkJMHg2MTIwQwo+ ICsjZGVmaW5lIFBQX09GRl9ERUxBWVMocHBzX2lkeCkJCV9NTUlPX1BQUyhwcHNfaWR4LCBfUFBf T0ZGX0RFTEFZUykKPiArI2RlZmluZSAgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9NQVNLCTB4MWZm ZjAwMDAKPiArI2RlZmluZSAgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVAkxNgo+ICsjZGVm aW5lICBQQU5FTF9MSUdIVF9PRkZfREVMQVlfTUFTSwkweDFmZmYKPiArI2RlZmluZSAgUEFORUxf TElHSFRfT0ZGX0RFTEFZX1NISUZUCTAKPiArCj4gKyNkZWZpbmUgX1BQX0RJVklTT1IJCQkweDYx MjEwCj4gKyNkZWZpbmUgUFBfRElWSVNPUihwcHNfaWR4KQkJX01NSU9fUFBTKHBwc19pZHgsIF9Q UF9ESVZJU09SKQo+ICsjZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9NQVNLCTB4ZmZmZmZm MDAKPiArI2RlZmluZSAgUFBfUkVGRVJFTkNFX0RJVklERVJfU0hJRlQJOAo+ICsjZGVmaW5lICBQ QU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCTB4MWYKPiArI2RlZmluZSAgUEFORUxfUE9XRVJf Q1lDTEVfREVMQVlfU0hJRlQJMAo+ICAKPiAgLyogUGFuZWwgZml0dGluZyAqLwo+ICAjZGVmaW5l IFBGSVRfQ09OVFJPTAlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2MTIzMCkKPiBAQCAtNjc1MCw3NyArNjc5NCw2IEBAIGVudW0gewo+ICAjZGVmaW5lIFBDSF9M VkRTCV9NTUlPKDB4ZTExODApCj4gICNkZWZpbmUgIExWRFNfREVURUNURUQJKDEgPDwgMSkKPiAg Cj4gLS8qIHZsdiBoYXMgMiBzZXRzIG9mIHBhbmVsIGNvbnRyb2wgcmVncy4gKi8KPiAtI2RlZmlu ZSBfUElQRUFfUFBfU1RBVFVTICAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMjAwKQo+ IC0jZGVmaW5lIF9QSVBFQV9QUF9DT05UUk9MICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4 NjEyMDQpCj4gLSNkZWZpbmUgX1BJUEVBX1BQX09OX0RFTEFZUyAgICAgIChWTFZfRElTUExBWV9C QVNFICsgMHg2MTIwOCkKPiAtI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfVkxWKHBvcnQpCSgo cG9ydCkgPDwgMzApCj4gLSNkZWZpbmUgX1BJUEVBX1BQX09GRl9ERUxBWVMgICAgIChWTFZfRElT UExBWV9CQVNFICsgMHg2MTIwYykKPiAtI2RlZmluZSBfUElQRUFfUFBfRElWSVNPUiAgICAgICAg KFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMjEwKQo+IC0KPiAtI2RlZmluZSBfUElQRUJfUFBfU1RB VFVTICAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzAwKQo+IC0jZGVmaW5lIF9QSVBF Ql9QUF9DT05UUk9MICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEzMDQpCj4gLSNkZWZp bmUgX1BJUEVCX1BQX09OX0RFTEFZUyAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMwOCkK PiAtI2RlZmluZSBfUElQRUJfUFBfT0ZGX0RFTEFZUyAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDYxMzBjKQo+IC0jZGVmaW5lIF9QSVBFQl9QUF9ESVZJU09SICAgICAgICAoVkxWX0RJU1BMQVlf QkFTRSArIDB4NjEzMTApCj4gLQo+IC0jZGVmaW5lIFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKQlf TU1JT19QSVBFKHBpcGUsIF9QSVBFQV9QUF9TVEFUVVMsIF9QSVBFQl9QUF9TVEFUVVMpCj4gLSNk ZWZpbmUgVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKQlfTU1JT19QSVBFKHBpcGUsIF9QSVBFQV9Q UF9DT05UUk9MLCBfUElQRUJfUFBfQ09OVFJPTCkKPiAtI2RlZmluZSBWTFZfUElQRV9QUF9PTl9E RUxBWVMocGlwZSkJX01NSU9fUElQRShwaXBlLCBfUElQRUFfUFBfT05fREVMQVlTLCBfUElQRUJf UFBfT05fREVMQVlTKQo+IC0jZGVmaW5lIFZMVl9QSVBFX1BQX09GRl9ERUxBWVMocGlwZSkJX01N SU9fUElQRShwaXBlLCBfUElQRUFfUFBfT0ZGX0RFTEFZUywgX1BJUEVCX1BQX09GRl9ERUxBWVMp Cj4gLSNkZWZpbmUgVkxWX1BJUEVfUFBfRElWSVNPUihwaXBlKQlfTU1JT19QSVBFKHBpcGUsIF9Q SVBFQV9QUF9ESVZJU09SLCBfUElQRUJfUFBfRElWSVNPUikKPiAtCj4gLSNkZWZpbmUgX1BDSF9Q UF9TVEFUVVMJCTB4YzcyMDAKPiAtI2RlZmluZSBfUENIX1BQX0NPTlRST0wJCTB4YzcyMDQKPiAt I2RlZmluZSAgUEFORUxfVU5MT0NLX1JFR1MJKDB4YWJjZCA8PCAxNikKPiAtI2RlZmluZSAgUEFO RUxfVU5MT0NLX01BU0sJKDB4ZmZmZiA8PCAxNikKPiAtI2RlZmluZSAgQlhUX1BPV0VSX0NZQ0xF X0RFTEFZX01BU0sJKDB4MWYwKQo+IC0jZGVmaW5lICBCWFRfUE9XRVJfQ1lDTEVfREVMQVlfU0hJ RlQJNAo+IC0jZGVmaW5lICBFRFBfRk9SQ0VfVkRECQkoMSA8PCAzKQo+IC0jZGVmaW5lICBFRFBf QkxDX0VOQUJMRQkJKDEgPDwgMikKPiAtI2RlZmluZSAgUEFORUxfUE9XRVJfUkVTRVQJKDEgPDwg MSkKPiAtI2RlZmluZSAgUEFORUxfUE9XRVJfT0ZGCSgwIDw8IDApCj4gLSNkZWZpbmUgIFBBTkVM X1BPV0VSX09OCQkoMSA8PCAwKQo+IC0jZGVmaW5lIF9QQ0hfUFBfT05fREVMQVlTCTB4YzcyMDgK PiAtI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfTUFTSwkoMyA8PCAzMCkKPiAtI2RlZmluZSAg UEFORUxfUE9SVF9TRUxFQ1RfTFZEUwkoMCA8PCAzMCkKPiAtI2RlZmluZSAgUEFORUxfUE9SVF9T RUxFQ1RfRFBBCSgxIDw8IDMwKQo+IC0jZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9EUEMJKDIg PDwgMzApCj4gLSNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX0RQRAkoMyA8PCAzMCkKPiAtI2Rl ZmluZSAgUEFORUxfUE9XRVJfVVBfREVMQVlfTUFTSwkoMHgxZmZmMDAwMCkKPiAtI2RlZmluZSAg UEFORUxfUE9XRVJfVVBfREVMQVlfU0hJRlQJMTYKPiAtI2RlZmluZSAgUEFORUxfTElHSFRfT05f REVMQVlfTUFTSwkoMHgxZmZmKQo+IC0jZGVmaW5lICBQQU5FTF9MSUdIVF9PTl9ERUxBWV9TSElG VAkwCj4gLQo+IC0jZGVmaW5lIF9QQ0hfUFBfT0ZGX0RFTEFZUwkJMHhjNzIwYwo+IC0jZGVmaW5l ICBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX01BU0sJKDB4MWZmZjAwMDApCj4gLSNkZWZpbmUgIFBB TkVMX1BPV0VSX0RPV05fREVMQVlfU0hJRlQJMTYKPiAtI2RlZmluZSAgUEFORUxfTElHSFRfT0ZG X0RFTEFZX01BU0sJKDB4MWZmZikKPiAtI2RlZmluZSAgUEFORUxfTElHSFRfT0ZGX0RFTEFZX1NI SUZUCTAKPiAtCj4gLSNkZWZpbmUgX1BDSF9QUF9ESVZJU09SCQkJMHhjNzIxMAo+IC0jZGVmaW5l ICBQUF9SRUZFUkVOQ0VfRElWSURFUl9NQVNLCSgweGZmZmZmZjAwKQo+IC0jZGVmaW5lICBQUF9S RUZFUkVOQ0VfRElWSURFUl9TSElGVAk4Cj4gLSNkZWZpbmUgIFBBTkVMX1BPV0VSX0NZQ0xFX0RF TEFZX01BU0sJKDB4MWYpCj4gLSNkZWZpbmUgIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZU CTAKPiAtCj4gLSNkZWZpbmUgUENIX1BQX1NUQVRVUwkJCV9NTUlPKF9QQ0hfUFBfU1RBVFVTKQo+ IC0jZGVmaW5lIFBDSF9QUF9DT05UUk9MCQkJX01NSU8oX1BDSF9QUF9DT05UUk9MKQo+IC0jZGVm aW5lIFBDSF9QUF9PTl9ERUxBWVMJCV9NTUlPKF9QQ0hfUFBfT05fREVMQVlTKQo+IC0jZGVmaW5l IFBDSF9QUF9PRkZfREVMQVlTCQlfTU1JTyhfUENIX1BQX09GRl9ERUxBWVMpCj4gLSNkZWZpbmUg UENIX1BQX0RJVklTT1IJCQlfTU1JTyhfUENIX1BQX0RJVklTT1IpCj4gLQo+IC0vKiBCWFQgUFBT IGNoYW5nZXMgLSAybmQgc2V0IG9mIFBQUyByZWdpc3RlcnMgKi8KPiAtI2RlZmluZSBfQlhUX1BQ X1NUQVRVUzIgCTB4YzczMDAKPiAtI2RlZmluZSBfQlhUX1BQX0NPTlRST0wyIAkweGM3MzA0Cj4g LSNkZWZpbmUgX0JYVF9QUF9PTl9ERUxBWVMyCTB4YzczMDgKPiAtI2RlZmluZSBfQlhUX1BQX09G Rl9ERUxBWVMyCTB4YzczMGMKPiAtCj4gLSNkZWZpbmUgQlhUX1BQX1NUQVRVUyhuKQlfTU1JT19Q SVBFKG4sIF9QQ0hfUFBfU1RBVFVTLCBfQlhUX1BQX1NUQVRVUzIpCj4gLSNkZWZpbmUgQlhUX1BQ X0NPTlRST0wobikJX01NSU9fUElQRShuLCBfUENIX1BQX0NPTlRST0wsIF9CWFRfUFBfQ09OVFJP TDIpCj4gLSNkZWZpbmUgQlhUX1BQX09OX0RFTEFZUyhuKQlfTU1JT19QSVBFKG4sIF9QQ0hfUFBf T05fREVMQVlTLCBfQlhUX1BQX09OX0RFTEFZUzIpCj4gLSNkZWZpbmUgQlhUX1BQX09GRl9ERUxB WVMobikJX01NSU9fUElQRShuLCBfUENIX1BQX09GRl9ERUxBWVMsIF9CWFRfUFBfT0ZGX0RFTEFZ UzIpCj4gLQo+ICAjZGVmaW5lIF9QQ0hfRFBfQgkJMHhlNDEwMAo+ICAjZGVmaW5lIFBDSF9EUF9C CQlfTU1JTyhfUENIX0RQX0IpCj4gICNkZWZpbmUgX1BDSF9EUEJfQVVYX0NIX0NUTAkweGU0MTEw Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiBpbmRleCA1Y2ZlNGM3Li5jODI2YjY5 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiBAQCAtNDQsMTYgKzQ0LDEx IEBAIHN0YXRpYyB2b2lkIGk5MTVfc2F2ZV9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gIAkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZUxWRFMgPSBJOTE1X1JFQUQoTFZEUyk7Cj4gIAo+ ICAJLyogUGFuZWwgcG93ZXIgc2VxdWVuY2VyICovCj4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYp KSB7Cj4gLQkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wgPSBJOTE1X1JFQUQoUENI X1BQX0NPTlRST0wpOwo+IC0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMgPSBJ OTE1X1JFQUQoUENIX1BQX09OX0RFTEFZUyk7Cj4gLQkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQ X09GRl9ERUxBWVMgPSBJOTE1X1JFQUQoUENIX1BQX09GRl9ERUxBWVMpOwo+IC0JCWRldl9wcml2 LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SID0gSTkxNV9SRUFEKFBDSF9QUF9ESVZJU09SKTsKPiAt CX0gZWxzZSBpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPD0gNCkgewo+IC0JCWRldl9wcml2LT5y ZWdmaWxlLnNhdmVQUF9DT05UUk9MID0gSTkxNV9SRUFEKFBQX0NPTlRST0wpOwo+IC0JCWRldl9w cml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMgPSBJOTE1X1JFQUQoUFBfT05fREVMQVlTKTsK PiAtCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZUyA9IEk5MTVfUkVBRChQUF9P RkZfREVMQVlTKTsKPiAtCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUiA9IEk5MTVf UkVBRChQUF9ESVZJU09SKTsKPiArCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJTlRF TF9HRU4oZGV2X3ByaXYpIDw9IDQpIHsKPiArCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09O VFJPTCA9IEk5MTVfUkVBRChQUF9DT05UUk9MKDApKTsKPiArCQlkZXZfcHJpdi0+cmVnZmlsZS5z YXZlUFBfT05fREVMQVlTID0gSTkxNV9SRUFEKFBQX09OX0RFTEFZUygwKSk7Cj4gKwkJZGV2X3By aXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMgPSBJOTE1X1JFQUQoUFBfT0ZGX0RFTEFZUygw KSk7Cj4gKwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0RJVklTT1IgPSBJOTE1X1JFQUQoUFBf RElWSVNPUigwKSk7Cj4gIAl9Cj4gIAo+ICAJLyogc2F2ZSBGQkMgaW50ZXJ2YWwgKi8KPiBAQCAt NzksMTYgKzc0LDExIEBAIHN0YXRpYyB2b2lkIGk5MTVfcmVzdG9yZV9kaXNwbGF5KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gIAkJSTkxNV9XUklURShMVkRTLCBkZXZfcHJpdi0+cmVnZmlsZS5z YXZlTFZEUyAmIG1hc2spOwo+ICAKPiAgCS8qIFBhbmVsIHBvd2VyIHNlcXVlbmNlciAqLwo+IC0J aWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+IC0JCUk5MTVfV1JJVEUoUENIX1BQX09OX0RFTEFZ UywgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyk7Cj4gLQkJSTkxNV9XUklURShQ Q0hfUFBfT0ZGX0RFTEFZUywgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMpOwo+ IC0JCUk5MTVfV1JJVEUoUENIX1BQX0RJVklTT1IsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9E SVZJU09SKTsKPiAtCQlJOTE1X1dSSVRFKFBDSF9QUF9DT05UUk9MLCBkZXZfcHJpdi0+cmVnZmls ZS5zYXZlUFBfQ09OVFJPTCk7Cj4gLQl9IGVsc2UgaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDw9 IDQpIHsKPiAtCQlJOTE1X1dSSVRFKFBQX09OX0RFTEFZUywgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2 ZVBQX09OX0RFTEFZUyk7Cj4gLQkJSTkxNV9XUklURShQUF9PRkZfREVMQVlTLCBkZXZfcHJpdi0+ cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZUyk7Cj4gLQkJSTkxNV9XUklURShQUF9ESVZJU09SLCBk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUik7Cj4gLQkJSTkxNV9XUklURShQUF9DT05U Uk9MLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCk7Cj4gKwlpZiAoSEFTX1BDSF9T UExJVChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA8PSA0KSB7Cj4gKwkJSTkxNV9X UklURShQUF9PTl9ERUxBWVMoMCksIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMp Owo+ICsJCUk5MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUygwKSwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2 ZVBQX09GRl9ERUxBWVMpOwo+ICsJCUk5MTVfV1JJVEUoUFBfRElWSVNPUigwKSwgZGV2X3ByaXYt PnJlZ2ZpbGUuc2F2ZVBQX0RJVklTT1IpOwo+ICsJCUk5MTVfV1JJVEUoUFBfQ09OVFJPTCgwKSwg ZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wpOwo+ICAJfQo+ICAKPiAgCS8qIG9ubHkg cmVzdG9yZSBGQkMgaW5mbyBvbiB0aGUgcGxhdGZvcm0gdGhhdCBzdXBwb3J0cyBGQkMqLwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBjNmYyN2FiLi4zZDVmZDA2IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMjAyLDggKzEyMDIs OCBAQCB2b2lkIGFzc2VydF9wYW5lbF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIAlpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7Cj4gIAkJdTMyIHBvcnRfc2Vs Owo+ICAKPiAtCQlwcF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPiAtCQlwb3J0X3NlbCA9IEk5MTVf UkVBRChQQ0hfUFBfT05fREVMQVlTKSAmIFBBTkVMX1BPUlRfU0VMRUNUX01BU0s7Cj4gKwkJcHBf cmVnID0gUFBfQ09OVFJPTCgwKTsKPiArCQlwb3J0X3NlbCA9IEk5MTVfUkVBRChQUF9PTl9ERUxB WVMoMCkpICYgUEFORUxfUE9SVF9TRUxFQ1RfTUFTSzsKPiAgCj4gIAkJaWYgKHBvcnRfc2VsID09 IFBBTkVMX1BPUlRfU0VMRUNUX0xWRFMgJiYKPiAgCQkgICAgSTkxNV9SRUFEKFBDSF9MVkRTKSAm IExWRFNfUElQRUJfU0VMRUNUKQo+IEBAIC0xMjExLDEwICsxMjExLDEwIEBAIHZvaWQgYXNzZXJ0 X3BhbmVsX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkv KiBYWFg6IGVsc2UgZml4IGZvciBlRFAgKi8KPiAgCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhk ZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgewo+ICAJCS8qIHByZXN1bWFibHkgd3JpdGUgbG9j ayBkZXBlbmRzIG9uIHBpcGUsIG5vdCBwb3J0IHNlbGVjdCAqLwo+IC0JCXBwX3JlZyA9IFZMVl9Q SVBFX1BQX0NPTlRST0wocGlwZSk7Cj4gKwkJcHBfcmVnID0gUFBfQ09OVFJPTChwaXBlKTsKPiAg CQlwYW5lbF9waXBlID0gcGlwZTsKPiAgCX0gZWxzZSB7Cj4gLQkJcHBfcmVnID0gUFBfQ09OVFJP TDsKPiArCQlwcF9yZWcgPSBQUF9DT05UUk9MKDApOwo+ICAJCWlmIChJOTE1X1JFQUQoTFZEUykg JiBMVkRTX1BJUEVCX1NFTEVDVCkKPiAgCQkJcGFuZWxfcGlwZSA9IFBJUEVfQjsKPiAgCX0KPiBA QCAtOTQxMSw3ICs5NDExLDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X2Nhbl9kaXNhYmxlX2xjcGxs KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCUk5MTVfU1RBVEVfV0FSTihJ OTE1X1JFQUQoU1BMTF9DVEwpICYgU1BMTF9QTExfRU5BQkxFLCAiU1BMTCBlbmFibGVkXG4iKTsK PiAgCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoV1JQTExfQ1RMKDApKSAmIFdSUExMX1BMTF9F TkFCTEUsICJXUlBMTDEgZW5hYmxlZFxuIik7Cj4gIAlJOTE1X1NUQVRFX1dBUk4oSTkxNV9SRUFE KFdSUExMX0NUTCgxKSkgJiBXUlBMTF9QTExfRU5BQkxFLCAiV1JQTEwyIGVuYWJsZWRcbiIpOwo+ IC0JSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChQQ0hfUFBfU1RBVFVTKSAmIFBQX09OLCAiUGFu ZWwgcG93ZXIgb25cbiIpOwo+ICsJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChQUF9TVEFUVVMo MCkpICYgUFBfT04sICJQYW5lbCBwb3dlciBvblxuIik7Cj4gIAlJOTE1X1NUQVRFX1dBUk4oSTkx NV9SRUFEKEJMQ19QV01fQ1BVX0NUTDIpICYgQkxNX1BXTV9FTkFCTEUsCj4gIAkgICAgICJDUFUg UFdNMSBlbmFibGVkXG4iKTsKPiAgCWlmIChJU19IQVNXRUxMKGRldikpCj4gQEAgLTE0NjM1LDEy ICsxNDYzNSwyNCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfcHJlc2VudChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGludGVs X3Bwc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJaWYg KEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpIHx8IElTX0JST1hUT04oZGV2X3ByaXYpKQo+ICsJCWRl dl9wcml2LT5wcHNfbW1pb19iYXNlID0gUENIX1BQU19CQVNFOwo+ICsJZWxzZSBpZiAoSVNfVkFM TEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gKwkJZGV2X3By aXYtPnBwc19tbWlvX2Jhc2UgPSBWTFZfUFBTX0JBU0U7Cj4gKwllbHNlCj4gKwkJZGV2X3ByaXYt PnBwc19tbWlvX2Jhc2UgPSBQUFNfQkFTRTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgaW50ZWxf c2V0dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gIAlzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcjsKPiAgCWJvb2wgZHBkX2lzX2VkcCA9IGZhbHNlOwo+ICAKPiArCWlu dGVsX3Bwc19pbml0KGRldl9wcml2KTsKPiArCj4gIAkvKgo+ICAJICogaW50ZWxfZWRwX2luaXRf Y29ubmVjdG9yKCkgZGVwZW5kcyBvbiB0aGlzIGNvbXBsZXRpbmcgZmlyc3QsIHRvCj4gIAkgKiBw cmV2ZW50IHRoZSByZWdpc3RlcmF0aW9uIG9mIGJvdGggZURQIGFuZCBMVkRTIGFuZCB0aGUgaW5j b3JyZWN0Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggOGZlMmFmYS4uYTVjZWY5MSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC00NjMsMTMgKzQ2MywxMyBAQCB0eXBl ZGVmIGJvb2wgKCp2bHZfcGlwZV9jaGVjaykoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ICBzdGF0aWMgYm9vbCB2bHZfcGlwZV9oYXNfcHBfb24oc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgICAgZW51bSBwaXBlIHBpcGUpCj4gIHsKPiAtCXJl dHVybiBJOTE1X1JFQUQoVkxWX1BJUEVfUFBfU1RBVFVTKHBpcGUpKSAmIFBQX09OOwo+ICsJcmV0 dXJuIEk5MTVfUkVBRChQUF9TVEFUVVMocGlwZSkpICYgUFBfT047Cj4gIH0KPiAgCj4gIHN0YXRp YyBib29sIHZsdl9waXBlX2hhc192ZGRfb24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ICAJCQkJZW51bSBwaXBlIHBpcGUpCj4gIHsKPiAtCXJldHVybiBJOTE1X1JFQUQoVkxW X1BJUEVfUFBfQ09OVFJPTChwaXBlKSkgJiBFRFBfRk9SQ0VfVkREOwo+ICsJcmV0dXJuIEk5MTVf UkVBRChQUF9DT05UUk9MKHBpcGUpKSAmIEVEUF9GT1JDRV9WREQ7Cj4gIH0KPiAgCj4gIHN0YXRp YyBib29sIHZsdl9waXBlX2FueShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g QEAgLTQ4Niw3ICs0ODYsNyBAQCB2bHZfaW5pdGlhbF9wcHNfcGlwZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAllbnVtIHBpcGUgcGlwZTsKPiAgCj4gIAlmb3IgKHBpcGUg PSBQSVBFX0E7IHBpcGUgPD0gUElQRV9COyBwaXBlKyspIHsKPiAtCQl1MzIgcG9ydF9zZWwgPSBJ OTE1X1JFQUQoVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUpKSAmCj4gKwkJdTMyIHBvcnRfc2Vs ID0gSTkxNV9SRUFEKFBQX09OX0RFTEFZUyhwaXBlKSkgJgo+ICAJCQlQQU5FTF9QT1JUX1NFTEVD VF9NQVNLOwo+ICAKPiAgCQlpZiAocG9ydF9zZWwgIT0gUEFORUxfUE9SVF9TRUxFQ1RfVkxWKHBv cnQpKQo+IEBAIC01ODMsMzAgKzU4MywyMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcHNfZ2V0X3Jl Z2lzdGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkgICAgc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCQkJCSAgICBzdHJ1Y3QgcHBzX3JlZ2lzdGVycyAq cmVncykKPiAgewo+ICsJaW50IHBwc19pZHg7Cj4gKwo+ICAJbWVtc2V0KHJlZ3MsIDAsIHNpemVv ZigqcmVncykpOwo+ICAKPiAtCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSkgewo+IC0JCWludCBp ZHggPSBieHRfcG93ZXJfc2VxdWVuY2VyX2lkeChpbnRlbF9kcCk7Cj4gKwlpZiAoSVNfQlJPWFRP TihkZXZfcHJpdikpCj4gKwkJcHBzX2lkeCA9IGJ4dF9wb3dlcl9zZXF1ZW5jZXJfaWR4KGludGVs X2RwKTsKPiArCWVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKQo+ICsJCXBwc19pZHgg PSAwOwoKaW50IHBwc19pZHggPSAwOwoKaWYgKEJYVCkKCS4uLgplbHNlIGlmIChWTFZ8fENIVikK CS4uLgoKaXMgaG93IEknZCB3cml0ZSB0aGlzLgoKPiArCWVsc2UKPiArCQlwcHNfaWR4ID0gdmx2 X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKTsKPiAgCj4gLQkJcmVncy0+cHBfY3RybCA9 IEJYVF9QUF9DT05UUk9MKGlkeCk7Cj4gLQkJcmVncy0+cHBfc3RhdCA9IEJYVF9QUF9TVEFUVVMo aWR4KTsKPiAtCQlyZWdzLT5wcF9vbiA9IEJYVF9QUF9PTl9ERUxBWVMoaWR4KTsKPiAtCQlyZWdz LT5wcF9vZmYgPSBCWFRfUFBfT0ZGX0RFTEFZUyhpZHgpOwo+IC0JfSBlbHNlIGlmIChIQVNfUENI X1NQTElUKGRldl9wcml2KSkgewo+IC0JCXJlZ3MtPnBwX2N0cmwgPSBQQ0hfUFBfQ09OVFJPTDsK PiAtCQlyZWdzLT5wcF9zdGF0ID0gUENIX1BQX1NUQVRVUzsKPiAtCQlyZWdzLT5wcF9vbiA9IFBD SF9QUF9PTl9ERUxBWVM7Cj4gLQkJcmVncy0+cHBfb2ZmID0gUENIX1BQX09GRl9ERUxBWVM7Cj4g LQkJcmVncy0+cHBfZGl2ID0gUENIX1BQX0RJVklTT1I7Cj4gLQl9IGVsc2Ugewo+IC0JCWVudW0g cGlwZSBwaXBlID0gdmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKTsKPiAtCj4gLQkJ cmVncy0+cHBfY3RybCA9IFZMVl9QSVBFX1BQX0NPTlRST0wocGlwZSk7Cj4gLQkJcmVncy0+cHBf c3RhdCA9IFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKTsKPiAtCQlyZWdzLT5wcF9vbiA9IFZMVl9Q SVBFX1BQX09OX0RFTEFZUyhwaXBlKTsKPiAtCQlyZWdzLT5wcF9vZmYgPSBWTFZfUElQRV9QUF9P RkZfREVMQVlTKHBpcGUpOwo+IC0JCXJlZ3MtPnBwX2RpdiA9IFZMVl9QSVBFX1BQX0RJVklTT1Io cGlwZSk7Cj4gLQl9Cj4gKwlyZWdzLT5wcF9jdHJsID0gUFBfQ09OVFJPTChwcHNfaWR4KTsKPiAr CXJlZ3MtPnBwX3N0YXQgPSBQUF9TVEFUVVMocHBzX2lkeCk7Cj4gKwlyZWdzLT5wcF9vbiA9IFBQ X09OX0RFTEFZUyhwcHNfaWR4KTsKPiArCXJlZ3MtPnBwX29mZiA9IFBQX09GRl9ERUxBWVMocHBz X2lkeCk7Cj4gKwlpZiAoIUlTX0JST1hUT04oZGV2X3ByaXYpKQo+ICsJCXJlZ3MtPnBwX2RpdiA9 IFBQX0RJVklTT1IocHBzX2lkeCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpOTE1X3JlZ190Cj4gQEAg LTY1MSw4ICs2NDQsOCBAQCBzdGF0aWMgaW50IGVkcF9ub3RpZnlfaGFuZGxlcihzdHJ1Y3Qgbm90 aWZpZXJfYmxvY2sgKnRoaXMsIHVuc2lnbmVkIGxvbmcgY29kZSwKPiAgCQlpOTE1X3JlZ190IHBw X2N0cmxfcmVnLCBwcF9kaXZfcmVnOwo+ICAJCXUzMiBwcF9kaXY7Cj4gIAo+IC0JCXBwX2N0cmxf cmVnID0gVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKTsKPiAtCQlwcF9kaXZfcmVnICA9IFZMVl9Q SVBFX1BQX0RJVklTT1IocGlwZSk7Cj4gKwkJcHBfY3RybF9yZWcgPSBQUF9DT05UUk9MKHBpcGUp Owo+ICsJCXBwX2Rpdl9yZWcgID0gUFBfRElWSVNPUihwaXBlKTsKPiAgCQlwcF9kaXYgPSBJOTE1 X1JFQUQocHBfZGl2X3JlZyk7Cj4gIAkJcHBfZGl2ICY9IFBQX1JFRkVSRU5DRV9ESVZJREVSX01B U0s7Cj4gIAo+IEBAIC0yNzI5LDcgKzI3MjIsNyBAQCBzdGF0aWMgdm9pZCB2bHZfZGV0YWNoX3Bv d2VyX3NlcXVlbmNlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7 Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2Rp Z19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPiAgCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfZHAtPnBw c19waXBlOwo+IC0JaTkxNV9yZWdfdCBwcF9vbl9yZWcgPSBWTFZfUElQRV9QUF9PTl9ERUxBWVMo cGlwZSk7Cj4gKwlpOTE1X3JlZ190IHBwX29uX3JlZyA9IFBQX09OX0RFTEFZUyhwaXBlKTsKPiAg Cj4gIAllZHBfcGFuZWxfdmRkX29mZl9zeW5jKGludGVsX2RwKTsKPiAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2x2ZHMuYwo+IGluZGV4IDQ5NTUwNDcuLjQxM2U3MjkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHZkcy5jCj4gQEAgLTIxNywyMSArMjE3LDEyIEBAIHN0YXRpYyB2b2lkIGludGVs X2VuYWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KPiAgCQkmbHZkc19lbmNvZGVyLT5hdHRh Y2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGRldik7Cj4gLQlpOTE1X3JlZ190IGN0bF9yZWcsIHN0YXRfcmVnOwo+IC0K PiAtCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiAtCQljdGxfcmVnID0gUENIX1BQX0NPTlRS T0w7Cj4gLQkJc3RhdF9yZWcgPSBQQ0hfUFBfU1RBVFVTOwo+IC0JfSBlbHNlIHsKPiAtCQljdGxf cmVnID0gUFBfQ09OVFJPTDsKPiAtCQlzdGF0X3JlZyA9IFBQX1NUQVRVUzsKPiAtCX0KPiAgCj4g IAlJOTE1X1dSSVRFKGx2ZHNfZW5jb2Rlci0+cmVnLCBJOTE1X1JFQUQobHZkc19lbmNvZGVyLT5y ZWcpIHwgTFZEU19QT1JUX0VOKTsKPiAgCj4gLQlJOTE1X1dSSVRFKGN0bF9yZWcsIEk5MTVfUkVB RChjdGxfcmVnKSB8IFBPV0VSX1RBUkdFVF9PTik7Cj4gKwlJOTE1X1dSSVRFKFBQX0NPTlRST0wo MCksIEk5MTVfUkVBRChQUF9DT05UUk9MKDApKSB8IFBPV0VSX1RBUkdFVF9PTik7Cj4gIAlQT1NU SU5HX1JFQUQobHZkc19lbmNvZGVyLT5yZWcpOwo+IC0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lz dGVyKGRldl9wcml2LCBzdGF0X3JlZywgUFBfT04sIFBQX09OLCAxMDAwKSkKPiArCWlmIChpbnRl bF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgUFBfU1RBVFVTKDApLCBQUF9PTiwgUFBfT04s IDEwMDApKQo+ICAJCURSTV9FUlJPUigidGltZWQgb3V0IHdhaXRpbmcgZm9yIHBhbmVsIHRvIHBv d2VyIG9uXG4iKTsKPiAgCj4gIAlpbnRlbF9wYW5lbF9lbmFibGVfYmFja2xpZ2h0KGludGVsX2Nv bm5lY3Rvcik7Cj4gQEAgLTI0MiwxOCArMjMzLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJs ZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ICAJc3RydWN0IGludGVsX2x2ZHNfZW5jb2Rl ciAqbHZkc19lbmNvZGVyID0gdG9fbHZkc19lbmNvZGVyKCZlbmNvZGVyLT5iYXNlKTsKPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCWk5MTVf cmVnX3QgY3RsX3JlZywgc3RhdF9yZWc7Cj4gIAo+IC0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkg ewo+IC0JCWN0bF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPiAtCQlzdGF0X3JlZyA9IFBDSF9QUF9T VEFUVVM7Cj4gLQl9IGVsc2Ugewo+IC0JCWN0bF9yZWcgPSBQUF9DT05UUk9MOwo+IC0JCXN0YXRf cmVnID0gUFBfU1RBVFVTOwo+IC0JfQo+IC0KPiAtCUk5MTVfV1JJVEUoY3RsX3JlZywgSTkxNV9S RUFEKGN0bF9yZWcpICYgflBPV0VSX1RBUkdFVF9PTik7Cj4gLQlpZiAoaW50ZWxfd2FpdF9mb3Jf cmVnaXN0ZXIoZGV2X3ByaXYsIHN0YXRfcmVnLCBQUF9PTiwgMCwgMTAwMCkpCj4gKwlJOTE1X1dS SVRFKFBQX0NPTlRST0woMCksIEk5MTVfUkVBRChQUF9DT05UUk9MKDApKSAmIH5QT1dFUl9UQVJH RVRfT04pOwo+ICsJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBQUF9TVEFU VVMoMCksIFBQX09OLCAwLCAxMDAwKSkKPiAgCQlEUk1fRVJST1IoInRpbWVkIG91dCB3YWl0aW5n IGZvciBwYW5lbCB0byBwb3dlciBvZmZcbiIpOwo+ICAKPiAgCUk5MTVfV1JJVEUobHZkc19lbmNv ZGVyLT5yZWcsIEk5MTVfUkVBRChsdmRzX2VuY29kZXItPnJlZykgJiB+TFZEU19QT1JUX0VOKTsK PiBAQCAtOTA0LDEzICs4ODYsMTAgQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgCSAqIFVubG9jayByZWdpc3RlcnMgYW5kIGp1c3QgbGVhdmUgdGhlbSB1 bmxvY2tlZC4gRG8gdGhpcyBiZWZvcmUKPiAgCSAqIGNoZWNraW5nIHF1aXJrIGxpc3RzIHRvIGF2 b2lkIGJvZ3VzIFdBUk5JTkdzLgo+ICAJICovCj4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7 Cj4gLQkJSTkxNV9XUklURShQQ0hfUFBfQ09OVFJPTCwKPiAtCQkJICAgSTkxNV9SRUFEKFBDSF9Q UF9DT05UUk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKPiAtCX0gZWxzZSBpZiAoSU5URUxfSU5G TyhkZXZfcHJpdiktPmdlbiA8IDUpIHsKPiAtCQlJOTE1X1dSSVRFKFBQX0NPTlRST0wsCj4gLQkJ CSAgIEk5MTVfUkVBRChQUF9DT05UUk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKPiAtCX0KPiAr CWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpIDw9IDQp Cj4gKwkJSTkxNV9XUklURShQUF9DT05UUk9MKDApLAo+ICsJCQkgICBJOTE1X1JFQUQoUFBfQ09O VFJPTCgwKSkgfCBQQU5FTF9VTkxPQ0tfUkVHUyk7Cj4gKwo+ICAJaWYgKCFpbnRlbF9sdmRzX3N1 cHBvcnRlZChkZXYpKQo+ICAJCXJldHVybjsKPiAgCj4gQEAgLTk0NSwxMiArOTI0LDEyIEBAIHZv aWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJIC8qIFNl dCB0aGUgUGFuZWwgUG93ZXIgT24vT2ZmIHRpbWluZ3MgaWYgdW5pbml0aWFsaXplZC4gKi8KPiAg CWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgNSAmJgo+IC0JICAgIEk5MTVfUkVBRChQ UF9PTl9ERUxBWVMpID09IDAgJiYgSTkxNV9SRUFEKFBQX09GRl9ERUxBWVMpID09IDApIHsKPiAr CSAgICBJOTE1X1JFQUQoUFBfT05fREVMQVlTKDApKSA9PSAwICYmIEk5MTVfUkVBRChQUF9PRkZf REVMQVlTKDApKSA9PSAwKSB7Cj4gIAkJLyogU2V0IFQyIHRvIDQwbXMgYW5kIFQ1IHRvIDIwMG1z ICovCj4gLQkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMsIDB4MDE5MDA3ZDApOwo+ICsJCUk5MTVf V1JJVEUoUFBfT05fREVMQVlTKDApLCAweDAxOTAwN2QwKTsKPiAgCj4gIAkJLyogU2V0IFQzIHRv IDM1bXMgYW5kIFR4IHRvIDIwMG1zICovCj4gLQkJSTkxNV9XUklURShQUF9PRkZfREVMQVlTLCAw eDAxNWUwN2QwKTsKPiArCQlJOTE1X1dSSVRFKFBQX09GRl9ERUxBWVMoMCksIDB4MDE1ZTA3ZDAp Owo+ICAKPiAgCQlEUk1fREVCVUdfS01TKCJQYW5lbCBwb3dlciB0aW1pbmdzIHVuaW5pdGlhbGl6 ZWQsIHNldHRpbmcgZGVmYXVsdHNcbiIpOwo+ICAJfQo+IC0tIAo+IDIuNS4wCj4gCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFp bGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUg U3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK