From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3 02/15] drm/i915: Don't try to use the hardware frame counter with i965gm TV output Date: Tue, 22 Jan 2019 14:51:49 +0200 Message-ID: <20190122125149.GE5527@ideak-desk.fi.intel.com> References: <20181112170000.27531-3-ville.syrjala@linux.intel.com> <20181127200550.19727-1-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: Content-Disposition: inline In-Reply-To: <20181127200550.19727-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, stable@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMjcsIDIwMTggYXQgMTA6MDU6NTBQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IE9uIGk5NjVnbSB0aGUgaGFyZHdhcmUgZnJhbWUgY291bnRlciBkb2VzIG5vdCB3 b3JrIHdoZW4KPiB0aGUgVFYgZW5jb2RlciBpcyBhY3RpdmUuIFNvIGxldCdzIG5vdCB0cnkgdG8g Y29uc3VsdAo+IHRoZSBoYXJkd2FyZSBmcmFtZSBjb3VudGVyIGluIHRoYXQgY2FzZS4gSW5zdGVh ZCB3ZSdsbAo+IGZhbGwgYmFjayB0byB0aGUgdGltZXN0YW1wIGJhc2VkIGd1ZXNzdGltYXRpb24g bWV0aG9kCj4gdXNlZCBvbiBnZW4yLgo+IAo+IE5vdGUgdGhhdCB0aGUgcGlwZSB0aW1pbmdzIGdl bmVyYXRlZCBieSB0aGUgVFYgZW5jb2Rlcgo+IGFyZSBhbHNvIHJhdGhlciBwZWN1bGlhci4gQXBw YXJlbnRseSB0aGUgcGlwZSB3YW50cyB0bwo+IHJ1biBhdCBhIG11Y2ggaGlnaGVyIHNwZWVkIChy ZWxhdGVkIHRvIHRoZSBvdmVyc2FtcGxlCj4gY2xvY2sgc29tZWhvdyBpdCBzZWVtcykgYnV0IGR1 cmluZyB0aGUgdmVydGljYWwgYWN0aXZlCj4gcGVyaW9kIHRoZSBUViBlbmNvZGVyIHN0YWxscyB0 aGUgcGlwZSBldmVyeSBmZXcgbGluZXMKPiB0byBrZWVwIGl0cyBzcGVlZCBpbiBjaGVjay4gQnV0 IG9uY2UgdGhlIHZlcnRpY2FsCj4gYmxhbmtpbmcgcGVyaW9kIGlzIHJlYWNoZWQgdGhlIHBpcGUg Z2V0cyB0byBydW4gYXQgZnVsbAo+IHNwZWVkLiBUaGlzIG1lYW5zIG91ciB2YmxhbmsgdGltZXN0 YW1wIGVzdGltYXRlcyBhcmUKPiBzdXNwZWN0LiBGaXhpbmcgYWxsIHRoYXQgd291bGQgcmVxdWly ZSBxdWl0ZSBhIGJpdAo+IG1vcmUgd29yay4gVGhpcyBzaW1wbGUgZml4IGF0IGxlYXN0IGF2b2lk cyB0aGUgbmFzdHkKPiB2YmxhbmsgdGltZW91dHMgdGhhdCBhcmUgaGFwcGVuaW5nIGN1cnJlbnRs eS4KPiAKPiBDdXJpb3VzbHkgdGhlIGZyYW1lIGNvdW50ZXIgd29ya3MganVzdCBmaW5lIG9uIGk5 NDVnbQo+IGFuZCBnbTQ1LiBJIGRvbid0IHJlYWxseSB1bmRlcnN0YW5kIHdoYXQga2luZCBvZiBt aXNoYXAKPiBvY2N1cnJlZCB3aXRoIHRoZSBoYXJkd2FyZSBkZXNpZ24gb24gaTk2NWdtLiBTYWRs eQo+IEkgd2Fzbid0IGFibGUgdG8gZmluZCBhbnkgY2hpY2tlbiBiaXRzIGV0Yy4gdGhhdCB3b3Vs ZAo+IGZpeCB0aGUgZnJhbWUgY291bnRlciA6KAo+IAo+IHYyOiBNb3ZlIHRoZSB6ZXJvIHZzLiBu b24temVybyBodyBjb3VudGVyIHZhbHVlIGhhbmRsaW5nCj4gICAgIGludG8gaTkxNV9nZXRfdmJs YW5rX2NvdW50ZXIoKSAoRGFuaWVsKQo+ICAgICBVc2UgdGhlIHBlci1jcnRjIG1heGltdW0gZXhj bHVzaXZlbHksIGxlYXZpbmcgdGhlCj4gICAgIHBlci1kZXZpY2UgbWF4aW11bSBhdCB6ZXJvCj4g djM6IG1heF92YmxhbmtfY291bnQgbm90IHBvcHVsYXRlZCB5ZXQgaW4gaW50ZWxfZW5hYmxlX3Bp cGUoKQo+ICAgICB1c2UgaW50ZWxfY3J0Y19tYXhfdmJsYW5rX2NvdW50KCkgaW5zdGVhZAo+IAo+ IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBm ZndsbC5jaD4KPiBGaXhlczogNTFlMzFkNDljODkwICgiZHJtL2k5MTU6IFVzZSBnZW5lcmljIHZi bGFuayB3YWl0IikKPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9OTM3ODIKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IAo+IGZpeCMJX3NsdWJfYnJva2VuLlMKICBeIHNv bWUgcmVtbmFudAoKUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4K Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICB8IDI3ICsrKysr KysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNDgg KysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDU4IGluc2Vy dGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IGlu ZGV4IGQ0NDdkN2Q1MDhmNC4uYWIyZDRlZWZlZjE4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jCj4gQEAgLTgyMiwxMSArODIyLDI2IEBAIHN0YXRpYyB2b2lkIGk5MTVfZW5hYmxlX2FzbGVf cGlwZXN0YXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICBzdGF0aWMgdTMy IGk5MTVfZ2V0X3ZibGFua19jb3VudGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVk IGludCBwaXBlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gKwlzdHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2LT52 YmxhbmtbcGlwZV07Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZ2 YmxhbmstPmh3bW9kZTsKPiAgCWk5MTVfcmVnX3QgaGlnaF9mcmFtZSwgbG93X2ZyYW1lOwo+ICAJ dTMyIGhpZ2gxLCBoaWdoMiwgbG93LCBwaXhlbCwgdmJsX3N0YXJ0LCBoc3luY19zdGFydCwgaHRv dGFsOwo+IC0JY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmZGV2LT52Ymxh bmtbcGlwZV0uaHdtb2RlOwo+ICAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKPiAgCj4gKwkvKgo+ ICsJICogT24gaTk2NWdtIFRWIG91dHB1dCB0aGUgZnJhbWUgY291bnRlciBvbmx5IHdvcmtzIHVw IHRvCj4gKwkgKiB0aGUgcG9pbnQgd2hlbiB3ZSBlbmFibGUgdGhlIFRWIGVuY29kZXIuIEFmdGVy IHRoYXQgdGhlCj4gKwkgKiBmcmFtZSBjb3VudGVyIGNlYXNlcyB0byB3b3JrIGFuZCByZWFkcyB6 ZXJvLiBXZSBuZWVkIGEKPiArCSAqIHZibGFuayB3YWl0IGJlZm9yZSBlbmFibGluZyB0aGUgVFYg ZW5jb2RlciBhbmQgc28gd2UKPiArCSAqIGhhdmUgdG8gZW5hYmxlIHZibGFuayBpbnRlcnJ1cHRz IHdoaWxlIHRoZSBmcmFtZSBjb3VudGVyCj4gKwkgKiBpcyBzdGlsbCBpbiBhIHdvcmtpbmcgc3Rh dGUuIEhvd2V2ZXIgdGhlIGNvcmUgdmJsYW5rIGNvZGUKPiArCSAqIGRvZXMgbm90IGxpa2UgdXMg cmV0dXJuaW5nIG5vbi16ZXJvIGZyYW1lIGNvdW50ZXIgdmFsdWVzCj4gKwkgKiB3aGVuIHdlJ3Zl IHRvbGQgaXQgdGhhdCB3ZSBkb24ndCBoYXZlIGEgd29ya2luZyBmcmFtZQo+ICsJICogY291bnRl ci4gVGh1cyB3ZSBtdXN0IHN0b3Agbm9uLXplcm8gdmFsdWVzIGxlYWtpbmcgb3V0Lgo+ICsJICov Cj4gKwlpZiAoIXZibGFuay0+bWF4X3ZibGFua19jb3VudCkKPiArCQlyZXR1cm4gMDsKPiArCj4g IAlodG90YWwgPSBtb2RlLT5jcnRjX2h0b3RhbDsKPiAgCWhzeW5jX3N0YXJ0ID0gbW9kZS0+Y3J0 Y19oc3luY19zdGFydDsKPiAgCXZibF9zdGFydCA9IG1vZGUtPmNydGNfdmJsYW5rX3N0YXJ0Owo+ IEBAIC00ODM2LDE2ICs0ODUxLDEwIEBAIHZvaWQgaW50ZWxfaXJxX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkK PiAgCQlycHMtPnBtX2ludHJtc2tfbWJ6IHw9IEdFTjhfUE1JTlRSX0RJU0FCTEVfUkVESVJFQ1Rf VE9fR1VDOwo+ICAKPiAtCWlmIChJU19HRU4yKGRldl9wcml2KSkgewo+IC0JCS8qIEdlbjIgZG9l c24ndCBoYXZlIGEgaGFyZHdhcmUgZnJhbWUgY291bnRlciAqLwo+IC0JCWRldi0+bWF4X3ZibGFu a19jb3VudCA9IDA7Cj4gLQl9IGVsc2UgaWYgKElTX0c0WChkZXZfcHJpdikgfHwgSU5URUxfR0VO KGRldl9wcml2KSA+PSA1KSB7Cj4gLQkJZGV2LT5tYXhfdmJsYW5rX2NvdW50ID0gMHhmZmZmZmZm ZjsgLyogZnVsbCAzMiBiaXQgY291bnRlciAqLwo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gNSB8fCBJU19HNFgoZGV2X3ByaXYpKQo+ICAJCWRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX2Nv dW50ZXIgPSBnNHhfZ2V0X3ZibGFua19jb3VudGVyOwo+IC0JfSBlbHNlIHsKPiArCWVsc2UgaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gMykKPiAgCQlkZXYtPmRyaXZlci0+Z2V0X3ZibGFua19j b3VudGVyID0gaTkxNV9nZXRfdmJsYW5rX2NvdW50ZXI7Cj4gLQkJZGV2LT5tYXhfdmJsYW5rX2Nv dW50ID0gMHhmZmZmZmY7IC8qIG9ubHkgMjQgYml0cyBvZiBmcmFtZSBjb3VudCAqLwo+IC0JfQo+ ICAKPiAgCS8qCj4gIAkgKiBPcHQgb3V0IG9mIHRoZSB2YmxhbmsgZGlzYWJsZSB0aW1lciBvbiBl dmVyeXRoaW5nIGV4Y2VwdCBnZW4yLgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBpbmRleCBlOWY0ZTIyYjJhNGUuLmNiMTNlZmY3OGFkOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTc1NCw2ICsxNzU0LDM1IEBAIGVudW0gcGlwZSBpbnRl bF9jcnRjX3BjaF90cmFuc2NvZGVyKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJCXJldHVy biBjcnRjLT5waXBlOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdTMyIGludGVsX2NydGNfbWF4X3ZibGFu a19jb3VudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRl LT5iYXNlLmNydGMtPmRldik7Cj4gKwo+ICsJLyoKPiArCSAqIE9uIGk5NjVnbSB0aGUgaGFyZHdh cmUgZnJhbWUgY291bnRlciByZWFkcwo+ICsJICogemVybyB3aGVuIHRoZSBUViBlbmNvZGVyIGlz IGVuYWJsZWQgOigKPiArCSAqLwo+ICsJaWYgKElTX0k5NjVHTShkZXZfcHJpdikgJiYKPiArCSAg ICAoY3J0Y19zdGF0ZS0+b3V0cHV0X3R5cGVzICYgQklUKElOVEVMX09VVFBVVF9UVk9VVCkpKQo+ ICsJCXJldHVybiAwOwo+ICsKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDUgfHwgSVNf RzRYKGRldl9wcml2KSkKPiArCQlyZXR1cm4gMHhmZmZmZmZmZjsgLyogZnVsbCAzMiBiaXQgY291 bnRlciAqLwo+ICsJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAzKQo+ICsJCXJldHVy biAweGZmZmZmZjsgLyogb25seSAyNCBiaXRzIG9mIGZyYW1lIGNvdW50ICovCj4gKwllbHNlCj4g KwkJcmV0dXJuIDA7IC8qIEdlbjIgZG9lc24ndCBoYXZlIGEgaGFyZHdhcmUgZnJhbWUgY291bnRl ciAqLwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX3ZibGFua19vbihjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwo+ ICsJZHJtX2NydGNfc2V0X21heF92YmxhbmtfY291bnQoJmNydGMtPmJhc2UsCj4gKwkJCQkgICAg ICBpbnRlbF9jcnRjX21heF92YmxhbmtfY291bnQoY3J0Y19zdGF0ZSkpOwo+ICsJZHJtX2NydGNf dmJsYW5rX29uKCZjcnRjLT5iYXNlKTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgaW50ZWxfZW5h YmxlX3BpcGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQo+ ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNf c3RhdGUtPmJhc2UuY3J0Yyk7Cj4gQEAgLTE4MDYsNyArMTgzNSw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2VuYWJsZV9waXBlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19z dGF0ZSkKPiAgCSAqIHdoZW4gaXQncyBkZXJpdmVkIGZyb20gdGhlIHRpbWVzdGFtcHMuIFNvIGxl dCdzIHdhaXQgZm9yIHRoZQo+ICAJICogcGlwZSB0byBzdGFydCBwcm9wZXJseSBiZWZvcmUgd2Ug Y2FsbCBkcm1fY3J0Y192Ymxhbmtfb24oKQo+ICAJICovCj4gLQlpZiAoZGV2X3ByaXYtPmRybS5t YXhfdmJsYW5rX2NvdW50ID09IDApCj4gKwlpZiAoaW50ZWxfY3J0Y19tYXhfdmJsYW5rX2NvdW50 KG5ld19jcnRjX3N0YXRlKSA9PSAwKQo+ICAJCWludGVsX3dhaXRfZm9yX3BpcGVfc2NhbmxpbmVf bW92aW5nKGNydGMpOwo+ICB9Cj4gIAo+IEBAIC01NjE3LDcgKzU2NDYsNyBAQCBzdGF0aWMgdm9p ZCBpcm9ubGFrZV9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCj4gIAkJaXJvbmxha2VfcGNoX2VuYWJsZShvbGRfaW50ZWxfc3RhdGUsIHBpcGVfY29uZmln KTsKPiAgCj4gIAlhc3NlcnRfdmJsYW5rX2Rpc2FibGVkKGNydGMpOwo+IC0JZHJtX2NydGNfdmJs YW5rX29uKGNydGMpOwo+ICsJaW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcpOwo+ICAK PiAgCWludGVsX2VuY29kZXJzX2VuYWJsZShjcnRjLCBwaXBlX2NvbmZpZywgb2xkX3N0YXRlKTsK PiAgCj4gQEAgLTU3NzQsNyArNTgwMyw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFi bGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCWludGVsX2RkaV9z ZXRfdmNfcGF5bG9hZF9hbGxvYyhwaXBlX2NvbmZpZywgdHJ1ZSk7Cj4gIAo+ICAJYXNzZXJ0X3Zi bGFua19kaXNhYmxlZChjcnRjKTsKPiAtCWRybV9jcnRjX3ZibGFua19vbihjcnRjKTsKPiArCWlu dGVsX2NydGNfdmJsYW5rX29uKHBpcGVfY29uZmlnKTsKPiAgCj4gIAlpbnRlbF9lbmNvZGVyc19l bmFibGUoY3J0YywgcGlwZV9jb25maWcsIG9sZF9zdGF0ZSk7Cj4gIAo+IEBAIC02MTE0LDcgKzYx NDMsNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCWludGVsX2VuYWJsZV9waXBlKHBpcGVfY29uZmln KTsKPiAgCj4gIAlhc3NlcnRfdmJsYW5rX2Rpc2FibGVkKGNydGMpOwo+IC0JZHJtX2NydGNfdmJs YW5rX29uKGNydGMpOwo+ICsJaW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcpOwo+ICAK PiAgCWludGVsX2VuY29kZXJzX2VuYWJsZShjcnRjLCBwaXBlX2NvbmZpZywgb2xkX3N0YXRlKTsK PiAgfQo+IEBAIC02MTczLDcgKzYyMDIsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCWludGVsX2VuYWJsZV9w aXBlKHBpcGVfY29uZmlnKTsKPiAgCj4gIAlhc3NlcnRfdmJsYW5rX2Rpc2FibGVkKGNydGMpOwo+ IC0JZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOwo+ICsJaW50ZWxfY3J0Y192Ymxhbmtfb24ocGlw ZV9jb25maWcpOwo+ICAKPiAgCWludGVsX2VuY29kZXJzX2VuYWJsZShjcnRjLCBwaXBlX2NvbmZp Zywgb2xkX3N0YXRlKTsKPiAgfQo+IEBAIC0xMjY1Myw4ICsxMjY4Miw5IEBAIHN0YXRpYyBpbnQg aW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIHUz MiBpbnRlbF9jcnRjX2dldF92YmxhbmtfY291bnRlcihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK PiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+ICsJc3Ry dWN0IGRybV92YmxhbmtfY3J0YyAqdmJsYW5rID0gJmRldi0+dmJsYW5rW2RybV9jcnRjX2luZGV4 KCZjcnRjLT5iYXNlKV07Cj4gIAo+IC0JaWYgKCFkZXYtPm1heF92YmxhbmtfY291bnQpCj4gKwlp ZiAoIXZibGFuay0+bWF4X3ZibGFua19jb3VudCkKPiAgCQlyZXR1cm4gKHUzMilkcm1fY3J0Y19h Y2N1cmF0ZV92YmxhbmtfY291bnQoJmNydGMtPmJhc2UpOwo+ICAKPiAgCXJldHVybiBkZXYtPmRy aXZlci0+Z2V0X3ZibGFua19jb3VudGVyKGRldiwgY3J0Yy0+cGlwZSk7Cj4gQEAgLTE1NzM2LDEw ICsxNTc2NiwxMiBAQCBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAkgKiB3YWl0cywgc28gd2UgbmVlZCB2YmxhbmsgaW50ZXJydXB0cyByZXN0 b3JlZCBiZWZvcmVoYW5kLgo+ICAJICovCj4gIAlmb3JfZWFjaF9pbnRlbF9jcnRjKCZkZXZfcHJp di0+ZHJtLCBjcnRjKSB7Cj4gKwkJY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0 Yy0+YmFzZS5zdGF0ZSk7Cj4gKwo+ICAJCWRybV9jcnRjX3ZibGFua19yZXNldCgmY3J0Yy0+YmFz ZSk7Cj4gIAo+IC0JCWlmIChjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUpCj4gLQkJCWRybV9jcnRj X3ZibGFua19vbigmY3J0Yy0+YmFzZSk7Cj4gKwkJaWYgKGNydGNfc3RhdGUtPmJhc2UuYWN0aXZl KQo+ICsJCQlpbnRlbF9jcnRjX3ZibGFua19vbihjcnRjX3N0YXRlKTsKPiAgCX0KPiAgCj4gIAlp bnRlbF9zYW5pdGl6ZV9wbGFuZV9tYXBwaW5nKGRldl9wcml2KTsKPiAtLSAKPiAyLjE4LjEKPiAK PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==