From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [CI] drm/i915: Isolate i915_getparam_ioctl() Date: Wed, 7 Aug 2019 07:27:25 -0700 Message-ID: <20190807142725.GB1761@intel.com> References: <20190807142041.32699-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 680D26E70E for ; Wed, 7 Aug 2019 14:26:51 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190807142041.32699-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBdWcgMDcsIDIwMTkgYXQgMDM6MjA6NDFQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFRoaXMgZ2lhbnQgc3dpdGNoIGhhcyB0ZW5kcmlscyBhbGwgb3RoZXIgdGhlIHN0cnVj dCBhbmQgZG9lcyBub3QgZml0Cj4gaW50byB0aGUgcmVzdCBvZiB0aGUgZHJpdmVyIGJyaW5nIHVw IGFuZCBjb250cm9sIG9mIGk5MTVfZHJ2LmMuIFB1c2ggaXQKPiB0byBvbmUgc2lkZSBzbyB0aGF0 IGl0IGNhbiBncm93IGluIHBlYWNlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IEFja2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmV2aWV3ZWQtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmln by52aXZpQGludGVsLmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxl ICAgICAgICB8ICAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICB8 IDE2NyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgICAgfCAgIDMgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dldHBh cmFtLmMgfCAxNjggKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDQgZmlsZXMgY2hhbmdl ZCwgMTcyIGluc2VydGlvbnMoKyksIDE2NyBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2V0cGFyYW0uYwo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01h a2VmaWxlCj4gaW5kZXggOGZlMTU3ZjcxNjE3Li5kOWYxYjIzYmRmNzcgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9NYWtlZmlsZQo+IEBAIC00MSw2ICs0MSw3IEBAIHN1YmRpci1jY2ZsYWdzLXkgKz0gLUkkKHNy Y3RyZWUpLyQoc3JjKQo+ICAjIGNvcmUgZHJpdmVyIGNvZGUKPiAgaTkxNS15ICs9IGk5MTVfZHJ2 Lm8gXAo+ICAJICBpOTE1X2lycS5vIFwKPiArCSAgaTkxNV9nZXRwYXJhbS5vIFwKPiAgCSAgaTkx NV9wYXJhbXMubyBcCj4gIAkgIGk5MTVfcGNpLm8gXAo+ICAJICBpOTE1X3NjYXR0ZXJsaXN0Lm8g XAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IGluZGV4IGVmZTkwNDYyNmJmNS4uMzQ4MGRiMzZi NjNmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gQEAgLTYyLDE3ICs2MiwxMiBAQAo+ ICAKPiAgI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9jb250ZXh0LmgiCj4gICNpbmNsdWRlICJnZW0v aTkxNV9nZW1faW9jdGxzLmgiCj4gLSNpbmNsdWRlICJndC9pbnRlbF9lbmdpbmVfdXNlci5oIgo+ ICAjaW5jbHVkZSAiZ3QvaW50ZWxfZ3QuaCIKPiAgI2luY2x1ZGUgImd0L2ludGVsX2d0X3BtLmgi Cj4gLSNpbmNsdWRlICJndC9pbnRlbF9yZXNldC5oIgo+IC0jaW5jbHVkZSAiZ3QvaW50ZWxfd29y a2Fyb3VuZHMuaCIKPiAtI2luY2x1ZGUgImd0L3VjL2ludGVsX3VjLmgiCj4gIAo+ICAjaW5jbHVk ZSAiaTkxNV9kZWJ1Z2ZzLmgiCj4gICNpbmNsdWRlICJpOTE1X2Rydi5oIgo+ICAjaW5jbHVkZSAi aTkxNV9pcnEuaCIKPiAtI2luY2x1ZGUgImk5MTVfcG11LmgiCj4gICNpbmNsdWRlICJpOTE1X3F1 ZXJ5LmgiCj4gICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCj4gICNpbmNsdWRlICJpOTE1X3ZncHUu aCIKPiBAQCAtMzQ0LDE2OCArMzM5LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGV0ZWN0X3BjaChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlwY2lfZGV2X3B1dChwY2gpOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgaW50IGk5MTVfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7Cj4gLQlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGRldl9wcml2LT5kcm0ucGRldjsKPiAt CWNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0gJlJVTlRJTUVfSU5GTyhkZXZfcHJp diktPnNzZXU7Cj4gLQlkcm1faTkxNV9nZXRwYXJhbV90ICpwYXJhbSA9IGRhdGE7Cj4gLQlpbnQg dmFsdWU7Cj4gLQo+IC0Jc3dpdGNoIChwYXJhbS0+cGFyYW0pIHsKPiAtCWNhc2UgSTkxNV9QQVJB TV9JUlFfQUNUSVZFOgo+IC0JY2FzZSBJOTE1X1BBUkFNX0FMTE9XX0JBVENIQlVGRkVSOgo+IC0J Y2FzZSBJOTE1X1BBUkFNX0xBU1RfRElTUEFUQ0g6Cj4gLQljYXNlIEk5MTVfUEFSQU1fSEFTX0VY RUNfQ09OU1RBTlRTOgo+IC0JCS8qIFJlamVjdCBhbGwgb2xkIHVtcy9kcmkgcGFyYW1zLiAqLwo+ IC0JCXJldHVybiAtRU5PREVWOwo+IC0JY2FzZSBJOTE1X1BBUkFNX0NISVBTRVRfSUQ6Cj4gLQkJ dmFsdWUgPSBwZGV2LT5kZXZpY2U7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVfUEFSQU1fUkVW SVNJT046Cj4gLQkJdmFsdWUgPSBwZGV2LT5yZXZpc2lvbjsKPiAtCQlicmVhazsKPiAtCWNhc2Ug STkxNV9QQVJBTV9OVU1fRkVOQ0VTX0FWQUlMOgo+IC0JCXZhbHVlID0gZGV2X3ByaXYtPmdndHQu bnVtX2ZlbmNlczsKPiAtCQlicmVhazsKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfT1ZFUkxBWToK PiAtCQl2YWx1ZSA9IGRldl9wcml2LT5vdmVybGF5ID8gMSA6IDA7Cj4gLQkJYnJlYWs7Cj4gLQlj YXNlIEk5MTVfUEFSQU1fSEFTX0JTRDoKPiAtCQl2YWx1ZSA9ICEhaW50ZWxfZW5naW5lX2xvb2t1 cF91c2VyKGRldl9wcml2LAo+IC0JCQkJCQkgICBJOTE1X0VOR0lORV9DTEFTU19WSURFTywgMCk7 Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVfUEFSQU1fSEFTX0JMVDoKPiAtCQl2YWx1ZSA9ICEh aW50ZWxfZW5naW5lX2xvb2t1cF91c2VyKGRldl9wcml2LAo+IC0JCQkJCQkgICBJOTE1X0VOR0lO RV9DTEFTU19DT1BZLCAwKTsKPiAtCQlicmVhazsKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfVkVC T1g6Cj4gLQkJdmFsdWUgPSAhIWludGVsX2VuZ2luZV9sb29rdXBfdXNlcihkZXZfcHJpdiwKPiAt CQkJCQkJICAgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU9fRU5IQU5DRSwgMCk7Cj4gLQkJYnJlYWs7 Cj4gLQljYXNlIEk5MTVfUEFSQU1fSEFTX0JTRDI6Cj4gLQkJdmFsdWUgPSAhIWludGVsX2VuZ2lu ZV9sb29rdXBfdXNlcihkZXZfcHJpdiwKPiAtCQkJCQkJICAgSTkxNV9FTkdJTkVfQ0xBU1NfVklE RU8sIDEpOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBJOTE1X1BBUkFNX0hBU19MTEM6Cj4gLQkJdmFs dWUgPSBIQVNfTExDKGRldl9wcml2KTsKPiAtCQlicmVhazsKPiAtCWNhc2UgSTkxNV9QQVJBTV9I QVNfV1Q6Cj4gLQkJdmFsdWUgPSBIQVNfV1QoZGV2X3ByaXYpOwo+IC0JCWJyZWFrOwo+IC0JY2Fz ZSBJOTE1X1BBUkFNX0hBU19BTElBU0lOR19QUEdUVDoKPiAtCQl2YWx1ZSA9IElOVEVMX1BQR1RU KGRldl9wcml2KTsKPiAtCQlicmVhazsKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfU0VNQVBIT1JF UzoKPiAtCQl2YWx1ZSA9ICEhKGRldl9wcml2LT5jYXBzLnNjaGVkdWxlciAmIEk5MTVfU0NIRURV TEVSX0NBUF9TRU1BUEhPUkVTKTsKPiAtCQlicmVhazsKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNf U0VDVVJFX0JBVENIRVM6Cj4gLQkJdmFsdWUgPSBjYXBhYmxlKENBUF9TWVNfQURNSU4pOwo+IC0J CWJyZWFrOwo+IC0JY2FzZSBJOTE1X1BBUkFNX0NNRF9QQVJTRVJfVkVSU0lPTjoKPiAtCQl2YWx1 ZSA9IGk5MTVfY21kX3BhcnNlcl9nZXRfdmVyc2lvbihkZXZfcHJpdik7Cj4gLQkJYnJlYWs7Cj4g LQljYXNlIEk5MTVfUEFSQU1fU1VCU0xJQ0VfVE9UQUw6Cj4gLQkJdmFsdWUgPSBpbnRlbF9zc2V1 X3N1YnNsaWNlX3RvdGFsKHNzZXUpOwo+IC0JCWlmICghdmFsdWUpCj4gLQkJCXJldHVybiAtRU5P REVWOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBJOTE1X1BBUkFNX0VVX1RPVEFMOgo+IC0JCXZhbHVl ID0gc3NldS0+ZXVfdG90YWw7Cj4gLQkJaWYgKCF2YWx1ZSkKPiAtCQkJcmV0dXJuIC1FTk9ERVY7 Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVfUEFSQU1fSEFTX0dQVV9SRVNFVDoKPiAtCQl2YWx1 ZSA9IGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9oYW5nY2hlY2sgJiYKPiAtCQkJaW50ZWxfaGFzX2dw dV9yZXNldChkZXZfcHJpdik7Cj4gLQkJaWYgKHZhbHVlICYmIGludGVsX2hhc19yZXNldF9lbmdp bmUoZGV2X3ByaXYpKQo+IC0JCQl2YWx1ZSA9IDI7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVf UEFSQU1fSEFTX1JFU09VUkNFX1NUUkVBTUVSOgo+IC0JCXZhbHVlID0gMDsKPiAtCQlicmVhazsK PiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfUE9PTEVEX0VVOgo+IC0JCXZhbHVlID0gSEFTX1BPT0xF RF9FVShkZXZfcHJpdik7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVfUEFSQU1fTUlOX0VVX0lO X1BPT0w6Cj4gLQkJdmFsdWUgPSBzc2V1LT5taW5fZXVfaW5fcG9vbDsKPiAtCQlicmVhazsKPiAt CWNhc2UgSTkxNV9QQVJBTV9IVUNfU1RBVFVTOgo+IC0JCXZhbHVlID0gaW50ZWxfaHVjX2NoZWNr X3N0YXR1cygmZGV2X3ByaXYtPmd0LnVjLmh1Yyk7Cj4gLQkJaWYgKHZhbHVlIDwgMCkKPiAtCQkJ cmV0dXJuIHZhbHVlOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBJOTE1X1BBUkFNX01NQVBfR1RUX1ZF UlNJT046Cj4gLQkJLyogVGhvdWdoIHdlJ3ZlIHN0YXJ0ZWQgb3VyIG51bWJlcmluZyBmcm9tIDEs IGFuZCBzbyBjbGFzcyBhbGwKPiAtCQkgKiBlYXJsaWVyIHZlcnNpb25zIGFzIDAsIGluIGVmZmVj dCB0aGVpciB2YWx1ZSBpcyB1bmRlZmluZWQgYXMKPiAtCQkgKiB0aGUgaW9jdGwgd2lsbCByZXBv cnQgRUlOVkFMIGZvciB0aGUgdW5rbm93biBwYXJhbSEKPiAtCQkgKi8KPiAtCQl2YWx1ZSA9IGk5 MTVfZ2VtX21tYXBfZ3R0X3ZlcnNpb24oKTsKPiAtCQlicmVhazsKPiAtCWNhc2UgSTkxNV9QQVJB TV9IQVNfU0NIRURVTEVSOgo+IC0JCXZhbHVlID0gZGV2X3ByaXYtPmNhcHMuc2NoZWR1bGVyOwo+ IC0JCWJyZWFrOwo+IC0KPiAtCWNhc2UgSTkxNV9QQVJBTV9NTUFQX1ZFUlNJT046Cj4gLQkJLyog UmVtZW1iZXIgdG8gYnVtcCB0aGlzIGlmIHRoZSB2ZXJzaW9uIGNoYW5nZXMhICovCj4gLQljYXNl IEk5MTVfUEFSQU1fSEFTX0dFTToKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfUEFHRUZMSVBQSU5H Ogo+IC0JY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDQlVGMjogLyogZGVwZW5kcyBvbiBHRU0gKi8K PiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfUkVMQVhFRF9GRU5DSU5HOgo+IC0JY2FzZSBJOTE1X1BB UkFNX0hBU19DT0hFUkVOVF9SSU5HUzoKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfUkVMQVhFRF9E RUxUQToKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfR0VON19TT0xfUkVTRVQ6Cj4gLQljYXNlIEk5 MTVfUEFSQU1fSEFTX1dBSVRfVElNRU9VVDoKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfUFJJTUVf Vk1BUF9GTFVTSDoKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfUElOTkVEX0JBVENIRVM6Cj4gLQlj YXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNfTk9fUkVMT0M6Cj4gLQljYXNlIEk5MTVfUEFSQU1fSEFT X0VYRUNfSEFORExFX0xVVDoKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfQ09IRVJFTlRfUEhZU19H VFQ6Cj4gLQljYXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNfU09GVFBJTjoKPiAtCWNhc2UgSTkxNV9Q QVJBTV9IQVNfRVhFQ19BU1lOQzoKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19GRU5DRToK PiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19DQVBUVVJFOgo+IC0JY2FzZSBJOTE1X1BBUkFN X0hBU19FWEVDX0JBVENIX0ZJUlNUOgo+IC0JY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDX0ZFTkNF X0FSUkFZOgo+IC0JY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDX1NVQk1JVF9GRU5DRToKPiAtCQkv KiBGb3IgdGhlIHRpbWUgYmVpbmcgYWxsIG9mIHRoZXNlIGFyZSBhbHdheXMgdHJ1ZTsKPiAtCQkg KiBpZiBzb21lIHN1cHBvcnRlZCBoYXJkd2FyZSBkb2VzIG5vdCBoYXZlIG9uZSBvZiB0aGVzZQo+ IC0JCSAqIGZlYXR1cmVzIHRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgcHJvdmlkZWQgZnJvbQo+IC0J CSAqIElOVEVMX0lORk8oKSwgYSBmZWF0dXJlIG1hY3JvLCBvciBzaW1pbGFyLgo+IC0JCSAqLwo+ IC0JCXZhbHVlID0gMTsKPiAtCQlicmVhazsKPiAtCWNhc2UgSTkxNV9QQVJBTV9IQVNfQ09OVEVY VF9JU09MQVRJT046Cj4gLQkJdmFsdWUgPSBpbnRlbF9lbmdpbmVzX2hhc19jb250ZXh0X2lzb2xh dGlvbihkZXZfcHJpdik7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVfUEFSQU1fU0xJQ0VfTUFT SzoKPiAtCQl2YWx1ZSA9IHNzZXUtPnNsaWNlX21hc2s7Cj4gLQkJaWYgKCF2YWx1ZSkKPiAtCQkJ cmV0dXJuIC1FTk9ERVY7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVfUEFSQU1fU1VCU0xJQ0Vf TUFTSzoKPiAtCQl2YWx1ZSA9IHNzZXUtPnN1YnNsaWNlX21hc2tbMF07Cj4gLQkJaWYgKCF2YWx1 ZSkKPiAtCQkJcmV0dXJuIC1FTk9ERVY7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEk5MTVfUEFSQU1f Q1NfVElNRVNUQU1QX0ZSRVFVRU5DWToKPiAtCQl2YWx1ZSA9IDEwMDAgKiBSVU5USU1FX0lORk8o ZGV2X3ByaXYpLT5jc190aW1lc3RhbXBfZnJlcXVlbmN5X2toejsKPiAtCQlicmVhazsKPiAtCWNh c2UgSTkxNV9QQVJBTV9NTUFQX0dUVF9DT0hFUkVOVDoKPiAtCQl2YWx1ZSA9IElOVEVMX0lORk8o ZGV2X3ByaXYpLT5oYXNfY29oZXJlbnRfZ2d0dDsKPiAtCQlicmVhazsKPiAtCWRlZmF1bHQ6Cj4g LQkJRFJNX0RFQlVHKCJVbmtub3duIHBhcmFtZXRlciAlZFxuIiwgcGFyYW0tPnBhcmFtKTsKPiAt CQlyZXR1cm4gLUVJTlZBTDsKPiAtCX0KPiAtCj4gLQlpZiAocHV0X3VzZXIodmFsdWUsIHBhcmFt LT52YWx1ZSkpCj4gLQkJcmV0dXJuIC1FRkFVTFQ7Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAt Cj4gIHN0YXRpYyBpbnQgaTkxNV9nZXRfYnJpZGdlX2RldihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gIHsKPiAgCWludCBkb21haW4gPSBwY2lfZG9tYWluX25yKGRldl9wcml2 LT5kcm0ucGRldi0+YnVzKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCA3ZDQyNGRk ZDM1MjMuLmM5NDc2ZjI0ZjVjMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0y Mzk3LDYgKzIzOTcsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfdmdwdV9hY3RpdmUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJcmV0dXJuIGRldl9wcml2LT52Z3B1 LmFjdGl2ZTsKPiAgfQo+ICAKPiAraW50IGk5MTVfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiArCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYp Owo+ICsKPiAgLyogaTkxNV9nZW0uYyAqLwo+ICBpbnQgaTkxNV9nZW1faW5pdF91c2VycHRyKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIHZvaWQgaTkxNV9nZW1fY2xlYW51 cF91c2VycHRyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2V0cGFyYW0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2V0cGFyYW0uYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw MDAwMDAwMDAwLi41ZDkxMDEzNzZhM2QKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZXRwYXJhbS5jCj4gQEAgLTAsMCArMSwxNjggQEAKPiArLyoKPiAr ICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAo+ICsgKi8KPiArCj4gKyNpbmNsdWRlICJn dC9pbnRlbF9lbmdpbmVfdXNlci5oIgo+ICsKPiArI2luY2x1ZGUgImk5MTVfZHJ2LmgiCj4gKwo+ ICtpbnQgaTkxNV9nZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAo+ICsJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiArewo+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRldik7Cj4gKwljb25zdCBzdHJ1Y3Qgc3Nl dV9kZXZfaW5mbyAqc3NldSA9ICZSVU5USU1FX0lORk8oaTkxNSktPnNzZXU7Cj4gKwlkcm1faTkx NV9nZXRwYXJhbV90ICpwYXJhbSA9IGRhdGE7Cj4gKwlpbnQgdmFsdWU7Cj4gKwo+ICsJc3dpdGNo IChwYXJhbS0+cGFyYW0pIHsKPiArCWNhc2UgSTkxNV9QQVJBTV9JUlFfQUNUSVZFOgo+ICsJY2Fz ZSBJOTE1X1BBUkFNX0FMTE9XX0JBVENIQlVGRkVSOgo+ICsJY2FzZSBJOTE1X1BBUkFNX0xBU1Rf RElTUEFUQ0g6Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNfQ09OU1RBTlRTOgo+ICsJCS8q IFJlamVjdCBhbGwgb2xkIHVtcy9kcmkgcGFyYW1zLiAqLwo+ICsJCXJldHVybiAtRU5PREVWOwo+ ICsJY2FzZSBJOTE1X1BBUkFNX0NISVBTRVRfSUQ6Cj4gKwkJdmFsdWUgPSBpOTE1LT5kcm0ucGRl di0+ZGV2aWNlOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X1BBUkFNX1JFVklTSU9OOgo+ICsJ CXZhbHVlID0gaTkxNS0+ZHJtLnBkZXYtPnJldmlzaW9uOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBJ OTE1X1BBUkFNX05VTV9GRU5DRVNfQVZBSUw6Cj4gKwkJdmFsdWUgPSBpOTE1LT5nZ3R0Lm51bV9m ZW5jZXM7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX09WRVJMQVk6Cj4gKwkJ dmFsdWUgPSAhIWk5MTUtPm92ZXJsYXk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1f SEFTX0JTRDoKPiArCQl2YWx1ZSA9ICEhaW50ZWxfZW5naW5lX2xvb2t1cF91c2VyKGk5MTUsCj4g KwkJCQkJCSAgIEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPLCAwKTsKPiArCQlicmVhazsKPiArCWNh c2UgSTkxNV9QQVJBTV9IQVNfQkxUOgo+ICsJCXZhbHVlID0gISFpbnRlbF9lbmdpbmVfbG9va3Vw X3VzZXIoaTkxNSwKPiArCQkJCQkJICAgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwgMCk7Cj4gKwkJ YnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX1ZFQk9YOgo+ICsJCXZhbHVlID0gISFpbnRl bF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwKPiArCQkJCQkJICAgSTkxNV9FTkdJTkVfQ0xBU1Nf VklERU9fRU5IQU5DRSwgMCk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX0JT RDI6Cj4gKwkJdmFsdWUgPSAhIWludGVsX2VuZ2luZV9sb29rdXBfdXNlcihpOTE1LAo+ICsJCQkJ CQkgICBJOTE1X0VOR0lORV9DTEFTU19WSURFTywgMSk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5 MTVfUEFSQU1fSEFTX0xMQzoKPiArCQl2YWx1ZSA9IEhBU19MTEMoaTkxNSk7Cj4gKwkJYnJlYWs7 Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX1dUOgo+ICsJCXZhbHVlID0gSEFTX1dUKGk5MTUpOwo+ ICsJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X1BBUkFNX0hBU19BTElBU0lOR19QUEdUVDoKPiArCQl2 YWx1ZSA9IElOVEVMX1BQR1RUKGk5MTUpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X1BBUkFN X0hBU19TRU1BUEhPUkVTOgo+ICsJCXZhbHVlID0gISEoaTkxNS0+Y2Fwcy5zY2hlZHVsZXIgJiBJ OTE1X1NDSEVEVUxFUl9DQVBfU0VNQVBIT1JFUyk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVf UEFSQU1fSEFTX1NFQ1VSRV9CQVRDSEVTOgo+ICsJCXZhbHVlID0gY2FwYWJsZShDQVBfU1lTX0FE TUlOKTsKPiArCQlicmVhazsKPiArCWNhc2UgSTkxNV9QQVJBTV9DTURfUEFSU0VSX1ZFUlNJT046 Cj4gKwkJdmFsdWUgPSBpOTE1X2NtZF9wYXJzZXJfZ2V0X3ZlcnNpb24oaTkxNSk7Cj4gKwkJYnJl YWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fU1VCU0xJQ0VfVE9UQUw6Cj4gKwkJdmFsdWUgPSBpbnRl bF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpOwo+ICsJCWlmICghdmFsdWUpCj4gKwkJCXJldHVy biAtRU5PREVWOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X1BBUkFNX0VVX1RPVEFMOgo+ICsJ CXZhbHVlID0gc3NldS0+ZXVfdG90YWw7Cj4gKwkJaWYgKCF2YWx1ZSkKPiArCQkJcmV0dXJuIC1F Tk9ERVY7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX0dQVV9SRVNFVDoKPiAr CQl2YWx1ZSA9IGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9oYW5nY2hlY2sgJiYKPiArCQkJaW50ZWxf aGFzX2dwdV9yZXNldChpOTE1KTsKPiArCQlpZiAodmFsdWUgJiYgaW50ZWxfaGFzX3Jlc2V0X2Vu Z2luZShpOTE1KSkKPiArCQkJdmFsdWUgPSAyOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X1BB UkFNX0hBU19SRVNPVVJDRV9TVFJFQU1FUjoKPiArCQl2YWx1ZSA9IDA7Cj4gKwkJYnJlYWs7Cj4g KwljYXNlIEk5MTVfUEFSQU1fSEFTX1BPT0xFRF9FVToKPiArCQl2YWx1ZSA9IEhBU19QT09MRURf RVUoaTkxNSk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fTUlOX0VVX0lOX1BPT0w6 Cj4gKwkJdmFsdWUgPSBzc2V1LT5taW5fZXVfaW5fcG9vbDsKPiArCQlicmVhazsKPiArCWNhc2Ug STkxNV9QQVJBTV9IVUNfU1RBVFVTOgo+ICsJCXZhbHVlID0gaW50ZWxfaHVjX2NoZWNrX3N0YXR1 cygmaTkxNS0+Z3QudWMuaHVjKTsKPiArCQlpZiAodmFsdWUgPCAwKQo+ICsJCQlyZXR1cm4gdmFs dWU7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fTU1BUF9HVFRfVkVSU0lPTjoKPiAr CQkvKiBUaG91Z2ggd2UndmUgc3RhcnRlZCBvdXIgbnVtYmVyaW5nIGZyb20gMSwgYW5kIHNvIGNs YXNzIGFsbAo+ICsJCSAqIGVhcmxpZXIgdmVyc2lvbnMgYXMgMCwgaW4gZWZmZWN0IHRoZWlyIHZh bHVlIGlzIHVuZGVmaW5lZCBhcwo+ICsJCSAqIHRoZSBpb2N0bCB3aWxsIHJlcG9ydCBFSU5WQUwg Zm9yIHRoZSB1bmtub3duIHBhcmFtIQo+ICsJCSAqLwo+ICsJCXZhbHVlID0gaTkxNV9nZW1fbW1h cF9ndHRfdmVyc2lvbigpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X1BBUkFNX0hBU19TQ0hF RFVMRVI6Cj4gKwkJdmFsdWUgPSBpOTE1LT5jYXBzLnNjaGVkdWxlcjsKPiArCQlicmVhazsKPiAr Cj4gKwljYXNlIEk5MTVfUEFSQU1fTU1BUF9WRVJTSU9OOgo+ICsJCS8qIFJlbWVtYmVyIHRvIGJ1 bXAgdGhpcyBpZiB0aGUgdmVyc2lvbiBjaGFuZ2VzISAqLwo+ICsJY2FzZSBJOTE1X1BBUkFNX0hB U19HRU06Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX1BBR0VGTElQUElORzoKPiArCWNhc2UgSTkx NV9QQVJBTV9IQVNfRVhFQ0JVRjI6IC8qIGRlcGVuZHMgb24gR0VNICovCj4gKwljYXNlIEk5MTVf UEFSQU1fSEFTX1JFTEFYRURfRkVOQ0lORzoKPiArCWNhc2UgSTkxNV9QQVJBTV9IQVNfQ09IRVJF TlRfUklOR1M6Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX1JFTEFYRURfREVMVEE6Cj4gKwljYXNl IEk5MTVfUEFSQU1fSEFTX0dFTjdfU09MX1JFU0VUOgo+ICsJY2FzZSBJOTE1X1BBUkFNX0hBU19X QUlUX1RJTUVPVVQ6Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX1BSSU1FX1ZNQVBfRkxVU0g6Cj4g KwljYXNlIEk5MTVfUEFSQU1fSEFTX1BJTk5FRF9CQVRDSEVTOgo+ICsJY2FzZSBJOTE1X1BBUkFN X0hBU19FWEVDX05PX1JFTE9DOgo+ICsJY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDX0hBTkRMRV9M VVQ6Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX0NPSEVSRU5UX1BIWVNfR1RUOgo+ICsJY2FzZSBJ OTE1X1BBUkFNX0hBU19FWEVDX1NPRlRQSU46Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNf QVNZTkM6Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNfRkVOQ0U6Cj4gKwljYXNlIEk5MTVf UEFSQU1fSEFTX0VYRUNfQ0FQVFVSRToKPiArCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19CQVRD SF9GSVJTVDoKPiArCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19GRU5DRV9BUlJBWToKPiArCWNh c2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19TVUJNSVRfRkVOQ0U6Cj4gKwkJLyogRm9yIHRoZSB0aW1l IGJlaW5nIGFsbCBvZiB0aGVzZSBhcmUgYWx3YXlzIHRydWU7Cj4gKwkJICogaWYgc29tZSBzdXBw b3J0ZWQgaGFyZHdhcmUgZG9lcyBub3QgaGF2ZSBvbmUgb2YgdGhlc2UKPiArCQkgKiBmZWF0dXJl cyB0aGlzIHZhbHVlIG5lZWRzIHRvIGJlIHByb3ZpZGVkIGZyb20KPiArCQkgKiBJTlRFTF9JTkZP KCksIGEgZmVhdHVyZSBtYWNybywgb3Igc2ltaWxhci4KPiArCQkgKi8KPiArCQl2YWx1ZSA9IDE7 Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fSEFTX0NPTlRFWFRfSVNPTEFUSU9OOgo+ ICsJCXZhbHVlID0gaW50ZWxfZW5naW5lc19oYXNfY29udGV4dF9pc29sYXRpb24oaTkxNSk7Cj4g KwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fU0xJQ0VfTUFTSzoKPiArCQl2YWx1ZSA9IHNz ZXUtPnNsaWNlX21hc2s7Cj4gKwkJaWYgKCF2YWx1ZSkKPiArCQkJcmV0dXJuIC1FTk9ERVY7Cj4g KwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fU1VCU0xJQ0VfTUFTSzoKPiArCQl2YWx1ZSA9 IHNzZXUtPnN1YnNsaWNlX21hc2tbMF07Cj4gKwkJaWYgKCF2YWx1ZSkKPiArCQkJcmV0dXJuIC1F Tk9ERVY7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEk5MTVfUEFSQU1fQ1NfVElNRVNUQU1QX0ZSRVFV RU5DWToKPiArCQl2YWx1ZSA9IDEwMDAgKiBSVU5USU1FX0lORk8oaTkxNSktPmNzX3RpbWVzdGFt cF9mcmVxdWVuY3lfa2h6Owo+ICsJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X1BBUkFNX01NQVBfR1RU X0NPSEVSRU5UOgo+ICsJCXZhbHVlID0gSU5URUxfSU5GTyhpOTE1KS0+aGFzX2NvaGVyZW50X2dn dHQ7Cj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0Ogo+ICsJCURSTV9ERUJVRygiVW5rbm93biBwYXJh bWV0ZXIgJWRcbiIsIHBhcmFtLT5wYXJhbSk7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4g Kwo+ICsJaWYgKHB1dF91c2VyKHZhbHVlLCBwYXJhbS0+dmFsdWUpKQo+ICsJCXJldHVybiAtRUZB VUxUOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gLS0gCj4gMi4yMy4wLnJjMQo+IAo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=