From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 3/4] drm/i915: Make pipe_config_err() vs. fastset less confusing Date: Wed, 12 Jun 2019 18:43:29 +0300 Message-ID: <20190612154329.GC29361@ideak-desk.fi.intel.com> References: <20190612130801.2085-1-ville.syrjala@linux.intel.com> <20190612130801.2085-3-ville.syrjala@linux.intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3189E89468 for ; Wed, 12 Jun 2019 15:43:39 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190612130801.2085-3-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdW4gMTIsIDIwMTkgYXQgMDQ6MDg6MDBQTSArMDMwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFJlbmFtZSBwaXBlX2NvbmZpZ19lcnIoKSB0byBwaXBlX2NvbmZpZ19taXNtYXRj aCgpLCBhbmQgYWxzbyBwcmludAo+IHdoZXRoZXIgd2UncmUgZG9pbmcgdGhlIGZhc3RzZXQgY2hl Y2sgb3IgdGhlIHN3IHZzLiBodyBzdGF0ZSByZWFkb3V0Cj4gY2hlY2suIFNob3VsZCBtYWtlIHRo ZSBsb2dzIGEgYml0IGxlc3MgY29uZnVzaW5nIHdoZW4gdGhleSdyZSBub3QKPiBmaWxsZWQgd2l0 aCB3aGF0IGxvb2tzIGxpa2UgYSByZWFsIGVycm9yLgo+IAo+IEFsc28gcmVuYW1lIHRoZSAnYWRq dXN0JyB2YXJpYWJsZSB0byAnZmFzdHNldCcgdG8gbWFrZSBpdCBjbGVhciB3aGF0Cj4gaXQgbWVh bnMuCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KCk1ha2VzIGl0IGVhc2llciB0byBkaWZmZXJlbnRpYXRlIHRoZSB0d28g cmVhc29uIGZvciBhIGNvbXBhcmlzb24KbWlzbWF0Y2ggaW4gdGhlIGxvZyBhdCBhIGdsYW5jZToK ClJldmlld2VkLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxNTggKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCA3OSBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggZGNj MzAxZGY2MTc0Li5lYzNiN2U4MjU2MTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gQEAgLTEyMzA5LDE2ICsxMjMwOSwxNiBAQCBpbnRlbF9jb21wYXJlX2luZm9mcmFt ZShjb25zdCB1bmlvbiBoZG1pX2luZm9mcmFtZSAqYSwKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQK PiAtcGlwZV9jb25maWdfaW5mb2ZyYW1lX2VycihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gLQkJCSAgYm9vbCBhZGp1c3QsIGNvbnN0IGNoYXIgKm5hbWUsCj4gLQkJCSAgY29u c3QgdW5pb24gaGRtaV9pbmZvZnJhbWUgKmEsCj4gLQkJCSAgY29uc3QgdW5pb24gaGRtaV9pbmZv ZnJhbWUgKmIpCj4gK3BpcGVfY29uZmlnX2luZm9mcmFtZV9taXNtYXRjaChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCSAgICAgICBib29sIGZhc3RzZXQsIGNvbnN0IGNo YXIgKm5hbWUsCj4gKwkJCSAgICAgICBjb25zdCB1bmlvbiBoZG1pX2luZm9mcmFtZSAqYSwKPiAr CQkJICAgICAgIGNvbnN0IHVuaW9uIGhkbWlfaW5mb2ZyYW1lICpiKQo+ICB7Cj4gLQlpZiAoYWRq dXN0KSB7Cj4gKwlpZiAoZmFzdHNldCkgewo+ICAJCWlmICgoZHJtX2RlYnVnICYgRFJNX1VUX0tN UykgPT0gMCkKPiAgCQkJcmV0dXJuOwo+ICAKPiAtCQlkcm1fZGJnKERSTV9VVF9LTVMsICJtaXNt YXRjaCBpbiAlcyBpbmZvZnJhbWUiLCBuYW1lKTsKPiArCQlkcm1fZGJnKERSTV9VVF9LTVMsICJm YXN0c2V0IG1pc21hdGNoIGluICVzIGluZm9mcmFtZSIsIG5hbWUpOwo+ICAJCWRybV9kYmcoRFJN X1VUX0tNUywgImV4cGVjdGVkOiIpOwo+ICAJCWhkbWlfaW5mb2ZyYW1lX2xvZyhLRVJOX0RFQlVH LCBkZXZfcHJpdi0+ZHJtLmRldiwgYSk7Cj4gIAkJZHJtX2RiZyhEUk1fVVRfS01TLCAiZm91bmQi KTsKPiBAQCAtMTIzMzMsNyArMTIzMzMsNyBAQCBwaXBlX2NvbmZpZ19pbmZvZnJhbWVfZXJyKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQg X19wcmludGYoMywgNCkKPiAtcGlwZV9jb25maWdfZXJyKGJvb2wgYWRqdXN0LCBjb25zdCBjaGFy ICpuYW1lLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKPiArcGlwZV9jb25maWdfbWlzbWF0Y2go Ym9vbCBmYXN0c2V0LCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikK PiAgewo+ICAJc3RydWN0IHZhX2Zvcm1hdCB2YWY7Cj4gIAl2YV9saXN0IGFyZ3M7Cj4gQEAgLTEy MzQyLDggKzEyMzQyLDggQEAgcGlwZV9jb25maWdfZXJyKGJvb2wgYWRqdXN0LCBjb25zdCBjaGFy ICpuYW1lLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKPiAgCXZhZi5mbXQgPSBmb3JtYXQ7Cj4g IAl2YWYudmEgPSAmYXJnczsKPiAgCj4gLQlpZiAoYWRqdXN0KQo+IC0JCWRybV9kYmcoRFJNX1VU X0tNUywgIm1pc21hdGNoIGluICVzICVwViIsIG5hbWUsICZ2YWYpOwo+ICsJaWYgKGZhc3RzZXQp Cj4gKwkJZHJtX2RiZyhEUk1fVVRfS01TLCAiZmFzdHNldCBtaXNtYXRjaCBpbiAlcyAlcFYiLCBu YW1lLCAmdmFmKTsKPiAgCWVsc2UKPiAgCQlkcm1fZXJyKCJtaXNtYXRjaCBpbiAlcyAlcFYiLCBu YW1lLCAmdmFmKTsKPiAgCj4gQEAgLTEyMzcwLDExICsxMjM3MCwxMSBAQCBzdGF0aWMgYm9vbCBm YXN0Ym9vdF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgc3Rh dGljIGJvb2wKPiAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3VycmVudF9jb25maWcsCj4gIAkJCSAgY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+IC0JCQkgIGJvb2wgYWRqdXN0KQo+ICsJCQkgIGJvb2wg ZmFzdHNldCkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjdXJyZW50X2NvbmZpZy0+YmFzZS5jcnRjLT5kZXYpOwo+ICAJYm9vbCByZXQgPSB0cnVl Owo+IC0JYm9vbCBmaXh1cF9pbmhlcml0ZWQgPSBhZGp1c3QgJiYKPiArCWJvb2wgZml4dXBfaW5o ZXJpdGVkID0gZmFzdHNldCAmJgo+ICAJCShjdXJyZW50X2NvbmZpZy0+YmFzZS5tb2RlLnByaXZh dGVfZmxhZ3MgJiBJOTE1X01PREVfRkxBR19JTkhFUklURUQpICYmCj4gIAkJIShwaXBlX2NvbmZp Zy0+YmFzZS5tb2RlLnByaXZhdGVfZmxhZ3MgJiBJOTE1X01PREVfRkxBR19JTkhFUklURUQpOwo+ ICAKPiBAQCAtMTIzODUsMzAgKzEyMzg1LDMwIEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmN1cnJlbnRfY29uZmlnLAo+ICAKPiAgI2Rl ZmluZSBQSVBFX0NPTkZfQ0hFQ0tfWChuYW1lKSBkbyB7IFwKPiAgCWlmIChjdXJyZW50X2NvbmZp Zy0+bmFtZSAhPSBwaXBlX2NvbmZpZy0+bmFtZSkgeyBcCj4gLQkJcGlwZV9jb25maWdfZXJyKGFk anVzdCwgX19zdHJpbmdpZnkobmFtZSksIFwKPiAtCQkJICAiKGV4cGVjdGVkIDB4JTA4eCwgZm91 bmQgMHglMDh4KVxuIiwgXAo+IC0JCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lLCBcCj4gLQkJCSAg cGlwZV9jb25maWctPm5hbWUpOyBcCj4gKwkJcGlwZV9jb25maWdfbWlzbWF0Y2goZmFzdHNldCwg X19zdHJpbmdpZnkobmFtZSksIFwKPiArCQkJCSAgICAgIihleHBlY3RlZCAweCUwOHgsIGZvdW5k IDB4JTA4eClcbiIsIFwKPiArCQkJCSAgICAgY3VycmVudF9jb25maWctPm5hbWUsIFwKPiArCQkJ CSAgICAgcGlwZV9jb25maWctPm5hbWUpOyBcCj4gIAkJcmV0ID0gZmFsc2U7IFwKPiAgCX0gXAo+ ICB9IHdoaWxlICgwKQo+ICAKPiAgI2RlZmluZSBQSVBFX0NPTkZfQ0hFQ0tfSShuYW1lKSBkbyB7 IFwKPiAgCWlmIChjdXJyZW50X2NvbmZpZy0+bmFtZSAhPSBwaXBlX2NvbmZpZy0+bmFtZSkgeyBc Cj4gLQkJcGlwZV9jb25maWdfZXJyKGFkanVzdCwgX19zdHJpbmdpZnkobmFtZSksIFwKPiAtCQkJ ICAiKGV4cGVjdGVkICVpLCBmb3VuZCAlaSlcbiIsIFwKPiAtCQkJICBjdXJyZW50X2NvbmZpZy0+ bmFtZSwgXAo+IC0JCQkgIHBpcGVfY29uZmlnLT5uYW1lKTsgXAo+ICsJCXBpcGVfY29uZmlnX21p c21hdGNoKGZhc3RzZXQsIF9fc3RyaW5naWZ5KG5hbWUpLCBcCj4gKwkJCQkgICAgICIoZXhwZWN0 ZWQgJWksIGZvdW5kICVpKVxuIiwgXAo+ICsJCQkJICAgICBjdXJyZW50X2NvbmZpZy0+bmFtZSwg XAo+ICsJCQkJICAgICBwaXBlX2NvbmZpZy0+bmFtZSk7IFwKPiAgCQlyZXQgPSBmYWxzZTsgXAo+ ICAJfSBcCj4gIH0gd2hpbGUgKDApCj4gIAo+ICAjZGVmaW5lIFBJUEVfQ09ORl9DSEVDS19CT09M KG5hbWUpIGRvIHsgXAo+ICAJaWYgKGN1cnJlbnRfY29uZmlnLT5uYW1lICE9IHBpcGVfY29uZmln LT5uYW1lKSB7IFwKPiAtCQlwaXBlX2NvbmZpZ19lcnIoYWRqdXN0LCBfX3N0cmluZ2lmeShuYW1l KSwgXAo+IC0JCQkgICIoZXhwZWN0ZWQgJXMsIGZvdW5kICVzKVxuIiwgXAo+IC0JCQkgIHllc25v KGN1cnJlbnRfY29uZmlnLT5uYW1lKSwgXAo+IC0JCQkgIHllc25vKHBpcGVfY29uZmlnLT5uYW1l KSk7IFwKPiArCQlwaXBlX2NvbmZpZ19taXNtYXRjaChmYXN0c2V0LCBfX3N0cmluZ2lmeShuYW1l KSwgXAo+ICsJCQkJICAgICAiKGV4cGVjdGVkICVzLCBmb3VuZCAlcylcbiIsIFwKPiArCQkJCSAg ICAgeWVzbm8oY3VycmVudF9jb25maWctPm5hbWUpLCBcCj4gKwkJCQkgICAgIHllc25vKHBpcGVf Y29uZmlnLT5uYW1lKSk7IFwKPiAgCQlyZXQgPSBmYWxzZTsgXAo+ICAJfSBcCj4gIH0gd2hpbGUg KDApCj4gQEAgLTEyNDIyLDIwICsxMjQyMiwyMCBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJl KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJyZW50X2NvbmZpZywKPiAgCWlmICgh Zml4dXBfaW5oZXJpdGVkIHx8ICghY3VycmVudF9jb25maWctPm5hbWUgJiYgIXBpcGVfY29uZmln LT5uYW1lKSkgeyBcCj4gIAkJUElQRV9DT05GX0NIRUNLX0JPT0wobmFtZSk7IFwKPiAgCX0gZWxz ZSB7IFwKPiAtCQlwaXBlX2NvbmZpZ19lcnIoYWRqdXN0LCBfX3N0cmluZ2lmeShuYW1lKSwgXAo+ IC0JCQkgICJ1bmFibGUgdG8gdmVyaWZ5IHdoZXRoZXIgc3RhdGUgbWF0Y2hlcyBleGFjdGx5LCBm b3JjaW5nIG1vZGVzZXQgKGV4cGVjdGVkICVzLCBmb3VuZCAlcylcbiIsIFwKPiAtCQkJICB5ZXNu byhjdXJyZW50X2NvbmZpZy0+bmFtZSksIFwKPiAtCQkJICB5ZXNubyhwaXBlX2NvbmZpZy0+bmFt ZSkpOyBcCj4gKwkJcGlwZV9jb25maWdfbWlzbWF0Y2goZmFzdHNldCwgX19zdHJpbmdpZnkobmFt ZSksIFwKPiArCQkJCSAgICAgInVuYWJsZSB0byB2ZXJpZnkgd2hldGhlciBzdGF0ZSBtYXRjaGVz IGV4YWN0bHksIGZvcmNpbmcgbW9kZXNldCAoZXhwZWN0ZWQgJXMsIGZvdW5kICVzKVxuIiwgXAo+ ICsJCQkJICAgICB5ZXNubyhjdXJyZW50X2NvbmZpZy0+bmFtZSksIFwKPiArCQkJCSAgICAgeWVz bm8ocGlwZV9jb25maWctPm5hbWUpKTsgXAo+ICAJCXJldCA9IGZhbHNlOyBcCj4gIAl9IFwKPiAg fSB3aGlsZSAoMCkKPiAgCj4gICNkZWZpbmUgUElQRV9DT05GX0NIRUNLX1AobmFtZSkgZG8geyBc Cj4gIAlpZiAoY3VycmVudF9jb25maWctPm5hbWUgIT0gcGlwZV9jb25maWctPm5hbWUpIHsgXAo+ IC0JCXBpcGVfY29uZmlnX2VycihhZGp1c3QsIF9fc3RyaW5naWZ5KG5hbWUpLCBcCj4gLQkJCSAg IihleHBlY3RlZCAlcCwgZm91bmQgJXApXG4iLCBcCj4gLQkJCSAgY3VycmVudF9jb25maWctPm5h bWUsIFwKPiAtCQkJICBwaXBlX2NvbmZpZy0+bmFtZSk7IFwKPiArCQlwaXBlX2NvbmZpZ19taXNt YXRjaChmYXN0c2V0LCBfX3N0cmluZ2lmeShuYW1lKSwgXAo+ICsJCQkJICAgICAiKGV4cGVjdGVk ICVwLCBmb3VuZCAlcClcbiIsIFwKPiArCQkJCSAgICAgY3VycmVudF9jb25maWctPm5hbWUsIFwK PiArCQkJCSAgICAgcGlwZV9jb25maWctPm5hbWUpOyBcCj4gIAkJcmV0ID0gZmFsc2U7IFwKPiAg CX0gXAo+ICB9IHdoaWxlICgwKQo+IEBAIC0xMjQ0MywyMCArMTI0NDMsMjAgQEAgaW50ZWxfcGlw ZV9jb25maWdfY29tcGFyZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3VycmVudF9j b25maWcsCj4gICNkZWZpbmUgUElQRV9DT05GX0NIRUNLX01fTihuYW1lKSBkbyB7IFwKPiAgCWlm ICghaW50ZWxfY29tcGFyZV9saW5rX21fbigmY3VycmVudF9jb25maWctPm5hbWUsIFwKPiAgCQkJ CSAgICAmcGlwZV9jb25maWctPm5hbWUsXAo+IC0JCQkJICAgICFhZGp1c3QpKSB7IFwKPiAtCQlw aXBlX2NvbmZpZ19lcnIoYWRqdXN0LCBfX3N0cmluZ2lmeShuYW1lKSwgXAo+IC0JCQkgICIoZXhw ZWN0ZWQgdHUgJWkgZ21jaCAlaS8laSBsaW5rICVpLyVpLCAiIFwKPiAtCQkJICAiZm91bmQgdHUg JWksIGdtY2ggJWkvJWkgbGluayAlaS8laSlcbiIsIFwKPiAtCQkJICBjdXJyZW50X2NvbmZpZy0+ bmFtZS50dSwgXAo+IC0JCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lLmdtY2hfbSwgXAo+IC0JCQkg IGN1cnJlbnRfY29uZmlnLT5uYW1lLmdtY2hfbiwgXAo+IC0JCQkgIGN1cnJlbnRfY29uZmlnLT5u YW1lLmxpbmtfbSwgXAo+IC0JCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lLmxpbmtfbiwgXAo+IC0J CQkgIHBpcGVfY29uZmlnLT5uYW1lLnR1LCBcCj4gLQkJCSAgcGlwZV9jb25maWctPm5hbWUuZ21j aF9tLCBcCj4gLQkJCSAgcGlwZV9jb25maWctPm5hbWUuZ21jaF9uLCBcCj4gLQkJCSAgcGlwZV9j b25maWctPm5hbWUubGlua19tLCBcCj4gLQkJCSAgcGlwZV9jb25maWctPm5hbWUubGlua19uKTsg XAo+ICsJCQkJICAgICFmYXN0c2V0KSkgeyBcCj4gKwkJcGlwZV9jb25maWdfbWlzbWF0Y2goZmFz dHNldCwgX19zdHJpbmdpZnkobmFtZSksIFwKPiArCQkJCSAgICAgIihleHBlY3RlZCB0dSAlaSBn bWNoICVpLyVpIGxpbmsgJWkvJWksICIgXAo+ICsJCQkJICAgICAiZm91bmQgdHUgJWksIGdtY2gg JWkvJWkgbGluayAlaS8laSlcbiIsIFwKPiArCQkJCSAgICAgY3VycmVudF9jb25maWctPm5hbWUu dHUsIFwKPiArCQkJCSAgICAgY3VycmVudF9jb25maWctPm5hbWUuZ21jaF9tLCBcCj4gKwkJCQkg ICAgIGN1cnJlbnRfY29uZmlnLT5uYW1lLmdtY2hfbiwgXAo+ICsJCQkJICAgICBjdXJyZW50X2Nv bmZpZy0+bmFtZS5saW5rX20sIFwKPiArCQkJCSAgICAgY3VycmVudF9jb25maWctPm5hbWUubGlu a19uLCBcCj4gKwkJCQkgICAgIHBpcGVfY29uZmlnLT5uYW1lLnR1LCBcCj4gKwkJCQkgICAgIHBp cGVfY29uZmlnLT5uYW1lLmdtY2hfbSwgXAo+ICsJCQkJICAgICBwaXBlX2NvbmZpZy0+bmFtZS5n bWNoX24sIFwKPiArCQkJCSAgICAgcGlwZV9jb25maWctPm5hbWUubGlua19tLCBcCj4gKwkJCQkg ICAgIHBpcGVfY29uZmlnLT5uYW1lLmxpbmtfbik7IFwKPiAgCQlyZXQgPSBmYWxzZTsgXAo+ICAJ fSBcCj4gIH0gd2hpbGUgKDApCj4gQEAgLTEyNDY4LDQ5ICsxMjQ2OCw0OSBAQCBpbnRlbF9waXBl X2NvbmZpZ19jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJyZW50X2Nv bmZpZywKPiAgICovCj4gICNkZWZpbmUgUElQRV9DT05GX0NIRUNLX01fTl9BTFQobmFtZSwgYWx0 X25hbWUpIGRvIHsgXAo+ICAJaWYgKCFpbnRlbF9jb21wYXJlX2xpbmtfbV9uKCZjdXJyZW50X2Nv bmZpZy0+bmFtZSwgXAo+IC0JCQkJICAgICZwaXBlX2NvbmZpZy0+bmFtZSwgIWFkanVzdCkgJiYg XAo+ICsJCQkJICAgICZwaXBlX2NvbmZpZy0+bmFtZSwgIWZhc3RzZXQpICYmIFwKPiAgCSAgICAh aW50ZWxfY29tcGFyZV9saW5rX21fbigmY3VycmVudF9jb25maWctPmFsdF9uYW1lLCBcCj4gLQkJ CQkgICAgJnBpcGVfY29uZmlnLT5uYW1lLCAhYWRqdXN0KSkgeyBcCj4gLQkJcGlwZV9jb25maWdf ZXJyKGFkanVzdCwgX19zdHJpbmdpZnkobmFtZSksIFwKPiAtCQkJICAiKGV4cGVjdGVkIHR1ICVp IGdtY2ggJWkvJWkgbGluayAlaS8laSwgIiBcCj4gLQkJCSAgIm9yIHR1ICVpIGdtY2ggJWkvJWkg bGluayAlaS8laSwgIiBcCj4gLQkJCSAgImZvdW5kIHR1ICVpLCBnbWNoICVpLyVpIGxpbmsgJWkv JWkpXG4iLCBcCj4gLQkJCSAgY3VycmVudF9jb25maWctPm5hbWUudHUsIFwKPiAtCQkJICBjdXJy ZW50X2NvbmZpZy0+bmFtZS5nbWNoX20sIFwKPiAtCQkJICBjdXJyZW50X2NvbmZpZy0+bmFtZS5n bWNoX24sIFwKPiAtCQkJICBjdXJyZW50X2NvbmZpZy0+bmFtZS5saW5rX20sIFwKPiAtCQkJICBj dXJyZW50X2NvbmZpZy0+bmFtZS5saW5rX24sIFwKPiAtCQkJICBjdXJyZW50X2NvbmZpZy0+YWx0 X25hbWUudHUsIFwKPiAtCQkJICBjdXJyZW50X2NvbmZpZy0+YWx0X25hbWUuZ21jaF9tLCBcCj4g LQkJCSAgY3VycmVudF9jb25maWctPmFsdF9uYW1lLmdtY2hfbiwgXAo+IC0JCQkgIGN1cnJlbnRf Y29uZmlnLT5hbHRfbmFtZS5saW5rX20sIFwKPiAtCQkJICBjdXJyZW50X2NvbmZpZy0+YWx0X25h bWUubGlua19uLCBcCj4gLQkJCSAgcGlwZV9jb25maWctPm5hbWUudHUsIFwKPiAtCQkJICBwaXBl X2NvbmZpZy0+bmFtZS5nbWNoX20sIFwKPiAtCQkJICBwaXBlX2NvbmZpZy0+bmFtZS5nbWNoX24s IFwKPiAtCQkJICBwaXBlX2NvbmZpZy0+bmFtZS5saW5rX20sIFwKPiAtCQkJICBwaXBlX2NvbmZp Zy0+bmFtZS5saW5rX24pOyBcCj4gKwkJCQkgICAgJnBpcGVfY29uZmlnLT5uYW1lLCAhZmFzdHNl dCkpIHsgXAo+ICsJCXBpcGVfY29uZmlnX21pc21hdGNoKGZhc3RzZXQsIF9fc3RyaW5naWZ5KG5h bWUpLCBcCj4gKwkJCQkgICAgICIoZXhwZWN0ZWQgdHUgJWkgZ21jaCAlaS8laSBsaW5rICVpLyVp LCAiIFwKPiArCQkJCSAgICAgIm9yIHR1ICVpIGdtY2ggJWkvJWkgbGluayAlaS8laSwgIiBcCj4g KwkJCQkgICAgICJmb3VuZCB0dSAlaSwgZ21jaCAlaS8laSBsaW5rICVpLyVpKVxuIiwgXAo+ICsJ CQkJICAgICBjdXJyZW50X2NvbmZpZy0+bmFtZS50dSwgXAo+ICsJCQkJICAgICBjdXJyZW50X2Nv bmZpZy0+bmFtZS5nbWNoX20sIFwKPiArCQkJCSAgICAgY3VycmVudF9jb25maWctPm5hbWUuZ21j aF9uLCBcCj4gKwkJCQkgICAgIGN1cnJlbnRfY29uZmlnLT5uYW1lLmxpbmtfbSwgXAo+ICsJCQkJ ICAgICBjdXJyZW50X2NvbmZpZy0+bmFtZS5saW5rX24sIFwKPiArCQkJCSAgICAgY3VycmVudF9j b25maWctPmFsdF9uYW1lLnR1LCBcCj4gKwkJCQkgICAgIGN1cnJlbnRfY29uZmlnLT5hbHRfbmFt ZS5nbWNoX20sIFwKPiArCQkJCSAgICAgY3VycmVudF9jb25maWctPmFsdF9uYW1lLmdtY2hfbiwg XAo+ICsJCQkJICAgICBjdXJyZW50X2NvbmZpZy0+YWx0X25hbWUubGlua19tLCBcCj4gKwkJCQkg ICAgIGN1cnJlbnRfY29uZmlnLT5hbHRfbmFtZS5saW5rX24sIFwKPiArCQkJCSAgICAgcGlwZV9j b25maWctPm5hbWUudHUsIFwKPiArCQkJCSAgICAgcGlwZV9jb25maWctPm5hbWUuZ21jaF9tLCBc Cj4gKwkJCQkgICAgIHBpcGVfY29uZmlnLT5uYW1lLmdtY2hfbiwgXAo+ICsJCQkJICAgICBwaXBl X2NvbmZpZy0+bmFtZS5saW5rX20sIFwKPiArCQkJCSAgICAgcGlwZV9jb25maWctPm5hbWUubGlu a19uKTsgXAo+ICAJCXJldCA9IGZhbHNlOyBcCj4gIAl9IFwKPiAgfSB3aGlsZSAoMCkKPiAgCj4g ICNkZWZpbmUgUElQRV9DT05GX0NIRUNLX0ZMQUdTKG5hbWUsIG1hc2spIGRvIHsgXAo+ICAJaWYg KChjdXJyZW50X2NvbmZpZy0+bmFtZSBeIHBpcGVfY29uZmlnLT5uYW1lKSAmIChtYXNrKSkgeyBc Cj4gLQkJcGlwZV9jb25maWdfZXJyKGFkanVzdCwgX19zdHJpbmdpZnkobmFtZSksIFwKPiAtCQkJ ICAiKCV4KSAoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwgXAo+IC0JCQkgIChtYXNrKSwgXAo+ IC0JCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lICYgKG1hc2spLCBcCj4gLQkJCSAgcGlwZV9jb25m aWctPm5hbWUgJiAobWFzaykpOyBcCj4gKwkJcGlwZV9jb25maWdfbWlzbWF0Y2goZmFzdHNldCwg X19zdHJpbmdpZnkobmFtZSksIFwKPiArCQkJCSAgICAgIigleCkgKGV4cGVjdGVkICVpLCBmb3Vu ZCAlaSlcbiIsIFwKPiArCQkJCSAgICAgKG1hc2spLCBcCj4gKwkJCQkgICAgIGN1cnJlbnRfY29u ZmlnLT5uYW1lICYgKG1hc2spLCBcCj4gKwkJCQkgICAgIHBpcGVfY29uZmlnLT5uYW1lICYgKG1h c2spKTsgXAo+ICAJCXJldCA9IGZhbHNlOyBcCj4gIAl9IFwKPiAgfSB3aGlsZSAoMCkKPiAgCj4g ICNkZWZpbmUgUElQRV9DT05GX0NIRUNLX0NMT0NLX0ZVWlpZKG5hbWUpIGRvIHsgXAo+ICAJaWYg KCFpbnRlbF9mdXp6eV9jbG9ja19jaGVjayhjdXJyZW50X2NvbmZpZy0+bmFtZSwgcGlwZV9jb25m aWctPm5hbWUpKSB7IFwKPiAtCQlwaXBlX2NvbmZpZ19lcnIoYWRqdXN0LCBfX3N0cmluZ2lmeShu YW1lKSwgXAo+IC0JCQkgICIoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwgXAo+IC0JCQkgIGN1 cnJlbnRfY29uZmlnLT5uYW1lLCBcCj4gLQkJCSAgcGlwZV9jb25maWctPm5hbWUpOyBcCj4gKwkJ cGlwZV9jb25maWdfbWlzbWF0Y2goZmFzdHNldCwgX19zdHJpbmdpZnkobmFtZSksIFwKPiArCQkJ CSAgICAgIihleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4iLCBcCj4gKwkJCQkgICAgIGN1cnJlbnRf Y29uZmlnLT5uYW1lLCBcCj4gKwkJCQkgICAgIHBpcGVfY29uZmlnLT5uYW1lKTsgXAo+ICAJCXJl dCA9IGZhbHNlOyBcCj4gIAl9IFwKPiAgfSB3aGlsZSAoMCkKPiBAQCAtMTI1MTgsOSArMTI1MTgs OSBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjdXJyZW50X2NvbmZpZywKPiAgI2RlZmluZSBQSVBFX0NPTkZfQ0hFQ0tfSU5GT0ZSQU1F KG5hbWUpIGRvIHsgXAo+ICAJaWYgKCFpbnRlbF9jb21wYXJlX2luZm9mcmFtZSgmY3VycmVudF9j b25maWctPmluZm9mcmFtZXMubmFtZSwgXAo+ICAJCQkJICAgICAmcGlwZV9jb25maWctPmluZm9m cmFtZXMubmFtZSkpIHsgXAo+IC0JCXBpcGVfY29uZmlnX2luZm9mcmFtZV9lcnIoZGV2X3ByaXYs IGFkanVzdCwgX19zdHJpbmdpZnkobmFtZSksIFwKPiAtCQkJCQkgICZjdXJyZW50X2NvbmZpZy0+ aW5mb2ZyYW1lcy5uYW1lLCBcCj4gLQkJCQkJICAmcGlwZV9jb25maWctPmluZm9mcmFtZXMubmFt ZSk7IFwKPiArCQlwaXBlX2NvbmZpZ19pbmZvZnJhbWVfbWlzbWF0Y2goZGV2X3ByaXYsIGZhc3Rz ZXQsIF9fc3RyaW5naWZ5KG5hbWUpLCBcCj4gKwkJCQkJICAgICAgICZjdXJyZW50X2NvbmZpZy0+ aW5mb2ZyYW1lcy5uYW1lLCBcCj4gKwkJCQkJICAgICAgICZwaXBlX2NvbmZpZy0+aW5mb2ZyYW1l cy5uYW1lKTsgXAo+ICAJCXJldCA9IGZhbHNlOyBcCj4gIAl9IFwKPiAgfSB3aGlsZSAoMCkKPiBA QCAtMTI2MDAsNyArMTI2MDAsNyBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJyZW50X2NvbmZpZywKPiAgCSAqLwo+ICAJUElQRV9D T05GX0NIRUNLX0JPT0wocGNoX3BmaXQuZm9yY2VfdGhydSk7Cj4gIAo+IC0JaWYgKCFhZGp1c3Qp IHsKPiArCWlmICghZmFzdHNldCkgewo+ICAJCVBJUEVfQ09ORl9DSEVDS19JKHBpcGVfc3JjX3cp Owo+ICAJCVBJUEVfQ09ORl9DSEVDS19JKHBpcGVfc3JjX2gpOwo+ICAKPiAtLSAKPiAyLjIxLjAK PiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IElu dGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4