From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 82ED76E1F4 for ; Thu, 10 May 2018 15:41:29 +0000 (UTC) References: <20180504130218.6136-4-katarzyna.dec@intel.com> <20180507123651.6138-1-katarzyna.dec@intel.com> From: Daniele Ceraolo Spurio Message-ID: Date: Thu, 10 May 2018 08:41:27 -0700 MIME-Version: 1.0 In-Reply-To: <20180507123651.6138-1-katarzyna.dec@intel.com> Content-Language: en-US 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Katarzyna Dec , igt-dev@lists.freedesktop.org List-ID: CgpPbiAwNy8wNS8xOCAwNTozNiwgS2F0YXJ6eW5hIERlYyB3cm90ZToKPiBXZSBjYW4gdW5pZnkg Z2VuN19lbWl0X3ZmZV9zdGF0ZSBhbmQgZ2VuOF9lbWl0X3ZmZV9zdGF0ZQo+IGZ1bmN0aW9ucyBm b3IgZ3BncHUvbWVkaWFfZmlsbCBhbmQgbWVkaWFfc3BpbiBieSBhZGRpbmcKPiBwYXJhbWV0ZXJz LiBnZW44X2VtaXRfbWVkaWFfb2JqZWN0IHdhcyByZW5hbWVkIHRvIGdlbl8qCj4gYW5kIGV4dGVu ZGVkIHdpdGggYWRkaXRpb25hbCBvZmZzZXQgcGFyYW1ldGVycyAtIHdlIGNhbgo+IGhhdmUgb25l IGdlbjdfZW1pdF9tZWRpYV9vYmplY3RzIGZvciBhbGwgdGVzdHMuCj4gSSBoYXZlIHJlbmFtZWQg Z2VuOF9lbWl0X21lZGlhX29iamVjdCB0byBnZW5fZW1pdF8qLCBiZWNhdXNlCj4gZnVuY3Rpb24g YmVsb25ncyB0byBhbGwgZ2VucyBhbmQgaXQgd291bGQgYmUgb2RkIHRvIGhhdmUKPiBhbGwgbmFt ZWQgZ2VuWF8qIGFuZCBvbmx5IG9uZSB3aXRob3V0IHRoaXMgcHJlZml4Lgo+IAo+IHYyOiBVc2Ug I2RlZmluZXMgaW5zdGVhZCBvZiB2YXJpYWJsZXMgYXMgZW1pdF92ZmVfc3RhdGUgcGFyYW1ldGVy cy4KPiBGaXhlZCBnZW43X2VtaXRfbWVkaWFfb2JqZWN0cy4gVW5pZmllZCB2ZmUgc3RhdGUgcGFy YW1ldGVycwo+IGluIG1lZGlhX3NwaW4gbGlicmFyeSBmb3IgZ2VuOCBhbmQgZ2VuOSAoZ2VuOSBo YWQgZGlmZmVyZW50IHZhbHVlcwo+IGJ5IG1pc3Rha2UpLgo+IHYzOiBGaXhlZCBidWcgaW4gZW1p dF92ZmVfc3RhdGUgZm9yIGdlbjggYW5kIGdlbjkgaW4gZ3BncHVfZmlsbC4KPiBNb3ZlZCAjZGVm aW5lcyBmb3IgZW1pdF92ZmVfc3RhdGUgdG8gcGFydGljdWxhciBsaWJyYXJpZXMuCj4gCj4gU2ln bmVkLW9mZi1ieTogS2F0YXJ6eW5hIERlYyA8a2F0YXJ6eW5hLmRlY0BpbnRlbC5jb20+Cj4gQ2M6 IEx1a2FzeiBLYWxhbWFyeiA8bHVrYXN6LmthbGFtYXJ6QGludGVsLmNvbT4KPiBDYzogQW50b25p byBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgo+IENjOiBEYW5pZWxl IENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+IC0tLQoK UmV2aWV3ZWQtYnk6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJp b0BpbnRlbC5jb20+CgpBIGNvdXBsZSBvZiBzdHlsZSBuaXRwaWNrcyBiZWxvdywgeW91IGNhbiBm aXggdGhlbSBpZiB5b3UgbmVlZCB0byByZS1zcGluLgpCVFcsIHRoaXMgcGF0Y2ggY29uZmxpY3Rz IHdpdGggdGhlIG9uZSB0byB1bmlmeSB0aGUgbWVkaWFfZmlsbCBmaWxlcyBzbyAKeW91J2xsIG5l ZWQgdG8gcmViYXNlIG9uZSBvZiB0aGUgMiBzZXJpZXMgb24gdG9wIG9mIHRoZSBvdGhlci4KCkRh bmllbGUKCj4gICBsaWIvZ3BncHVfZmlsbC5jICAgICAgfCAgMTcgKysrKystLQo+ICAgbGliL2dw dV9maWxsLmMgICAgICAgIHwgMTI2ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gICBsaWIvZ3B1X2ZpbGwuaCAgICAgICAgfCAgMjEgKysrKy0tLS0t Cj4gICBsaWIvbWVkaWFfZmlsbF9nZW43LmMgfCAgIDkgKysrLQo+ICAgbGliL21lZGlhX2ZpbGxf Z2VuOC5jIHwgICA4ICsrKy0KPiAgIGxpYi9tZWRpYV9maWxsX2dlbjkuYyB8ICAgOCArKystCj4g ICBsaWIvbWVkaWFfc3Bpbi5jICAgICAgfCAgMjEgKysrKysrKy0tCj4gICA3IGZpbGVzIGNoYW5n ZWQsIDgzIGluc2VydGlvbnMoKyksIDEyNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv bGliL2dwZ3B1X2ZpbGwuYyBiL2xpYi9ncGdwdV9maWxsLmMKPiBpbmRleCA1MjkyNWE1Yy4uOWEy NTk4YmMgMTAwNjQ0Cj4gLS0tIGEvbGliL2dwZ3B1X2ZpbGwuYwo+ICsrKyBiL2xpYi9ncGdwdV9m aWxsLmMKPiBAQCAtOTUsNiArOTUsMTMgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IGdlbjlfZ3Bn cHVfa2VybmVsW11bNF0gPSB7Cj4gICAgKi8KPiAgIAo+ICAgI2RlZmluZSBCQVRDSF9TVEFURV9T UExJVCAyMDQ4Cj4gKy8qIFZGRSBTVEFURSBwYXJhbXMgKi8KPiArI2RlZmluZSBUSFJFQURTIDEK PiArI2RlZmluZSBHRU43X0dQR1BVX1VSQl9FTlRSSUVTIDAKPiArI2RlZmluZSBHRU44X0dQR1BV X1VSQl9FTlRSSUVTIDEKPiArI2RlZmluZSBHUEdQVV9VUkJfU0laRSAwCj4gKyNkZWZpbmUgR1BH UFVfQ1VSQkVfU0laRSAxCj4gKyNkZWZpbmUgR0VON19WRkVfU1RBVEVfR1BHUFVfTU9ERSAxCj4g ICAKPiAgIHZvaWQKPiAgIGdlbjdfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVm ZmVyICpiYXRjaCwKPiBAQCAtMTI5LDcgKzEzNiw5IEBAIGdlbjdfZ3BncHVfZmlsbGZ1bmMoc3Ry dWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKPiAgIAlPVVRfQkFUQ0goR0VON19QSVBFTElO RV9TRUxFQ1QgfCBQSVBFTElORV9TRUxFQ1RfR1BHUFUpOwo+ICAgCj4gICAJZ2VuN19lbWl0X3N0 YXRlX2Jhc2VfYWRkcmVzcyhiYXRjaCk7Cj4gLQlnZW43X2VtaXRfdmZlX3N0YXRlX2dwZ3B1KGJh dGNoKTsKPiArCWdlbjdfZW1pdF92ZmVfc3RhdGUoYmF0Y2gsIFRIUkVBRFMsIEdFTjdfR1BHUFVf VVJCX0VOVFJJRVMsCj4gKwkJCSAgICBHUEdQVV9VUkJfU0laRSwgR1BHUFVfQ1VSQkVfU0laRSwK PiArCQkJICAgIEdFTjdfVkZFX1NUQVRFX0dQR1BVX01PREUpOwo+ICAgCWdlbjdfZW1pdF9jdXJi ZV9sb2FkKGJhdGNoLCBjdXJiZV9idWZmZXIpOwo+ICAgCWdlbjdfZW1pdF9pbnRlcmZhY2VfZGVz Y3JpcHRvcl9sb2FkKGJhdGNoLCBpbnRlcmZhY2VfZGVzY3JpcHRvcik7Cj4gICAJZ2VuN19lbWl0 X2dwZ3B1X3dhbGsoYmF0Y2gsIHgsIHksIHdpZHRoLCBoZWlnaHQpOwo+IEBAIC0xNzYsNyArMTg1 LDggQEAgZ2VuOF9ncGdwdV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNo LAo+ICAgCU9VVF9CQVRDSChHRU43X1BJUEVMSU5FX1NFTEVDVCB8IFBJUEVMSU5FX1NFTEVDVF9H UEdQVSk7Cj4gICAKPiAgIAlnZW44X2VtaXRfc3RhdGVfYmFzZV9hZGRyZXNzKGJhdGNoKTsKPiAt CWdlbjhfZW1pdF92ZmVfc3RhdGVfZ3BncHUoYmF0Y2gpOwo+ICsJZ2VuOF9lbWl0X3ZmZV9zdGF0 ZShiYXRjaCwgVEhSRUFEUywgR0VOOF9HUEdQVV9VUkJfRU5UUklFUywKPiArCQkJICAgIEdQR1BV X1VSQl9TSVpFLCBHUEdQVV9DVVJCRV9TSVpFKTsKPiAgIAlnZW43X2VtaXRfY3VyYmVfbG9hZChi YXRjaCwgY3VyYmVfYnVmZmVyKTsKPiAgIAlnZW43X2VtaXRfaW50ZXJmYWNlX2Rlc2NyaXB0b3Jf bG9hZChiYXRjaCwgaW50ZXJmYWNlX2Rlc2NyaXB0b3IpOwo+ICAgCWdlbjhfZW1pdF9ncGdwdV93 YWxrKGJhdGNoLCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKPiBAQCAtMjI0LDcgKzIzNCw4IEBAIGdl bjlfZ3BncHVfZmlsbGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKPiAgIAkJ ICBQSVBFTElORV9TRUxFQ1RfR1BHUFUpOwo+ICAgCj4gICAJZ2VuOV9lbWl0X3N0YXRlX2Jhc2Vf YWRkcmVzcyhiYXRjaCk7Cj4gLQlnZW44X2VtaXRfdmZlX3N0YXRlX2dwZ3B1KGJhdGNoKTsKPiAr CWdlbjhfZW1pdF92ZmVfc3RhdGUoYmF0Y2gsIFRIUkVBRFMsIEdFTjhfR1BHUFVfVVJCX0VOVFJJ RVMsCj4gKwkJCSAgICBHUEdQVV9VUkJfU0laRSwgR1BHUFVfQ1VSQkVfU0laRSk7Cj4gICAJZ2Vu N19lbWl0X2N1cmJlX2xvYWQoYmF0Y2gsIGN1cmJlX2J1ZmZlcik7Cj4gICAJZ2VuN19lbWl0X2lu dGVyZmFjZV9kZXNjcmlwdG9yX2xvYWQoYmF0Y2gsIGludGVyZmFjZV9kZXNjcmlwdG9yKTsKPiAg IAlnZW44X2VtaXRfZ3BncHVfd2FsayhiYXRjaCwgeCwgeSwgd2lkdGgsIGhlaWdodCk7Cj4gZGlm ZiAtLWdpdCBhL2xpYi9ncHVfZmlsbC5jIGIvbGliL2dwdV9maWxsLmMKPiBpbmRleCAyNGUwM2Nm Mi4uZTg1OTE2NDggMTAwNjQ0Cj4gLS0tIGEvbGliL2dwdV9maWxsLmMKPiArKysgYi9saWIvZ3B1 X2ZpbGwuYwo+IEBAIC0xOTQsNyArMTk0LDkgQEAgZ2VuN19lbWl0X3N0YXRlX2Jhc2VfYWRkcmVz cyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQo+ICAgfQo+ICAgCj4gICB2b2lkCj4g LWdlbjdfZW1pdF92ZmVfc3RhdGUoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCkKPiAr Z2VuN19lbWl0X3ZmZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50 MzJfdCB0aHJlYWRzLAo+ICsJCSAgICB1aW50MzJfdCB1cmJfZW50cmllcywgdWludDMyX3QgdXJi X3NpemUsCj4gKwkJICAgIHVpbnQzMl90IGN1cmJlX3NpemUsIHVpbnQzMl90IG1vZGUpCj4gICB7 Cj4gICAJT1VUX0JBVENIKEdFTjdfTUVESUFfVkZFX1NUQVRFIHwgKDggLSAyKSk7Cj4gICAKPiBA QCAtMjAyLDM5ICsyMDQsMTUgQEAgZ2VuN19lbWl0X3ZmZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0 Y2hidWZmZXIgKmJhdGNoKQo+ICAgCU9VVF9CQVRDSCgwKTsKPiAgIAo+ICAgCS8qIG51bWJlciBv ZiB0aHJlYWRzICYgdXJiIGVudHJpZXMgKi8KPiAtCU9VVF9CQVRDSCgxIDw8IDE2IHwKPiAtCQky IDw8IDgpOwo+ICsJT1VUX0JBVENIKHRocmVhZHMgPDwgMTYgfAo+ICsJCXVyYl9lbnRyaWVzIDw8 IDggfAo+ICsJCW1vZGUgPDwgMik7IC8qIEdQR1BVIHZzIG1lZGlhIG1vZGUgKi8KPiAgIAo+ICAg CU9VVF9CQVRDSCgwKTsKPiAgIAo+ICAgCS8qIHVyYiBlbnRyeSBzaXplICYgY3VyYmUgc2l6ZSAq Lwo+IC0JT1VUX0JBVENIKDIgPDwgMTYgfAkvKiBpbiAyNTYgYml0cyB1bml0ICovCj4gLQkJICAy KTsJCS8qIGluIDI1NiBiaXRzIHVuaXQgKi8KPiAtCj4gLQkvKiBzY29yZWJvYXJkICovCj4gLQlP VVRfQkFUQ0goMCk7Cj4gLQlPVVRfQkFUQ0goMCk7Cj4gLQlPVVRfQkFUQ0goMCk7Cj4gLX0KPiAt Cj4gLXZvaWQKPiAtZ2VuN19lbWl0X3ZmZV9zdGF0ZV9ncGdwdShzdHJ1Y3QgaW50ZWxfYmF0Y2hi dWZmZXIgKmJhdGNoKQo+IC17Cj4gLQlPVVRfQkFUQ0goR0VON19NRURJQV9WRkVfU1RBVEUgfCAo OCAtIDIpKTsKPiAtCj4gLQkvKiBzY3JhdGNoIGJ1ZmZlciAqLwo+IC0JT1VUX0JBVENIKDApOwo+ IC0KPiAtCS8qIG51bWJlciBvZiB0aHJlYWRzICYgdXJiIGVudHJpZXMgKi8KPiAtCU9VVF9CQVRD SCgxIDw8IDE2IHwgLyogbWF4IG51bSBvZiB0aHJlYWRzICovCj4gLQkJICAwIDw8IDggfCAvKiBu dW0gb2YgVVJCIGVudHJ5ICovCj4gLQkJICAxIDw8IDIpOyAvKiBHUEdQVSBtb2RlICovCj4gLQo+ IC0JT1VUX0JBVENIKDApOwo+IC0KPiAtCS8qIHVyYiBlbnRyeSBzaXplICYgY3VyYmUgc2l6ZSAq Lwo+IC0JT1VUX0JBVENIKDAgPDwgMTYgfAkvKiBVUkIgZW50cnkgc2l6ZSBpbiAyNTYgYml0cyB1 bml0ICovCj4gLQkJICAxKTsJCS8qIENVUkJFIGVudHJ5IHNpemUgaW4gMjU2IGJpdHMgdW5pdCAq Lwo+ICsJT1VUX0JBVENIKHVyYl9zaXplIDw8IDE2IHwJLyogaW4gMjU2IGJpdHMgdW5pdCAqLwo+ ICsJCSAgY3VyYmVfc2l6ZSk7CQkvKiBpbiAyNTYgYml0cyB1bml0ICovCj4gICAKPiAgIAkvKiBz Y29yZWJvYXJkICovCj4gICAJT1VUX0JBVENIKDApOwo+IEBAIC0yNzksMjUgKzI1Nyw3IEBAIGdl bjdfZW1pdF9tZWRpYV9vYmplY3RzKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4g ICAKPiAgIAlmb3IgKGkgPSAwOyBpIDwgd2lkdGggLyAxNjsgaSsrKSB7Cj4gICAJCWZvciAoaiA9 IDA7IGogPCBoZWlnaHQgLyAxNjsgaisrKSB7Cj4gLQkJCU9VVF9CQVRDSChHRU43X01FRElBX09C SkVDVCB8ICg4IC0gMikpOwo+IC0KPiAtCQkJLyogaW50ZXJmYWNlIGRlc2NyaXB0b3Igb2Zmc2V0 ICovCj4gLQkJCU9VVF9CQVRDSCgwKTsKPiAtCj4gLQkJCS8qIHdpdGhvdXQgaW5kaXJlY3QgZGF0 YSAqLwo+IC0JCQlPVVRfQkFUQ0goMCk7Cj4gLQkJCU9VVF9CQVRDSCgwKTsKPiAtCj4gLQkJCS8q IHNjb3JlYm9hcmQgKi8KPiAtCQkJT1VUX0JBVENIKDApOwo+IC0JCQlPVVRfQkFUQ0goMCk7Cj4g LQo+IC0JCQkvKiBpbmxpbmUgZGF0YSAoeG9mZnNldCwgeW9mZnNldCkgKi8KPiAtCQkJT1VUX0JB VENIKHggKyBpICogMTYpOwo+IC0JCQlPVVRfQkFUQ0goeSArIGogKiAxNik7Cj4gLQkJCWlmIChB VF9MRUFTVF9HRU4oYmF0Y2gtPmRldmlkLCA4KSAmJgo+IC0JCQkgICAgIUlTX0NIRVJSWVZJRVco YmF0Y2gtPmRldmlkKSkKPiAtCQkJCWdlbjhfZW1pdF9tZWRpYV9zdGF0ZV9mbHVzaChiYXRjaCk7 Cj4gKwkJCWdlbl9lbWl0X21lZGlhX29iamVjdChiYXRjaCwgeCArIGkqMTYsIHkgKyBqKjE2KTsK ClN0eWxlIG5pdHBpY2s6IHRoZXJlIHNob3VsZCBiZSBzcGFjZXMgYXJvdW5kIHRoZSAiKiIKCj4g ICAJCX0KPiAgIAl9Cj4gICB9Cj4gQEAgLTUwNSwzMiArNDY1LDkgQEAgZ2VuOF9lbWl0X21lZGlh X3N0YXRlX2ZsdXNoKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpCj4gICB9Cj4gICAK PiAgIHZvaWQKPiAtZ2VuOF9lbWl0X3ZmZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIg KmJhdGNoKQo+IC17Cj4gLQlPVVRfQkFUQ0goR0VON19NRURJQV9WRkVfU1RBVEUgfCAoOSAtIDIp KTsKPiAtCj4gLQkvKiBzY3JhdGNoIGJ1ZmZlciAqLwo+IC0JT1VUX0JBVENIKDApOwo+IC0JT1VU X0JBVENIKDApOwo+IC0KPiAtCS8qIG51bWJlciBvZiB0aHJlYWRzICYgdXJiIGVudHJpZXMgKi8K PiAtCU9VVF9CQVRDSCgxIDw8IDE2IHwKPiAtCQkyIDw8IDgpOwo+IC0KPiAtCU9VVF9CQVRDSCgw KTsKPiAtCj4gLQkvKiB1cmIgZW50cnkgc2l6ZSAmIGN1cmJlIHNpemUgKi8KPiAtCU9VVF9CQVRD SCgyIDw8IDE2IHwKPiAtCQkyKTsKPiAtCj4gLQkvKiBzY29yZWJvYXJkICovCj4gLQlPVVRfQkFU Q0goMCk7Cj4gLQlPVVRfQkFUQ0goMCk7Cj4gLQlPVVRfQkFUQ0goMCk7Cj4gLX0KPiAtCj4gLXZv aWQKPiAtZ2VuOF9lbWl0X3ZmZV9zdGF0ZV9ncGdwdShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIg KmJhdGNoKQo+ICtnZW44X2VtaXRfdmZlX3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAq YmF0Y2gsIHVpbnQzMl90IHRocmVhZHMsCj4gKwkJICAgIHVpbnQzMl90IHVyYl9lbnRyaWVzLCB1 aW50MzJfdCB1cmJfc2l6ZSwKPiArCQkgICAgdWludDMyX3QgY3VyYmVfc2l6ZSkKPiAgIHsKPiAg IAlPVVRfQkFUQ0goR0VON19NRURJQV9WRkVfU1RBVEUgfCAoOSAtIDIpKTsKPiAgIAo+IEBAIC01 MzksMzYgKzQ3NiwxNCBAQCBnZW44X2VtaXRfdmZlX3N0YXRlX2dwZ3B1KHN0cnVjdCBpbnRlbF9i YXRjaGJ1ZmZlciAqYmF0Y2gpCj4gICAJT1VUX0JBVENIKDApOwo+ICAgCj4gICAJLyogbnVtYmVy IG9mIHRocmVhZHMgJiB1cmIgZW50cmllcyAqLwo+IC0JT1VUX0JBVENIKDEgPDwgMTYgfCAxIDw8 IDgpOwo+IC0KPiAtCU9VVF9CQVRDSCgwKTsKPiAtCj4gLQkvKiB1cmIgZW50cnkgc2l6ZSAmIGN1 cmJlIHNpemUgKi8KPiAtCU9VVF9CQVRDSCgwIDw8IDE2IHwgMSk7Cj4gLQo+IC0JLyogc2NvcmVi b2FyZCAqLwo+IC0JT1VUX0JBVENIKDApOwo+IC0JT1VUX0JBVENIKDApOwo+IC0JT1VUX0JBVENI KDApOwo+IC19Cj4gLQo+IC12b2lkCj4gLWdlbjhfZW1pdF92ZmVfc3RhdGVfc3BpbihzdHJ1Y3Qg aW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKQo+IC17Cj4gLQlPVVRfQkFUQ0goR0VOOF9NRURJQV9W RkVfU1RBVEUgfCAoOSAtIDIpKTsKPiAtCj4gLQkvKiBzY3JhdGNoIGJ1ZmZlciAqLwo+IC0JT1VU X0JBVENIKDApOwo+IC0JT1VUX0JBVENIKDApOwo+IC0KPiAtCS8qIG51bWJlciBvZiB0aHJlYWRz ICYgdXJiIGVudHJpZXMgKi8KPiAtCU9VVF9CQVRDSCgyIDw8IDgpOwo+ICsJT1VUX0JBVENIKHRo cmVhZHMgPDwgMTYgfAo+ICsJCXVyYl9lbnRyaWVzIDw8IDgpOwo+ICAgCj4gICAJT1VUX0JBVENI KDApOwo+ICAgCj4gICAJLyogdXJiIGVudHJ5IHNpemUgJiBjdXJiZSBzaXplICovCj4gLQlPVVRf QkFUQ0goMiA8PCAxNiB8Cj4gLQkJMik7Cj4gKwlPVVRfQkFUQ0godXJiX3NpemUgPDwgMTYgfAo+ ICsJCWN1cmJlX3NpemUpOwo+ICAgCj4gICAJLyogc2NvcmVib2FyZCAqLwo+ICAgCU9VVF9CQVRD SCgwKTsKPiBAQCAtNjM3LDkgKzU1MiwxMCBAQCBnZW44X2VtaXRfZ3BncHVfd2FsayhzdHJ1Y3Qg aW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+ICAgfQo+ICAgCj4gICB2b2lkCj4gLWdlbjhfZW1p dF9tZWRpYV9vYmplY3RzX3NwaW4oc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCkKPiAr Z2VuX2VtaXRfbWVkaWFfb2JqZWN0KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4g KwkJICAgICAgIHVuc2lnbmVkIGludCB4b2Zmc2V0LCB1bnNpZ25lZCBpbnQgeW9mZnNldCkKPiAg IHsKPiAtCU9VVF9CQVRDSChHRU44X01FRElBX09CSkVDVCB8ICg4IC0gMikpOwo+ICsJT1VUX0JB VENIKEdFTjdfTUVESUFfT0JKRUNUIHwgKDggLSAyKSk7Cj4gICAKPiAgIAkvKiBpbnRlcmZhY2Ug ZGVzY3JpcHRvciBvZmZzZXQgKi8KPiAgIAlPVVRfQkFUQ0goMCk7Cj4gQEAgLTY1Myw4ICs1Njks OCBAQCBnZW44X2VtaXRfbWVkaWFfb2JqZWN0c19zcGluKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZl ciAqYmF0Y2gpCj4gICAJT1VUX0JBVENIKDApOwo+ICAgCj4gICAJLyogaW5saW5lIGRhdGEgKHhv ZmZzZXQsIHlvZmZzZXQpICovCj4gLQlPVVRfQkFUQ0goMCk7Cj4gLQlPVVRfQkFUQ0goMCk7Cj4g KwlPVVRfQkFUQ0goeG9mZnNldCk7Cj4gKwlPVVRfQkFUQ0goeW9mZnNldCk7Cj4gICAJaWYgKEFU X0xFQVNUX0dFTihiYXRjaC0+ZGV2aWQsIDgpICYmICFJU19DSEVSUllWSUVXKGJhdGNoLT5kZXZp ZCkpCj4gICAJCWdlbjhfZW1pdF9tZWRpYV9zdGF0ZV9mbHVzaChiYXRjaCk7Cj4gICB9Cj4gZGlm ZiAtLWdpdCBhL2xpYi9ncHVfZmlsbC5oIGIvbGliL2dwdV9maWxsLmgKPiBpbmRleCAxZTRiZTRi Yi4uY2Y5MGQ3MDYgMTAwNjQ0Cj4gLS0tIGEvbGliL2dwdV9maWxsLmgKPiArKysgYi9saWIvZ3B1 X2ZpbGwuaAo+IEBAIC0zNyw2ICszNyw3IEBACj4gICAjaW5jbHVkZSAiaW50ZWxfY2hpcHNldC5o Igo+ICAgI2luY2x1ZGUgPGFzc2VydC5oPgo+ICAgCj4gKwoKbml0cGljazogdGhpcyBuZXdsaW5l IGlzbid0IHJlYWxseSBuZWVkZWQKCj4gICB2b2lkCj4gICBnZW43X3JlbmRlcl9mbHVzaChzdHJ1 Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50MzJfdCBiYXRjaF9lbmQpOwo+ICAgCj4g QEAgLTY4LDEwICs2OSw5IEBAIHZvaWQKPiAgIGdlbjdfZW1pdF9zdGF0ZV9iYXNlX2FkZHJlc3Mo c3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCk7Cj4gICAKPiAgIHZvaWQKPiAtZ2VuN19l bWl0X3ZmZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKTsKPiAtCj4gLXZv aWQKPiAtZ2VuN19lbWl0X3ZmZV9zdGF0ZV9ncGdwdShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIg KmJhdGNoKTsKPiArZ2VuN19lbWl0X3ZmZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIg KmJhdGNoLCB1aW50MzJfdCB0aHJlYWRzLAo+ICsJCSAgICB1aW50MzJfdCB1cmJfZW50cmllcywg dWludDMyX3QgdXJiX3NpemUsCj4gKwkJICAgIHVpbnQzMl90IGN1cmJlX3NpemUsIHVpbnQzMl90 IG1vZGUpOwo+ICAgCj4gICB2b2lkCj4gICBnZW43X2VtaXRfY3VyYmVfbG9hZChzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50MzJfdCBjdXJiZV9idWZmZXIpOwo+IEBAIC0xMTIs MTMgKzExMiw5IEBAIHZvaWQKPiAgIGdlbjhfZW1pdF9tZWRpYV9zdGF0ZV9mbHVzaChzdHJ1Y3Qg aW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoKTsKPiAgIAo+ICAgdm9pZAo+IC1nZW44X2VtaXRfdmZl X3N0YXRlKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpOwo+IC0KPiAtdm9pZAo+IC1n ZW44X2VtaXRfdmZlX3N0YXRlX2dwZ3B1KHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gp Owo+IC0KPiAtdm9pZAo+IC1nZW44X2VtaXRfdmZlX3N0YXRlX3NwaW4oc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCk7Cj4gK2dlbjhfZW1pdF92ZmVfc3RhdGUoc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCwgdWludDMyX3QgdGhyZWFkcywKPiArCQkgICAgdWludDMyX3QgdXJi X2VudHJpZXMsIHVpbnQzMl90IHVyYl9zaXplLAo+ICsJCSAgICB1aW50MzJfdCBjdXJiZV9zaXpl KTsKPiAgIAo+ICAgdm9pZAo+ICAgZ2VuOF9lbWl0X2dwZ3B1X3dhbGsoc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCwKPiBAQCAtMTI2LDcgKzEyMiw4IEBAIGdlbjhfZW1pdF9ncGdwdV93 YWxrKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4gICAJCSAgICAgdW5zaWduZWQg aW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0KTsKPiAgIAo+ICAgdm9pZAo+IC1nZW44X2Vt aXRfbWVkaWFfb2JqZWN0c19zcGluKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gpOwo+ ICtnZW5fZW1pdF9tZWRpYV9vYmplY3Qoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwg dW5zaWduZWQgaW50IHhvZmZzZXQsCj4gKwkJICB1bnNpZ25lZCBpbnQgeW9mZnNldCk7Cj4gICAK PiAgIHZvaWQKPiAgIGdlbjlfZW1pdF9zdGF0ZV9iYXNlX2FkZHJlc3Moc3RydWN0IGludGVsX2Jh dGNoYnVmZmVyICpiYXRjaCk7Cj4gZGlmZiAtLWdpdCBhL2xpYi9tZWRpYV9maWxsX2dlbjcuYyBi L2xpYi9tZWRpYV9maWxsX2dlbjcuYwo+IGluZGV4IDNkYzU2MTdlLi5hMzhiODU1NiAxMDA2NDQK PiAtLS0gYS9saWIvbWVkaWFfZmlsbF9nZW43LmMKPiArKysgYi9saWIvbWVkaWFfZmlsbF9nZW43 LmMKPiBAQCAtNDMsNiArNDMsMTIgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1lZGlhX2tlcm5l bFtdWzRdID0gewo+ICAgICovCj4gICAKPiAgICNkZWZpbmUgQkFUQ0hfU1RBVEVfU1BMSVQgMjA0 OAo+ICsvKiBWRkUgU1RBVEUgcGFyYW1zICovCj4gKyNkZWZpbmUgVEhSRUFEUyAxCj4gKyNkZWZp bmUgTUVESUFfVVJCX0VOVFJJRVMgMgo+ICsjZGVmaW5lIE1FRElBX1VSQl9TSVpFIDIKPiArI2Rl ZmluZSBNRURJQV9DVVJCRV9TSVpFIDIKPiArI2RlZmluZSBHRU43X1ZGRV9TVEFURV9NRURJQV9N T0RFIDAKPiAgIAo+ICAgdm9pZAo+ICAgZ2VuN19tZWRpYV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxf YmF0Y2hidWZmZXIgKmJhdGNoLAo+IEBAIC02OSw3ICs3NSw4IEBAIGdlbjdfbWVkaWFfZmlsbGZ1 bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKPiAgIAlPVVRfQkFUQ0goR0VON19Q SVBFTElORV9TRUxFQ1QgfCBQSVBFTElORV9TRUxFQ1RfTUVESUEpOwo+ICAgCWdlbjdfZW1pdF9z dGF0ZV9iYXNlX2FkZHJlc3MoYmF0Y2gpOwo+ICAgCj4gLQlnZW43X2VtaXRfdmZlX3N0YXRlKGJh dGNoKTsKPiArCWdlbjdfZW1pdF92ZmVfc3RhdGUoYmF0Y2gsIFRIUkVBRFMsIE1FRElBX1VSQl9F TlRSSUVTLCBNRURJQV9VUkJfU0laRSwKPiArCQkJICAgIE1FRElBX0NVUkJFX1NJWkUsIEdFTjdf VkZFX1NUQVRFX01FRElBX01PREUpOwo+ICAgCj4gICAJZ2VuN19lbWl0X2N1cmJlX2xvYWQoYmF0 Y2gsIGN1cmJlX2J1ZmZlcik7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvbGliL21lZGlhX2ZpbGxfZ2Vu OC5jIGIvbGliL21lZGlhX2ZpbGxfZ2VuOC5jCj4gaW5kZXggNjNmZTcyZWIuLmZjODljN2YwIDEw MDY0NAo+IC0tLSBhL2xpYi9tZWRpYV9maWxsX2dlbjguYwo+ICsrKyBiL2xpYi9tZWRpYV9maWxs X2dlbjguYwo+IEBAIC00Niw2ICs0NiwxMSBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgbWVkaWFf a2VybmVsW11bNF0gPSB7Cj4gICAgKi8KPiAgIAo+ICAgI2RlZmluZSBCQVRDSF9TVEFURV9TUExJ VCAyMDQ4Cj4gKy8qIFZGRSBTVEFURSBwYXJhbXMgKi8KPiArI2RlZmluZSBUSFJFQURTIDEKPiAr I2RlZmluZSBNRURJQV9VUkJfRU5UUklFUyAyCj4gKyNkZWZpbmUgTUVESUFfVVJCX1NJWkUgMgo+ ICsjZGVmaW5lIE1FRElBX0NVUkJFX1NJWkUgMgo+ICAgCj4gICB2b2lkCj4gICBnZW44X21lZGlh X2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4gQEAgLTcyLDcgKzc3 LDggQEAgZ2VuOF9tZWRpYV9maWxsZnVuYyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNo LAo+ICAgCU9VVF9CQVRDSChHRU44X1BJUEVMSU5FX1NFTEVDVCB8IFBJUEVMSU5FX1NFTEVDVF9N RURJQSk7Cj4gICAJZ2VuOF9lbWl0X3N0YXRlX2Jhc2VfYWRkcmVzcyhiYXRjaCk7Cj4gICAKPiAt CWdlbjhfZW1pdF92ZmVfc3RhdGUoYmF0Y2gpOwo+ICsJZ2VuOF9lbWl0X3ZmZV9zdGF0ZShiYXRj aCwgVEhSRUFEUywgTUVESUFfVVJCX0VOVFJJRVMsIE1FRElBX1VSQl9TSVpFLAo+ICsJCQkgICAg TUVESUFfQ1VSQkVfU0laRSk7Cj4gICAKPiAgIAlnZW43X2VtaXRfY3VyYmVfbG9hZChiYXRjaCwg Y3VyYmVfYnVmZmVyKTsKPiAgIAo+IGRpZmYgLS1naXQgYS9saWIvbWVkaWFfZmlsbF9nZW45LmMg Yi9saWIvbWVkaWFfZmlsbF9nZW45LmMKPiBpbmRleCA3OGU4OTJmMi4uODA1ZTc1NzYgMTAwNjQ0 Cj4gLS0tIGEvbGliL21lZGlhX2ZpbGxfZ2VuOS5jCj4gKysrIGIvbGliL21lZGlhX2ZpbGxfZ2Vu OS5jCj4gQEAgLTQzLDYgKzQzLDExIEBAIHN0YXRpYyBjb25zdCB1aW50MzJfdCBtZWRpYV9rZXJu ZWxbXVs0XSA9IHsKPiAgICAqLwo+ICAgCj4gICAjZGVmaW5lIEJBVENIX1NUQVRFX1NQTElUIDIw NDgKPiArLyogVkZFIFNUQVRFIHBhcmFtcyAqLwo+ICsjZGVmaW5lIFRIUkVBRFMgMQo+ICsjZGVm aW5lIE1FRElBX1VSQl9FTlRSSUVTIDIKPiArI2RlZmluZSBNRURJQV9VUkJfU0laRSAyCj4gKyNk ZWZpbmUgTUVESUFfQ1VSQkVfU0laRSAyCj4gICAKPiAgIHZvaWQKPiAgIGdlbjlfbWVkaWFfZmls bGZ1bmMoc3RydWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKPiBAQCAtNzQsNyArNzksOCBA QCBnZW45X21lZGlhX2ZpbGxmdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4g ICAJCQlHRU45X0ZPUkNFX01FRElBX0FXQUtFX01BU0spOwo+ICAgCWdlbjlfZW1pdF9zdGF0ZV9i YXNlX2FkZHJlc3MoYmF0Y2gpOwo+ICAgCj4gLQlnZW44X2VtaXRfdmZlX3N0YXRlKGJhdGNoKTsK PiArCWdlbjhfZW1pdF92ZmVfc3RhdGUoYmF0Y2gsIFRIUkVBRFMsIE1FRElBX1VSQl9FTlRSSUVT LCBNRURJQV9VUkJfU0laRSwKPiArCQkJICAgIE1FRElBX0NVUkJFX1NJWkUpOwo+ICAgCj4gICAJ Z2VuN19lbWl0X2N1cmJlX2xvYWQoYmF0Y2gsIGN1cmJlX2J1ZmZlcik7Cj4gICAKPiBkaWZmIC0t Z2l0IGEvbGliL21lZGlhX3NwaW4uYyBiL2xpYi9tZWRpYV9zcGluLmMKPiBpbmRleCBiMzIzNTUw YS4uZjliOGRjMGEgMTAwNjQ0Cj4gLS0tIGEvbGliL21lZGlhX3NwaW4uYwo+ICsrKyBiL2xpYi9t ZWRpYV9zcGluLmMKPiBAQCAtNjcsNiArNjcsMTcgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IHNw aW5fa2VybmVsW11bNF0gPSB7Cj4gICAgKi8KPiAgIAo+ICAgI2RlZmluZSBCQVRDSF9TVEFURV9T UExJVCAyMDQ4Cj4gKy8qIFZGRSBTVEFURSBwYXJhbXMgKi8KPiArI2RlZmluZSBUSFJFQURTIDAK PiArI2RlZmluZSBNRURJQV9VUkJfRU5UUklFUyAyCj4gKyNkZWZpbmUgTUVESUFfVVJCX1NJWkUg Mgo+ICsjZGVmaW5lIE1FRElBX0NVUkJFX1NJWkUgMgo+ICsKPiArLyogT2Zmc2V0cyBuZWVkZWQg aW4gZ2VuX2VtaXRfbWVkaWFfb2JqZWN0LiBJbiBtZWRpYV9zcGluIGxpYnJhcnkgdGhpcwo+ICsg KiB2YWx1ZXMgZG8gbm90IG1hdHRlci4KPiArICovCj4gKyNkZWZpbmUgeG9mZnNldCAwCj4gKyNk ZWZpbmUgeW9mZnNldCAwCj4gICAKPiAgIHZvaWQKPiAgIGdlbjhfbWVkaWFfc3BpbmZ1bmMoc3Ry dWN0IGludGVsX2JhdGNoYnVmZmVyICpiYXRjaCwKPiBAQCAtOTAsMTMgKzEwMSwxNCBAQCBnZW44 X21lZGlhX3NwaW5mdW5jKHN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4gICAJT1VU X0JBVENIKEdFTjhfUElQRUxJTkVfU0VMRUNUIHwgUElQRUxJTkVfU0VMRUNUX01FRElBKTsKPiAg IAlnZW44X2VtaXRfc3RhdGVfYmFzZV9hZGRyZXNzKGJhdGNoKTsKPiAgIAo+IC0JZ2VuOF9lbWl0 X3ZmZV9zdGF0ZV9zcGluKGJhdGNoKTsKPiArCWdlbjhfZW1pdF92ZmVfc3RhdGUoYmF0Y2gsIFRI UkVBRFMsIE1FRElBX1VSQl9FTlRSSUVTLAo+ICsJCQkgICAgTUVESUFfVVJCX1NJWkUsIE1FRElB X0NVUkJFX1NJWkUpOwo+ICAgCj4gICAJZ2VuN19lbWl0X2N1cmJlX2xvYWQoYmF0Y2gsIGN1cmJl X2J1ZmZlcik7Cj4gICAKPiAgIAlnZW43X2VtaXRfaW50ZXJmYWNlX2Rlc2NyaXB0b3JfbG9hZChi YXRjaCwgaW50ZXJmYWNlX2Rlc2NyaXB0b3IpOwo+ICAgCj4gLQlnZW44X2VtaXRfbWVkaWFfb2Jq ZWN0c19zcGluKGJhdGNoKTsKPiArCWdlbl9lbWl0X21lZGlhX29iamVjdChiYXRjaCwgeG9mZnNl dCwgeW9mZnNldCk7Cj4gICAKPiAgIAlPVVRfQkFUQ0goTUlfQkFUQ0hfQlVGRkVSX0VORCk7Cj4g ICAKPiBAQCAtMTM0LDEzICsxNDYsMTQgQEAgZ2VuOV9tZWRpYV9zcGluZnVuYyhzdHJ1Y3QgaW50 ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLAo+ICAgCQkJR0VOOV9GT1JDRV9NRURJQV9BV0FLRV9NQVNL KTsKPiAgIAlnZW45X2VtaXRfc3RhdGVfYmFzZV9hZGRyZXNzKGJhdGNoKTsKPiAgIAo+IC0JZ2Vu OF9lbWl0X3ZmZV9zdGF0ZV9zcGluKGJhdGNoKTsKPiArCWdlbjhfZW1pdF92ZmVfc3RhdGUoYmF0 Y2gsIFRIUkVBRFMsIE1FRElBX1VSQl9FTlRSSUVTLAo+ICsJCQkgICAgTUVESUFfVVJCX1NJWkUs IE1FRElBX0NVUkJFX1NJWkUpOwo+ICAgCj4gICAJZ2VuN19lbWl0X2N1cmJlX2xvYWQoYmF0Y2gs IGN1cmJlX2J1ZmZlcik7Cj4gICAKPiAgIAlnZW43X2VtaXRfaW50ZXJmYWNlX2Rlc2NyaXB0b3Jf bG9hZChiYXRjaCwgaW50ZXJmYWNlX2Rlc2NyaXB0b3IpOwo+ICAgCj4gLQlnZW44X2VtaXRfbWVk aWFfb2JqZWN0c19zcGluKGJhdGNoKTsKPiArCWdlbl9lbWl0X21lZGlhX29iamVjdChiYXRjaCwg eG9mZnNldCwgeW9mZnNldCk7Cj4gICAKPiAgIAlPVVRfQkFUQ0goR0VOOF9QSVBFTElORV9TRUxF Q1QgfCBQSVBFTElORV9TRUxFQ1RfTUVESUEgfAo+ICAgCQkJR0VOOV9GT1JDRV9NRURJQV9BV0FL RV9ESVNBQkxFIHwKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==