From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] [RFC] drm/i915/skl+: enable PF_ID interlace mode in SKL Date: Fri, 16 Jun 2017 17:17:28 +0300 Message-ID: <20170616141728.GL12629@intel.com> References: <20170607094905.16014-1-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id F04DF6E8FC for ; Fri, 16 Jun 2017 14:17:50 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170607094905.16014-1-mahesh1.kumar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mahesh Kumar Cc: intel-gfx@lists.freedesktop.org, dhinakaran.pandiyan@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdW4gMDcsIDIwMTcgYXQgMDM6MTk6MDVQTSArMDUzMCwgTWFoZXNoIEt1bWFyIHdy b3RlOgo+IEluIHByZXZpb3VzIEdFTiBkZWZhdWx0IEludGVybGFjZSBtb2RlIGVuYWJsZWQgaXMg SUYtSUQgbW9kZSwgYnV0IElGLUlECj4gbW9kZSBoYXMgbWFueSBsaW1pdGF0aW9ucyBpbiBTS0wu IFRoaXMgbW9kZSBkb2Vzbid0IHN1cHBvcnQgeS10aWxpbmcsCj4gOTAtMjcwIHJvdGF0aW9uIGlz IG5vdCBzdXBwb3J0ZWQgJiBZVVYtNDIwIHBsYW5hciBzb3VyY2UgcGl4ZWwgZm9ybWF0cwo+IGFy ZSBub3Qgc3VwcG9ydGVkIHdpdGggYWJvdmUgbW9kZS4KCkkgdGhpbmsgd2UnbGwgd2FudCBzb21l dGhpbmcgbXVjaCBtb3JlIHNpbXBsZSBmb3Igc3RhYmxlLiBBbmQgdGhhdApzaG91bGQgcHJvYmFi bHkgYmUganVzdCAtRUlOVkFMIGlmIHdlIHRyeSB0byBkbyBhbnkgb2YgdGhvc2UKZm9yYmlkZGVu IHRoaW5ncyB3aXRoIGFuIGludGVybGFjZWQgbW9kZS4KCj4gCj4gVGhpcyBwYXRjaCBtYWtlIGNo YW5nZXMgdG8gdXNlIFBGLUlEIEludGVybGFjZSBtb2RlIGluIFNLTCsgcGxhdGZvcm1zLgo+IFBG LUlEIG1vZGUgcmVxdWlyZSBvbmUgc2NhbGVyIHRvIGJlIGF0dGFjaGVkIGluIHBpcGUtc2NhbGlu ZyBtb2RlLgo+ICAgRHVyaW5nIFdNIGNhbGN1bGF0aW9uIGFkanVzdGVkIHBpeGVsIHJhdGUgbmVl ZCB0byBiZSBkb3VibGVkLgo+ICAgRHVyaW5nIG1heF9zdXBwb3J0ZWRfcGl4ZWxfZm9ybWF0IGNh bGN1bGF0aW9uIHZlcnRpY2FsIGRvd25zY2FsZSBpcyAyLjAuCj4gCj4gU2lnbmVkLW9mZi1ieTog TWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KPiBCdWd6aWxsYTogaHR0cHM6 Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMzgKPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgIHwgMTMgKysrKysrKysrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA0NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg IHwgMTAgKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyAgIHwg IDkgKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgfCAxNyAr KysrKysrKysrKystCj4gIDUgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRv bWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+IGluZGV4IGQ3OTFi M2VmODliNS4uMDZlZDJmYzQ0OWQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWlj LmMKPiBAQCAtMjQ4LDYgKzI0OCwxMyBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCXJldHVybiAtRUlOVkFMOwo+ ICAJfQo+ICAKPiArCWlmIChudW1fc2NhbGVyc19uZWVkID4gMSAmJgo+ICsJCQlzY2FsZXJfc3Rh dGUtPnNjYWxlcl91c2VycyAmICgxIDw8IFNLTF9DUlRDX0lOREVYKSAmJgo+ICsJCQlzY2FsZXJf c3RhdGUtPnNjYWxlcl91c2VycyAmICgxIDw8IFNLTF9QRl9JRF9JTkRFWCkpIHsKPiArCQlEUk1f RVJST1IoIkNhbid0IGF0dGFjaCBzY2FsZXIgdG8gQ1JUQyBpbiBJbnRlcmxhY2UgTW9kZVxuIik7 Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9CgpJIHRob3VnaHQgdGhlIHdob2xlIHBvaW50IG9m IFBGLUlEIGhlcmUgd2FzIHRoYXQgd2UgY2FuIHRoZW4gZG8gcGlwZQpzY2FsaW5nIChhbmQgb3Ro ZXIgdGhpbmdzKS4gU28gdGhpcyBjaGVjayBsb29rcyB3cm9uZyB0byBtZS4KCkFuZCBJJ20gdGhp bmtpbmcgd2Ugc2hvdWxkbid0IGJlIGFkZGluZyB5ZXQgYW5vdGhlciBzY2FsZXIgdXNlciBmb3IK dGhpcywgYW5kIGluc3RlYWQgaXQgc2hvdWxkIGp1c3QgYmUgcGFydCBvZiB0aGUgbm9ybWFsIHBm aXQgc2V0dXAuCgo+ICsKPiAgCS8qIHdhbGt0aHJvdWdoIHNjYWxlcl91c2VycyBiaXRzIGFuZCBz dGFydCBhc3NpZ25pbmcgc2NhbGVycyAqLwo+ICAJZm9yIChpID0gMDsgaSA8IHNpemVvZihzY2Fs ZXJfc3RhdGUtPnNjYWxlcl91c2VycykgKiA4OyBpKyspIHsKPiAgCQlpbnQgKnNjYWxlcl9pZDsK PiBAQCAtMjY0LDYgKzI3MSwxMiBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAKPiAgCQkJLyogcGFuZWwgZml0dGVy IGNhc2U6IGFzc2lnbiBhcyBhIGNydGMgc2NhbGVyICovCj4gIAkJCXNjYWxlcl9pZCA9ICZzY2Fs ZXJfc3RhdGUtPnNjYWxlcl9pZDsKPiArCQl9IGVsc2UgaWYgKGkgPT0gU0tMX1BGX0lEX0lOREVY KSB7Cj4gKwkJCW5hbWUgPSAiUEYtSUQgSU5URVJMQUNFIE1PREUiOwo+ICsJCQlpZHggPSBpbnRl bF9jcnRjLT5iYXNlLmJhc2UuaWQ7Cj4gKwo+ICsJCQkvKiBQRi1JRCBpbnRlcmxhY2VkIG1vZGUg Y2FzZTogbmVlZHMgYSBwaXBlIHNjYWxlciAqLwo+ICsJCQlzY2FsZXJfaWQgPSAmc2NhbGVyX3N0 YXRlLT5zY2FsZXJfaWQ7Cj4gIAkJfSBlbHNlIHsKPiAgCQkJbmFtZSA9ICJQTEFORSI7Cj4gIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA4NWFjMzI1NDllODUuLjE1 Yzc5YjQ2ZDY0NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAt NDYyNiw2ICs0NjI2LDExIEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKPiAgCSAqLwo+ICAJbmVlZF9zY2Fs aW5nID0gc3JjX3cgIT0gZHN0X3cgfHwgc3JjX2ggIT0gZHN0X2g7Cj4gIAo+ICsJaWYgKChjcnRj X3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUuZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFD RSkKPiArCQkmJiBzY2FsZXJfdXNlciA9PSBTS0xfUEZfSURfSU5ERVgpCj4gKwkJLyogUEYtSUQg SW50ZXJsYWNlIG1vZGUgbmVlZHMgYSBzY2FsZXIgKi8KPiArCQluZWVkX3NjYWxpbmcgPSB0cnVl Owo+ICsKPiAgCS8qCj4gIAkgKiBpZiBwbGFuZSBpcyBiZWluZyBkaXNhYmxlZCBvciBzY2FsZXIg aXMgbm8gbW9yZSByZXF1aXJlZCBvciBmb3JjZSBkZXRhY2gKPiAgCSAqICAtIGZyZWUgc2NhbGVy IGJpbmRlZCB0byB0aGlzIHBsYW5lL2NydGMKPiBAQCAtNDYzNSwxNiArNDY0MCwyNCBAQCBza2xf dXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgYm9vbCBm b3JjZV9kZXRhY2gsCj4gIAkgKiBzY2FsZXIgY2FuIGJlIGFzc2lnbmVkIHRvIG90aGVyIHVzZXIu IEFjdHVhbCByZWdpc3Rlcgo+ICAJICogdXBkYXRlIHRvIGZyZWUgdGhlIHNjYWxlciBpcyBkb25l IGluIHBsYW5lL3BhbmVsLWZpdCBwcm9ncmFtbWluZy4KPiAgCSAqIEZvciB0aGlzIHB1cnBvc2Ug Y3J0Yy9wbGFuZV9zdGF0ZS0+c2NhbGVyX2lkIGlzbid0IHJlc2V0IGhlcmUuCj4gKwkgKiBOb3cg SW50ZXJsYWNlIG1vZGUgaXMgYSBuZXcgdXNlciBvZiBwaXBlLXNjYWxlciwgc28gZnJlZSB0aGUg c2NhbGVyLWlkCj4gKwkgKiBvbmx5IGlmIGNhbGwgaXMgZm9yIHJlc3BlY3RpdmUgdXNlci4gSWYg bm8gdXNlciBmb3Igc2NhbGVyIGZyZWUgaXQuCj4gIAkgKi8KPiAgCWlmIChmb3JjZV9kZXRhY2gg fHwgIW5lZWRfc2NhbGluZykgewo+IC0JCWlmICgqc2NhbGVyX2lkID49IDApIHsKPiArCQlpZiAo KnNjYWxlcl9pZCA+PSAwICYmCj4gKwkJICAgIHNjYWxlcl9zdGF0ZS0+c2NhbGVyX3VzZXJzICYg KDEgPDwgc2NhbGVyX3VzZXIpKSB7Cj4gIAkJCXNjYWxlcl9zdGF0ZS0+c2NhbGVyX3VzZXJzICY9 IH4oMSA8PCBzY2FsZXJfdXNlcik7Cj4gIAkJCXNjYWxlcl9zdGF0ZS0+c2NhbGVyc1sqc2NhbGVy X2lkXS5pbl91c2UgPSAwOwo+ICAKPiAgCQkJRFJNX0RFQlVHX0tNUygic2NhbGVyX3VzZXIgaW5k ZXggJXUuJXU6ICIKPiAgCQkJCSJTdGFnZWQgZnJlZWluZyBzY2FsZXIgaWQgJWQgc2NhbGVyX3Vz ZXJzID0gMHgleFxuIiwKPiAtCQkJCWludGVsX2NydGMtPnBpcGUsIHNjYWxlcl91c2VyLCAqc2Nh bGVyX2lkLAo+IC0JCQkJc2NhbGVyX3N0YXRlLT5zY2FsZXJfdXNlcnMpOwo+ICsJCQkJaW50ZWxf Y3J0Yy0+cGlwZSwgc2NhbGVyX3VzZXIsCj4gKwkJCQkqc2NhbGVyX2lkLCBzY2FsZXJfc3RhdGUt PnNjYWxlcl91c2Vycyk7Cj4gKwo+ICsJCQkqc2NhbGVyX2lkID0gLTE7Cj4gKwkJfQo+ICsJCWlm ICgqc2NhbGVyX2lkID49IDAgJiYgIXNjYWxlcl9zdGF0ZS0+c2NhbGVyX3VzZXJzKSB7Cj4gKwkJ CXNjYWxlcl9zdGF0ZS0+c2NhbGVyc1sqc2NhbGVyX2lkXS5pbl91c2UgPSAwOwo+ICAJCQkqc2Nh bGVyX2lkID0gLTE7Cj4gIAkJfQo+ICAJCXJldHVybiAwOwo+IEBAIC00NjkxLDYgKzQ3MDQsMTYg QEAgaW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnN0 YXRlKQo+ICAJCWFkanVzdGVkX21vZGUtPmNydGNfaGRpc3BsYXksIGFkanVzdGVkX21vZGUtPmNy dGNfdmRpc3BsYXkpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50IHNrbF91cGRhdGVfc2NhbGVyX2Ny dGNfcGZfaWRfb3V0cHV0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpzdGF0ZSkKPiArewo+ICsJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmc3RhdGUtPmJhc2UuYWRqdXN0 ZWRfbW9kZTsKPiArCj4gKwlyZXR1cm4gc2tsX3VwZGF0ZV9zY2FsZXIoc3RhdGUsICFzdGF0ZS0+ YmFzZS5hY3RpdmUsCj4gKwkJU0tMX1BGX0lEX0lOREVYLCAmc3RhdGUtPnNjYWxlcl9zdGF0ZS5z Y2FsZXJfaWQsCj4gKwkJc3RhdGUtPnBpcGVfc3JjX3csIHN0YXRlLT5waXBlX3NyY19oLAo+ICsJ CW1vZGUtPmNydGNfaGRpc3BsYXksIG1vZGUtPmNydGNfdmRpc3BsYXkpOwo+ICt9Cj4gKwo+ICAv KioKPiAgICogc2tsX3VwZGF0ZV9zY2FsZXJfcGxhbmUgLSBTdGFnZXMgdXBkYXRlIHRvIHNjYWxl ciBzdGF0ZSBmb3IgYSBnaXZlbiBwbGFuZS4KPiAgICoKPiBAQCAtNjI1OCw2ICs2MjgxLDE1IEBA IHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKPiAgCQl9Cj4gIAl9Cj4gIAo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkg ewo+ICsJCWlmIChza2xfdXBkYXRlX3NjYWxlcl9jcnRjX3BmX2lkX291dHB1dChwaXBlX2NvbmZp ZykpIHsKPiArCQkJRFJNX0VSUk9SKCJVbmFibGUgdG8gc2V0IHNjYWxlciBmb3IgUEYtSUQgbW9k ZVxuIik7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCQlpbnRlbF9wY2hfcGFuZWxf Zml0dGluZyhjcnRjLCBwaXBlX2NvbmZpZywKPiArCQkJCQlEUk1fTU9ERV9TQ0FMRV9GVUxMU0NS RUVOKTsKPiArCX0KPiArCj4gIAlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayA+IGNsb2Nr X2xpbWl0KSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygicmVxdWVzdGVkIHBpeGVsIGNsb2NrICglZCBr SHopIHRvbyBoaWdoIChtYXg6ICVkIGtIeiwgZG91YmxlIHdpZGU6ICVzKVxuIiwKPiAgCQkJICAg ICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jaywgY2xvY2tfbGltaXQsCj4gQEAgLTgwNDUsOSAr ODA3NywxMiBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlY29uZihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYgaW50ZWxfY3J0Yy0+Y29u ZmlnLT5kaXRoZXIpCj4gIAkJdmFsIHw9IChQSVBFQ09ORl9ESVRIRVJfRU4gfCBQSVBFQ09ORl9E SVRIRVJfVFlQRV9TUCk7Cj4gIAo+IC0JaWYgKGludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5hZGp1 c3RlZF9tb2RlLmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpCj4gLQkJdmFsIHw9IFBJ UEVDT05GX0lOVEVSTEFDRURfSUxLOwo+IC0JZWxzZQo+ICsJaWYgKGludGVsX2NydGMtPmNvbmZp Zy0+YmFzZS5hZGp1c3RlZF9tb2RlLmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpIHsK PiArCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+ICsJCQl2YWwgfD0gUElQRUNPTkZf UEZJVF9QRl9JTlRFUkxBQ0VEX0lMSzsKPiArCQllbHNlCj4gKwkJCXZhbCB8PSBQSVBFQ09ORl9J TlRFUkxBQ0VEX0lMSzsKPiArCX0gZWxzZQo+ICAJCXZhbCB8PSBQSVBFQ09ORl9QUk9HUkVTU0lW RTsKPiAgCj4gIAlJOTE1X1dSSVRFKFBJUEVDT05GKGNwdV90cmFuc2NvZGVyKSwgdmFsKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDgzZGQ0MDkwNTgyMS4uZDQ1NDZmNjQ5OGI5 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtNDgzLDYgKzQ4Myw3IEBAIHN0 cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSB7Cj4gIAkgKiBhdmlsYWJpbGl0eS4KPiAgCSAq Lwo+ICAjZGVmaW5lIFNLTF9DUlRDX0lOREVYIDMxCj4gKyNkZWZpbmUgU0tMX1BGX0lEX0lOREVY IDI5Cj4gIAl1bnNpZ25lZCBzY2FsZXJfdXNlcnM7Cj4gIAo+ICAJLyogc2NhbGVyIHVzZWQgYnkg Y3J0YyBmb3IgcGFuZWwgZml0dGluZyBwdXJwb3NlICovCj4gQEAgLTEyMDYsNiArMTIwNywxNSBA QCBoZG1pX3RvX2RpZ19wb3J0KHN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pKQo+ICAJcmV0 dXJuIGNvbnRhaW5lcl9vZihpbnRlbF9oZG1pLCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0LCBo ZG1pKTsKPiAgfQo+ICAKPiArc3RhdGljIGlubGluZSBib29sCj4gK2lzX3NrbF9pbnRlcmxhY2Vf bW9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJICAgICAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gK3sKPiArCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpIDwgOSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwlyZXR1cm4gbW9kZS0+ZmxhZ3MgJiBE Uk1fTU9ERV9GTEFHX0lOVEVSTEFDRTsKPiArfQo+ICsKPiAgLyogaW50ZWxfZmlmb191bmRlcnJ1 bi5jICovCj4gIGJvb2wgaW50ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJICAgZW51bSBwaXBlIHBpcGUs IGJvb2wgZW5hYmxlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiBpbmRleCA0MTE0 Y2IzZjE0ZTcuLmZhZTdmZTc4MDJmOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wYW5lbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwu Ywo+IEBAIC0xMDgsOSArMTA4LDE0IEBAIGludGVsX3BjaF9wYW5lbF9maXR0aW5nKHN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAgCWlu dCB4ID0gMCwgeSA9IDAsIHdpZHRoID0gMCwgaGVpZ2h0ID0gMDsKPiAgCj4gLQkvKiBOYXRpdmUg bW9kZXMgZG9uJ3QgbmVlZCBmaXR0aW5nICovCj4gKwkvKgo+ICsJICogTmF0aXZlIG1vZGVzIGRv bid0IG5lZWQgZml0dGluZwo+ICsJICogUEYtSUQgSW50ZXJsYWNlIG1vZGUgaW4gU0tMKyByZXF1 aXJlIGEgcGlwZSBzY2FsZXIKPiArCSAqLwo+ICAJaWYgKGFkanVzdGVkX21vZGUtPmNydGNfaGRp c3BsYXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX3cgJiYKPiAtCSAgICBhZGp1c3RlZF9tb2Rl LT5jcnRjX3ZkaXNwbGF5ID09IHBpcGVfY29uZmlnLT5waXBlX3NyY19oKQo+ICsJICAgIGFkanVz dGVkX21vZGUtPmNydGNfdmRpc3BsYXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX2ggJiYKPiAr CSAgICAhKGlzX3NrbF9pbnRlcmxhY2VfbW9kZSh0b19pOTE1KGludGVsX2NydGMtPmJhc2UuZGV2 KSwKPiArCQkJCSAgICBhZGp1c3RlZF9tb2RlKSkpCj4gIAkJZ290byBkb25lOwo+ICAKPiAgCXN3 aXRjaCAoZml0dGluZ19tb2RlKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggYWE5 ZDhjZWY3Y2UwLi5kZmIyMWYwMGZiZWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBA QCAtMzg3MywxNSArMzg3MywxOCBAQCBzdGF0aWMgdWludF9maXhlZF8xNl8xNl90Cj4gIHNrbF9w aXBlX2Rvd25zY2FsZV9hbW91bnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gIHsKPiAgCXVpbnRfZml4ZWRfMTZfMTZfdCBwaXBlX2Rvd25zY2FsZSA9IHUzMl90 b19maXhlZF8xNl8xNigxKTsKPiArCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl Owo+ICAKPiAgCWlmICghY3J0Y19zdGF0ZS0+YmFzZS5lbmFibGUpCj4gIAkJcmV0dXJuIHBpcGVf ZG93bnNjYWxlOwo+ICAKPiArCW1vZGUgPSAmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2Rl Owo+ICAJaWYgKGNydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQpIHsKPiAgCQl1aW50MzJfdCBz cmNfdywgc3JjX2gsIGRzdF93LCBkc3RfaDsKPiAgCQl1aW50MzJfdCBwZml0X3NpemUgPSBjcnRj X3N0YXRlLT5wY2hfcGZpdC5zaXplOwo+ICAJCXVpbnRfZml4ZWRfMTZfMTZfdCBmcF93X3JhdGlv LCBmcF9oX3JhdGlvOwo+ICAJCXVpbnRfZml4ZWRfMTZfMTZfdCBkb3duc2NhbGVfaCwgZG93bnNj YWxlX3c7Cj4gKwkJdWludF9maXhlZF8xNl8xNl90IG1pbl9oX2Rvd25zY2FsZTsKPiAgCj4gIAkJ c3JjX3cgPSBjcnRjX3N0YXRlLT5waXBlX3NyY193Owo+ICAJCXNyY19oID0gY3J0Y19zdGF0ZS0+ cGlwZV9zcmNfaDsKPiBAQCAtMzg5MSwxMCArMzg5NCwxOSBAQCBza2xfcGlwZV9kb3duc2NhbGVf YW1vdW50KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJCWlm ICghZHN0X3cgfHwgIWRzdF9oKQo+ICAJCQlyZXR1cm4gcGlwZV9kb3duc2NhbGU7Cj4gIAo+ICsJ CS8qCj4gKwkJICogSW50ZXJsYWNlIG1vZGUgcmVxdWlyZSAxIHNjYWxlciBzbyBubyBvdGhlciBz Y2FsZXIgY2FuIGJlCj4gKwkJICogYXR0YWNoZWQgdG8gcGlwZS4gUEYtSUQgbW9kZSBpcyBlcXVp dmFsZW50IHRvIDIuMCB2ZXJ0aWNhbAo+ICsJCSAqIGRvd25zY2FsZS4KPiArCQkgKi8KPiArCQlp ZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSkKPiArCQkJbWluX2hfZG93 bnNjYWxlID0gdTMyX3RvX2ZpeGVkXzE2XzE2KDIpOwo+ICsJCWVsc2UKPiArCQkJbWluX2hfZG93 bnNjYWxlID0gdTMyX3RvX2ZpeGVkXzE2XzE2KDEpOwo+ICAJCWZwX3dfcmF0aW8gPSBmaXhlZF8x Nl8xNl9kaXYoc3JjX3csIGRzdF93KTsKPiAgCQlmcF9oX3JhdGlvID0gZml4ZWRfMTZfMTZfZGl2 KHNyY19oLCBkc3RfaCk7Cj4gIAkJZG93bnNjYWxlX3cgPSBtYXhfZml4ZWRfMTZfMTYoZnBfd19y YXRpbywgdTMyX3RvX2ZpeGVkXzE2XzE2KDEpKTsKPiAtCQlkb3duc2NhbGVfaCA9IG1heF9maXhl ZF8xNl8xNihmcF9oX3JhdGlvLCB1MzJfdG9fZml4ZWRfMTZfMTYoMSkpOwo+ICsJCWRvd25zY2Fs ZV9oID0gbWF4X2ZpeGVkXzE2XzE2KGZwX2hfcmF0aW8sIG1pbl9oX2Rvd25zY2FsZSk7Cj4gIAo+ ICAJCXBpcGVfZG93bnNjYWxlID0gbXVsX2ZpeGVkMTYoZG93bnNjYWxlX3csIGRvd25zY2FsZV9o KTsKPiAgCX0KPiBAQCAtNDQxOCw2ICs0NDMwLDkgQEAgc2tsX2FkanVzdGVkX3BsYW5lX3BpeGVs X3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiAgCSAqIHdpdGgg YWRkaXRpb25hbCBhZGp1c3RtZW50cyBmb3IgcGxhbmUtc3BlY2lmaWMgc2NhbGluZy4KPiAgCSAq Lwo+ICAJYWRqdXN0ZWRfcGl4ZWxfcmF0ZSA9IGNzdGF0ZS0+cGl4ZWxfcmF0ZTsKPiArCWlmIChj c3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZS5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNF KQo+ICsJCWFkanVzdGVkX3BpeGVsX3JhdGUgKj0gMjsKPiArCj4gIAlkb3duc2NhbGVfYW1vdW50 ID0gc2tsX3BsYW5lX2Rvd25zY2FsZV9hbW91bnQoY3N0YXRlLCBwc3RhdGUpOwo+ICAKPiAgCXJl dHVybiBtdWxfcm91bmRfdXBfdTMyX2ZpeGVkMTYoYWRqdXN0ZWRfcGl4ZWxfcmF0ZSwKPiAtLSAK PiAyLjExLjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=