From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: Re: [PATCH v4 3/4] drm/i915: Make PSR registers relative to transcoders Date: Thu, 18 Apr 2019 19:04:03 -0700 Message-ID: <3eebc13a0acffa0530f35872bc83cd27c8644f8f.camel@intel.com> References: <20190417223742.28246-1-jose.souza@intel.com> <20190417223742.28246-3-jose.souza@intel.com> Reply-To: dhinakaran.pandiyan@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 2967B891E3 for ; Fri, 19 Apr 2019 02:04:08 +0000 (UTC) In-Reply-To: <20190417223742.28246-3-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?ISO-8859-1?Q?Jos=E9?= Roberto de Souza , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE5LTA0LTE3IGF0IDE1OjM3IC0wNzAwLCBKb3PDqSBSb2JlcnRvIGRlIFNvdXph IHdyb3RlOgo+IFBTUiByZWdpc3RlcnMgYXJlIGEgbWVzcywgc29tZSBoYXZlIHRoZSBmdWxsIGFk ZHJlc3Mgd2hpbGUgb3RoZXJzIGp1c3QKPiBoYXZlIHRoZSBhZGRpdGlvbmFsIG9mZnNldCBmcm9t IHBzcl9tbWlvX2Jhc2UuCj4gCj4gcHNyX21taW9fYmFzZSBpcyBub3RoaW5nIG1vcmUgdGhhbiBU UkFOU0NPREVSX0VEUF9PRkZTRVQgKyAweDgwMCBhbmQKPiB1c2luZyBpdCBtYWtlcyBtb3JlIGRp ZmZpY3VsdCBmb3IgcGVvcGxlIHdpdGggYW4gUFNSIHJlZ2lzdGVyIGFkZHJlc3MKPiBvciBQU1Ig cmVnaXN0ZXIgbmFtZSBmcm9tIGZyb20gQlNwZWMgYXMgaTkxNSBhbHNvIGRvbid0IG1hdGNoIHRo ZQo+IG5hbWUuCkknZCBsaWtlIHRoaXMgdG8gYmUgcmV3cml0dGVuIGZvciBjbGFyaXR5LgoKPiAK PiBPdGhlciByZWFzb24gdG8gbWFrZSByZWxhdGl2ZSB0byB0cmFuc2NvZGVyIGlzIHRoYXQgc2lu Y2UgQkRXIGV2ZXJ5Cj4gdHJhbnNjb2RlciBoYXZlIFBTUiByZWdpc3RlcnMsIHNvIGluIHRoZW9y eSBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8KPiBoYXZlIFBTUiBlbmFibGVkIGluIGEgbm9uLWVE UCB0cmFuc2NvZGVyLgo+IAo+IEZvciBIYXN3ZWxsIFBTUiByZWdpc3RlcnMgYXJlIHJlbGF0aXZl IHRvIDB4NjQwMDAsIHNvCj4gbW1pb19iYXNlX2FkanVzdCBhbmQgX1RSQU5TMl9QU1IoKSB3YXMg YWRkZWQgc28gd2UgY2FuIG92ZXJjb21lCj4gdGhpcyBsaW1pdGF0aW9uIGluIGEgc2luZ2xlIHBs YWNlLgo+IFBTUjIgcmVnaXN0ZXJzIGFuZCBQU1JfRVZFTlQgd2FzIGFkZGVkIGFmdGVyIEhhc3dl bGwgc28gdGhhdCBpcyB3aHkKPiBfVFJBTlMyX1BTUigpIGlzIG5vdCB1c2VkIGluIHNvbWUgbWFj cm9zLgo+IAo+IFRoZSBvbmx5IHJlZ2lzdGVycyB0aGF0IGNhbiBub3QgYmUgcmVsYXRpdmUgdG8g dHJhbnNjb2RlciBhcmUKPiBQU1JfSU1SIGFuZCBQU1JfSUlSIHRoYXQgYXJlIG5vdCByZWxhdGl2 ZSB0byBhbnl0aGluZywgc28ga2VlcGluZyBpdAo+IGhhcmRjb2RlZC4KPiAKPiBBbHNvIHJlbW92 aW5nIEJEV19FRFBfUFNSX0JBU0UgZnJvbSBHVlQgYmVjYXVzZSBpdCBpcyBub3QgdXNlZCBhcyBp dAo+IGlzIHRoZSBvbmx5IFBTUiByZWdpc3RlciB0aGF0IEdWVCBoYXZlLgo+IAo+IHY0Ogo+IC0g TW92ZWQgZGVmaW5pdGlvbiBvZiBfVFJBTlMyX1BTUigpIGFuZCBfTU1JT19UUkFOUzJfUFNSKCkg dG8gdGhlCj4gYmVnaW5uaW5nIG9mIGk5MTVfcmVnLmggKEphbmkpCj4gCj4gQ2M6IERoaW5ha2Fy YW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgo+IENjOiBSb2RyaWdv IFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5p a3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4K PiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVs LmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMgfCAgMSAt Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgIDUgKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgIHwgNDggKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgICAgfCAxMSArKysr Ky0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jCj4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYwo+IGluZGV4IDE4ZjAxZWViMjUx MC4uNzQ5ZTNlNDIwNGYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9o YW5kbGVycy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMKPiBA QCAtMjc3Niw3ICsyNzc2LDYgQEAgc3RhdGljIGludCBpbml0X2Jyb2Fkd2VsbF9tbWlvX2luZm8o c3RydWN0IGludGVsX2d2dAo+ICpndnQpCj4gIAlNTUlPX0QoQ0hJQ0tFTl9QSVBFU0xfMShQSVBF X0MpLCBEX0JEV19QTFVTKTsKPiAgCj4gIAlNTUlPX0QoV01fTUlTQywgRF9CRFcpOwo+IC0JTU1J T19EKF9NTUlPKEJEV19FRFBfUFNSX0JBU0UpLCBEX0JEVyk7Cj4gIAo+ICAJTU1JT19EKF9NTUlP KDB4NjY3MWMpLCBEX0JEV19QTFVTKTsKPiAgCU1NSU9fRChfTU1JTygweDY2YzAwKSwgRF9CRFdf UExVUyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggMDY2ZmQyYTEyODUxLi41ODc0 OGYyMzUxMWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtNDk0LDYgKzQ5NCw4 IEBAIHN0cnVjdCBpOTE1X2RycnMgewo+ICB9Owo+ICAKPiAgc3RydWN0IGk5MTVfcHNyIHsKPiAr CS8qIGRpZmZlcmVudCB0aGFuIHplcm8gb25seSBvbiBIU1cgc2VlIF9UUkFOUzJfUFNSKCkgZm9y IG1vcmUgaW5mbyAqLwo+ICsJdTMyIG1taW9fYmFzZV9hZGp1c3Q7CgpJZiB5b3UgcmVuYW1lIHRo aXMgdG8gaHN3X2Jhc2VfYWRqdXN0LCB0aGUgbmFtZSBiZWNvbWVzIHNlbGYtZG9jdW1lbnRpbmcg YW5kIHdlCmNhbiBnZXQgcmlkIG9mIHRoZSBjb21tZW50LgoKPiAgCXN0cnVjdCBtdXRleCBsb2Nr Owo+ICAKPiAgI2RlZmluZSBJOTE1X1BTUl9ERUJVR19NT0RFX01BU0sJMHgwZgo+IEBAIC01MDgs NiArNTEwLDcgQEAgc3RydWN0IGk5MTVfcHNyIHsKPiAgCWJvb2wgZW5hYmxlZDsKPiAgCXN0cnVj dCBpbnRlbF9kcCAqZHA7Cj4gIAllbnVtIHBpcGUgcGlwZTsKPiArCWVudW0gdHJhbnNjb2RlciB0 cmFuc2NvZGVyOwo+ICAJYm9vbCBhY3RpdmU7Cj4gIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29yazsK PiAgCXVuc2lnbmVkIGJ1c3lfZnJvbnRidWZmZXJfYml0czsKPiBAQCAtMTUzNCw4ICsxNTM3LDYg QEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ICAJLyogTU1JTyBiYXNlIGFkZHJlc3MgZm9y IE1JUEkgcmVncyAqLwo+ICAJdTMyIG1pcGlfbW1pb19iYXNlOwo+ICAKPiAtCXUzMiBwc3JfbW1p b19iYXNlOwo+IC0KPiAgCXUzMiBwcHNfbW1pb19iYXNlOwo+ICAKPiAgCXdhaXRfcXVldWVfaGVh ZF90IGdtYnVzX3dhaXRfcXVldWU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggOWVm MzA2Yjc5ZTBkLi45ODcwMDY5NDY4MDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBA QCAtMjU4LDYgKzI1OCwxMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9tbWlvX3JlZ192YWxp ZChpOTE1X3JlZ190IHJlZykKPiAgCQkJCQkgICAgICBJTlRFTF9JTkZPKGRldl9wcml2KS0KPiA+ Y3Vyc29yX29mZnNldHNbUElQRV9BXSArIChyZWcpICsgXAo+ICAJCQkJCSAgICAgIERJU1BMQVlf TU1JT19CQVNFKGRldl9wcml2KSkKPiAgCj4gKy8qIFBTUiByZWdpc3RlcnMgb24gSFNXIGlzIG5v dCByZWxhdGl2ZSB0byBlRFAgdHJhbnNjb2RlciAqLwo+ICsjZGVmaW5lIF9UUkFOUzJfUFNSKHJl ZykJKF9UUkFOUzIoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyLCAocmVnKSkgLQo+IGRldl9wcml2 LT5wc3IubW1pb19iYXNlX2FkanVzdCkKPiArI2RlZmluZSBfTU1JT19UUkFOUzJfUFNSKHJlZykJ X01NSU8oX1RSQU5TMl9QU1IocmVnKSkKPiArCgpJIHRoaW5rIHRoZSBtYWNybyBzaG91bGQgYmUg ZGVmaW5lZCBpbiBpdCdzIGZpbmFsIGZvcm0gaW4gdGhpcyBjb21taXQuIFdoaWxlIEkKdW5kZXJz dGFuZCB5b3Ugd2FudCB0byBzcGxpdCB0aGUgcGF0Y2ggZm9yIG1ha2luZyByZXZpZXcgZWFzeSwg bm90IGNvbnZpbmNlZCB3ZQppdCdzIGEgZ29vZCBpZGVhIHRvIGFkZCBtYWNyb3MgdGhhdCBjaGFu Z2UgaW4gdGhlIG5leHQgcGF0Y2guCgpXZSBjYW4gZGVmaW5lIHRoZSBtYWNybyB0byBhY2NlcHQg KHRyYW4sIHJlZykgYXMgYXJndW1lbnRzIGluIHRoaXMgcGF0Y2ggYnV0CmhhdmUgaW50ZWxfcHNy X2NvbXB1dGVfY29uZmlnKCkgcmVqZWN0IG5vbi1lRFAgdHJhbnNjb2RlcnMuCgppbnRlbF9wc3Jf Y29tcHV0ZV9jb25maWcoaW50ZWxfZHAsIGNydGNfc3RhdGUpCnsKCWlmIChjcnRjX3N0YXRlLT5j cHVfdHJhbnNjb2RlcgohPSBUUkFOU0NPREVSX0VEUCkKCQlyZXR1cm47CgkuLi4KfQpUaGlzIGFs bG93cyB5b3UgdG8gYWRkIHRoZSBtYWNybyB3aXRob3V0IGNoYW5naW5nIGFueSBmdW5jdGlvbmFs aXR5LgoKCklmIHlvdSBpbnNpc3Qgb24gbm90IG1ha2luZyBjaGFuZ2VzIHRvIGludGVsX3Bzci5j LCBob3cgYWJvdXQgaW50cm9kdWNpbmcgdGhlCmZ1bGwgbWFjcm8gaW4gdGhpcyBwYXRjaCBidXQg aGFyZC1jb2RpbmcgVFJBTkNPREVSX0VEUAoKI2RlZmluZSBQU1JfQ1RMKHRyYW4pCV9NTUlPX1RS QU5TMl9QU1IoVFJBTlNDT0RFUl9FRFAsIF9TUkRfQ1RMX0EpCiNkZWZpbmUgUFNSX1NUQVRVUyh0 cmFuKSBfTU1JT19UUkFOUzJfUFNSKFRSQU5TQ09ERVJfRURQLCBfU1JEX1NUQVRVU19BKQoKQ29t bWVudHMgYWJvdXQgX01NSU9fVFJBTlMyX1BTUiBiZWxvdy4KCgo+ICAjZGVmaW5lIF9fTUFTS0VE X0ZJRUxEKG1hc2ssIHZhbHVlKSAoKG1hc2spIDw8IDE2IHwgKHZhbHVlKSkKPiAgI2RlZmluZSBf TUFTS0VEX0ZJRUxEKG1hc2ssIHZhbHVlKSAoewkJCQkJCj4gICAgXAo+ICAJaWYgKF9fYnVpbHRp bl9jb25zdGFudF9wKG1hc2spKQkJCQkJICAgXAo+IEBAIC00MjEzLDkgKzQyMTcsMTEgQEAgZW51 bSB7Cj4gICNkZWZpbmUgUElQRV9NVUxUKHRyYW5zKQlfTU1JT19UUkFOUzIodHJhbnMsIF9QSVBF X01VTFRfQSkKPiAgCj4gIC8qIEhTVysgZURQIFBTUiByZWdpc3RlcnMgKi8KPiAtI2RlZmluZSBI U1dfRURQX1BTUl9CQVNFCTB4NjQ4MDAKPiAtI2RlZmluZSBCRFdfRURQX1BTUl9CQVNFCTB4NmY4 MDAKPiAtI2RlZmluZSBFRFBfUFNSX0NUTAkJCQlfTU1JTyhkZXZfcHJpdi0+cHNyX21taW9fYmFz ZSArCj4gMCkKPiArI2RlZmluZSBIU1dfRURQX1BTUl9CQVNFCTB4NjQwMDAKPiArCj4gKyNkZWZp bmUgX1NSRF9DVExfQQkJCQkweDYwODAwCj4gKyNkZWZpbmUgX1NSRF9DVExfRURQCQkJCTB4NkY4 MDAKCQkJCQkJICAgXmYgKHVzZSBsb3dlciBjYXNlIGZvciBoZXggZGlnaXRzKSBoZXJlIGFuZCBl bHNld2hlcmUgaW4gdGhpcyBwYXRjaC4KCj4gKyNkZWZpbmUgRURQX1BTUl9DVEwJCQkJX01NSU9f VFJBTlMyX1BTUihfU1JEX0NUTF9BKQo+ICAjZGVmaW5lICAgRURQX1BTUl9FTkFCTEUJCQkoMSA8 PCAzMSkKPiAgI2RlZmluZSAgIEJEV19QU1JfU0lOR0xFX0ZSQU1FCQkJKDEgPDwgMzApCj4gICNk ZWZpbmUgICBFRFBfUFNSX1JFU1RPUkVfUFNSX0FDVElWRV9DVFhfTUFTSwkoMSA8PCAyOSkgLyog U1cgY2FuJ3QKPiBtb2RpZnkgKi8KPiBAQCAtNDI1MiwxNiArNDI1OCwyMiBAQCBlbnVtIHsKPiAg I2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RFUl9BX1NISUZUCQk4Cj4gICNkZWZpbmUgICBFRFBf UFNSX1RSQU5TQ09ERVJfRURQX1NISUZUCQkwCj4gIAo+IC0jZGVmaW5lIEVEUF9QU1JfQVVYX0NU TAkJCQlfTU1JTyhkZXZfcHJpdi0KPiA+cHNyX21taW9fYmFzZSArIDB4MTApCj4gKyNkZWZpbmUg X1NSRF9BVVhfQ1RMX0EJCQkJMHg2MDgxMAo+ICsjZGVmaW5lIF9TUkRfQVVYX0NUTF9FRFAJCQkw eDZGODEwCj4gKyNkZWZpbmUgRURQX1BTUl9BVVhfQ1RMCQkJCV9NTUlPX1RSQU5TMl9QU1IoX1NS RF9BVQo+IFhfQ1RMX0EpCj4gICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfVElNRV9PVVRfTUFT SwkJKDMgPDwgMjYpCj4gICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfTUVTU0FHRV9TSVpFX01B U0sJKDB4MWYgPDwgMjApCj4gICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfUFJFQ0hBUkdFXzJV U19NQVNLCSgweGYgPDwgMTYpCj4gICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfRVJST1JfSU5U RVJSVVBUCSgxIDw8IDExKQo+ICAjZGVmaW5lICAgRURQX1BTUl9BVVhfQ1RMX0JJVF9DTE9DS18y WF9NQVNLCSgweDdmZikKPiAgCj4gLSNkZWZpbmUgRURQX1BTUl9BVVhfREFUQShpKQkJCV9NTUlP KGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsKPiAweDE0ICsgKGkpICogNCkgLyogNSByZWdpc3Rl cnMgKi8KPiArI2RlZmluZSBfU1JEX0FVWF9EQVRBX0EJCQkJMHg2MDgxNAo+ICsjZGVmaW5lIF9T UkRfQVVYX0RBVEFfRURQCQkJMHg2RjgxNAo+ICsjZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEoaSkJ CQlfTU1JTyhfVFJBTlMyX1BTUihfU1JEX0FVWF9EQVRBXwo+IEEpICsgKGkpICsgNCkgLyogNSBy ZWdpc3RlcnMgKi8KPiAgCj4gLSNkZWZpbmUgRURQX1BTUl9TVEFUVVMJCQkJX01NSU8oZGV2X3By aXYtCj4gPnBzcl9tbWlvX2Jhc2UgKyAweDQwKQo+ICsjZGVmaW5lIF9TUkRfU1RBVFVTX0EJCQkJ MHg2MDg0MAo+ICsjZGVmaW5lIF9TUkRfU1RBVFVTX0VEUAkJCQkweDZGODQwCj4gKyNkZWZpbmUg RURQX1BTUl9TVEFUVVMJCQkJX01NSU9fVFJBTlMyX1BTUihfU1JEX1NUCj4gQVRVU19BKQo+ICAj ZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSwkJKDcgPDwgMjkpCj4gICNkZWZpbmUg ICBFRFBfUFNSX1NUQVRVU19TVEFURV9TSElGVAkJMjkKPiAgI2RlZmluZSAgIEVEUF9QU1JfU1RB VFVTX1NUQVRFX0lETEUJCSgwIDw8IDI5KQo+IEBAIC00Mjg2LDEwICs0Mjk4LDE1IEBAIGVudW0g ewo+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU0VORElOR19UUDEJCSgxIDw8IDQpCj4gICNk ZWZpbmUgICBFRFBfUFNSX1NUQVRVU19JRExFX01BU0sJCTB4Zgo+ICAKPiAtI2RlZmluZSBFRFBf UFNSX1BFUkZfQ05UCQlfTU1JTyhkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4NDQpCj4gKyNk ZWZpbmUgX1NSRF9QRVJGX0NOVF9BCQkJMHg2MDg0NAo+ICsjZGVmaW5lIF9TUkRfUEVSRl9DTlRf RURQCQkweDZGODQ0Cj4gKyNkZWZpbmUgRURQX1BTUl9QRVJGX0NOVAkJX01NSU9fVFJBTlMyX1BT UihfU1JEX1BFUkZfQ05UX0EpCj4gICNkZWZpbmUgICBFRFBfUFNSX1BFUkZfQ05UX01BU0sJCTB4 ZmZmZmZmCj4gIAo+IC0jZGVmaW5lIEVEUF9QU1JfREVCVUcJCQkJX01NSU8oZGV2X3ByaXYtCj4g PnBzcl9tbWlvX2Jhc2UgKyAweDYwKSAvKiBQU1JfTUFTSyBvbiBTS0wrICovCj4gKy8qIFBTUl9N QVNLIG9uIFNLTCsgKi8KPiArI2RlZmluZSBfU1JEX0RFQlVHX0EJCQkJMHg2MDg2MAo+ICsjZGVm aW5lIF9TUkRfREVCVUdfRURQCQkJCTB4NkY4NjAKPiArI2RlZmluZSBFRFBfUFNSX0RFQlVHCQkJ CV9NTUlPX1RSQU5TMl9QU1IoX1NSRF9ERQo+IEJVR19BKQo+ICAjZGVmaW5lICAgRURQX1BTUl9E RUJVR19NQVNLX01BWF9TTEVFUCAgICAgICAgICgxIDw8IDI4KQo+ICAjZGVmaW5lICAgRURQX1BT Ul9ERUJVR19NQVNLX0xQU1AgICAgICAgICAgICAgICgxIDw8IDI3KQo+ICAjZGVmaW5lICAgRURQ X1BTUl9ERUJVR19NQVNLX01FTVVQICAgICAgICAgICAgICgxIDw8IDI2KQo+IEBAIC00Mjk3LDcg KzQzMTQsOSBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19ESVNQX1JF R19XUklURSAgICAoMSA8PCAxNikgLyogUmVzZXJ2ZWQgaW4gSUNMKwo+ICovCj4gICNkZWZpbmUg ICBFRFBfUFNSX0RFQlVHX0VYSVRfT05fUElYRUxfVU5ERVJSVU4gKDEgPDwgMTUpIC8qIFNLTCsg Ki8KPiAgCj4gLSNkZWZpbmUgRURQX1BTUjJfQ1RMCQkJX01NSU8oMHg2ZjkwMCkKPiArI2RlZmlu ZSBfUFNSMl9DVExfQQkJCTB4NjA5MDAKPiArI2RlZmluZSBfUFNSMl9DVExfRURQCQkJMHg2Rjkw MAo+ICsjZGVmaW5lIEVEUF9QU1IyX0NUTAkJCV9NTUlPX1RSQU5TMihkZXZfcHJpdi0+cHNyLnRy YW5zY29kZXIsCj4gX1BTUjJfQ1RMX0EpCj4gICNkZWZpbmUgICBFRFBfUFNSMl9FTkFCTEUJCSgx IDw8IDMxKQo+ICAjZGVmaW5lICAgRURQX1NVX1RSQUNLX0VOQUJMRQkJKDEgPDwgMzApCj4gICNk ZWZpbmUgICBFRFBfWV9DT09SRElOQVRFX1ZBTElECSgxIDw8IDI2KSAvKiBHTEsgYW5kIENOTCsg Ki8KPiBAQCAtNDMzOCwxNCArNDM1NywxNSBAQCBlbnVtIHsKPiAgI2RlZmluZSAgUFNSX0VWRU5U X0xQU1BfTU9ERV9FWElUCQkoMSA8PCAxKQo+ICAjZGVmaW5lICBQU1JfRVZFTlRfUFNSX0RJU0FC TEUJCQkoMSA8PCAwKQo+ICAKPiAtI2RlZmluZSBFRFBfUFNSMl9TVEFUVVMJCQlfTU1JTygweDZm OTQwKQo+ICsjZGVmaW5lIF9QU1IyX1NUQVRVU19BCQkJMHg2MDk0MApUaGlzIGlzIGEgY29tcGxl dGVseSBtYWRlIHVwIHJlZ2lzdGVyLCBpc24ndCBpdD8gCgo+ICsjZGVmaW5lIF9QU1IyX1NUQVRV U19FRFAJCTB4NkY5NDAKPiArI2RlZmluZSBFRFBfUFNSMl9TVEFUVVMJCQlfTU1JT19UUkFOUzIo ZGV2X3ByaXYtCj4gPnBzci50cmFuc2NvZGVyLCBfUFNSMl9TVEFUVVNfQSkKPiAgI2RlZmluZSBF RFBfUFNSMl9TVEFUVVNfU1RBVEVfTUFTSyAgICAgKDB4ZiA8PCAyOCkKPiAgI2RlZmluZSBFRFBf UFNSMl9TVEFUVVNfU1RBVEVfU0hJRlQgICAgMjgKPiAgCj4gLSNkZWZpbmUgX1BTUjJfU1VfU1RB VFVTXzAJCTB4NkY5MTQKPiAtI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfMQkJMHg2RjkxOAo+IC0j ZGVmaW5lIF9QU1IyX1NVX1NUQVRVU18yCQkweDZGOTFDCj4gLSNkZWZpbmUgX1BTUjJfU1VfU1RB VFVTKGluZGV4KQkJX01NSU8oX1BJQ0tfRVZFTigoaW5kZXgpLAo+IF9QU1IyX1NVX1NUQVRVU18w LCBfUFNSMl9TVV9TVEFUVVNfMSkpCj4gKyNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTX0EJCTB4NjA5 MTQKPiArI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfRURQCQkweDZGOTE0Cj4gKyNkZWZpbmUgX1BT UjJfU1VfU1RBVFVTKGluZGV4KQkJX01NSU8oX1RSQU5TMihkZXZfcHJpdi0KPiA+cHNyLnRyYW5z Y29kZXIsIF9QU1IyX1NVX1NUQVRVU19BKSArIChpbmRleCkgKiA0KQo+ICAjZGVmaW5lIFBTUjJf U1VfU1RBVFVTKGZyYW1lKQkJKF9QU1IyX1NVX1NUQVRVUygoZnJhbWUpIC8gMykpCj4gICNkZWZp bmUgUFNSMl9TVV9TVEFUVVNfU0hJRlQoZnJhbWUpCSgoKGZyYW1lKSAlIDMpICogMTApCj4gICNk ZWZpbmUgUFNSMl9TVV9TVEFUVVNfTUFTSyhmcmFtZSkJKDB4M2ZmIDw8IFBTUjJfU1VfU1RBVFVT X1NISUZUKGZyYW1lKSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cHNyLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gaW5kZXggOTYzNjYz YmEwZWRmLi5kYTM1MWM4Zjg2ZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcHNyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+IEBA IC03NDIsNiArNzQyLDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfbG9ja2VkKHN0 cnVjdAo+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJZGV2X3ByaXYtPnBzci5wc3Iy X2VuYWJsZWQgPSBpbnRlbF9wc3IyX2VuYWJsZWQoZGV2X3ByaXYsIGNydGNfc3RhdGUpOwo+ICAJ ZGV2X3ByaXYtPnBzci5idXN5X2Zyb250YnVmZmVyX2JpdHMgPSAwOwo+ICAJZGV2X3ByaXYtPnBz ci5waXBlID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpLT5waXBlOwo+ICsJ ZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7Cj4g Kwo+ICsJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKSB7Cj4gKwkJdTMyIHRyYW5zX29mZnNldCA9 IElOVEVMX0lORk8oZGV2X3ByaXYpLT50cmFuc19vZmZzZXRzW2Rldl9wcml2LQo+ID5wc3IudHJh bnNjb2Rlcl07Cj4gKwo+ICsJCVdBUk5fT04odHJhbnNfb2Zmc2V0IDwgSFNXX0VEUF9QU1JfQkFT RSk7Cj4gKwkJZGV2X3ByaXYtPnBzci5tbWlvX2Jhc2VfYWRqdXN0ID0gdHJhbnNfb2Zmc2V0IC0K PiBIU1dfRURQX1BTUl9CQVNFOwoKVGhlIEhTVyBQU1IgcmVnaXN0ZXJzIGFyZSBub3QgcGVyLXRy YW5zY29kZXIgcmVnaXN0ZXJzIGFuZCBhcyBzdWNoIGl0IGp1c3QgZmVlbHMKd3JvbmcgdG8gY29t cHV0ZSAubW1pb19iYXNlX2FkanVzdCBiYXNlZCBvbiB0aGUgdHJhbnNjb2Rlci4gSGVyZSdzIHdo YXQgSQpwcm9wb3NlCgoKI2RlZmluZSBIU1dfRURQX1BTUl9CQVNFCQkweDY0ODAwCiNkZWZpbmUg X1NSRF9DVExfQQkJCTB4NjA4MDAKI2RlZmluZSBfTU1JT19IU1dfUFNSX0FESihyZWcpCQlfTU1J TyhyZWcgLSBfU1JEX0NUTF9BICsgSFNXX0VEUF9QU1JfQkFTRSkKI2RlZmluZSBfTU1JT19QU1Jf QURKKHRyYW4sIHJlZykJSVNfSEFTV0VMTChkZXZfcHJpdikgPyAJXAkJCQkJCQkJX01NSU9fSFMK V19QU1JfQURKKHJlZykgOlwKIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBfTU1JT19UUkFOUzIodHJhbiwgcmVnKQojZGVmaW5lIEVEUF9QU1JfQ1RMKHRyYW4pICAgICAg IF9NTUlPX1BTUl9BREoodHJhbiwgX1NSRF9DVExfQSkKI2RlZmluZSBFRFBfUFNSX1NUQVRVUyh0 cmFuKQlfTU1JT19QU1JfQURKKHRyYW4sIF9TUkRfU1RBVFVTX0EpCi4uLgoKT3IgCgojZGVmaW5l IEhTV19FRFBfUFNSX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAweDY0ODAwCiNkZWZpbmUg QkRXX0VEUF9QU1JfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgIDB4NmY4MDAKI2RlZmluZSBf TU1JT19QU1JfQURKKHRyYW4sIHJlZykJCV9NTUlPX1RSQU5TMih0cmFuLCByZWcgLSBkZXZfcHJp di0KPnBzci5oc3dfYmFzZV9hZGopCiNkZWZpbmUgRURQX1BTUl9DVEwodHJhbikgICAgICAgICAg ICAgICAgICAgICAgIF9NTUlPX1BTUl9BREoodHJhbiwgX1NSRF9DVExfQSkKCndpdGgKCj4gKwl9 Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiRW5hYmxpbmcgUFNSJXNcbiIsCj4gIAkJICAgICAgZGV2 X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQgPyAiMiIgOiAiMSIpOwo+IEBAIC0xMjA2LDkgKzEyMTQs NiBAQCB2b2lkIGludGVsX3Bzcl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgCWlmICghSEFTX1BTUihkZXZfcHJpdikpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCWRldl9w cml2LT5wc3JfbW1pb19iYXNlID0gSVNfSEFTV0VMTChkZXZfcHJpdikgPwo+IC0JCUhTV19FRFBf UFNSX0JBU0UgOiBCRFdfRURQX1BTUl9CQVNFOwo+IC0KCWlmIChJU19IQVNXRUxMKGRldl9wcml2 KSkKCQlkZXZfcHJpdi0+aHN3X2Jhc2VfYWRqID0KQkRXX0VEUF9QU1JfQkFTRSAtIEhTV19FRFBf UFNSX0JBU0U7CgoJCgo+ICAJaWYgKCFkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCkKPiAgCQly ZXR1cm47Cj4gIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4