From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guido =?iso-8859-1?Q?G=FCnther?= Subject: Re: [PATCH v3 3/8] drm/etnaviv: share a single cmdbuf suballoc region across all GPUs Date: Tue, 13 Aug 2019 16:01:47 +0200 Message-ID: <20190813140147.GA4279@bogon.m.sigxcpu.org> References: <20190809120424.32679-1-l.stach@pengutronix.de> <20190809120424.32679-3-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190809120424.32679-3-l.stach@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lucas Stach Cc: etnaviv@lists.freedesktop.org, dri-devel@lists.freedesktop.org, patchwork-lst@pengutronix.de, kernel@pengutronix.de, Russell King List-Id: dri-devel@lists.freedesktop.org SGksCk9uIEZyaSwgQXVnIDA5LCAyMDE5IGF0IDAyOjA0OjE5UE0gKzAyMDAsIEx1Y2FzIFN0YWNo IHdyb3RlOgo+IFRoZXJlIGlzIG5vIG5lZWQgZm9yIGVhY2ggR1BVIHRvIGhhdmUgaXQncyBvd24g Y21kYnVmIHN1YmFsbG9jYXRpb24KPiByZWdpb24uIE9ubHkgYWxsb2NhdGUgYSBzaW5nbGUgb25l IGZvciB0aGUgdGhlIGV0bmF2aXYgdmlydHVhbCBkZXZpY2UKPiBhbmQgc2hhcmUgaXQgYWNyb3Nz IGFsbCBHUFVzLgo+IAo+IEFzIHRoZSBzdWJhbGxvYyBzcGFjZSBpcyBub3cgcG90ZW50aWFsbHkg c2hhcmVkIGJ5IG1vcmUgaGFyZHdhcmUgam9icwo+IHJ1bm5pbmcgaW4gcGFyYWxsZWwsIGRvdWJs ZSBpdHMgc2l6ZSB0byA1MTJLQiB0byBhdm9pZCBjb250ZW50aW9uLgo+IAo+IFNpZ25lZC1vZmYt Ynk6IEx1Y2FzIFN0YWNoIDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPgo+IFJldmlld2VkLWJ5OiBQ aGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKUmV2aWV3ZWQtYnk6IEd1aWRv IEfDvG50aGVyIDxhZ3hAc2lneGNwdS5vcmc+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRu YXZpdi9ldG5hdml2X2NtZGJ1Zi5jICAgICB8IDE0ICsrKysrKystLS0tLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfY21kYnVmLmggICAgIHwgIDQgKystLQo+ICBkcml2ZXJz L2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5jICAgICAgICB8IDE5ICsrKysrKysrKysrKysr Ky0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuaCAgICAgICAgfCAg MiArKwo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYyB8ICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMgICAgICAgIHwgMTcg KysrKy0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUu aCAgICAgICAgfCAgMSAtCj4gIDcgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMjgg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfY21kYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2NtZGJ1Zi5j Cj4gaW5kZXggZTg0MmQ5ODhlZGQ0Li5iMGJhYmMwZjcyMzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9jbWRidWYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ldG5hdml2L2V0bmF2aXZfY21kYnVmLmMKPiBAQCAtMTMsMTMgKzEzLDEzIEBACj4gICNpbmNs dWRlICJldG5hdml2X21tdS5oIgo+ICAjaW5jbHVkZSAiZXRuYXZpdl9wZXJmbW9uLmgiCj4gIAo+ IC0jZGVmaW5lIFNVQkFMTE9DX1NJWkUJCVNaXzI1NksKPiArI2RlZmluZSBTVUJBTExPQ19TSVpF CQlTWl81MTJLCj4gICNkZWZpbmUgU1VCQUxMT0NfR1JBTlVMRQlTWl80Swo+ICAjZGVmaW5lIFNV QkFMTE9DX0dSQU5VTEVTCShTVUJBTExPQ19TSVpFIC8gU1VCQUxMT0NfR1JBTlVMRSkKPiAgCj4g IHN0cnVjdCBldG5hdml2X2NtZGJ1Zl9zdWJhbGxvYyB7Cj4gIAkvKiBzdWJhbGxvY2F0ZWQgZG1h IGJ1ZmZlciBwcm9wZXJ0aWVzICovCj4gLQlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdTsKPiArCXN0 cnVjdCBkZXZpY2UgKmRldjsKPiAgCXZvaWQgKnZhZGRyOwo+ICAJZG1hX2FkZHJfdCBwYWRkcjsK PiAgCj4gQEAgLTMxLDcgKzMxLDcgQEAgc3RydWN0IGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jIHsK PiAgfTsKPiAgCj4gIHN0cnVjdCBldG5hdml2X2NtZGJ1Zl9zdWJhbGxvYyAqCj4gLWV0bmF2aXZf Y21kYnVmX3N1YmFsbG9jX25ldyhzdHJ1Y3QgZXRuYXZpdl9ncHUgKiBncHUpCj4gK2V0bmF2aXZf Y21kYnVmX3N1YmFsbG9jX25ldyhzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBl dG5hdml2X2NtZGJ1Zl9zdWJhbGxvYyAqc3ViYWxsb2M7Cj4gIAlpbnQgcmV0Owo+IEBAIC00MCwx MSArNDAsMTEgQEAgZXRuYXZpdl9jbWRidWZfc3ViYWxsb2NfbmV3KHN0cnVjdCBldG5hdml2X2dw dSAqIGdwdSkKPiAgCWlmICghc3ViYWxsb2MpCj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7 Cj4gIAo+IC0Jc3ViYWxsb2MtPmdwdSA9IGdwdTsKPiArCXN1YmFsbG9jLT5kZXYgPSBkZXY7Cj4g IAltdXRleF9pbml0KCZzdWJhbGxvYy0+bG9jayk7Cj4gIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZz dWJhbGxvYy0+ZnJlZV9ldmVudCk7Cj4gIAo+IC0Jc3ViYWxsb2MtPnZhZGRyID0gZG1hX2FsbG9j X3djKGdwdS0+ZGV2LCBTVUJBTExPQ19TSVpFLAo+ICsJc3ViYWxsb2MtPnZhZGRyID0gZG1hX2Fs bG9jX3djKGRldiwgU1VCQUxMT0NfU0laRSwKPiAgCQkJCSAgICAgICAmc3ViYWxsb2MtPnBhZGRy LCBHRlBfS0VSTkVMKTsKPiAgCWlmICghc3ViYWxsb2MtPnZhZGRyKSB7Cj4gIAkJcmV0ID0gLUVO T01FTTsKPiBAQCAtNzYsNyArNzYsNyBAQCB2b2lkIGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jX3Vu bWFwKHN0cnVjdCBldG5hdml2X2lvbW11ICptbXUsCj4gIAo+ICB2b2lkIGV0bmF2aXZfY21kYnVm X3N1YmFsbG9jX2Rlc3Ryb3koc3RydWN0IGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jICpzdWJhbGxv YykKPiAgewo+IC0JZG1hX2ZyZWVfd2Moc3ViYWxsb2MtPmdwdS0+ZGV2LCBTVUJBTExPQ19TSVpF LCBzdWJhbGxvYy0+dmFkZHIsCj4gKwlkbWFfZnJlZV93YyhzdWJhbGxvYy0+ZGV2LCBTVUJBTExP Q19TSVpFLCBzdWJhbGxvYy0+dmFkZHIsCj4gIAkJICAgIHN1YmFsbG9jLT5wYWRkcik7Cj4gIAlr ZnJlZShzdWJhbGxvYyk7Cj4gIH0KPiBAQCAtMTAxLDcgKzEwMSw3IEBAIGludCBldG5hdml2X2Nt ZGJ1Zl9pbml0KHN0cnVjdCBldG5hdml2X2NtZGJ1Zl9zdWJhbGxvYyAqc3ViYWxsb2MsCj4gIAkJ CQkJCSAgICAgICBzdWJhbGxvYy0+ZnJlZV9zcGFjZSwKPiAgCQkJCQkJICAgICAgIG1zZWNzX3Rv X2ppZmZpZXMoMTAgKiAxMDAwKSk7Cj4gIAkJaWYgKCFyZXQpIHsKPiAtCQkJZGV2X2VycihzdWJh bGxvYy0+Z3B1LT5kZXYsCj4gKwkJCWRldl9lcnIoc3ViYWxsb2MtPmRldiwKPiAgCQkJCSJUaW1l b3V0IHdhaXRpbmcgZm9yIGNtZGJ1ZiBzcGFjZVxuIik7Cj4gIAkJCXJldHVybiAtRVRJTUVET1VU Owo+ICAJCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9j bWRidWYuaCBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfY21kYnVmLmgKPiBpbmRl eCA1ODNmNTZiZjAxMWMuLmEyODY2OGU0NmUyNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X2NtZGJ1Zi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2 aXYvZXRuYXZpdl9jbWRidWYuaAo+IEBAIC04LDcgKzgsNyBAQAo+ICAKPiAgI2luY2x1ZGUgPGxp bnV4L3R5cGVzLmg+Cj4gIAo+IC1zdHJ1Y3QgZXRuYXZpdl9ncHU7Cj4gK3N0cnVjdCBkZXZpY2U7 Cj4gIHN0cnVjdCBldG5hdml2X2lvbW11Owo+ICBzdHJ1Y3QgZXRuYXZpdl92cmFtX21hcHBpbmc7 Cj4gIHN0cnVjdCBldG5hdml2X2NtZGJ1Zl9zdWJhbGxvYzsKPiBAQCAtMjUsNyArMjUsNyBAQCBz dHJ1Y3QgZXRuYXZpdl9jbWRidWYgewo+ICB9Owo+ICAKPiAgc3RydWN0IGV0bmF2aXZfY21kYnVm X3N1YmFsbG9jICoKPiAtZXRuYXZpdl9jbWRidWZfc3ViYWxsb2NfbmV3KHN0cnVjdCBldG5hdml2 X2dwdSAqIGdwdSk7Cj4gK2V0bmF2aXZfY21kYnVmX3N1YmFsbG9jX25ldyhzdHJ1Y3QgZGV2aWNl ICpkZXYpOwo+ICB2b2lkIGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jX2Rlc3Ryb3koc3RydWN0IGV0 bmF2aXZfY21kYnVmX3N1YmFsbG9jICpzdWJhbGxvYyk7Cj4gIGludCBldG5hdml2X2NtZGJ1Zl9z dWJhbGxvY19tYXAoc3RydWN0IGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jICpzdWJhbGxvYywKPiAg CQkJCXN0cnVjdCBldG5hdml2X2lvbW11ICptbXUsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5h dml2X2Rydi5jCj4gaW5kZXggOWQ0NDA0NzIzNDg5Li41ZmEzYWE3YmRiYzUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2LmMKPiBAQCAtNTMwLDIzICs1MzAsMzIgQEAgc3Rh dGljIGludCBldG5hdml2X2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAJSU5JVF9MSVNUX0hF QUQoJnByaXYtPmdlbV9saXN0KTsKPiAgCXByaXYtPm51bV9ncHVzID0gMDsKPiAgCj4gKwlwcml2 LT5jbWRidWZfc3ViYWxsb2MgPSBldG5hdml2X2NtZGJ1Zl9zdWJhbGxvY19uZXcoZHJtLT5kZXYp Owo+ICsJaWYgKElTX0VSUihwcml2LT5jbWRidWZfc3ViYWxsb2MpKSB7Cj4gKwkJZGV2X2Vycihk cm0tPmRldiwgIkZhaWxlZCB0byBjcmVhdGUgY21kYnVmIHN1YmFsbG9jYXRvclxuIik7Cj4gKwkJ cmV0ID0gUFRSX0VSUihwcml2LT5jbWRidWZfc3ViYWxsb2MpOwo+ICsJCWdvdG8gb3V0X2ZyZWVf cHJpdjsKPiArCX0KPiArCj4gIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBkcm0pOwo+ICAKPiAgCXJl dCA9IGNvbXBvbmVudF9iaW5kX2FsbChkZXYsIGRybSk7Cj4gIAlpZiAocmV0IDwgMCkKPiAtCQln b3RvIG91dF9iaW5kOwo+ICsJCWdvdG8gb3V0X2Rlc3Ryb3lfc3ViYWxsb2M7Cj4gIAo+ICAJbG9h ZF9ncHUoZHJtKTsKPiAgCj4gIAlyZXQgPSBkcm1fZGV2X3JlZ2lzdGVyKGRybSwgMCk7Cj4gIAlp ZiAocmV0KQo+IC0JCWdvdG8gb3V0X3JlZ2lzdGVyOwo+ICsJCWdvdG8gb3V0X3VuYmluZDsKPiAg Cj4gIAlyZXR1cm4gMDsKPiAgCj4gLW91dF9yZWdpc3RlcjoKPiArb3V0X3VuYmluZDoKPiAgCWNv bXBvbmVudF91bmJpbmRfYWxsKGRldiwgZHJtKTsKPiAtb3V0X2JpbmQ6Cj4gK291dF9kZXN0cm95 X3N1YmFsbG9jOgo+ICsJZXRuYXZpdl9jbWRidWZfc3ViYWxsb2NfZGVzdHJveShwcml2LT5jbWRi dWZfc3ViYWxsb2MpOwo+ICtvdXRfZnJlZV9wcml2Ogo+ICAJa2ZyZWUocHJpdik7Cj4gIG91dF9w dXQ6Cj4gIAlkcm1fZGV2X3B1dChkcm0pOwo+IEBAIC01NjUsNiArNTc0LDggQEAgc3RhdGljIHZv aWQgZXRuYXZpdl91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAKPiAgCWRldi0+ZG1hX3Bh cm1zID0gTlVMTDsKPiAgCj4gKwlldG5hdml2X2NtZGJ1Zl9zdWJhbGxvY19kZXN0cm95KHByaXYt PmNtZGJ1Zl9zdWJhbGxvYyk7Cj4gKwo+ICAJZHJtLT5kZXZfcHJpdmF0ZSA9IE5VTEw7Cj4gIAlr ZnJlZShwcml2KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5oCj4gaW5k ZXggZWFiZTM5NGM0ZTI1Li5lMDUyZDdkYjY2YWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfZHJ2LmgKPiBAQCAtMzYsNiArMzYsOCBAQCBzdHJ1Y3QgZXRuYXZpdl9kcm1fcHJp dmF0ZSB7Cj4gIAlzdHJ1Y3QgZGV2aWNlX2RtYV9wYXJhbWV0ZXJzIGRtYV9wYXJtczsKPiAgCXN0 cnVjdCBldG5hdml2X2dwdSAqZ3B1W0VUTkFfTUFYX1BJUEVTXTsKPiAgCj4gKwlzdHJ1Y3QgZXRu YXZpdl9jbWRidWZfc3ViYWxsb2MgKmNtZGJ1Zl9zdWJhbGxvYzsKPiArCj4gIAkvKiBsaXN0IG9m IEdFTSBvYmplY3RzOiAqLwo+ICAJc3RydWN0IG11dGV4IGdlbV9sb2NrOwo+ICAJc3RydWN0IGxp c3RfaGVhZCBnZW1fbGlzdDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYv ZXRuYXZpdl9nZW1fc3VibWl0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dl bV9zdWJtaXQuYwo+IGluZGV4IGY1MzVhNjI3ZjI5Ny4uM2Y0ZjZhYjM4OGRlIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKPiBAQCAtNDk2LDcg KzQ5Niw3IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPiAgCQlnb3RvIGVycl9zdWJtaXRfd3dfYWNxdWlyZTsKPiAgCX0K PiAgCj4gLQlyZXQgPSBldG5hdml2X2NtZGJ1Zl9pbml0KGdwdS0+Y21kYnVmX3N1YmFsbG9jLCAm c3VibWl0LT5jbWRidWYsCj4gKwlyZXQgPSBldG5hdml2X2NtZGJ1Zl9pbml0KHByaXYtPmNtZGJ1 Zl9zdWJhbGxvYywgJnN1Ym1pdC0+Y21kYnVmLAo+ICAJCQkJICBBTElHTihhcmdzLT5zdHJlYW1f c2l6ZSwgOCkgKyA4KTsKPiAgCWlmIChyZXQpCj4gIAkJZ290byBlcnJfc3VibWl0X29iamVjdHM7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMgYi9k cml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jCj4gaW5kZXggZjAwNTQ3Yjg4YTEz Li4xNzliYzZjNTQ0Y2EgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRu YXZpdl9ncHUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMK PiBAQCAtNjkzLDYgKzY5Myw3IEBAIHN0YXRpYyB2b2lkIGV0bmF2aXZfZ3B1X2h3X2luaXQoc3Ry dWN0IGV0bmF2aXZfZ3B1ICpncHUpCj4gIAo+ICBpbnQgZXRuYXZpdl9ncHVfaW5pdChzdHJ1Y3Qg ZXRuYXZpdl9ncHUgKmdwdSkKPiAgewo+ICsJc3RydWN0IGV0bmF2aXZfZHJtX3ByaXZhdGUgKnBy aXYgPSBncHUtPmRybS0+ZGV2X3ByaXZhdGU7Cj4gIAlpbnQgcmV0LCBpOwo+ICAKPiAgCXJldCA9 IHBtX3J1bnRpbWVfZ2V0X3N5bmMoZ3B1LT5kZXYpOwo+IEBAIC03NjAsMjMgKzc2MSwxNiBAQCBp bnQgZXRuYXZpdl9ncHVfaW5pdChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSkKPiAgCQlnb3RvIGZh aWw7Cj4gIAl9Cj4gIAo+IC0JZ3B1LT5jbWRidWZfc3ViYWxsb2MgPSBldG5hdml2X2NtZGJ1Zl9z dWJhbGxvY19uZXcoZ3B1KTsKPiAtCWlmIChJU19FUlIoZ3B1LT5jbWRidWZfc3ViYWxsb2MpKSB7 Cj4gLQkJZGV2X2VycihncHUtPmRldiwgIkZhaWxlZCB0byBjcmVhdGUgY21kYnVmIHN1YmFsbG9j YXRvclxuIik7Cj4gLQkJcmV0ID0gUFRSX0VSUihncHUtPmNtZGJ1Zl9zdWJhbGxvYyk7Cj4gLQkJ Z290byBkZXN0cm95X2lvbW11Owo+IC0JfQo+IC0KPiAtCXJldCA9IGV0bmF2aXZfY21kYnVmX3N1 YmFsbG9jX21hcChncHUtPmNtZGJ1Zl9zdWJhbGxvYywgZ3B1LT5tbXUsCj4gKwlyZXQgPSBldG5h dml2X2NtZGJ1Zl9zdWJhbGxvY19tYXAocHJpdi0+Y21kYnVmX3N1YmFsbG9jLCBncHUtPm1tdSwK PiAgCQkJCQkgICZncHUtPmNtZGJ1Zl9tYXBwaW5nLAo+ICAJCQkJCSAgZ3B1LT5tZW1vcnlfYmFz ZSk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJZGV2X2VycihncHUtPmRldiwgImZhaWxlZCB0byBtYXAg Y21kYnVmIHN1YmFsbG9jXG4iKTsKPiAtCQlnb3RvIGRlc3Ryb3lfc3ViYWxsb2M7Cj4gKwkJZ290 byBkZXN0cm95X2lvbW11Owo+ICAJfQo+ICAKPiAgCS8qIENyZWF0ZSBidWZmZXI6ICovCj4gLQly ZXQgPSBldG5hdml2X2NtZGJ1Zl9pbml0KGdwdS0+Y21kYnVmX3N1YmFsbG9jLCAmZ3B1LT5idWZm ZXIsCj4gKwlyZXQgPSBldG5hdml2X2NtZGJ1Zl9pbml0KHByaXYtPmNtZGJ1Zl9zdWJhbGxvYywg JmdwdS0+YnVmZmVyLAo+ICAJCQkJICBQQUdFX1NJWkUpOwo+ICAJaWYgKHJldCkgewo+ICAJCWRl dl9lcnIoZ3B1LT5kZXYsICJjb3VsZCBub3QgY3JlYXRlIGNvbW1hbmQgYnVmZmVyXG4iKTsKPiBA QCAtODE1LDggKzgwOSw2IEBAIGludCBldG5hdml2X2dwdV9pbml0KHN0cnVjdCBldG5hdml2X2dw dSAqZ3B1KQo+ICAJZXRuYXZpdl9jbWRidWZfZnJlZSgmZ3B1LT5idWZmZXIpOwo+ICB1bm1hcF9z dWJhbGxvYzoKPiAgCWV0bmF2aXZfY21kYnVmX3N1YmFsbG9jX3VubWFwKGdwdS0+bW11LCAmZ3B1 LT5jbWRidWZfbWFwcGluZyk7Cj4gLWRlc3Ryb3lfc3ViYWxsb2M6Cj4gLQlldG5hdml2X2NtZGJ1 Zl9zdWJhbGxvY19kZXN0cm95KGdwdS0+Y21kYnVmX3N1YmFsbG9jKTsKPiAgZGVzdHJveV9pb21t dToKPiAgCWV0bmF2aXZfaW9tbXVfZGVzdHJveShncHUtPm1tdSk7Cj4gIGZhaWw6Cj4gQEAgLTE2 OTIsNyArMTY4NCw2IEBAIHN0YXRpYyB2b2lkIGV0bmF2aXZfZ3B1X3VuYmluZChzdHJ1Y3QgZGV2 aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKPiAgCWlmIChncHUtPmluaXRpYWxpemVk KSB7Cj4gIAkJZXRuYXZpdl9jbWRidWZfZnJlZSgmZ3B1LT5idWZmZXIpOwo+ICAJCWV0bmF2aXZf Y21kYnVmX3N1YmFsbG9jX3VubWFwKGdwdS0+bW11LCAmZ3B1LT5jbWRidWZfbWFwcGluZyk7Cj4g LQkJZXRuYXZpdl9jbWRidWZfc3ViYWxsb2NfZGVzdHJveShncHUtPmNtZGJ1Zl9zdWJhbGxvYyk7 Cj4gIAkJZXRuYXZpdl9pb21tdV9kZXN0cm95KGdwdS0+bW11KTsKPiAgCQlncHUtPmluaXRpYWxp emVkID0gZmFsc2U7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5oCj4g aW5kZXggNmE2YWRkMzUwZDJkLi45MzNjOGQwMTZmMTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5h dml2L2V0bmF2aXZfZ3B1LmgKPiBAQCAtMTM3LDcgKzEzNyw2IEBAIHN0cnVjdCBldG5hdml2X2dw dSB7Cj4gIAlpbnQgaXJxOwo+ICAKPiAgCXN0cnVjdCBldG5hdml2X2lvbW11ICptbXU7Cj4gLQlz dHJ1Y3QgZXRuYXZpdl9jbWRidWZfc3ViYWxsb2MgKmNtZGJ1Zl9zdWJhbGxvYzsKPiAgCj4gIAkv KiBQb3dlciBDb250cm9sOiAqLwo+ICAJc3RydWN0IGNsayAqY2xrX2J1czsKPiAtLSAKPiAyLjIw LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IGV0bmF2aXYgbWFpbGluZyBsaXN0Cj4gZXRuYXZpdkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2V0bmF2aXYKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs