From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [RFC 6/7] drm/i915: Try to make bigjoiner work in atomic check. Date: Tue, 2 Jul 2019 17:32:53 -0700 Message-ID: <20190703003252.GB3708@intel.com> References: <20190702194205.13366-1-maarten.lankhorst@linux.intel.com> <20190702194205.13366-7-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id E7A836E0A6 for ; Wed, 3 Jul 2019 00:30:47 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190702194205.13366-7-maarten.lankhorst@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdWwgMDIsIDIwMTkgYXQgMDk6NDI6MDRQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gV2hlbiB0aGUgY2xvY2sgaXMgaGlnaGVyIHRoYW4gdGhlIGRvdGNsb2NrLCB0 cnkgd2l0aCAyIHBpcGVzIGVuYWJsZWQuCj4gSWYgd2UgY2FuIGVuYWJsZSAyLCB0aGVuIHdlIHdp bGwgZ28gaW50byBiaWcgam9pbmVyIG1vZGUsIGFuZCBzdGVhbAo+IHRoZSBhZGphY2VudCBjcnRj Lgo+IAo+IFRoaXMgb25seSBsaW5rcyB0aGUgcGxhbmVzIGluIHNvZnR3YXJlLCBubyBoYXJkd2Fy ZSBwcm9ncmFtbWluZyBpcwo+IGRvbmUgeWV0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgMTQ1ICsrKysrKysr KysrKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jICAg ICAgfCAgMjIgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAg ICAgIHwgICA2ICsKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxNjggaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYwo+IGluZGV4IGQ4ZTYzZjEzM2E2Mi4uY2E3MjA1ODIwMmY4IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTIyMDMsNiArMTIy MDMsNDcgQEAgc3RhdGljIHZvaWQgY29weV9od190b191YXBpX3N0YXRlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2Rl ID0gY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKPiAgfQo+ICAKPiArc3RhdGljIGludAo+ ICtjb3B5X2JpZ2pvaW5lcl9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAo+ICsJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpmcm9tX2NydGNf c3RhdGUpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpzYXZlZF9zdGF0ZTsKPiAr Cj4gKwlzYXZlZF9zdGF0ZSA9IGttZW1kdXAoZnJvbV9jcnRjX3N0YXRlLCBzaXplb2YoKnNhdmVk X3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIXNhdmVkX3N0YXRlKQo+ICsJCXJldHVybiAt RU5PTUVNOwo+ICsKPiArCXNhdmVkX3N0YXRlLT51YXBpID0gY3J0Y19zdGF0ZS0+dWFwaTsKPiAr CXNhdmVkX3N0YXRlLT5zY2FsZXJfc3RhdGUgPSBjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7Cj4g KwlzYXZlZF9zdGF0ZS0+c2hhcmVkX2RwbGwgPSBjcnRjX3N0YXRlLT5zaGFyZWRfZHBsbDsKPiAr CXNhdmVkX3N0YXRlLT5kcGxsX2h3X3N0YXRlID0gY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZTsK PiArCXNhdmVkX3N0YXRlLT5jcmNfZW5hYmxlZCA9IGNydGNfc3RhdGUtPmNyY19lbmFibGVkOwo+ ICsKPiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCW1lbWNweShj cnRjX3N0YXRlLCBzYXZlZF9zdGF0ZSwgc2l6ZW9mKCpjcnRjX3N0YXRlKSk7Cj4gKwlrZnJlZShz YXZlZF9zdGF0ZSk7Cj4gKwo+ICsJLyogUmUtaW5pdCBodyBzdGF0ZSAqLwo+ICsJbWVtc2V0KCZj cnRjX3N0YXRlLT5odywgMCwgc2l6ZW9mKHNhdmVkX3N0YXRlLT5odykpOwo+ICsJY3J0Y19zdGF0 ZS0+aHcuZW5hYmxlID0gZnJvbV9jcnRjX3N0YXRlLT5ody5lbmFibGU7Cj4gKwljcnRjX3N0YXRl LT5ody5hY3RpdmUgPSBmcm9tX2NydGNfc3RhdGUtPmh3LmFjdGl2ZTsKPiArCWNydGNfc3RhdGUt Pmh3Lm1vZGUgPSBmcm9tX2NydGNfc3RhdGUtPmh3Lm1vZGU7Cj4gKwljcnRjX3N0YXRlLT5ody5h ZGp1c3RlZF9tb2RlID0gZnJvbV9jcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwo+ICsKPiAr CS8qIFNvbWUgZml4dXBzICovCj4gKwljcnRjX3N0YXRlLT51YXBpLm1vZGVfY2hhbmdlZCA9IGZy b21fY3J0Y19zdGF0ZS0+dWFwaS5tb2RlX2NoYW5nZWQ7Cj4gKwljcnRjX3N0YXRlLT51YXBpLmNv bm5lY3RvcnNfY2hhbmdlZCA9IGZyb21fY3J0Y19zdGF0ZS0+dWFwaS5jb25uZWN0b3JzX2NoYW5n ZWQ7Cj4gKwljcnRjX3N0YXRlLT51YXBpLmFjdGl2ZV9jaGFuZ2VkID0gZnJvbV9jcnRjX3N0YXRl LT51YXBpLmFjdGl2ZV9jaGFuZ2VkOwo+ICsJY3J0Y19zdGF0ZS0+bnYxMl9wbGFuZXMgPSBjcnRj X3N0YXRlLT5jOF9wbGFuZXMgPSBjcnRjX3N0YXRlLT51cGRhdGVfcGxhbmVzID0gMDsKPiArCj4g KwljcnRjX3N0YXRlLT5iaWdqb2luZXJfbWFzdGVyX2NydGMgPSB0b19pbnRlbF9jcnRjKGZyb21f Y3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiArCj4gKwkvKiBYWFgvVE9ETzogRG8gd2UgbmVlZCB0 aGUgbWFzdGVyJ3MgY3B1X3RyYW5zY29kZXIgaGVyZSwgb3IgcmVzZXQgdG8gZGVmYXVsdD8gKi8K PiArCWNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyID0gKGVudW0gdHJhbnNjb2Rlcil0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0YyktPnBpcGU7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4g K30KPiArCj4gIHN0YXRpYyBpbnQKPiAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IEBAIC0xMzU3Nyw2ICsxMzYxOCw5NiBA QCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2NoZWNrX2Zhc3RzZXQoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YQo+ICAJbmV3X2NydGNfc3RhdGUtPmhhc19kcnJzID0g b2xkX2NydGNfc3RhdGUtPmhhc19kcnJzOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50IGludGVsX2F0 b21pY19jaGVja19iaWdqb2luZXIoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4g K3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUt PmJhc2UuZGV2KTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwg Km5ld19jcnRjX3N0YXRlLCAqc2xhdmVfY3J0Y19zdGF0ZSwgKm1hc3Rlcl9jcnRjX3N0YXRlOwo+ ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMsICpzbGF2ZSwgKm1hc3RlcjsKPiArCWludCBpLCBy ZXQgPSAwOwo+ICsKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTEpCj4gKwkJcmV0dXJu IDA7Cj4gKwo+ICsJZm9yX2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNy dGMsIG9sZF9jcnRjX3N0YXRlLAo+ICsJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ICsJ CWlmICghb2xkX2NydGNfc3RhdGUtPmJpZ2pvaW5lcl9tYXN0ZXJfY3J0YykKPiArCQkJY29udGlu dWU7Cj4gKwo+ICsJCWlmIChjcnRjLT5waXBlID09IFBJUEVfQSkgewo+ICsJCQlEUk1fRVJST1Io IkJpZ2pvaW5lciBzbGF2ZSBvbiBwaXBlIEE/XG4iKTsKPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4g KwkJfQo+ICsKPiArCQkvKiBjcnRjIHN0YXlpbmcgaW4gc2xhdmUgbW9kZT8gKi8KPiArCQlpZiAo IW5ld19jcnRjX3N0YXRlLT51YXBpLmVuYWJsZSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlm IChuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSB8fCBuZXdfY3J0Y19zdGF0ZS0+dXBkYXRl X3BpcGUpIHsKPiArCQkJbWFzdGVyID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYs IGNydGMtPnBpcGUgLSAxKTsKPiArCQkJbWFzdGVyX2NydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNf Z2V0X2NydGNfc3RhdGUoJnN0YXRlLT5iYXNlLCBtYXN0ZXIpOwo+ICsJCQlpZiAoSVNfRVJSKG1h c3Rlcl9jcnRjX3N0YXRlKSkKPiArCQkJCXJldHVybiBQVFJfRVJSKG1hc3Rlcl9jcnRjX3N0YXRl KTsKPiArCj4gKwkJCS8qCj4gKwkJCSAqIEZvcmNlIG1vZGVzZXQgb24gbWFzdGVyLCB0byByZWNh bGN1bGF0ZSBiaWdqb2luZXIKPiArCQkJICogc3RhdGUuCj4gKwkJCSAqCj4gKwkJCSAqIElmIG1h c3Rlcl9jcnRjX3N0YXRlIHdhcyBub3QgcGFydCBvZiB0aGUgYXRvbWljIGNvbW1pdCwKPiArCQkJ ICogd2Ugd2lsbCBmYWlsIGJlY2F1c2UgdGhlIG1hc3RlciB3YXMgbm90IGRlY29uZmlndXJlZCwK PiArCQkJICogYnV0IGF0IGxlYXN0IGZhaWwgYmVsb3cgdG8gdW5pZnkgdGhlIGNoZWNrcy4KPiAr CQkJICovCj4gKwkJCW1hc3Rlcl9jcnRjX3N0YXRlLT51YXBpLm1vZGVfY2hhbmdlZCA9IHRydWU7 Cj4gKwo+ICsJCQlyZXQgPSBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9wbGFuZXMoJnN0YXRlLT5i YXNlLCAmY3J0Yy0+YmFzZSk7Cj4gKwkJCWlmIChyZXQpCj4gKwkJCQlyZXR1cm4gcmV0Owo+ICsK PiArCQkJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfY29ubmVjdG9ycygmc3RhdGUtPmJh c2UsICZjcnRjLT5iYXNlKTsKPiArCQkJaWYgKHJldCkKPiArCQkJCXJldHVybiByZXQ7Cj4gKwkJ fQo+ICsJfQo+ICsKPiArCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRl LCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiArCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsK PiArCQlpZiAoIW5ld19jcnRjX3N0YXRlLT51YXBpLmVuYWJsZSB8fCAhbmV3X2NydGNfc3RhdGUt PmJpZ2pvaW5lcikgewo+ICsJCQlpZiAoIW9sZF9jcnRjX3N0YXRlLT5iaWdqb2luZXIpCj4gKwkJ CQljb250aW51ZTsKPiArCQl9Cj4gKwo+ICsJCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19z dGF0ZSkgJiYgIW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSkKPiArCQkJY29udGludWU7Cj4g Kwo+ICsJCWlmICgxICsgY3J0Yy0+cGlwZSA+PSBJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3Bp cGVzKSB7Cj4gKwkJCURSTV9ERUJVR19LTVMoIkJpZyBqb2luZXIgY29uZmlndXJhdGlvbiByZXF1 aXJlcyBDUlRDICsgMSB0byBiZSB1c2VkLCBkb2Vzbid0IGV4aXN0XG4iKTsKPiArCQkJcmV0dXJu IC1FSU5WQUw7Cj4gKwkJfQo+ICsKPiArCQlzbGF2ZSA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBl KGRldl9wcml2LCBjcnRjLT5waXBlICsgMSk7Cj4gKwkJc2xhdmVfY3J0Y19zdGF0ZSA9IGludGVs X2F0b21pY19nZXRfY3J0Y19zdGF0ZSgmc3RhdGUtPmJhc2UsIHNsYXZlKTsKPiArCQlpZiAoSVNf RVJSKHNsYXZlX2NydGNfc3RhdGUpKQo+ICsJCQlyZXR1cm4gUFRSX0VSUihzbGF2ZV9jcnRjX3N0 YXRlKTsKPiArCj4gKwkJaWYgKG5ld19jcnRjX3N0YXRlLT5iaWdqb2luZXIgJiYgc2xhdmVfY3J0 Y19zdGF0ZS0+dWFwaS5lbmFibGUpIHsKPiArCQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWQ6JXNd IEJpZyBqb2luZXIgY29uZmlndXJhdGlvbiByZXF1aXJlcyB0aGlzIENSVEMgdG8gYmUgdW5jb25m aWd1cmVkXG4iLAo+ICsJCQkJICAgICAgc2xhdmUtPmJhc2UuYmFzZS5pZCwgc2xhdmUtPmJhc2Uu bmFtZSk7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0gZWxzZSBpZiAobmV3X2NydGNfc3Rh dGUtPmJpZ2pvaW5lcikgewo+ICsJCQlEUk1fREVCVUdfS01TKCJbQ1JUQzolZDolc10gVXNlZCBh cyBzbGF2ZSBmb3IgYmlnIGpvaW5lclxuIiwKPiArCQkJCSAgICAgIHNsYXZlLT5iYXNlLmJhc2Uu aWQsIHNsYXZlLT5iYXNlLm5hbWUpOwo+ICsJCQlyZXQgPSBjb3B5X2JpZ2pvaW5lcl9jcnRjX3N0 YXRlKHNsYXZlX2NydGNfc3RhdGUsIG5ld19jcnRjX3N0YXRlKTsKPiArCQl9IGVsc2UgaWYgKCFz bGF2ZV9jcnRjX3N0YXRlLT51YXBpLmVuYWJsZSkgewo+ICsJCQlEUk1fREVCVUdfS01TKCJbQ1JU QzolZDolc10gRGlzYWJsaW5nIHNsYXZlIGZyb20gYmlnIGpvaW5lclxuIiwKPiArCQkJCSAgICAg IHNsYXZlLT5iYXNlLmJhc2UuaWQsIHNsYXZlLT5iYXNlLm5hbWUpOwo+ICsJCQlyZXQgPSBjbGVh cl9pbnRlbF9jcnRjX3N0YXRlKHNsYXZlX2NydGNfc3RhdGUpOwo+ICsJCX0KPiArCQlpZiAocmV0 KQo+ICsJCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICAv KioKPiAgICogaW50ZWxfYXRvbWljX2NoZWNrIC0gdmFsaWRhdGUgc3RhdGUgb2JqZWN0Cj4gICAq IEBkZXY6IGRybSBkZXZpY2UKPiBAQCAtMTM2MTEsNyArMTM3NDIsMTAgQEAgc3RhdGljIGludCBp bnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIAkJaWYgKCFu ZXdfY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGUpIHsKPiAgCQkJYW55X21zID0gdHJ1ZTsKPiAtCQkJ Y2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShuZXdfY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJCQkvKiBiaWcg am9pbmVyIGlzIHNsYXZlIGNsZWFyZWQgaW4gaW50ZWxfYXRvbWljX2NoZWNrX2JpZ2pvaW5lcigp ICovCj4gKwkJCWlmIChvbGRfY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGUgfHwgIW9sZF9jcnRjX3N0 YXRlLT5iaWdqb2luZXIpCj4gKwkJCQljbGVhcl9pbnRlbF9jcnRjX3N0YXRlKG5ld19jcnRjX3N0 YXRlKTsKPiAgCQkJY29udGludWU7Cj4gIAkJfQo+ICAKPiBAQCAtMTM2MjUsNiArMTM3NTksMTAg QEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiAgCQkJYW55X21zID0gdHJ1ZTsKPiAgCX0KPiAgCj4gKwlyZXQgPSBpbnRlbF9hdG9taWNfY2hl Y2tfYmlnam9pbmVyKHN0YXRlKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4g IAlyZXQgPSBkcm1fZHBfbXN0X2F0b21pY19jaGVjaygmc3RhdGUtPmJhc2UpOwo+ICAJaWYgKHJl dCkKPiAgCQlnb3RvIGZhaWw7Cj4gQEAgLTEzNzI5LDYgKzEzODY3LDExIEBAIHN0YXRpYyB2b2lk IGludGVsX3VwZGF0ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJZWxzZSBpZiAo bmV3X3BsYW5lX3N0YXRlKQo+ICAJCWludGVsX2ZiY19lbmFibGUoY3J0YywgbmV3X2NydGNfc3Rh dGUsIG5ld19wbGFuZV9zdGF0ZSk7Cj4gIAo+ICsJaWYgKG5ld19jcnRjX3N0YXRlLT5iaWdqb2lu ZXIpIHsKPiArCQlEUk1fRVJST1IoIlBsYW5lIHVwZGF0ZXMgbm90IHN1cHBvcnRlZCBpbiBiaWdq b2luZXIgY29uZmlndXJhdGlvbiB5ZXRcbiIpOwo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gIAlp bnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdGF0ZSwgY3J0Yyk7Cj4gIAo+ICAJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gOSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5j Cj4gaW5kZXggYmYyODk3MGMwMWFhLi41MDYzYzhlZTZmZDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCj4gQEAgLTIwNDYsNiArMjA0NiwxNSBAQCBzdGF0aWMg aW50IGludGVsX2RwX2RzY19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAo+ICAJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzW2xp bWl0cy0+bWF4X2Nsb2NrXTsKPiAgCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gbGltaXRzLT5t YXhfbGFuZV9jb3VudDsKPiAgCj4gKwlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayA+IGlu dGVsX2RwX2Rvd25zdHJlYW1fbWF4X2RvdGNsb2NrKGludGVsX2RwLCBmYWxzZSkpIHsKPiArCQlp ZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayA+IGludGVsX2RwX2Rvd25zdHJlYW1fbWF4X2Rv dGNsb2NrKGludGVsX2RwLCB0cnVlKSkgewo+ICsJCQlEUk1fREVCVUdfS01TKCJDbG9jayByYXRl IHRvbyBoaWdoIGZvciBiaWcgam9pbmVyXG4iKTsKPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwkJ fQo+ICsJCXBpcGVfY29uZmlnLT5iaWdqb2luZXIgPSB0cnVlOwo+ICsJCURSTV9ERUJVR19LTVMo IlVzaW5nIGJpZ2pvaW5lciBjb25maWd1cmF0aW9uXG4iKTsKPiArCX0KCklmIHdlIGxhdGVyIGNh bm5vdCBjb21wdXRlIERTQyBwYXJhbWV0ZXJzIGFuZCBkc2MtPmNvbXByZXNzaW9uX2VuIGNhbm5v dCBiZSBzZXQgdGhlbiB3ZSBuZWVkIHRvCnNldCBwaXBlX2NvbmZpZy0+YmlnX2pvaW5lciB0byBm YWxzZSBhcyB3ZWxsIGFzIHdlIGNhbm5vdCBlbmFibGUgYmlnIGpvaW5lciB3aXRob3V0IERTQwoK TWFuYXNpCgo+ICsKPiAgCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7Cj4gIAkJcGlw ZV9jb25maWctPmRzY19wYXJhbXMuY29tcHJlc3NlZF9icHAgPQo+ICAJCQltaW5fdCh1MTYsIGRy bV9lZHBfZHNjX3Npbmtfb3V0cHV0X2JwcChpbnRlbF9kcC0+ZHNjX2RwY2QpID4+IDQsCj4gQEAg LTIwNTMsNiArMjA2MiwxMSBAQCBzdGF0aWMgaW50IGludGVsX2RwX2RzY19jb21wdXRlX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJCXBpcGVfY29uZmlnLT5kc2NfcGFyYW1z LnNsaWNlX2NvdW50ID0KPiAgCQkJZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudChpbnRl bF9kcC0+ZHNjX2RwY2QsCj4gIAkJCQkJCQl0cnVlKTsKPiArCj4gKwkJaWYgKHBpcGVfY29uZmln LT5iaWdqb2luZXIgJiYgcGlwZV9jb25maWctPmRzY19wYXJhbXMuc2xpY2VfY291bnQgPCA0KSB7 Cj4gKwkJCURSTV9ERUJVR19LTVMoIkNhbm5vdCBzcGxpdCBlRFAgc3RyZWFtIGluIGJpZ2pvaW5l ciBjb25maWd1cmF0aW9uLlxuIik7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiAgCX0g ZWxzZSB7Cj4gIAkJdTE2IGRzY19tYXhfb3V0cHV0X2JwcDsKPiAgCQl1OCBkc2NfZHBfc2xpY2Vf Y291bnQ7Cj4gQEAgLTIwODAsMTMgKzIwOTQsMTMgQEAgc3RhdGljIGludCBpbnRlbF9kcF9kc2Nf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCSAqIGlzIGdyZWF0 ZXIgdGhhbiB0aGUgbWF4aW11bSBDZGNsb2NrIGFuZCBpZiBzbGljZSBjb3VudCBpcyBldmVuCj4g IAkgKiB0aGVuIHdlIG5lZWQgdG8gdXNlIDIgVkRTQyBpbnN0YW5jZXMuCj4gIAkgKi8KPiAtCWlm IChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrID4gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxKSB7 Cj4gLQkJaWYgKHBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLnNsaWNlX2NvdW50ID4gMSkgewo+IC0J CQlwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5kc2Nfc3BsaXQgPSB0cnVlOwo+IC0JCX0gZWxzZSB7 Cj4gKwlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayA+IGRldl9wcml2LT5tYXhfY2RjbGtf ZnJlcSB8fCBwaXBlX2NvbmZpZy0+Ymlnam9pbmVyKSB7Cj4gKwkJaWYgKHBpcGVfY29uZmlnLT5k c2NfcGFyYW1zLnNsaWNlX2NvdW50IDwgMikgewo+ICAJCQlEUk1fREVCVUdfS01TKCJDYW5ub3Qg c3BsaXQgc3RyZWFtIHRvIHVzZSAyIFZEU0MgaW5zdGFuY2VzXG4iKTsKPiAgCQkJcmV0dXJuIC1F SU5WQUw7Cj4gIAkJfQo+ICsKPiArCQlwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5kc2Nfc3BsaXQg PSB0cnVlOwo+ICAJfQo+ICAKPiAgCXJldCA9IGludGVsX2RwX2NvbXB1dGVfZHNjX3BhcmFtcyhp bnRlbF9kcCwgcGlwZV9jb25maWcpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXgg OGE5ZjA4OTg0M2JjLi5kNmViNzc4OGVkNDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAo+IEBAIC05NzYsNiArOTc2LDEyIEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiAgCS8q IGVuYWJsZSBwaXBlIGNzYz8gKi8KPiAgCWJvb2wgY3NjX2VuYWJsZTsKPiAgCj4gKwkvKiBlbmFi bGUgcGlwZSBiaWcgam9pbmVyPyAqLwo+ICsJYm9vbCBiaWdqb2luZXI7Cj4gKwo+ICsJLyogYmln IGpvaW5lciBtYXN0ZXIgQ1JUQyAqLwo+ICsJc3RydWN0IGludGVsX2NydGMgKmJpZ2pvaW5lcl9t YXN0ZXJfY3J0YzsKPiArCj4gIAkvKiBEaXNwbGF5IFN0cmVhbSBjb21wcmVzc2lvbiBzdGF0ZSAq Lwo+ICAJc3RydWN0IHsKPiAgCQlib29sIGNvbXByZXNzaW9uX2VuYWJsZTsKPiAtLSAKPiAyLjIw LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4