From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: Re: [PATCH v2 3/3] drm/etnaviv: implement softpin Date: Thu, 15 Aug 2019 12:16:23 +0200 Message-ID: <1565864183.2641.29.camel@pengutronix.de> References: <20190809120514.5157-1-l.stach@pengutronix.de> <20190809120514.5157-3-l.stach@pengutronix.de> <20190814122916.GB12971@bogon.m.sigxcpu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7DE976E978 for ; Thu, 15 Aug 2019 10:16:26 +0000 (UTC) In-Reply-To: <20190814122916.GB12971@bogon.m.sigxcpu.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Guido =?ISO-8859-1?Q?G=FCnther?= 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 QW0gTWl0dHdvY2gsIGRlbiAxNC4wOC4yMDE5LCAxNDoyOSArMDIwMCBzY2hyaWViIEd1aWRvIEfD vG50aGVyOgo+IEhpLAo+IG5PbiBGcmksIEF1ZyAwOSwgMjAxOSBhdCAwMjowNToxNFBNICswMjAw LCBMdWNhcyBTdGFjaCB3cm90ZToKPiA+IFdpdGggc29mdHBpbiB3ZSBhbGxvdyB0aGUgdXNlcnNw YWNlIHRvIHRha2UgY29udHJvbCBvdmVyIHRoZSBHUFUgdmlydHVhbAo+ID4gYWRkcmVzcyBzcGFj ZS4gVGhlIG5ldyBjYXBhYmlsaXR5IGlzIHJlbGVjdGVkIGJ5IGEgYnVtcCBvZiB0aGUgbWlub3Ig RFJNCj4gPiB2ZXJzaW9uLiBUaGVyZSBhcmUgYSBmZXcgcmVzdHJpY3Rpb25zIGZvciB1c2Vyc3Bh Y2UgdG8gdGFrZSBpbnRvCj4gPiBhY2NvdW50Ogo+ID4gCj4gPiAxLiBUaGUga2VybmVsIHJlc2Vy dmVzIGEgYml0IG9mIHRoZSBhZGRyZXNzIHNwYWNlIHRvIGltcGxlbWVudCB6ZXJvIHBhZ2UKPiA+ IGZhdWx0aW5nIGFuZCBtYXBwaW5nIG9mIHRoZSBrZXJuZWwgaW50ZXJuYWwgcmluZyBidWZmZXIu IFVzZXJzcGFjZSBjYW4KPiA+IHF1ZXJ5IHRoZSBrZXJuZWwgZm9yIHRoZSBmaXJzdCB1c2FibGUg R1BVIFZNIGFkZHJlc3MgdmlhCj4gPiBFVE5BVklWX1BBUkFNX1NPRlRQSU5fU1RBUlRfQUREUi4K PiA+IAo+ID4gMi4gV2Ugb25seSBhbGxvdyBzb2Z0cGluIG9uIEdQVXMsIHdoaWNoIGltcGxlbWVu dCBwcm9wZXIgcHJvY2Vzcwo+ID4gc2VwYXJhdGlvbiB2aWEgUFBBUy4gSWYgc29mdHBpbiBpcyBu b3QgYXZhaWxhYmxlIHRoZSBzb2Z0cGluIHN0YXJ0Cj4gPiBhZGRyZXNzIHdpbGwgYmUgc2V0IHRv IH4wLgo+ID4gCj4gPiAzLiBTb2Z0cGluIGlzIGFsbCBvciBub3RoaW5nLiBBIHN1Ym1pdCB1c2lu ZyBzb2Z0cGluIG11c3Qgbm90IHVzZSBhbnkKPiA+IGFkZHJlc3MgZml4dXBzIHZpYSByZWxvY3Mu Cj4gPiAKPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRy b25peC5kZT4KPiA+ID4gPiBSZXZpZXdlZC1ieTogUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5n dXRyb25peC5kZT4KPiA+IC0tLQo+ID4gdjI6IEV4dGVuZCAncHJlc3VtZWQnIGZpZWxkIGRlc2Ny aXB0aW9uIHRvIG1hdGNoIGl0cyBzb2Z0cGluIHVzZS4KPiA+IC0tLQo+ID4gwqBkcml2ZXJzL2dw dS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5jwqDCoMKgwqDCoMKgwqDCoHzCoMKgMiArLQo+ID4g wqBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5owqDCoMKgwqDCoMKgwqDCoHzC oMKgMiArKwo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5jwqDCoMKg wqDCoMKgwqDCoHzCoMKgNSArKy0tCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfZ2VtLmjCoMKgwqDCoMKgwqDCoMKgfMKgwqAxICsKPiA+IMKgZHJpdmVycy9ncHUvZHJtL2V0 bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMgfCAyNiArKysrKysrKysrKysrKysrKysrLQo+ID4g wqBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jwqDCoMKgwqDCoMKgwqDCoHzC oMKgOSArKysrKysrCj4gPiDCoGluY2x1ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0uaMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHwgMTAgKysrKysrKy0KPiA+IMKgNyBmaWxlcyBjaGFuZ2Vk LCA1MCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9l dG5hdml2L2V0bmF2aXZfZHJ2LmMKPiA+IGluZGV4IDgwZjFlZGNiYmVhMC4uNDU4NTFkNTEwZjYy IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwo+ID4gQEAgLTUy OSw3ICs1MjksNyBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZXRuYXZpdl9kcm1fZHJpdmVy ID0gewo+ID4gPiA+IMKgCS5kZXNjwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPSAiZXRu YXZpdiBEUk0iLAo+ID4gPiA+IMKgCS5kYXRlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg PSAiMjAxNTEyMTQiLAo+ID4gPiA+IMKgCS5tYWpvcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqA9IDEsCj4gPiA+ID4gLQkubWlub3LCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPSAyLAo+ ID4gPiA+ICsJLm1pbm9ywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoD0gMywKPiA+IMKgfTsK PiA+IMKgCj4gPiDCoC8qCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYv ZXRuYXZpdl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2LmgKPiA+ IGluZGV4IGE0ODhjZmRiNmJiZi4uMzJjZmE1YTQ4ZDQyIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2V0bmF2aXYvZXRuYXZpdl9kcnYuaAo+ID4gQEAgLTI0LDYgKzI0LDggQEAgc3RydWN0IGV0bmF2 aXZfZ2VtX29iamVjdDsKPiA+IMKgc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdDsKPiA+IMKgc3Ry dWN0IGV0bmF2aXZfaW9tbXVfZ2xvYmFsOwo+ID4gwqAKPiA+ID4gPiArI2RlZmluZSBFVE5BVklW X1NPRlRQSU5fU1RBUlRfQUREUkVTUwlTWl80TSAvKiBtdXN0IGJlID49Cj4gPiBTVUJBTExPQ19T SVpFICovCj4gCj4gd2hhdCBhYm91dCBkb2luZyB0aGlzIGFzIGNvZGUgbGlrZQo+IAo+ICNpZiBF VE5BVklWX1NPRlRQSU5fU1RBUlRfQUREUkVTUyA8IFNVQkFMTE9DX1NJWkUKPiAjIGVycm9yICJF VE5BVklWX1NPRlRQSU5fU1RBUlRfQUREUkVTUyA8IFNVQkFMTE9DX1NJWkUiCj4gI2VuZGlmCj4g Cj4gaW4gZS5nLiBlbnRhdml2X2NtZGJ1Zi5jID8KClllcywgdmFsaWRhdGluZyB0aGlzIGlzIGEg Z29vZCBpZGVhLiBJJ3ZlIGdvbmUgd2l0aCBCVUlMRF9CVUdfT04oKQp3aGljaCBpcyBhIGJpdCBt b3JlIGNvbXBhY3QuCgpSZWdhcmRzLApMdWNhcwoKPiBhcGFydCBmcm9tIHRoYXQKPiAKPiA+IFJl dmlld2VkLWJ5OiBHdWlkbyBHw7xudGhlciA8YWd4QHNpZ3hjcHUub3JnPsKgCj4gCj4gPiArCj4g PiDCoHN0cnVjdCBldG5hdml2X2ZpbGVfcHJpdmF0ZSB7Cj4gPiA+ID4gPiA+IMKgCXN0cnVjdCBl dG5hdml2X2lvbW11X2NvbnRleHQJKm1tdTsKPiA+ID4gPiA+ID4gwqAJc3RydWN0IGRybV9zY2hl ZF9lbnRpdHkJCXNjaGVkX2VudGl0eVtFVE5BX01BWF9QSVBFU107Cj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9l dG5hdml2L2V0bmF2aXZfZ2VtLmMKPiA+IGluZGV4IDFhNjRmYWQ1NTc0MC4uYmU2MmYxMzY4Mjcy IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uYwo+ID4gQEAgLTI0 OCw3ICsyNDgsOCBAQCB2b2lkIGV0bmF2aXZfZ2VtX21hcHBpbmdfdW5yZWZlcmVuY2Uoc3RydWN0 IGV0bmF2aXZfdnJhbV9tYXBwaW5nICptYXBwaW5nKQo+ID4gwqB9Cj4gPiDCoAo+ID4gwqBzdHJ1 Y3QgZXRuYXZpdl92cmFtX21hcHBpbmcgKmV0bmF2aXZfZ2VtX21hcHBpbmdfZ2V0KAo+ID4gPiA+ IC0Jc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHN0cnVjdCBldG5hdml2X2lvbW11X2NvbnRl eHQgKm1tdV9jb250ZXh0KQo+ID4gPiA+ICsJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHN0 cnVjdCBldG5hdml2X2lvbW11X2NvbnRleHQgKm1tdV9jb250ZXh0LAo+ID4gPiA+ICsJdTY0IHZh KQo+ID4gwqB7Cj4gPiA+ID4gwqAJc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9v YmogPSB0b19ldG5hdml2X2JvKG9iaik7Cj4gPiA+ID4gwqAJc3RydWN0IGV0bmF2aXZfdnJhbV9t YXBwaW5nICptYXBwaW5nOwo+ID4gQEAgLTMwOSw3ICszMTAsNyBAQCBzdHJ1Y3QgZXRuYXZpdl92 cmFtX21hcHBpbmcgKmV0bmF2aXZfZ2VtX21hcHBpbmdfZ2V0KAo+ID4gwqAKPiA+ID4gPiDCoAly ZXQgPSBldG5hdml2X2lvbW11X21hcF9nZW0obW11X2NvbnRleHQsIGV0bmF2aXZfb2JqLAo+ID4g PiA+IMKgCQkJCcKgwqDCoMKgbW11X2NvbnRleHQtPmdsb2JhbC0+bWVtb3J5X2Jhc2UsCj4gPiA+ ID4gLQkJCQnCoMKgwqDCoG1hcHBpbmcsIDApOwo+ID4gPiA+ICsJCQkJwqDCoMKgwqBtYXBwaW5n LCB2YSk7Cj4gPiA+ID4gwqAJaWYgKHJldCA8IDApCj4gPiA+ID4gwqAJCWtmcmVlKG1hcHBpbmcp Owo+ID4gPiA+IMKgCWVsc2UKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2dlbS5oIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uaAo+ ID4gaW5kZXggMmQwMWVlMWY2NWMxLi5mMTE2NDkzNGVjZGYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCj4gPiBAQCAtNzcsNiArNzcsNyBAQCBzdGF0aWMgaW5s aW5lIGJvb2wgaXNfYWN0aXZlKHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2Jq KQo+ID4gwqAKPiA+IMKgc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdF9ibyB7Cj4gPiA+ID4gwqAJ dTMyIGZsYWdzOwo+ID4gPiA+ICsJdTY0IHZhOwo+ID4gPiA+IMKgCXN0cnVjdCBldG5hdml2X2dl bV9vYmplY3QgKm9iajsKPiA+ID4gPiDCoAlzdHJ1Y3QgZXRuYXZpdl92cmFtX21hcHBpbmcgKm1h cHBpbmc7Cj4gPiA+ID4gwqAJc3RydWN0IGRtYV9mZW5jZSAqZXhjbDsKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYyBiL2RyaXZlcnMv Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCj4gPiBpbmRleCA2M2ExMjA2NDky ZDIuLjc1YWZjZTQyOTIxYiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X2dlbV9zdWJtaXQuYwo+ID4gQEAgLTcyLDYgKzcyLDE0IEBAIHN0YXRpYyBpbnQgc3Vi bWl0X2xvb2t1cF9vYmplY3RzKHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwKPiA+ ID4gPiDCoAkJfQo+ID4gwqAKPiA+ID4gPiDCoAkJc3VibWl0LT5ib3NbaV0uZmxhZ3MgPSBiby0+ ZmxhZ3M7Cj4gPiA+ID4gKwkJaWYgKHN1Ym1pdC0+ZmxhZ3MgJiBFVE5BX1NVQk1JVF9TT0ZUUElO KSB7Cj4gPiA+ID4gKwkJCWlmIChiby0+cHJlc3VtZWQgPCBFVE5BVklWX1NPRlRQSU5fU1RBUlRf QUREUkVTUykgewo+ID4gPiA+ICsJCQkJRFJNX0VSUk9SKCJpbnZhbGlkIHNvZnRwaW4gYWRkcmVz c1xuIik7Cj4gPiA+ID4gKwkJCQlyZXQgPSAtRUlOVkFMOwo+ID4gPiA+ICsJCQkJZ290byBvdXRf dW5sb2NrOwo+ID4gPiA+ICsJCQl9Cj4gPiA+ID4gKwkJCXN1Ym1pdC0+Ym9zW2ldLnZhID0gYm8t PnByZXN1bWVkOwo+ID4gPiA+ICsJCX0KPiA+IMKgCj4gPiA+ID4gwqAJCS8qIG5vcm1hbGx5IHVz ZSBkcm1fZ2VtX29iamVjdF9sb29rdXAoKSwgYnV0IGZvciBidWxrIGxvb2t1cAo+ID4gPiA+IMKg CQnCoCogYWxsIHVuZGVyIHNpbmdsZSB0YWJsZV9sb2NrIGp1c3QgaGl0IG9iamVjdF9pZHIgZGly ZWN0bHk6Cj4gPiBAQCAtMjI0LDExICsyMzIsMTcgQEAgc3RhdGljIGludCBzdWJtaXRfcGluX29i amVjdHMoc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0KQo+ID4gPiA+IMKgCQlzdHJ1 Y3QgZXRuYXZpdl92cmFtX21hcHBpbmcgKm1hcHBpbmc7Cj4gPiDCoAo+ID4gPiA+IMKgCQltYXBw aW5nID0gZXRuYXZpdl9nZW1fbWFwcGluZ19nZXQoJmV0bmF2aXZfb2JqLT5iYXNlLAo+ID4gPiA+ IC0JCQkJCQnCoMKgc3VibWl0LT5tbXVfY29udGV4dCk7Cj4gPiA+ID4gKwkJCQkJCcKgwqBzdWJt aXQtPm1tdV9jb250ZXh0LAo+ID4gPiA+ICsJCQkJCQnCoMKgc3VibWl0LT5ib3NbaV0udmEpOwo+ ID4gPiA+IMKgCQlpZiAoSVNfRVJSKG1hcHBpbmcpKSB7Cj4gPiA+ID4gwqAJCQlyZXQgPSBQVFJf RVJSKG1hcHBpbmcpOwo+ID4gPiA+IMKgCQkJYnJlYWs7Cj4gPiA+ID4gwqAJCX0KPiA+ICsKPiA+ ID4gPiArCQlpZiAoKHN1Ym1pdC0+ZmxhZ3MgJiBFVE5BX1NVQk1JVF9TT0ZUUElOKSAmJgo+ID4g PiA+ICsJCcKgwqDCoMKgwqBzdWJtaXQtPmJvc1tpXS52YSAhPSBtYXBwaW5nLT5pb3ZhKQo+ID4g PiA+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsKPiA+ID4gPiDCoAkJYXRvbWljX2luYygmZXRu YXZpdl9vYmotPmdwdV9hY3RpdmUpOwo+ID4gwqAKPiA+ID4gPiDCoAkJc3VibWl0LT5ib3NbaV0u ZmxhZ3MgfD0gQk9fUElOTkVEOwo+ID4gQEAgLTI2MSw2ICsyNzUsMTAgQEAgc3RhdGljIGludCBz dWJtaXRfcmVsb2Moc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0LCB2b2lkICpzdHJl YW0sCj4gPiA+ID4gwqAJdTMyICpwdHIgPSBzdHJlYW07Cj4gPiA+ID4gwqAJaW50IHJldDsKPiA+ IMKgCj4gPiA+ID4gKwkvKiBTdWJtaXRzIHVzaW5nIHNvZnRwaW4gZG9uJ3QgYmxlbmQgd2l0aCBy ZWxvY3MgKi8KPiA+ID4gPiArCWlmICgoc3VibWl0LT5mbGFncyAmIEVUTkFfU1VCTUlUX1NPRlRQ SU4pICYmIG5yX3JlbG9jcyAhPSAwKQo+ID4gPiA+ICsJCXJldHVybiAtRUlOVkFMOwo+ID4gKwo+ ID4gPiA+IMKgCWZvciAoaSA9IDA7IGkgPCBucl9yZWxvY3M7IGkrKykgewo+ID4gPiA+IMKgCQlj b25zdCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdF9yZWxvYyAqciA9IHJlbG9jcyArIGk7 Cj4gPiA+ID4gwqAJCXN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXRfYm8gKmJvOwo+ID4gQEAgLTQ0 NSw2ICs0NjMsMTIgQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gPiA+IMKgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4g PiDCoAl9Cj4gPiDCoAo+ID4gPiA+ICsJaWYgKChhcmdzLT5mbGFncyAmIEVUTkFfU1VCTUlUX1NP RlRQSU4pICYmCj4gPiA+ID4gKwnCoMKgwqDCoHByaXYtPm1tdV9nbG9iYWwtPnZlcnNpb24gIT0g RVROQVZJVl9JT01NVV9WMikgewo+ID4gPiA+ICsJCURSTV9FUlJPUigic29mdHBpbiByZXF1ZXN0 ZWQgb24gaW5jb21wYXRpYmxlIE1NVVxuIik7Cj4gPiA+ID4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4g PiA+ID4gKwl9Cj4gPiArCj4gPiA+ID4gwqAJLyoKPiA+ID4gPiDCoAnCoCogQ29weSB0aGUgY29t bWFuZCBzdWJtaXNzaW9uIGFuZCBibyBhcnJheSB0byBrZXJuZWwgc3BhY2UgaW4KPiA+ID4gPiDC oAnCoCogb25lIGdvLCBhbmQgZG8gdGhpcyBvdXRzaWRlIG9mIGFueSBsb2Nrcy4KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jIGIvZHJpdmVycy9n cHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYwo+ID4gaW5kZXggZDhhODNlYmZjZTQ3Li5kNDdk MWE4ZTAyMTkgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X2dwdS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jCj4g PiBAQCAtNDIsNiArNDIsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBsYXRmb3JtX2RldmljZV9p ZCBncHVfaWRzW10gPSB7Cj4gPiDCoAo+ID4gwqBpbnQgZXRuYXZpdl9ncHVfZ2V0X3BhcmFtKHN0 cnVjdCBldG5hdml2X2dwdSAqZ3B1LCB1MzIgcGFyYW0sIHU2NCAqdmFsdWUpCj4gPiDCoHsKPiA+ ID4gPiArCXN0cnVjdCBldG5hdml2X2RybV9wcml2YXRlICpwcml2ID0gZ3B1LT5kcm0tPmRldl9w cml2YXRlOwo+ID4gKwo+ID4gPiA+IMKgCXN3aXRjaCAocGFyYW0pIHsKPiA+ID4gPiDCoAljYXNl IEVUTkFWSVZfUEFSQU1fR1BVX01PREVMOgo+ID4gPiA+IMKgCQkqdmFsdWUgPSBncHUtPmlkZW50 aXR5Lm1vZGVsOwo+ID4gQEAgLTE0Nyw2ICsxNDksMTMgQEAgaW50IGV0bmF2aXZfZ3B1X2dldF9w YXJhbShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdTMyIHBhcmFtLCB1NjQgKnZhbHVlKQo+ID4g PiA+IMKgCQkqdmFsdWUgPSBncHUtPmlkZW50aXR5LnZhcnlpbmdzX2NvdW50Owo+ID4gPiA+IMKg CQlicmVhazsKPiA+IMKgCj4gPiA+ID4gKwljYXNlIEVUTkFWSVZfUEFSQU1fU09GVFBJTl9TVEFS VF9BRERSOgo+ID4gPiA+ICsJCWlmIChwcml2LT5tbXVfZ2xvYmFsLT52ZXJzaW9uID09IEVUTkFW SVZfSU9NTVVfVjIpCj4gPiA+ID4gKwkJCSp2YWx1ZSA9IEVUTkFWSVZfU09GVFBJTl9TVEFSVF9B RERSRVNTOwo+ID4gPiA+ICsJCWVsc2UKPiA+ID4gPiArCQkJKnZhbHVlID0gfjBVTEw7Cj4gPiA+ ID4gKwkJYnJlYWs7Cj4gPiArCj4gPiA+ID4gwqAJZGVmYXVsdDoKPiA+ID4gPiDCoAkJREJHKCIl czogaW52YWxpZCBwYXJhbTogJXUiLCBkZXZfbmFtZShncHUtPmRldiksIHBhcmFtKTsKPiA+ID4g PiDCoAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9l dG5hdml2X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5oCj4gPiBpbmRleCAw ZDVjNDlkYzQ3OGMuLjA5ZDBkZjhiNzFjNSAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvdWFwaS9k cm0vZXRuYXZpdl9kcm0uaAo+ID4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5o Cj4gPiBAQCAtNzMsNiArNzMsNyBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfdGltZXNwZWMgewo+ID4g wqAjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0lOU1RSVUNUSU9OX0NPVU5UwqDCoMKgwqDCoMKg wqDCoMKgMHgxOAo+ID4gwqAjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX05VTV9DT05TVEFOVFPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MTkKPiA+IMKgI2RlZmluZSBFVE5BVklWX1BBUkFN X0dQVV9OVU1fVkFSWUlOR1PCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgxYQo+ID4gKyNk ZWZpbmUgRVROQVZJVl9QQVJBTV9TT0ZUUElOX1NUQVJUX0FERFLCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAweDFiCj4gPiDCoAo+ID4gwqAjZGVmaW5lIEVUTkFfTUFYX1BJUEVTIDQKPiA+IMKgCj4g PiBAQCAtMTQ4LDYgKzE0OSwxMSBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdF9yZWxv YyB7Cj4gPiDCoCAqIHRoZW4gcGF0Y2hpbmcgdGhlIGNtZHN0cmVhbSBmb3IgdGhpcyBlbnRyeSBp cyBza2lwcGVkLsKgwqBUaGlzIGNhbgo+ID4gwqAgKiBhdm9pZCBrZXJuZWwgbmVlZGluZyB0byBt YXAvYWNjZXNzIHRoZSBjbWRzdHJlYW0gYm8gaW4gdGhlIGNvbW1vbgo+ID4gwqAgKiBjYXNlLgo+ ID4gKyAqIElmIHRoZSBzdWJtaXQgaXMgYSBzb2Z0cGluIHN1Ym1pdCAoRVROQV9TVUJNSVRfU09G VFBJTikgdGhlICdwcmVzdW1lZCcKPiA+ICsgKiBmaWVsZCBpcyBpbnRlcnByZXRlZCBhcyB0aGUg Zml4ZWQgbG9jYXRpb24gdG8gbWFwIHRoZSBibyBpbnRvIHRoZSBncHUKPiA+ICsgKiB2aXJ0dWFs IGFkZHJlc3Mgc3BhY2UuIElmIHRoZSBrZXJuZWwgaXMgdW5hYmxlIHRvIG1hcCB0aGUgYnVmZmVy IGF0Cj4gPiArICogdGhpcyBsb2NhdGlvbiB0aGUgc3VibWl0IHdpbGwgZmFpbC4gVGhpcyBtZWFu cyB1c2Vyc3BhY2UgaXMgcmVzcG9uc2libGUKPiA+ICsgKiBmb3IgdGhlIHdob2xlIGdwdSB2aXJ0 dWFsIGFkZHJlc3MgbWFuYWdlbWVudC4KPiA+IMKgICovCj4gPiDCoCNkZWZpbmUgRVROQV9TVUJN SVRfQk9fUkVBRMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgwMDAxCj4gPiDCoCNkZWZpbmUg RVROQV9TVUJNSVRfQk9fV1JJVEXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDAwMDIKPiA+IEBA IC0xNzcsOSArMTgzLDExIEBAIHN0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0X3BtciB7Cj4g PiDCoCNkZWZpbmUgRVROQV9TVUJNSVRfTk9fSU1QTElDSVTCoMKgwqDCoMKgwqDCoMKgwqAweDAw MDEKPiA+IMKgI2RlZmluZSBFVE5BX1NVQk1JVF9GRU5DRV9GRF9JTsKgwqDCoMKgwqDCoMKgwqDC oDB4MDAwMgo+ID4gwqAjZGVmaW5lIEVUTkFfU1VCTUlUX0ZFTkNFX0ZEX09VVMKgwqDCoMKgwqDC oMKgwqAweDAwMDQKPiA+ICsjZGVmaW5lIEVUTkFfU1VCTUlUX1NPRlRQSU7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoDB4MDAwOAo+ID4gPiA+IMKgI2RlZmluZSBFVE5BX1NVQk1JVF9GTEFHUwkJ KEVUTkFfU1VCTUlUX05PX0lNUExJQ0lUIHwgXAo+ID4gPiA+IMKgCQkJCQnCoEVUTkFfU1VCTUlU X0ZFTkNFX0ZEX0lOIHwgXAo+ID4gPiA+IC0JCQkJCcKgRVROQV9TVUJNSVRfRkVOQ0VfRkRfT1VU KQo+ID4gPiA+ICsJCQkJCcKgRVROQV9TVUJNSVRfRkVOQ0VfRkRfT1VUfCBcCj4gPiA+ID4gKwkJ CQkJwqBFVE5BX1NVQk1JVF9TT0ZUUElOKQo+ID4gwqAjZGVmaW5lIEVUTkFfUElQRV8zRMKgwqDC oMKgwqDCoDB4MDAKPiA+IMKgI2RlZmluZSBFVE5BX1BJUEVfMkTCoMKgwqDCoMKgwqAweDAxCj4g PiDCoCNkZWZpbmUgRVROQV9QSVBFX1ZHwqDCoMKgwqDCoMKgMHgwMgo+ID4gLS3CoAo+ID4gMi4y MC4xCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gPiBldG5hdml2IG1haWxpbmcgbGlzdAo+ID4gZXRuYXZpdkBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZXRuYXZpdgo+IAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWw=