From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 06/10] drm/i915: Change watermark hook calling convention Date: Fri, 15 Nov 2019 17:18:20 +0200 Message-ID: <20191115151820.GF1208@intel.com> References: <20191112141503.1116-1-ville.syrjala@linux.intel.com> <20191112141503.1116-7-ville.syrjala@linux.intel.com> <20191114002228.GG28227@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id C45726E840 for ; Fri, 15 Nov 2019 15:18:23 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191114002228.GG28227@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBOb3YgMTMsIDIwMTkgYXQgMDQ6MjI6MjhQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBPbiBUdWUsIE5vdiAxMiwgMjAxOSBhdCAwNDoxNDo1OVBNICswMjAwLCBWaWxsZSBT eXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiA+IAo+ID4gSnVzdCBwYXNzIHRoZSBhdG9taWNfc3RhdGUrY3J0YyB0 byB0aGUgd2F0ZXJtYXJrcyBob29rcy4gRWVhc2llcgo+ID4gdGltZSBmb3IgdGhlIGNhbGxlciB3 aGVuIGl0IGRvZXNuJ3QgaGF2ZSB0byB0aGluayB3aGF0IHRvIHBhc3MuCj4gPiAKPiA+IFNpZ25l ZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YyB8IDMyICsrKysrLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgICAgICB8ICA2ICstCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAg ICAgICAgICAgICAgfCA2MyArKysrKysrKysrKy0tLS0tLS0tLQo+ID4gIDMgZmlsZXMgY2hhbmdl ZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiBpbmRleCBmZmFkZmQ5MGMz Y2YuLjc3YjczOWNkYTA1MyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTYxNzcsOSArNjE3Nyw4IEBAIHN0YXRpYyB2b2lk IGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRj X3N0YXRlLAo+ID4gIAkgKiB3ZSdsbCBjb250aW51ZSB0byB1cGRhdGUgd2F0ZXJtYXJrcyB0aGUg b2xkIHdheSwgaWYgZmxhZ3MgdGVsbAo+ID4gIAkgKiB1cyB0by4KPiA+ICAJICovCj4gPiAtCWlm IChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MgIT0gTlVMTCkKPiA+IC0JCWRl dl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhpbnRlbF9zdGF0ZSwKPiA+IC0JCQkJ CQkgICAgIHBpcGVfY29uZmlnKTsKPiA+ICsJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxf d2F0ZXJtYXJrcykKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhp bnRlbF9zdGF0ZSwgY3J0Yyk7Cj4gPiAgCWVsc2UgaWYgKHBpcGVfY29uZmlnLT51cGRhdGVfd21f cHJlKQo+ID4gIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gPiAgfQo+ID4gQEAg LTY1MjcsOCArNjUyNiw4IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+ICAJLyogdXBkYXRlIERTUENOVFIg dG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwo+ID4gIAlpbnRlbF9k aXNhYmxlX3ByaW1hcnlfcGxhbmUocGlwZV9jb25maWcpOwo+ID4gIAo+ID4gLQlpZiAoZGV2X3By aXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4gPiAtCQlkZXZfcHJpdi0+ ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsIHBpcGVfY29uZmlnKTsKPiA+ICsJaWYg KGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcykKPiA+ICsJCWRldl9wcml2LT5k aXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgaW50ZWxfY3J0Yyk7Cj4gPiAgCWludGVs X2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKPiA+ICAKPiA+ICAJaWYgKHBpcGVfY29uZmlnLT5o YXNfcGNoX2VuY29kZXIpCj4gPiBAQCAtNjY3MSw4ICs2NjcwLDggQEAgc3RhdGljIHZvaWQgaGFz d2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4g PiAgCWlmICghdHJhbnNjb2Rlcl9pc19kc2koY3B1X3RyYW5zY29kZXIpKQo+ID4gIAkJaW50ZWxf ZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMocGlwZV9jb25maWcpOwo+ID4gIAo+ID4gLQlpZiAo ZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4gPiAtCQlkZXZf cHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsIHBpcGVfY29uZmlnKTsKPiA+ ICsJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcykKPiA+ICsJCWRldl9w cml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgaW50ZWxfY3J0Yyk7Cj4gPiAg Cj4gPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+ID4gIAkJaWNsX3BpcGVfbWJ1 c19lbmFibGUoaW50ZWxfY3J0Yyk7Cj4gPiBAQCAtNzA2Miw3ICs3MDYxLDcgQEAgc3RhdGljIHZv aWQgdmFsbGV5dmlld19jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCj4gPiAgCS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3VyZSBnYW1tYSBmb3IgcGlw ZSBib3R0b20gY29sb3IgKi8KPiA+ICAJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVf Y29uZmlnKTsKPiA+ICAKPiA+IC0JZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtz KHN0YXRlLCBwaXBlX2NvbmZpZyk7Cj4gPiArCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyhzdGF0ZSwgaW50ZWxfY3J0Yyk7Cj4gCj4gRG9udCB3ZSBuZWVkIHRvIG1ha2Ugc3Vy ZSBpbml0aWFsX3dhdGVybWFya3MgaXMgcHJlc2VudCBvciAhTlVMTCBiZWZvcmUgY2FsbGluZyBp dAo+IGxpa2Ugd2UgZG8gaW4gYWxsIG90aGVyIGhvb2tzPwoKV2Uga25vdyBpdCdzIG5vbi1OVUxM IGhlcmUuIEV2ZW50dWFsbHkgbW9zdCAoaWYgbm90IGFsbCkgb2YgdGhlCm90aGVyIGNoZWNrcyBz aG91bGQgZGlzYXBwZWFyIGFzIHdlbGwuIEJ1dCB0aGF0IHJlcXVpcmVzIGZpbmlzaGluZwp0aGUg dHdvIHN0YWdlIHdhdGVybWFya3MgZm9yIHByZS1nNHguCgo+IAo+IEFsc28gc29tZSBwbGFjZXMg d2UgdXNlIGludGVsX2NydGMgdnMgY3J0YyBldmVuIHRob3VnaCBib3RoIGFyZSBvZiB0eXBlIHN0 cnVjdCBpbnRlbF9jcnRjKiwKPiBlaXRoZXIgaW4gdGhpcyBwYXRjaCBvciBhbm90aGVyIGNsZWFu dXAgcGF0Y2ggd2Ugc2hvdWxkIGNoYW5nZSBpdCBhbGwgdG8ga2VlcCBlaXRoZXIgY3J0YyBvcgo+ IGludGVsX2NydGMgZWxzZSB0aGVyZSBpcyBhIGNvbmZ1c2lvbiBiZXR3ZWVuIGNydGMgYmVpbmcg b2YgdHlwZSBpbnRlbF9jcnRjIG9yIGRybV9jcnRjCj4gCj4gV2hhdCBkbyB5b3UgdGhpbms/Cj4g QnV0IHRoYXQgY291bGQgYmUgYSBzZXBhcmF0ZSBjaGFuZ2Ugc28gYWZ0ZXIgYWRkaW5nIGEgY2hl Y2sgZm9yIGlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MpCj4gaW4gdmFs bGV5dmlld19jcnRjX2VuYWJsZSgpLAo+IAo+IFJldmlld2VkLWJ5OiBNYW5hc2kgbmF2YXJlIDxt YW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+IAo+IE1hbmFzaQo+IAo+ID4gIAlpbnRlbF9lbmFi bGVfcGlwZShwaXBlX2NvbmZpZyk7Cj4gPiAgCj4gPiAgCWludGVsX2NydGNfdmJsYW5rX29uKHBp cGVfY29uZmlnKTsKPiA+IEBAIC03MTE3LDkgKzcxMTYsOCBAQCBzdGF0aWMgdm9pZCBpOXh4X2Ny dGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+ICAJLyog dXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAq Lwo+ID4gIAlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxhbmUocGlwZV9jb25maWcpOwo+ID4gIAo+ ID4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4g PiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsCj4gPiAtCQkJ CQkJICAgICBwaXBlX2NvbmZpZyk7Cj4gPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3MpCj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Mo c3RhdGUsIGludGVsX2NydGMpOwo+ID4gIAllbHNlCj4gPiAgCQlpbnRlbF91cGRhdGVfd2F0ZXJt YXJrcyhpbnRlbF9jcnRjKTsKPiA+ICAJaW50ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcpOwo+ ID4gQEAgLTE0MjkxLDYgKzE0Mjg5LDcgQEAgc3RhdGljIHZvaWQgY29tbWl0X3BpcGVfY29uZmln KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gPiAgCQkJICAgICAgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKPiA+ICB7Cj4gPiArCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsK PiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ YmFzZS5kZXYpOwo+ID4gIAlib29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0 YXRlKTsKPiA+ICAKPiA+IEBAIC0xNDMxNCw4ICsxNDMxMyw3IEBAIHN0YXRpYyB2b2lkIGNvbW1p dF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICAJfQo+ ID4gIAo+ID4gIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtz KQo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtzKHN0YXRl LAo+ID4gLQkJCQkJCQkgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxh eS5hdG9taWNfdXBkYXRlX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwo+ID4gIH0KPiA+ICAKPiA+ ICBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK PiA+IEBAIC0xNDQxOSw4ICsxNDQxNyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX29sZF9jcnRjX3N0 YXRlX2Rpc2FibGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAlpZiAo IW5ld19jcnRjX3N0YXRlLT5ody5hY3RpdmUgJiYKPiA+ICAJICAgICFIQVNfR01DSChkZXZfcHJp dikgJiYKPiA+ICAJICAgIGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcykKPiA+ IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwKPiA+IC0JCQkJ CQkgICAgIG5ld19jcnRjX3N0YXRlKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxf d2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGlu dGVsX3RyYW5zX3BvcnRfc3luY19tb2Rlc2V0X2Rpc2FibGVzKHN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKnN0YXRlLAo+ID4gQEAgLTE0ODcwLDggKzE0ODY3LDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ ID4gIAkgKi8KPiA+ICAJZm9yX2VhY2hfbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNy dGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gPiAgCQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkub3B0 aW1pemVfd2F0ZXJtYXJrcykKPiA+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6ZV93YXRl cm1hcmtzKHN0YXRlLAo+ID4gLQkJCQkJCQkgICAgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCQkJ ZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gPiAg CX0KPiA+ICAKPiA+ICAJZm9yX2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUs IGNydGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ID4gQEAgLTE2ODI2 LDcgKzE2ODIyLDcgQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ID4gIAkvKiBXcml0ZSBjYWxjdWxhdGVkIHdhdGVybWFyayB2YWx1ZXMg YmFjayAqLwo+ID4gIAlmb3JfZWFjaF9uZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShpbnRlbF9zdGF0 ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+ID4gIAkJY3J0Y19zdGF0ZS0+d20ubmVlZF9wb3N0 dmJsX3VwZGF0ZSA9IHRydWU7Cj4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6ZV93YXRl cm1hcmtzKGludGVsX3N0YXRlLCBjcnRjX3N0YXRlKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5 Lm9wdGltaXplX3dhdGVybWFya3MoaW50ZWxfc3RhdGUsIGNydGMpOwo+ID4gIAo+ID4gIAkJdG9f aW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKS0+d20gPSBjcnRjX3N0YXRlLT53bTsK PiA+ICAJfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBpbmRleCA3ZTBmNjdiYWJlMjAu LjAwZmU0ZWQ0ZmI5NiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IEBAIC0y NzMsMTEgKzI3MywxMSBAQCBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9mdW5jcyB7Cj4gPiAgCWlu dCAoKmNvbXB1dGVfcGlwZV93bSkoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Owo+ID4gIAlpbnQgKCpjb21wdXRlX2ludGVybWVkaWF0ZV93bSkoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gIAl2b2lkICgqaW5pdGlhbF93YXRlcm1hcmtzKShzdHJ1 Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 Yyk7Cj4gPiAgCXZvaWQgKCphdG9taWNfdXBkYXRlX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gLQkJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKTsKPiA+ICsJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gPiAgCXZv aWQgKCpvcHRpbWl6ZV93YXRlcm1hcmtzKShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0 ZSwKPiA+IC0JCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+ ICsJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKPiA+ICAJaW50ICgqY29tcHV0ZV9n bG9iYWxfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4g IAl2b2lkICgqdXBkYXRlX3dtKShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gPiAgCWludCAo Km1vZGVzZXRfY2FsY19jZGNsaykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiBpbmRleCAyZDM4OWU0MzdlODcuLmIxODAzNDJm NjNhNiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+IEBAIC0xNTIwLDEwICsx NTIwLDExIEBAIHN0YXRpYyB2b2lkIGc0eF9wcm9ncmFtX3dhdGVybWFya3Moc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBnNHhf aW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4g LQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICsJCQkJICAg c3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiA+ IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVh cGkuY3J0Yyk7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRl LCBjcnRjKTsKPiA+ICAKPiA+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsK PiA+ICAJY3J0Yy0+d20uYWN0aXZlLmc0eCA9IGNydGNfc3RhdGUtPndtLmc0eC5pbnRlcm1lZGlh dGU7Cj4gPiBAQCAtMTUzMiwxMCArMTUzMywxMSBAQCBzdGF0aWMgdm9pZCBnNHhfaW5pdGlhbF93 YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIH0KPiA+ICAK PiA+ICBzdGF0aWMgdm9pZCBnNHhfb3B0aW1pemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ID4gKwkJCQkgICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3Rh dGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gKwljb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNf Z2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICAKPiA+ICAJaWYgKCFjcnRjX3N0 YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlKQo+ID4gIAkJcmV0dXJuOwo+ID4gQEAgLTE5MTUs MTEgKzE5MTcsMTIgQEAgc3RhdGljIGludCB2bHZfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gIAkoKCh2YWx1ZSkgPDwgRFNQQVJCXyAjIyBw bGFuZSAjIyBfU0hJRlRfVkxWKSAmIERTUEFSQl8gIyMgcGxhbmUgIyMgX01BU0tfVkxWKQo+ID4g IAo+ID4gIHN0YXRpYyB2b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAtCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ID4gKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4g PiAtCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGMtPmJhc2UuZGV2KTsKPiA+ICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0g JmRldl9wcml2LT51bmNvcmU7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlID0KPiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUs IGNydGMpOwo+ID4gIAljb25zdCBzdHJ1Y3Qgdmx2X2ZpZm9fc3RhdGUgKmZpZm9fc3RhdGUgPQo+ ID4gIAkJJmNydGNfc3RhdGUtPndtLnZsdi5maWZvX3N0YXRlOwo+ID4gIAlpbnQgc3ByaXRlMF9z dGFydCwgc3ByaXRlMV9zdGFydCwgZmlmb19zaXplOwo+ID4gQEAgLTIxMzksMTAgKzIxNDIsMTEg QEAgc3RhdGljIHZvaWQgdmx2X3Byb2dyYW1fd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFs X3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAtCQkJCSAg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gKwkJCQkgICBzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+ID4gLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlID0KPiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMp Owo+ID4gIAo+ID4gIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwo+ID4gIAlj cnRjLT53bS5hY3RpdmUudmx2ID0gY3J0Y19zdGF0ZS0+d20udmx2LmludGVybWVkaWF0ZTsKPiA+ IEBAIC0yMTUxLDEwICsyMTU1LDExIEBAIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFsX3dhdGVybWFy a3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAgfQo+ID4gIAo+ID4gIHN0 YXRpYyB2b2lkIHZsdl9vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ID4gLQkJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCj4gPiArCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjLT5kZXYpOwo+ID4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiArCWNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KPiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3 X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ID4gIAo+ID4gIAlpZiAoIWNydGNfc3RhdGUtPndt Lm5lZWRfcG9zdHZibF91cGRhdGUpCj4gPiAgCQlyZXR1cm47Cj4gPiBAQCAtNTQ5MSwxMSArNTQ5 NiwxMiBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkK PiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgc2tsX2F0b21pY191cGRhdGVfY3J0Y193bShz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiArCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKPiA+IC0Jc3RydWN0IHNr bF9waXBlX3dtICpwaXBlX3dtID0gJmNydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsOwo+ID4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2 KTsKPiA+ICsJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ID4g KwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gPiArCWNv bnN0IHN0cnVjdCBza2xfcGlwZV93bSAqcGlwZV93bSA9ICZjcnRjX3N0YXRlLT53bS5za2wub3B0 aW1hbDsKPiA+ICAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+ID4gIAo+ID4gIAlpZiAo KHN0YXRlLT53bV9yZXN1bHRzLmRpcnR5X3BpcGVzICYgQklUKGNydGMtPnBpcGUpKSA9PSAwKQo+ ID4gQEAgLTU1MDUsMTAgKzU1MTEsMTEgQEAgc3RhdGljIHZvaWQgc2tsX2F0b21pY191cGRhdGVf Y3J0Y193bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICB9Cj4gPiAgCj4g PiAgc3RhdGljIHZvaWQgc2tsX2luaXRpYWxfd20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4gPiAtCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g PiArCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiA+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNl LmRldik7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0K PiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ID4g IAlzdHJ1Y3Qgc2tsX2RkYl92YWx1ZXMgKnJlc3VsdHMgPSAmc3RhdGUtPndtX3Jlc3VsdHM7Cj4g PiAgCj4gPiAgCWlmICgocmVzdWx0cy0+ZGlydHlfcGlwZXMgJiBCSVQoY3J0Yy0+cGlwZSkpID09 IDApCj4gPiBAQCAtNTUxNyw3ICs1NTI0LDcgQEAgc3RhdGljIHZvaWQgc2tsX2luaXRpYWxfd20o c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAgCW11dGV4X2xvY2soJmRldl9w cml2LT53bS53bV9tdXRleCk7Cj4gPiAgCj4gPiAgCWlmIChjcnRjX3N0YXRlLT51YXBpLmFjdGl2 ZV9jaGFuZ2VkKQo+ID4gLQkJc2tsX2F0b21pY191cGRhdGVfY3J0Y193bShzdGF0ZSwgY3J0Y19z dGF0ZSk7Cj4gPiArCQlza2xfYXRvbWljX3VwZGF0ZV9jcnRjX3dtKHN0YXRlLCBjcnRjKTsKPiA+ ICAKPiA+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwo+ID4gIH0KPiA+ IEBAIC01NTczLDEwICs1NTgwLDExIEBAIHN0YXRpYyB2b2lkIGlsa19wcm9ncmFtX3dhdGVybWFy a3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gIH0KPiA+ICAKPiA+ICBz dGF0aWMgdm9pZCBpbGtfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ID4gLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiA+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGku Y3J0Yy0+ZGV2KTsKPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19j cnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICAKPiA+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYt PndtLndtX211dGV4KTsKPiA+ICAJY3J0Yy0+d20uYWN0aXZlLmlsayA9IGNydGNfc3RhdGUtPndt Lmlsay5pbnRlcm1lZGlhdGU7Cj4gPiBAQCAtNTU4NSwxMCArNTU5MywxMSBAQCBzdGF0aWMgdm9p ZCBpbGtfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl LAo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBpbGtfb3B0aW1pemVfd2F0ZXJtYXJrcyhz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gKwkJCQkgICAgc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiA+IC0Jc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp Owo+ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gPiAr CQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICAKPiA+ ICAJaWYgKCFjcnRjX3N0YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlKQo+ID4gIAkJcmV0dXJu Owo+ID4gLS0gCj4gPiAyLjIzLjAKPiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVs Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.4 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7B8EC432C3 for ; Fri, 15 Nov 2019 15:18:25 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9449520733 for ; Fri, 15 Nov 2019 15:18:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9449520733 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 14D986E840; Fri, 15 Nov 2019 15:18:25 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id C45726E840 for ; Fri, 15 Nov 2019 15:18:23 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Nov 2019 07:18:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,308,1569308400"; d="scan'208";a="199228034" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga008.jf.intel.com with SMTP; 15 Nov 2019 07:18:21 -0800 Received: by stinkbox (sSMTP sendmail emulation); Fri, 15 Nov 2019 17:18:20 +0200 Date: Fri, 15 Nov 2019 17:18:20 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Manasi Navare Message-ID: <20191115151820.GF1208@intel.com> References: <20191112141503.1116-1-ville.syrjala@linux.intel.com> <20191112141503.1116-7-ville.syrjala@linux.intel.com> <20191114002228.GG28227@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191114002228.GG28227@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 06/10] drm/i915: Change watermark hook calling convention X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191115151820.kRw9CsxeNgCUDk35HonZFkndiN9tYfxyqmDPka9xh5s@z> T24gV2VkLCBOb3YgMTMsIDIwMTkgYXQgMDQ6MjI6MjhQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBPbiBUdWUsIE5vdiAxMiwgMjAxOSBhdCAwNDoxNDo1OVBNICswMjAwLCBWaWxsZSBT eXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiA+IAo+ID4gSnVzdCBwYXNzIHRoZSBhdG9taWNfc3RhdGUrY3J0YyB0 byB0aGUgd2F0ZXJtYXJrcyBob29rcy4gRWVhc2llcgo+ID4gdGltZSBmb3IgdGhlIGNhbGxlciB3 aGVuIGl0IGRvZXNuJ3QgaGF2ZSB0byB0aGluayB3aGF0IHRvIHBhc3MuCj4gPiAKPiA+IFNpZ25l ZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YyB8IDMyICsrKysrLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgICAgICB8ICA2ICstCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAg ICAgICAgICAgICAgfCA2MyArKysrKysrKysrKy0tLS0tLS0tLQo+ID4gIDMgZmlsZXMgY2hhbmdl ZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiBpbmRleCBmZmFkZmQ5MGMz Y2YuLjc3YjczOWNkYTA1MyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTYxNzcsOSArNjE3Nyw4IEBAIHN0YXRpYyB2b2lk IGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRj X3N0YXRlLAo+ID4gIAkgKiB3ZSdsbCBjb250aW51ZSB0byB1cGRhdGUgd2F0ZXJtYXJrcyB0aGUg b2xkIHdheSwgaWYgZmxhZ3MgdGVsbAo+ID4gIAkgKiB1cyB0by4KPiA+ICAJICovCj4gPiAtCWlm IChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MgIT0gTlVMTCkKPiA+IC0JCWRl dl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhpbnRlbF9zdGF0ZSwKPiA+IC0JCQkJ CQkgICAgIHBpcGVfY29uZmlnKTsKPiA+ICsJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxf d2F0ZXJtYXJrcykKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhp bnRlbF9zdGF0ZSwgY3J0Yyk7Cj4gPiAgCWVsc2UgaWYgKHBpcGVfY29uZmlnLT51cGRhdGVfd21f cHJlKQo+ID4gIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gPiAgfQo+ID4gQEAg LTY1MjcsOCArNjUyNiw4IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+ICAJLyogdXBkYXRlIERTUENOVFIg dG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwo+ID4gIAlpbnRlbF9k aXNhYmxlX3ByaW1hcnlfcGxhbmUocGlwZV9jb25maWcpOwo+ID4gIAo+ID4gLQlpZiAoZGV2X3By aXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4gPiAtCQlkZXZfcHJpdi0+ ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsIHBpcGVfY29uZmlnKTsKPiA+ICsJaWYg KGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcykKPiA+ICsJCWRldl9wcml2LT5k aXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgaW50ZWxfY3J0Yyk7Cj4gPiAgCWludGVs X2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKPiA+ICAKPiA+ICAJaWYgKHBpcGVfY29uZmlnLT5o YXNfcGNoX2VuY29kZXIpCj4gPiBAQCAtNjY3MSw4ICs2NjcwLDggQEAgc3RhdGljIHZvaWQgaGFz d2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4g PiAgCWlmICghdHJhbnNjb2Rlcl9pc19kc2koY3B1X3RyYW5zY29kZXIpKQo+ID4gIAkJaW50ZWxf ZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMocGlwZV9jb25maWcpOwo+ID4gIAo+ID4gLQlpZiAo ZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4gPiAtCQlkZXZf cHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsIHBpcGVfY29uZmlnKTsKPiA+ ICsJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcykKPiA+ICsJCWRldl9w cml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgaW50ZWxfY3J0Yyk7Cj4gPiAg Cj4gPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+ID4gIAkJaWNsX3BpcGVfbWJ1 c19lbmFibGUoaW50ZWxfY3J0Yyk7Cj4gPiBAQCAtNzA2Miw3ICs3MDYxLDcgQEAgc3RhdGljIHZv aWQgdmFsbGV5dmlld19jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCj4gPiAgCS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3VyZSBnYW1tYSBmb3IgcGlw ZSBib3R0b20gY29sb3IgKi8KPiA+ICAJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVf Y29uZmlnKTsKPiA+ICAKPiA+IC0JZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtz KHN0YXRlLCBwaXBlX2NvbmZpZyk7Cj4gPiArCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyhzdGF0ZSwgaW50ZWxfY3J0Yyk7Cj4gCj4gRG9udCB3ZSBuZWVkIHRvIG1ha2Ugc3Vy ZSBpbml0aWFsX3dhdGVybWFya3MgaXMgcHJlc2VudCBvciAhTlVMTCBiZWZvcmUgY2FsbGluZyBp dAo+IGxpa2Ugd2UgZG8gaW4gYWxsIG90aGVyIGhvb2tzPwoKV2Uga25vdyBpdCdzIG5vbi1OVUxM IGhlcmUuIEV2ZW50dWFsbHkgbW9zdCAoaWYgbm90IGFsbCkgb2YgdGhlCm90aGVyIGNoZWNrcyBz aG91bGQgZGlzYXBwZWFyIGFzIHdlbGwuIEJ1dCB0aGF0IHJlcXVpcmVzIGZpbmlzaGluZwp0aGUg dHdvIHN0YWdlIHdhdGVybWFya3MgZm9yIHByZS1nNHguCgo+IAo+IEFsc28gc29tZSBwbGFjZXMg d2UgdXNlIGludGVsX2NydGMgdnMgY3J0YyBldmVuIHRob3VnaCBib3RoIGFyZSBvZiB0eXBlIHN0 cnVjdCBpbnRlbF9jcnRjKiwKPiBlaXRoZXIgaW4gdGhpcyBwYXRjaCBvciBhbm90aGVyIGNsZWFu dXAgcGF0Y2ggd2Ugc2hvdWxkIGNoYW5nZSBpdCBhbGwgdG8ga2VlcCBlaXRoZXIgY3J0YyBvcgo+ IGludGVsX2NydGMgZWxzZSB0aGVyZSBpcyBhIGNvbmZ1c2lvbiBiZXR3ZWVuIGNydGMgYmVpbmcg b2YgdHlwZSBpbnRlbF9jcnRjIG9yIGRybV9jcnRjCj4gCj4gV2hhdCBkbyB5b3UgdGhpbms/Cj4g QnV0IHRoYXQgY291bGQgYmUgYSBzZXBhcmF0ZSBjaGFuZ2Ugc28gYWZ0ZXIgYWRkaW5nIGEgY2hl Y2sgZm9yIGlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MpCj4gaW4gdmFs bGV5dmlld19jcnRjX2VuYWJsZSgpLAo+IAo+IFJldmlld2VkLWJ5OiBNYW5hc2kgbmF2YXJlIDxt YW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+IAo+IE1hbmFzaQo+IAo+ID4gIAlpbnRlbF9lbmFi bGVfcGlwZShwaXBlX2NvbmZpZyk7Cj4gPiAgCj4gPiAgCWludGVsX2NydGNfdmJsYW5rX29uKHBp cGVfY29uZmlnKTsKPiA+IEBAIC03MTE3LDkgKzcxMTYsOCBAQCBzdGF0aWMgdm9pZCBpOXh4X2Ny dGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+ICAJLyog dXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAq Lwo+ID4gIAlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxhbmUocGlwZV9jb25maWcpOwo+ID4gIAo+ ID4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4g PiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsCj4gPiAtCQkJ CQkJICAgICBwaXBlX2NvbmZpZyk7Cj4gPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3MpCj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Mo c3RhdGUsIGludGVsX2NydGMpOwo+ID4gIAllbHNlCj4gPiAgCQlpbnRlbF91cGRhdGVfd2F0ZXJt YXJrcyhpbnRlbF9jcnRjKTsKPiA+ICAJaW50ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcpOwo+ ID4gQEAgLTE0MjkxLDYgKzE0Mjg5LDcgQEAgc3RhdGljIHZvaWQgY29tbWl0X3BpcGVfY29uZmln KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gPiAgCQkJICAgICAgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKPiA+ICB7Cj4gPiArCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsK PiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ YmFzZS5kZXYpOwo+ID4gIAlib29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0 YXRlKTsKPiA+ICAKPiA+IEBAIC0xNDMxNCw4ICsxNDMxMyw3IEBAIHN0YXRpYyB2b2lkIGNvbW1p dF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICAJfQo+ ID4gIAo+ID4gIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtz KQo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtzKHN0YXRl LAo+ID4gLQkJCQkJCQkgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxh eS5hdG9taWNfdXBkYXRlX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwo+ID4gIH0KPiA+ICAKPiA+ ICBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK PiA+IEBAIC0xNDQxOSw4ICsxNDQxNyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX29sZF9jcnRjX3N0 YXRlX2Rpc2FibGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIAlpZiAo IW5ld19jcnRjX3N0YXRlLT5ody5hY3RpdmUgJiYKPiA+ICAJICAgICFIQVNfR01DSChkZXZfcHJp dikgJiYKPiA+ICAJICAgIGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcykKPiA+ IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwKPiA+IC0JCQkJ CQkgICAgIG5ld19jcnRjX3N0YXRlKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxf d2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGlu dGVsX3RyYW5zX3BvcnRfc3luY19tb2Rlc2V0X2Rpc2FibGVzKHN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKnN0YXRlLAo+ID4gQEAgLTE0ODcwLDggKzE0ODY3LDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ ID4gIAkgKi8KPiA+ICAJZm9yX2VhY2hfbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNy dGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gPiAgCQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkub3B0 aW1pemVfd2F0ZXJtYXJrcykKPiA+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6ZV93YXRl cm1hcmtzKHN0YXRlLAo+ID4gLQkJCQkJCQkgICAgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gPiArCQkJ ZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gPiAg CX0KPiA+ICAKPiA+ICAJZm9yX2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUs IGNydGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ID4gQEAgLTE2ODI2 LDcgKzE2ODIyLDcgQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ID4gIAkvKiBXcml0ZSBjYWxjdWxhdGVkIHdhdGVybWFyayB2YWx1ZXMg YmFjayAqLwo+ID4gIAlmb3JfZWFjaF9uZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShpbnRlbF9zdGF0 ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+ID4gIAkJY3J0Y19zdGF0ZS0+d20ubmVlZF9wb3N0 dmJsX3VwZGF0ZSA9IHRydWU7Cj4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6ZV93YXRl cm1hcmtzKGludGVsX3N0YXRlLCBjcnRjX3N0YXRlKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5 Lm9wdGltaXplX3dhdGVybWFya3MoaW50ZWxfc3RhdGUsIGNydGMpOwo+ID4gIAo+ID4gIAkJdG9f aW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKS0+d20gPSBjcnRjX3N0YXRlLT53bTsK PiA+ICAJfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBpbmRleCA3ZTBmNjdiYWJlMjAu LjAwZmU0ZWQ0ZmI5NiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IEBAIC0y NzMsMTEgKzI3MywxMSBAQCBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9mdW5jcyB7Cj4gPiAgCWlu dCAoKmNvbXB1dGVfcGlwZV93bSkoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Owo+ID4gIAlpbnQgKCpjb21wdXRlX2ludGVybWVkaWF0ZV93bSkoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gIAl2b2lkICgqaW5pdGlhbF93YXRlcm1hcmtzKShzdHJ1 Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 Yyk7Cj4gPiAgCXZvaWQgKCphdG9taWNfdXBkYXRlX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gLQkJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKTsKPiA+ICsJCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gPiAgCXZv aWQgKCpvcHRpbWl6ZV93YXRlcm1hcmtzKShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0 ZSwKPiA+IC0JCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+ ICsJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKPiA+ICAJaW50ICgqY29tcHV0ZV9n bG9iYWxfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4g IAl2b2lkICgqdXBkYXRlX3dtKShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gPiAgCWludCAo Km1vZGVzZXRfY2FsY19jZGNsaykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiBpbmRleCAyZDM4OWU0MzdlODcuLmIxODAzNDJm NjNhNiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+IEBAIC0xNTIwLDEwICsx NTIwLDExIEBAIHN0YXRpYyB2b2lkIGc0eF9wcm9ncmFtX3dhdGVybWFya3Moc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBnNHhf aW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4g LQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICsJCQkJICAg c3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiA+ IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVh cGkuY3J0Yyk7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRl LCBjcnRjKTsKPiA+ICAKPiA+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsK PiA+ICAJY3J0Yy0+d20uYWN0aXZlLmc0eCA9IGNydGNfc3RhdGUtPndtLmc0eC5pbnRlcm1lZGlh dGU7Cj4gPiBAQCAtMTUzMiwxMCArMTUzMywxMSBAQCBzdGF0aWMgdm9pZCBnNHhfaW5pdGlhbF93 YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gIH0KPiA+ICAK PiA+ICBzdGF0aWMgdm9pZCBnNHhfb3B0aW1pemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ID4gKwkJCQkgICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3Rh dGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gKwljb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNf Z2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICAKPiA+ICAJaWYgKCFjcnRjX3N0 YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlKQo+ID4gIAkJcmV0dXJuOwo+ID4gQEAgLTE5MTUs MTEgKzE5MTcsMTIgQEAgc3RhdGljIGludCB2bHZfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gIAkoKCh2YWx1ZSkgPDwgRFNQQVJCXyAjIyBw bGFuZSAjIyBfU0hJRlRfVkxWKSAmIERTUEFSQl8gIyMgcGxhbmUgIyMgX01BU0tfVkxWKQo+ID4g IAo+ID4gIHN0YXRpYyB2b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAtCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ID4gKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4g PiAtCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGMtPmJhc2UuZGV2KTsKPiA+ICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0g JmRldl9wcml2LT51bmNvcmU7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlID0KPiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUs IGNydGMpOwo+ID4gIAljb25zdCBzdHJ1Y3Qgdmx2X2ZpZm9fc3RhdGUgKmZpZm9fc3RhdGUgPQo+ ID4gIAkJJmNydGNfc3RhdGUtPndtLnZsdi5maWZvX3N0YXRlOwo+ID4gIAlpbnQgc3ByaXRlMF9z dGFydCwgc3ByaXRlMV9zdGFydCwgZmlmb19zaXplOwo+ID4gQEAgLTIxMzksMTAgKzIxNDIsMTEg QEAgc3RhdGljIHZvaWQgdmx2X3Byb2dyYW1fd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFs X3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAtCQkJCSAg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gKwkJCQkgICBzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+ID4gLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlID0KPiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMp Owo+ID4gIAo+ID4gIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwo+ID4gIAlj cnRjLT53bS5hY3RpdmUudmx2ID0gY3J0Y19zdGF0ZS0+d20udmx2LmludGVybWVkaWF0ZTsKPiA+ IEBAIC0yMTUxLDEwICsyMTU1LDExIEBAIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFsX3dhdGVybWFy a3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAgfQo+ID4gIAo+ID4gIHN0 YXRpYyB2b2lkIHZsdl9vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ID4gLQkJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCj4gPiArCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjLT5kZXYpOwo+ID4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiArCWNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KPiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3 X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ID4gIAo+ID4gIAlpZiAoIWNydGNfc3RhdGUtPndt Lm5lZWRfcG9zdHZibF91cGRhdGUpCj4gPiAgCQlyZXR1cm47Cj4gPiBAQCAtNTQ5MSwxMSArNTQ5 NiwxMiBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkK PiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgc2tsX2F0b21pY191cGRhdGVfY3J0Y193bShz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiArCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKPiA+IC0Jc3RydWN0IHNr bF9waXBlX3dtICpwaXBlX3dtID0gJmNydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsOwo+ID4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2 KTsKPiA+ICsJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ID4g KwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gPiArCWNv bnN0IHN0cnVjdCBza2xfcGlwZV93bSAqcGlwZV93bSA9ICZjcnRjX3N0YXRlLT53bS5za2wub3B0 aW1hbDsKPiA+ICAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+ID4gIAo+ID4gIAlpZiAo KHN0YXRlLT53bV9yZXN1bHRzLmRpcnR5X3BpcGVzICYgQklUKGNydGMtPnBpcGUpKSA9PSAwKQo+ ID4gQEAgLTU1MDUsMTAgKzU1MTEsMTEgQEAgc3RhdGljIHZvaWQgc2tsX2F0b21pY191cGRhdGVf Y3J0Y193bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICB9Cj4gPiAgCj4g PiAgc3RhdGljIHZvaWQgc2tsX2luaXRpYWxfd20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4gPiAtCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g PiArCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiA+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNl LmRldik7Cj4gPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0K PiA+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ID4g IAlzdHJ1Y3Qgc2tsX2RkYl92YWx1ZXMgKnJlc3VsdHMgPSAmc3RhdGUtPndtX3Jlc3VsdHM7Cj4g PiAgCj4gPiAgCWlmICgocmVzdWx0cy0+ZGlydHlfcGlwZXMgJiBCSVQoY3J0Yy0+cGlwZSkpID09 IDApCj4gPiBAQCAtNTUxNyw3ICs1NTI0LDcgQEAgc3RhdGljIHZvaWQgc2tsX2luaXRpYWxfd20o c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAgCW11dGV4X2xvY2soJmRldl9w cml2LT53bS53bV9tdXRleCk7Cj4gPiAgCj4gPiAgCWlmIChjcnRjX3N0YXRlLT51YXBpLmFjdGl2 ZV9jaGFuZ2VkKQo+ID4gLQkJc2tsX2F0b21pY191cGRhdGVfY3J0Y193bShzdGF0ZSwgY3J0Y19z dGF0ZSk7Cj4gPiArCQlza2xfYXRvbWljX3VwZGF0ZV9jcnRjX3dtKHN0YXRlLCBjcnRjKTsKPiA+ ICAKPiA+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwo+ID4gIH0KPiA+ IEBAIC01NTczLDEwICs1NTgwLDExIEBAIHN0YXRpYyB2b2lkIGlsa19wcm9ncmFtX3dhdGVybWFy a3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gIH0KPiA+ICAKPiA+ICBz dGF0aWMgdm9pZCBpbGtfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ID4gLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiA+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGku Y3J0Yy0+ZGV2KTsKPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ID4gKwljb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19j cnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICAKPiA+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYt PndtLndtX211dGV4KTsKPiA+ICAJY3J0Yy0+d20uYWN0aXZlLmlsayA9IGNydGNfc3RhdGUtPndt Lmlsay5pbnRlcm1lZGlhdGU7Cj4gPiBAQCAtNTU4NSwxMCArNTU5MywxMSBAQCBzdGF0aWMgdm9p ZCBpbGtfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl LAo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBpbGtfb3B0aW1pemVfd2F0ZXJtYXJrcyhz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+IC0JCQkJICAgIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gKwkJCQkgICAgc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiA+IC0Jc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp Owo+ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gPiAr CQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiA+ICAKPiA+ ICAJaWYgKCFjcnRjX3N0YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlKQo+ID4gIAkJcmV0dXJu Owo+ID4gLS0gCj4gPiAyLjIzLjAKPiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVs Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==