From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9271989CDF for ; Thu, 10 May 2018 13:15:53 +0000 (UTC) Date: Thu, 10 May 2018 15:15:50 +0200 From: Katarzyna Dec Message-ID: <20180510131550.GE10675@kdec5-desk.ger.corp.intel.com> References: <20180504130218.6136-4-katarzyna.dec@intel.com> <20180507123651.6138-1-katarzyna.dec@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180507123651.6138-1-katarzyna.dec@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v4 4/5] lib/gpu_fill: Further code unification in gpu_fill List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: T24gTW9uLCBNYXkgMDcsIDIwMTggYXQgMDI6MzY6NTFQTSArMDIwMCwgS2F0YXJ6eW5hIERlYyB3 cm90ZToKPiBXZSBjYW4gdW5pZnkgZ2VuN19lbWl0X3ZmZV9zdGF0ZSBhbmQgZ2VuOF9lbWl0X3Zm ZV9zdGF0ZQo+IGZ1bmN0aW9ucyBmb3IgZ3BncHUvbWVkaWFfZmlsbCBhbmQgbWVkaWFfc3BpbiBi eSBhZGRpbmcKPiBwYXJhbWV0ZXJzLiBnZW44X2VtaXRfbWVkaWFfb2JqZWN0IHdhcyByZW5hbWVk IHRvIGdlbl8qCj4gYW5kIGV4dGVuZGVkIHdpdGggYWRkaXRpb25hbCBvZmZzZXQgcGFyYW1ldGVy cyAtIHdlIGNhbgo+IGhhdmUgb25lIGdlbjdfZW1pdF9tZWRpYV9vYmplY3RzIGZvciBhbGwgdGVz dHMuCj4gSSBoYXZlIHJlbmFtZWQgZ2VuOF9lbWl0X21lZGlhX29iamVjdCB0byBnZW5fZW1pdF8q LCBiZWNhdXNlCj4gZnVuY3Rpb24gYmVsb25ncyB0byBhbGwgZ2VucyBhbmQgaXQgd291bGQgYmUg b2RkIHRvIGhhdmUKPiBhbGwgbmFtZWQgZ2VuWF8qIGFuZCBvbmx5IG9uZSB3aXRob3V0IHRoaXMg cHJlZml4Lgo+IAo+IHYyOiBVc2UgI2RlZmluZXMgaW5zdGVhZCBvZiB2YXJpYWJsZXMgYXMgZW1p dF92ZmVfc3RhdGUgcGFyYW1ldGVycy4KPiBGaXhlZCBnZW43X2VtaXRfbWVkaWFfb2JqZWN0cy4g VW5pZmllZCB2ZmUgc3RhdGUgcGFyYW1ldGVycwo+IGluIG1lZGlhX3NwaW4gbGlicmFyeSBmb3Ig Z2VuOCBhbmQgZ2VuOSAoZ2VuOSBoYWQgZGlmZmVyZW50IHZhbHVlcwo+IGJ5IG1pc3Rha2UpLgo+ IHYzOiBGaXhlZCBidWcgaW4gZW1pdF92ZmVfc3RhdGUgZm9yIGdlbjggYW5kIGdlbjkgaW4gZ3Bn cHVfZmlsbC4KPiBNb3ZlZCAjZGVmaW5lcyBmb3IgZW1pdF92ZmVfc3RhdGUgdG8gcGFydGljdWxh ciBsaWJyYXJpZXMuCj4gCj4gU2lnbmVkLW9mZi1ieTogS2F0YXJ6eW5hIERlYyA8a2F0YXJ6eW5h LmRlY0BpbnRlbC5jb20+Cj4gQ2M6IEx1a2FzeiBLYWxhbWFyeiA8bHVrYXN6LmthbGFtYXJ6QGlu dGVsLmNvbT4KPiBDYzogQW50b25pbyBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50 ZWwuY29tPgo+IENjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVy aW9AaW50ZWwuY29tPgoKSGVsbG8gR3V5cywKQW55IG1vcmUgdGhvdWdodHMgb24gdGhpcyBwYXRj aD8gSWYgaXQgaXMgcG9zc2libGUgSSB3b3VsZCBsaWtlIHRvCmhhdmUgdGhpcyBzZXJpZXMgbWVy Z2VkIHF1aXRlIHNvb24uCgpUaGFua3MsCkthc2lhCgo+IC0tLQo+ICBsaWIvZ3BncHVfZmlsbC5j ICAgICAgfCAgMTcgKysrKystLQo+ICBsaWIvZ3B1X2ZpbGwuYyAgICAgICAgfCAxMjYgKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgbGliL2dwdV9m aWxsLmggICAgICAgIHwgIDIxICsrKystLS0tLQo+ICBsaWIvbWVkaWFfZmlsbF9nZW43LmMgfCAg IDkgKysrLQo+ICBsaWIvbWVkaWFfZmlsbF9nZW44LmMgfCAgIDggKysrLQo+ICBsaWIvbWVkaWFf ZmlsbF9nZW45LmMgfCAgIDggKysrLQo+ICBsaWIvbWVkaWFfc3Bpbi5jICAgICAgfCAgMjEgKysr KysrKy0tCj4gIDcgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMTI3IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvZ3BncHVfZmlsbC5jIGIvbGliL2dwZ3B1X2ZpbGwu Ywo+IGluZGV4IDUyOTI1YTVjLi45YTI1OThiYyAxMDA2NDQKPiAtLS0gYS9saWIvZ3BncHVfZmls bC5jCj4gKysrIGIvbGliL2dwZ3B1X2ZpbGwuYwo+IEBAIC05NSw2ICs5NSwxMyBAQCBzdGF0aWMg Y29uc3QgdWludDMyX3QgZ2VuOV9ncGdwdV9rZXJuZWxbXVs0XSA9IHsKPiAgICovCj4gIAo+ICAj ZGVmaW5lIEJBVENIX1NUQVRFX1NQTElUIDIwNDgKPiArLyogVkZFIFNUQVRFIHBhcmFtcyAqLwo+ ICsjZGVmaW5lIFRIUkVBRFMgMQo+ICsjZGVmaW5lIEdFTjdfR1BHUFVfVVJCX0VOVFJJRVMgMAo+ ICsjZGVmaW5lIEdFTjhfR1BHUFVfVVJCX0VOVFJJRVMgMQo+ICsjZGVmaW5lIEdQR1BVX1VSQl9T SVpFIDAKPiArI2RlZmluZSBHUEdQVV9DVVJCRV9TSVpFIDEKPiArI2RlZmluZSBHRU43X1ZGRV9T VEFURV9HUEdQVV9NT0RFIDEKPiAgCj4gIHZvaWQKPiAgZ2VuN19ncGdwdV9maWxsZnVuYyhzdHJ1 Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+IEBAIC0xMjksNyArMTM2LDkgQEAgZ2VuN19n cGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+ICAJT1VUX0JB VENIKEdFTjdfUElQRUxJTkVfU0VMRUNUIHwgUElQRUxJTkVfU0VMRUNUX0dQR1BVKTsKPiAgCj4g IAlnZW43X2VtaXRfc3RhdGVfYmFzZV9hZGRyZXNzKGJhdGNoKTsKPiAtCWdlbjdfZW1pdF92ZmVf c3RhdGVfZ3BncHUoYmF0Y2gpOwo+ICsJZ2VuN19lbWl0X3ZmZV9zdGF0ZShiYXRjaCwgVEhSRUFE UywgR0VON19HUEdQVV9VUkJfRU5UUklFUywKPiArCQkJICAgIEdQR1BVX1VSQl9TSVpFLCBHUEdQ VV9DVVJCRV9TSVpFLAo+ICsJCQkgICAgR0VON19WRkVfU1RBVEVfR1BHUFVfTU9ERSk7Cj4gIAln ZW43X2VtaXRfY3VyYmVfbG9hZChiYXRjaCwgY3VyYmVfYnVmZmVyKTsKPiAgCWdlbjdfZW1pdF9p bnRlcmZhY2VfZGVzY3JpcHRvcl9sb2FkKGJhdGNoLCBpbnRlcmZhY2VfZGVzY3JpcHRvcik7Cj4g IAlnZW43X2VtaXRfZ3BncHVfd2FsayhiYXRjaCwgeCwgeSwgd2lkdGgsIGhlaWdodCk7Cj4gQEAg LTE3Niw3ICsxODUsOCBAQCBnZW44X2dwZ3B1X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1 ZmZlciAqYmF0Y2gsCj4gIAlPVVRfQkFUQ0goR0VON19QSVBFTElORV9TRUxFQ1QgfCBQSVBFTElO RV9TRUxFQ1RfR1BHUFUpOwo+ICAKPiAgCWdlbjhfZW1pdF9zdGF0ZV9iYXNlX2FkZHJlc3MoYmF0 Y2gpOwo+IC0JZ2VuOF9lbWl0X3ZmZV9zdGF0ZV9ncGdwdShiYXRjaCk7Cj4gKwlnZW44X2VtaXRf dmZlX3N0YXRlKGJhdGNoLCBUSFJFQURTLCBHRU44X0dQR1BVX1VSQl9FTlRSSUVTLAo+ICsJCQkg ICAgR1BHUFVfVVJCX1NJWkUsIEdQR1BVX0NVUkJFX1NJWkUpOwo+ICAJZ2VuN19lbWl0X2N1cmJl X2xvYWQoYmF0Y2gsIGN1cmJlX2J1ZmZlcik7Cj4gIAlnZW43X2VtaXRfaW50ZXJmYWNlX2Rlc2Ny aXB0b3JfbG9hZChiYXRjaCwgaW50ZXJmYWNlX2Rlc2NyaXB0b3IpOwo+ICAJZ2VuOF9lbWl0X2dw Z3B1X3dhbGsoYmF0Y2gsIHgsIHksIHdpZHRoLCBoZWlnaHQpOwo+IEBAIC0yMjQsNyArMjM0LDgg QEAgZ2VuOV9ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+ ICAJCSAgUElQRUxJTkVfU0VMRUNUX0dQR1BVKTsKPiAgCj4gIAlnZW45X2VtaXRfc3RhdGVfYmFz ZV9hZGRyZXNzKGJhdGNoKTsKPiAtCWdlbjhfZW1pdF92ZmVfc3RhdGVfZ3BncHUoYmF0Y2gpOwo+ ICsJZ2VuOF9lbWl0X3ZmZV9zdGF0ZShiYXRjaCwgVEhSRUFEUywgR0VOOF9HUEdQVV9VUkJfRU5U UklFUywKPiArCQkJICAgIEdQR1BVX1VSQl9TSVpFLCBHUEdQVV9DVVJCRV9TSVpFKTsKPiAgCWdl bjdfZW1pdF9jdXJiZV9sb2FkKGJhdGNoLCBjdXJiZV9idWZmZXIpOwo+ICAJZ2VuN19lbWl0X2lu dGVyZmFjZV9kZXNjcmlwdG9yX2xvYWQoYmF0Y2gsIGludGVyZmFjZV9kZXNjcmlwdG9yKTsKPiAg CWdlbjhfZW1pdF9ncGdwdV93YWxrKGJhdGNoLCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKPiBkaWZm IC0tZ2l0IGEvbGliL2dwdV9maWxsLmMgYi9saWIvZ3B1X2ZpbGwuYwo+IGluZGV4IDI0ZTAzY2Yy Li5lODU5MTY0OCAxMDA2NDQKPiAtLS0gYS9saWIvZ3B1X2ZpbGwuYwo+ICsrKyBiL2xpYi9ncHVf ZmlsbC5jCj4gQEAgLTE5NCw3ICsxOTQsOSBAQCBnZW43X2VtaXRfc3RhdGVfYmFzZV9hZGRyZXNz KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpCj4gIH0KPiAgCj4gIHZvaWQKPiAtZ2Vu N19lbWl0X3ZmZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQo+ICtnZW43 X2VtaXRfdmZlX3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIHVpbnQzMl90 IHRocmVhZHMsCj4gKwkJICAgIHVpbnQzMl90IHVyYl9lbnRyaWVzLCB1aW50MzJfdCB1cmJfc2l6 ZSwKPiArCQkgICAgdWludDMyX3QgY3VyYmVfc2l6ZSwgdWludDMyX3QgbW9kZSkKPiAgewo+ICAJ T1VUX0JBVENIKEdFTjdfTUVESUFfVkZFX1NUQVRFIHwgKDggLSAyKSk7Cj4gIAo+IEBAIC0yMDIs MzkgKzIwNCwxNSBAQCBnZW43X2VtaXRfdmZlX3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZl ciAqYmF0Y2gpCj4gIAlPVVRfQkFUQ0goMCk7Cj4gIAo+ICAJLyogbnVtYmVyIG9mIHRocmVhZHMg JiB1cmIgZW50cmllcyAqLwo+IC0JT1VUX0JBVENIKDEgPDwgMTYgfAo+IC0JCTIgPDwgOCk7Cj4g KwlPVVRfQkFUQ0godGhyZWFkcyA8PCAxNiB8Cj4gKwkJdXJiX2VudHJpZXMgPDwgOCB8Cj4gKwkJ bW9kZSA8PCAyKTsgLyogR1BHUFUgdnMgbWVkaWEgbW9kZSAqLwo+ICAKPiAgCU9VVF9CQVRDSCgw KTsKPiAgCj4gIAkvKiB1cmIgZW50cnkgc2l6ZSAmIGN1cmJlIHNpemUgKi8KPiAtCU9VVF9CQVRD SCgyIDw8IDE2IHwJLyogaW4gMjU2IGJpdHMgdW5pdCAqLwo+IC0JCSAgMik7CQkvKiBpbiAyNTYg Yml0cyB1bml0ICovCj4gLQo+IC0JLyogc2NvcmVib2FyZCAqLwo+IC0JT1VUX0JBVENIKDApOwo+ IC0JT1VUX0JBVENIKDApOwo+IC0JT1VUX0JBVENIKDApOwo+IC19Cj4gLQo+IC12b2lkCj4gLWdl bjdfZW1pdF92ZmVfc3RhdGVfZ3BncHUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCkK PiAtewo+IC0JT1VUX0JBVENIKEdFTjdfTUVESUFfVkZFX1NUQVRFIHwgKDggLSAyKSk7Cj4gLQo+ IC0JLyogc2NyYXRjaCBidWZmZXIgKi8KPiAtCU9VVF9CQVRDSCgwKTsKPiAtCj4gLQkvKiBudW1i ZXIgb2YgdGhyZWFkcyAmIHVyYiBlbnRyaWVzICovCj4gLQlPVVRfQkFUQ0goMSA8PCAxNiB8IC8q IG1heCBudW0gb2YgdGhyZWFkcyAqLwo+IC0JCSAgMCA8PCA4IHwgLyogbnVtIG9mIFVSQiBlbnRy eSAqLwo+IC0JCSAgMSA8PCAyKTsgLyogR1BHUFUgbW9kZSAqLwo+IC0KPiAtCU9VVF9CQVRDSCgw KTsKPiAtCj4gLQkvKiB1cmIgZW50cnkgc2l6ZSAmIGN1cmJlIHNpemUgKi8KPiAtCU9VVF9CQVRD SCgwIDw8IDE2IHwJLyogVVJCIGVudHJ5IHNpemUgaW4gMjU2IGJpdHMgdW5pdCAqLwo+IC0JCSAg MSk7CQkvKiBDVVJCRSBlbnRyeSBzaXplIGluIDI1NiBiaXRzIHVuaXQgKi8KPiArCU9VVF9CQVRD SCh1cmJfc2l6ZSA8PCAxNiB8CS8qIGluIDI1NiBiaXRzIHVuaXQgKi8KPiArCQkgIGN1cmJlX3Np emUpOwkJLyogaW4gMjU2IGJpdHMgdW5pdCAqLwo+ICAKPiAgCS8qIHNjb3JlYm9hcmQgKi8KPiAg CU9VVF9CQVRDSCgwKTsKPiBAQCAtMjc5LDI1ICsyNTcsNyBAQCBnZW43X2VtaXRfbWVkaWFfb2Jq ZWN0cyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+ICAKPiAgCWZvciAoaSA9IDA7 IGkgPCB3aWR0aCAvIDE2OyBpKyspIHsKPiAgCQlmb3IgKGogPSAwOyBqIDwgaGVpZ2h0IC8gMTY7 IGorKykgewo+IC0JCQlPVVRfQkFUQ0goR0VON19NRURJQV9PQkpFQ1QgfCAoOCAtIDIpKTsKPiAt Cj4gLQkJCS8qIGludGVyZmFjZSBkZXNjcmlwdG9yIG9mZnNldCAqLwo+IC0JCQlPVVRfQkFUQ0go MCk7Cj4gLQo+IC0JCQkvKiB3aXRob3V0IGluZGlyZWN0IGRhdGEgKi8KPiAtCQkJT1VUX0JBVENI KDApOwo+IC0JCQlPVVRfQkFUQ0goMCk7Cj4gLQo+IC0JCQkvKiBzY29yZWJvYXJkICovCj4gLQkJ CU9VVF9CQVRDSCgwKTsKPiAtCQkJT1VUX0JBVENIKDApOwo+IC0KPiAtCQkJLyogaW5saW5lIGRh dGEgKHhvZmZzZXQsIHlvZmZzZXQpICovCj4gLQkJCU9VVF9CQVRDSCh4ICsgaSAqIDE2KTsKPiAt CQkJT1VUX0JBVENIKHkgKyBqICogMTYpOwo+IC0JCQlpZiAoQVRfTEVBU1RfR0VOKGJhdGNoLT5k ZXZpZCwgOCkgJiYKPiAtCQkJICAgICFJU19DSEVSUllWSUVXKGJhdGNoLT5kZXZpZCkpCj4gLQkJ CQlnZW44X2VtaXRfbWVkaWFfc3RhdGVfZmx1c2goYmF0Y2gpOwo+ICsJCQlnZW5fZW1pdF9tZWRp YV9vYmplY3QoYmF0Y2gsIHggKyBpKjE2LCB5ICsgaioxNik7Cj4gIAkJfQo+ICAJfQo+ICB9Cj4g QEAgLTUwNSwzMiArNDY1LDkgQEAgZ2VuOF9lbWl0X21lZGlhX3N0YXRlX2ZsdXNoKHN0cnVjdCBp bnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpCj4gIH0KPiAgCj4gIHZvaWQKPiAtZ2VuOF9lbWl0X3Zm ZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQo+IC17Cj4gLQlPVVRfQkFU Q0goR0VON19NRURJQV9WRkVfU1RBVEUgfCAoOSAtIDIpKTsKPiAtCj4gLQkvKiBzY3JhdGNoIGJ1 ZmZlciAqLwo+IC0JT1VUX0JBVENIKDApOwo+IC0JT1VUX0JBVENIKDApOwo+IC0KPiAtCS8qIG51 bWJlciBvZiB0aHJlYWRzICYgdXJiIGVudHJpZXMgKi8KPiAtCU9VVF9CQVRDSCgxIDw8IDE2IHwK PiAtCQkyIDw8IDgpOwo+IC0KPiAtCU9VVF9CQVRDSCgwKTsKPiAtCj4gLQkvKiB1cmIgZW50cnkg c2l6ZSAmIGN1cmJlIHNpemUgKi8KPiAtCU9VVF9CQVRDSCgyIDw8IDE2IHwKPiAtCQkyKTsKPiAt Cj4gLQkvKiBzY29yZWJvYXJkICovCj4gLQlPVVRfQkFUQ0goMCk7Cj4gLQlPVVRfQkFUQ0goMCk7 Cj4gLQlPVVRfQkFUQ0goMCk7Cj4gLX0KPiAtCj4gLXZvaWQKPiAtZ2VuOF9lbWl0X3ZmZV9zdGF0 ZV9ncGdwdShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQo+ICtnZW44X2VtaXRfdmZl X3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIHVpbnQzMl90IHRocmVhZHMs Cj4gKwkJICAgIHVpbnQzMl90IHVyYl9lbnRyaWVzLCB1aW50MzJfdCB1cmJfc2l6ZSwKPiArCQkg ICAgdWludDMyX3QgY3VyYmVfc2l6ZSkKPiAgewo+ICAJT1VUX0JBVENIKEdFTjdfTUVESUFfVkZF X1NUQVRFIHwgKDkgLSAyKSk7Cj4gIAo+IEBAIC01MzksMzYgKzQ3NiwxNCBAQCBnZW44X2VtaXRf dmZlX3N0YXRlX2dwZ3B1KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpCj4gIAlPVVRf QkFUQ0goMCk7Cj4gIAo+ICAJLyogbnVtYmVyIG9mIHRocmVhZHMgJiB1cmIgZW50cmllcyAqLwo+ IC0JT1VUX0JBVENIKDEgPDwgMTYgfCAxIDw8IDgpOwo+IC0KPiAtCU9VVF9CQVRDSCgwKTsKPiAt Cj4gLQkvKiB1cmIgZW50cnkgc2l6ZSAmIGN1cmJlIHNpemUgKi8KPiAtCU9VVF9CQVRDSCgwIDw8 IDE2IHwgMSk7Cj4gLQo+IC0JLyogc2NvcmVib2FyZCAqLwo+IC0JT1VUX0JBVENIKDApOwo+IC0J T1VUX0JBVENIKDApOwo+IC0JT1VUX0JBVENIKDApOwo+IC19Cj4gLQo+IC12b2lkCj4gLWdlbjhf ZW1pdF92ZmVfc3RhdGVfc3BpbihzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQo+IC17 Cj4gLQlPVVRfQkFUQ0goR0VOOF9NRURJQV9WRkVfU1RBVEUgfCAoOSAtIDIpKTsKPiAtCj4gLQkv KiBzY3JhdGNoIGJ1ZmZlciAqLwo+IC0JT1VUX0JBVENIKDApOwo+IC0JT1VUX0JBVENIKDApOwo+ IC0KPiAtCS8qIG51bWJlciBvZiB0aHJlYWRzICYgdXJiIGVudHJpZXMgKi8KPiAtCU9VVF9CQVRD SCgyIDw8IDgpOwo+ICsJT1VUX0JBVENIKHRocmVhZHMgPDwgMTYgfAo+ICsJCXVyYl9lbnRyaWVz IDw8IDgpOwo+ICAKPiAgCU9VVF9CQVRDSCgwKTsKPiAgCj4gIAkvKiB1cmIgZW50cnkgc2l6ZSAm IGN1cmJlIHNpemUgKi8KPiAtCU9VVF9CQVRDSCgyIDw8IDE2IHwKPiAtCQkyKTsKPiArCU9VVF9C QVRDSCh1cmJfc2l6ZSA8PCAxNiB8Cj4gKwkJY3VyYmVfc2l6ZSk7Cj4gIAo+ICAJLyogc2NvcmVi b2FyZCAqLwo+ICAJT1VUX0JBVENIKDApOwo+IEBAIC02MzcsOSArNTUyLDEwIEBAIGdlbjhfZW1p dF9ncGdwdV93YWxrKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4gIH0KPiAgCj4g IHZvaWQKPiAtZ2VuOF9lbWl0X21lZGlhX29iamVjdHNfc3BpbihzdHJ1Y3QgaW50ZWxfYmF0Y2hi dWZmZXIgKmJhdGNoKQo+ICtnZW5fZW1pdF9tZWRpYV9vYmplY3Qoc3RydWN0IGludGVsX2JhdGNo YnVmZmVyICpiYXRjaCwKPiArCQkgICAgICAgdW5zaWduZWQgaW50IHhvZmZzZXQsIHVuc2lnbmVk IGludCB5b2Zmc2V0KQo+ICB7Cj4gLQlPVVRfQkFUQ0goR0VOOF9NRURJQV9PQkpFQ1QgfCAoOCAt IDIpKTsKPiArCU9VVF9CQVRDSChHRU43X01FRElBX09CSkVDVCB8ICg4IC0gMikpOwo+ICAKPiAg CS8qIGludGVyZmFjZSBkZXNjcmlwdG9yIG9mZnNldCAqLwo+ICAJT1VUX0JBVENIKDApOwo+IEBA IC02NTMsOCArNTY5LDggQEAgZ2VuOF9lbWl0X21lZGlhX29iamVjdHNfc3BpbihzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQo+ICAJT1VUX0JBVENIKDApOwo+ICAKPiAgCS8qIGlubGlu ZSBkYXRhICh4b2Zmc2V0LCB5b2Zmc2V0KSAqLwo+IC0JT1VUX0JBVENIKDApOwo+IC0JT1VUX0JB VENIKDApOwo+ICsJT1VUX0JBVENIKHhvZmZzZXQpOwo+ICsJT1VUX0JBVENIKHlvZmZzZXQpOwo+ ICAJaWYgKEFUX0xFQVNUX0dFTihiYXRjaC0+ZGV2aWQsIDgpICYmICFJU19DSEVSUllWSUVXKGJh dGNoLT5kZXZpZCkpCj4gIAkJZ2VuOF9lbWl0X21lZGlhX3N0YXRlX2ZsdXNoKGJhdGNoKTsKPiAg fQo+IGRpZmYgLS1naXQgYS9saWIvZ3B1X2ZpbGwuaCBiL2xpYi9ncHVfZmlsbC5oCj4gaW5kZXgg MWU0YmU0YmIuLmNmOTBkNzA2IDEwMDY0NAo+IC0tLSBhL2xpYi9ncHVfZmlsbC5oCj4gKysrIGIv bGliL2dwdV9maWxsLmgKPiBAQCAtMzcsNiArMzcsNyBAQAo+ICAjaW5jbHVkZSAiaW50ZWxfY2hp cHNldC5oIgo+ICAjaW5jbHVkZSA8YXNzZXJ0Lmg+Cj4gIAo+ICsKPiAgdm9pZAo+ICBnZW43X3Jl bmRlcl9mbHVzaChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50MzJfdCBiYXRj aF9lbmQpOwo+ICAKPiBAQCAtNjgsMTAgKzY5LDkgQEAgdm9pZAo+ICBnZW43X2VtaXRfc3RhdGVf YmFzZV9hZGRyZXNzKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpOwo+ICAKPiAgdm9p ZAo+IC1nZW43X2VtaXRfdmZlX3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gp Owo+IC0KPiAtdm9pZAo+IC1nZW43X2VtaXRfdmZlX3N0YXRlX2dwZ3B1KHN0cnVjdCBpbnRlbF9i YXRjaGJ1ZmZlciAqYmF0Y2gpOwo+ICtnZW43X2VtaXRfdmZlX3N0YXRlKHN0cnVjdCBpbnRlbF9i YXRjaGJ1ZmZlciAqYmF0Y2gsIHVpbnQzMl90IHRocmVhZHMsCj4gKwkJICAgIHVpbnQzMl90IHVy Yl9lbnRyaWVzLCB1aW50MzJfdCB1cmJfc2l6ZSwKPiArCQkgICAgdWludDMyX3QgY3VyYmVfc2l6 ZSwgdWludDMyX3QgbW9kZSk7Cj4gIAo+ICB2b2lkCj4gIGdlbjdfZW1pdF9jdXJiZV9sb2FkKHN0 cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsIHVpbnQzMl90IGN1cmJlX2J1ZmZlcik7Cj4g QEAgLTExMiwxMyArMTEyLDkgQEAgdm9pZAo+ICBnZW44X2VtaXRfbWVkaWFfc3RhdGVfZmx1c2go c3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCk7Cj4gIAo+ICB2b2lkCj4gLWdlbjhfZW1p dF92ZmVfc3RhdGUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCk7Cj4gLQo+IC12b2lk Cj4gLWdlbjhfZW1pdF92ZmVfc3RhdGVfZ3BncHUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpi YXRjaCk7Cj4gLQo+IC12b2lkCj4gLWdlbjhfZW1pdF92ZmVfc3RhdGVfc3BpbihzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKTsKPiArZ2VuOF9lbWl0X3ZmZV9zdGF0ZShzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50MzJfdCB0aHJlYWRzLAo+ICsJCSAgICB1aW50MzJf dCB1cmJfZW50cmllcywgdWludDMyX3QgdXJiX3NpemUsCj4gKwkJICAgIHVpbnQzMl90IGN1cmJl X3NpemUpOwo+ICAKPiAgdm9pZAo+ICBnZW44X2VtaXRfZ3BncHVfd2FsayhzdHJ1Y3QgaW50ZWxf YmF0Y2hidWZmZXIgKmJhdGNoLAo+IEBAIC0xMjYsNyArMTIyLDggQEAgZ2VuOF9lbWl0X2dwZ3B1 X3dhbGsoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKPiAgCQkgICAgIHVuc2lnbmVk IGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCk7Cj4gIAo+ICB2b2lkCj4gLWdlbjhfZW1p dF9tZWRpYV9vYmplY3RzX3NwaW4oc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCk7Cj4g K2dlbl9lbWl0X21lZGlhX29iamVjdChzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1 bnNpZ25lZCBpbnQgeG9mZnNldCwKPiArCQkgIHVuc2lnbmVkIGludCB5b2Zmc2V0KTsKPiAgCj4g IHZvaWQKPiAgZ2VuOV9lbWl0X3N0YXRlX2Jhc2VfYWRkcmVzcyhzdHJ1Y3QgaW50ZWxfYmF0Y2hi dWZmZXIgKmJhdGNoKTsKPiBkaWZmIC0tZ2l0IGEvbGliL21lZGlhX2ZpbGxfZ2VuNy5jIGIvbGli L21lZGlhX2ZpbGxfZ2VuNy5jCj4gaW5kZXggM2RjNTYxN2UuLmEzOGI4NTU2IDEwMDY0NAo+IC0t LSBhL2xpYi9tZWRpYV9maWxsX2dlbjcuYwo+ICsrKyBiL2xpYi9tZWRpYV9maWxsX2dlbjcuYwo+ IEBAIC00Myw2ICs0MywxMiBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgbWVkaWFfa2VybmVsW11b NF0gPSB7Cj4gICAqLwo+ICAKPiAgI2RlZmluZSBCQVRDSF9TVEFURV9TUExJVCAyMDQ4Cj4gKy8q IFZGRSBTVEFURSBwYXJhbXMgKi8KPiArI2RlZmluZSBUSFJFQURTIDEKPiArI2RlZmluZSBNRURJ QV9VUkJfRU5UUklFUyAyCj4gKyNkZWZpbmUgTUVESUFfVVJCX1NJWkUgMgo+ICsjZGVmaW5lIE1F RElBX0NVUkJFX1NJWkUgMgo+ICsjZGVmaW5lIEdFTjdfVkZFX1NUQVRFX01FRElBX01PREUgMAo+ ICAKPiAgdm9pZAo+ICBnZW43X21lZGlhX2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZl ciAqYmF0Y2gsCj4gQEAgLTY5LDcgKzc1LDggQEAgZ2VuN19tZWRpYV9maWxsZnVuYyhzdHJ1Y3Qg aW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+ICAJT1VUX0JBVENIKEdFTjdfUElQRUxJTkVfU0VM RUNUIHwgUElQRUxJTkVfU0VMRUNUX01FRElBKTsKPiAgCWdlbjdfZW1pdF9zdGF0ZV9iYXNlX2Fk ZHJlc3MoYmF0Y2gpOwo+ICAKPiAtCWdlbjdfZW1pdF92ZmVfc3RhdGUoYmF0Y2gpOwo+ICsJZ2Vu N19lbWl0X3ZmZV9zdGF0ZShiYXRjaCwgVEhSRUFEUywgTUVESUFfVVJCX0VOVFJJRVMsIE1FRElB X1VSQl9TSVpFLAo+ICsJCQkgICAgTUVESUFfQ1VSQkVfU0laRSwgR0VON19WRkVfU1RBVEVfTUVE SUFfTU9ERSk7Cj4gIAo+ICAJZ2VuN19lbWl0X2N1cmJlX2xvYWQoYmF0Y2gsIGN1cmJlX2J1ZmZl cik7Cj4gIAo+IGRpZmYgLS1naXQgYS9saWIvbWVkaWFfZmlsbF9nZW44LmMgYi9saWIvbWVkaWFf ZmlsbF9nZW44LmMKPiBpbmRleCA2M2ZlNzJlYi4uZmM4OWM3ZjAgMTAwNjQ0Cj4gLS0tIGEvbGli L21lZGlhX2ZpbGxfZ2VuOC5jCj4gKysrIGIvbGliL21lZGlhX2ZpbGxfZ2VuOC5jCj4gQEAgLTQ2 LDYgKzQ2LDExIEBAIHN0YXRpYyBjb25zdCB1aW50MzJfdCBtZWRpYV9rZXJuZWxbXVs0XSA9IHsK PiAgICovCj4gIAo+ICAjZGVmaW5lIEJBVENIX1NUQVRFX1NQTElUIDIwNDgKPiArLyogVkZFIFNU QVRFIHBhcmFtcyAqLwo+ICsjZGVmaW5lIFRIUkVBRFMgMQo+ICsjZGVmaW5lIE1FRElBX1VSQl9F TlRSSUVTIDIKPiArI2RlZmluZSBNRURJQV9VUkJfU0laRSAyCj4gKyNkZWZpbmUgTUVESUFfQ1VS QkVfU0laRSAyCj4gIAo+ICB2b2lkCj4gIGdlbjhfbWVkaWFfZmlsbGZ1bmMoc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCwKPiBAQCAtNzIsNyArNzcsOCBAQCBnZW44X21lZGlhX2ZpbGxm dW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4gIAlPVVRfQkFUQ0goR0VOOF9Q SVBFTElORV9TRUxFQ1QgfCBQSVBFTElORV9TRUxFQ1RfTUVESUEpOwo+ICAJZ2VuOF9lbWl0X3N0 YXRlX2Jhc2VfYWRkcmVzcyhiYXRjaCk7Cj4gIAo+IC0JZ2VuOF9lbWl0X3ZmZV9zdGF0ZShiYXRj aCk7Cj4gKwlnZW44X2VtaXRfdmZlX3N0YXRlKGJhdGNoLCBUSFJFQURTLCBNRURJQV9VUkJfRU5U UklFUywgTUVESUFfVVJCX1NJWkUsCj4gKwkJCSAgICBNRURJQV9DVVJCRV9TSVpFKTsKPiAgCj4g IAlnZW43X2VtaXRfY3VyYmVfbG9hZChiYXRjaCwgY3VyYmVfYnVmZmVyKTsKPiAgCj4gZGlmZiAt LWdpdCBhL2xpYi9tZWRpYV9maWxsX2dlbjkuYyBiL2xpYi9tZWRpYV9maWxsX2dlbjkuYwo+IGlu ZGV4IDc4ZTg5MmYyLi44MDVlNzU3NiAxMDA2NDQKPiAtLS0gYS9saWIvbWVkaWFfZmlsbF9nZW45 LmMKPiArKysgYi9saWIvbWVkaWFfZmlsbF9nZW45LmMKPiBAQCAtNDMsNiArNDMsMTEgQEAgc3Rh dGljIGNvbnN0IHVpbnQzMl90IG1lZGlhX2tlcm5lbFtdWzRdID0gewo+ICAgKi8KPiAgCj4gICNk ZWZpbmUgQkFUQ0hfU1RBVEVfU1BMSVQgMjA0OAo+ICsvKiBWRkUgU1RBVEUgcGFyYW1zICovCj4g KyNkZWZpbmUgVEhSRUFEUyAxCj4gKyNkZWZpbmUgTUVESUFfVVJCX0VOVFJJRVMgMgo+ICsjZGVm aW5lIE1FRElBX1VSQl9TSVpFIDIKPiArI2RlZmluZSBNRURJQV9DVVJCRV9TSVpFIDIKPiAgCj4g IHZvaWQKPiAgZ2VuOV9tZWRpYV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJh dGNoLAo+IEBAIC03NCw3ICs3OSw4IEBAIGdlbjlfbWVkaWFfZmlsbGZ1bmMoc3RydWN0IGludGVs X2JhdGNoYnVmZmVyICpiYXRjaCwKPiAgCQkJR0VOOV9GT1JDRV9NRURJQV9BV0FLRV9NQVNLKTsK PiAgCWdlbjlfZW1pdF9zdGF0ZV9iYXNlX2FkZHJlc3MoYmF0Y2gpOwo+ICAKPiAtCWdlbjhfZW1p dF92ZmVfc3RhdGUoYmF0Y2gpOwo+ICsJZ2VuOF9lbWl0X3ZmZV9zdGF0ZShiYXRjaCwgVEhSRUFE UywgTUVESUFfVVJCX0VOVFJJRVMsIE1FRElBX1VSQl9TSVpFLAo+ICsJCQkgICAgTUVESUFfQ1VS QkVfU0laRSk7Cj4gIAo+ICAJZ2VuN19lbWl0X2N1cmJlX2xvYWQoYmF0Y2gsIGN1cmJlX2J1ZmZl cik7Cj4gIAo+IGRpZmYgLS1naXQgYS9saWIvbWVkaWFfc3Bpbi5jIGIvbGliL21lZGlhX3NwaW4u Ywo+IGluZGV4IGIzMjM1NTBhLi5mOWI4ZGMwYSAxMDA2NDQKPiAtLS0gYS9saWIvbWVkaWFfc3Bp bi5jCj4gKysrIGIvbGliL21lZGlhX3NwaW4uYwo+IEBAIC02Nyw2ICs2NywxNyBAQCBzdGF0aWMg Y29uc3QgdWludDMyX3Qgc3Bpbl9rZXJuZWxbXVs0XSA9IHsKPiAgICovCj4gIAo+ICAjZGVmaW5l IEJBVENIX1NUQVRFX1NQTElUIDIwNDgKPiArLyogVkZFIFNUQVRFIHBhcmFtcyAqLwo+ICsjZGVm aW5lIFRIUkVBRFMgMAo+ICsjZGVmaW5lIE1FRElBX1VSQl9FTlRSSUVTIDIKPiArI2RlZmluZSBN RURJQV9VUkJfU0laRSAyCj4gKyNkZWZpbmUgTUVESUFfQ1VSQkVfU0laRSAyCj4gKwo+ICsvKiBP ZmZzZXRzIG5lZWRlZCBpbiBnZW5fZW1pdF9tZWRpYV9vYmplY3QuIEluIG1lZGlhX3NwaW4gbGli cmFyeSB0aGlzCj4gKyAqIHZhbHVlcyBkbyBub3QgbWF0dGVyLgo+ICsgKi8KPiArI2RlZmluZSB4 b2Zmc2V0IDAKPiArI2RlZmluZSB5b2Zmc2V0IDAKPiAgCj4gIHZvaWQKPiAgZ2VuOF9tZWRpYV9z cGluZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+IEBAIC05MCwxMyArMTAx LDE0IEBAIGdlbjhfbWVkaWFfc3BpbmZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRj aCwKPiAgCU9VVF9CQVRDSChHRU44X1BJUEVMSU5FX1NFTEVDVCB8IFBJUEVMSU5FX1NFTEVDVF9N RURJQSk7Cj4gIAlnZW44X2VtaXRfc3RhdGVfYmFzZV9hZGRyZXNzKGJhdGNoKTsKPiAgCj4gLQln ZW44X2VtaXRfdmZlX3N0YXRlX3NwaW4oYmF0Y2gpOwo+ICsJZ2VuOF9lbWl0X3ZmZV9zdGF0ZShi YXRjaCwgVEhSRUFEUywgTUVESUFfVVJCX0VOVFJJRVMsCj4gKwkJCSAgICBNRURJQV9VUkJfU0la RSwgTUVESUFfQ1VSQkVfU0laRSk7Cj4gIAo+ICAJZ2VuN19lbWl0X2N1cmJlX2xvYWQoYmF0Y2gs IGN1cmJlX2J1ZmZlcik7Cj4gIAo+ICAJZ2VuN19lbWl0X2ludGVyZmFjZV9kZXNjcmlwdG9yX2xv YWQoYmF0Y2gsIGludGVyZmFjZV9kZXNjcmlwdG9yKTsKPiAgCj4gLQlnZW44X2VtaXRfbWVkaWFf b2JqZWN0c19zcGluKGJhdGNoKTsKPiArCWdlbl9lbWl0X21lZGlhX29iamVjdChiYXRjaCwgeG9m ZnNldCwgeW9mZnNldCk7Cj4gIAo+ICAJT1VUX0JBVENIKE1JX0JBVENIX0JVRkZFUl9FTkQpOwo+ ICAKPiBAQCAtMTM0LDEzICsxNDYsMTQgQEAgZ2VuOV9tZWRpYV9zcGluZnVuYyhzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+ICAJCQlHRU45X0ZPUkNFX01FRElBX0FXQUtFX01BU0sp Owo+ICAJZ2VuOV9lbWl0X3N0YXRlX2Jhc2VfYWRkcmVzcyhiYXRjaCk7Cj4gIAo+IC0JZ2VuOF9l bWl0X3ZmZV9zdGF0ZV9zcGluKGJhdGNoKTsKPiArCWdlbjhfZW1pdF92ZmVfc3RhdGUoYmF0Y2gs IFRIUkVBRFMsIE1FRElBX1VSQl9FTlRSSUVTLAo+ICsJCQkgICAgTUVESUFfVVJCX1NJWkUsIE1F RElBX0NVUkJFX1NJWkUpOwo+ICAKPiAgCWdlbjdfZW1pdF9jdXJiZV9sb2FkKGJhdGNoLCBjdXJi ZV9idWZmZXIpOwo+ICAKPiAgCWdlbjdfZW1pdF9pbnRlcmZhY2VfZGVzY3JpcHRvcl9sb2FkKGJh dGNoLCBpbnRlcmZhY2VfZGVzY3JpcHRvcik7Cj4gIAo+IC0JZ2VuOF9lbWl0X21lZGlhX29iamVj dHNfc3BpbihiYXRjaCk7Cj4gKwlnZW5fZW1pdF9tZWRpYV9vYmplY3QoYmF0Y2gsIHhvZmZzZXQs IHlvZmZzZXQpOwo+ICAKPiAgCU9VVF9CQVRDSChHRU44X1BJUEVMSU5FX1NFTEVDVCB8IFBJUEVM SU5FX1NFTEVDVF9NRURJQSB8Cj4gIAkJCUdFTjlfRk9SQ0VfTUVESUFfQVdBS0VfRElTQUJMRSB8 Cj4gLS0gCj4gMi4xNC4zCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+IGlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pZ3QtZGV2Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=