From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH RESEND 1/6] drm/atomic: initial support for asynchronous plane update Date: Fri, 26 May 2017 14:15:31 +0530 Message-ID: <05103faa-fecc-419d-e1f9-7262aae63ffb@codeaurora.org> References: <20170525195144.18134-1-gustavo@padovan.org> <20170525195144.18134-2-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170525195144.18134-2-gustavo@padovan.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gustavo Padovan , dri-devel@lists.freedesktop.org Cc: Gustavo Padovan , intel-gfx@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org CgpPbiAwNS8yNi8yMDE3IDAxOjIxIEFNLCBHdXN0YXZvIFBhZG92YW4gd3JvdGU6Cj4gRnJvbTog R3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvbT4KPgo+IEluIHNv bWUgY2FzZXMsIGxpa2UgY3Vyc29yIHVwZGF0ZXMsIGl0IGlzIGludGVyZXN0aW5nIHRvIHVwZGF0 ZSB0aGUKPiBwbGFuZSBpbiBhbiBhc3luY2hyb25vdXMgZmFzaGlvbiB0byBhdm9pZCBiaWcgZGVs YXlzLiBUaGUgY3VycmVudCBxdWV1ZWQKPiB1cGRhdGUgY291bGQgYmUgc3RpbGwgd2FpdGluZyBm b3IgYSBmZW5jZSB0byBzaWduYWwgYW5kIHRodXMgYmxvY2sgYW55Cj4gc3Vic2VxdWVudCB1cGRh dGUgdW50aWwgaXRzIHNjYW4gb3V0LiBJbiBjYXNlcyBsaWtlIHRoaXMgaWYgd2UgdXBkYXRlIHRo ZQo+IGN1cnNvciBzeW5jaHJvbm91c2x5IHRocm91Z2ggdGhlIGF0b21pYyBBUEkgaXQgd2lsbCBj YXVzZSBzaWduaWZpY2FudAo+IGRlbGF5cyB0aGF0IHdvdWxkIGV2ZW4gYmUgbm90aWNlZCBieSB0 aGUgZmluYWwgdXNlci4KPgo+IFRoaXMgcGF0Y2ggY3JlYXRlcyBhIGZhc3QgcGF0aCB0byBqdW1w IGFoZWFkIHRoZSBjdXJyZW50IHF1ZXVlZCBzdGF0ZSBhbmQKPiBkbyBzaW5nbGUgcGxhbmVzIHVw ZGF0ZXMgd2l0aG91dCBnb2luZyB0aHJvdWdoIGFsbCBhdG9taWMgc3RlcHMgaW4KPiBkcm1fYXRv bWljX2hlbHBlcl9jb21taXQoKS4gV2UgdGFrZSB0aGlzIHBhdGggZm9yIGxlZ2FjeSBjdXJzb3Ig dXBkYXRlcy4KPgo+IEZvciBub3cgb25seSBzaW5nbGUgcGxhbmUgdXBkYXRlcyBhcmUgc3VwcG9y dGVkLCBidXQgd2UgcGxhbiB0byBzdXBwb3J0Cj4gbXVsdGlwbGUgcGxhbmVzIHVwZGF0ZXMgYW5k IGFzeW5jIFBhZ2VGbGlwcyB0aHJvdWdoIHRoaXMgaW50ZXJmYWNlIGFzIHdlbGwKPiBpbiB0aGUg bmVhciBmdXR1cmUuCgpSZXZpZXdlZC1ieTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVy b3JhLm9yZz4KPgo+IHY0Ogo+IAktIGZpeCBzdGF0ZS0+Y3J0YyBOVUxMIGNoZWNrIChBcmNoaXQg VGFuZWphKQo+Cj4gdjM6Cj4gCS0gZml4IGl0ZXJhdGlvbiBvbiB0aGUgd3JvbmcgY3J0YyBzdGF0 ZQo+IAktIHB1dCBiYWNrIGNvZGUgdG8gZm9yYmlkIHVwZGF0ZXMgaWYgdGhlcmUgaXMgYSBxdWV1 ZWQgdXBkYXRlIGZvcgo+IAl0aGUgc2FtZSBwbGFuZSAoVmlsbGUgU3lyasOkbMOkKQo+IAktIG1v dmUgc2l6ZSBjaGVja3MgYmFjayB0byBkcml2ZXJzIChWaWxsZSBTeXJqw6Rsw6QpCj4gCS0gbW92 ZSBBU1lOQ19VUERBVEUgZmxhZyBhZGRpdGlvbiB0byBpdHMgb3duIHBhdGNoIChWaWxsZSBTeXJq w6Rsw6QpCj4KPiB2MjoKPiAJLSBhbGxvdyB1cGRhdGVzIGV2ZW4gaWYgdGhlcmUgaXMgYSBxdWV1 ZWQgdXBkYXRlIGZvciB0aGUgc2FtZQo+IAlwbGFuZS4KPiAgICAgICAgIC0gZml4ZXMgb24gdGhl IGRvY3VtZW50YXRpb24gKEVtaWwgVmVsaWtvdikKPiAgICAgICAgIC0gdW5jb25kaXRpb25hbGx5 IGNhbGwgLT5hdG9taWNfYXN5bmNfdXBkYXRlIChFbWlsIFZlbGlrb3YpCj4gICAgICAgICAtIGNo ZWNrIGZvciAtPmF0b21pY19hc3luY191cGRhdGUgZWFybGllciAoRGFuaWVsIFZldHRlcikKPiAg ICAgICAgIC0gbWFrZSAtPmF0b21pY19hc3luY19jaGVjaygpIHRoZSBsYXN0IHN0ZXAgKERhbmll bCBWZXR0ZXIpCj4gICAgICAgICAtIGFkZCBBU1lOQ19VUERBVEUgZmxhZyAoRXJpYyBBbmhvbHQp Cj4gICAgICAgICAtIHVwZGF0ZSBzdGF0ZSBpbiBjb3JlIGFmdGVyIC0+YXRvbWljX2FzeW5jX3Vw ZGF0ZSAoRXJpYyBBbmhvbHQpCj4gCS0gdXBkYXRlIGRvY3MgKEVyaWMgQW5ob2x0KQo+Cj4gQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBSb2IgQ2xhcmsg PHJvYmRjbGFya0BnbWFpbC5jb20+Cj4gQ2M6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+ Cj4gU2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFi b3JhLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgICAg ICB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAgfCAzNSArKysrKysrKysrKysrKysrKwo+ICBpbmNs dWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICAgICAgIHwgIDIgKwo+ICBpbmNsdWRlL2Ry bS9kcm1fYXRvbWljX2hlbHBlci5oICAgICAgICAgIHwgIDIgKwo+ICBpbmNsdWRlL2RybS9kcm1f bW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysKPiAg NSBmaWxlcyBjaGFuZ2VkLCAxNTIgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4g aW5kZXggYmU2Mjc3NC4uMmEwYzI5NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IEBAIC02MzEs NiArNjMxLDY4IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jcnRjX2NoZWNrKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCXJldHVybiAwOwo+ICB9Cj4KPiArc3RhdGljIGJvb2wgZHJtX2F0b21p Y19hc3luY19jaGVjayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gK3sKPiArCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZTsKPiArCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKPiArCXN0cnVjdCBkcm1fcGxh bmUgKl9fcGxhbmUsICpwbGFuZSA9IE5VTEw7Cj4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpf X3BsYW5lX3N0YXRlLCAqcGxhbmVfc3RhdGUgPSBOVUxMOwo+ICsJY29uc3Qgc3RydWN0IGRybV9w bGFuZV9oZWxwZXJfZnVuY3MgKmZ1bmNzOwo+ICsJaW50IGksIGosIG5fcGxhbmVzID0gMDsKPiAr Cj4gKwlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwg aSkgewo+ICsJCWlmIChkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkK PiArCQkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICsKPiArCWZvcl9lYWNoX25ld19wbGFuZV9pbl9z dGF0ZShzdGF0ZSwgX19wbGFuZSwgX19wbGFuZV9zdGF0ZSwgaSkgewo+ICsJCW5fcGxhbmVzKys7 Cj4gKwkJcGxhbmUgPSBfX3BsYW5lOwo+ICsJCXBsYW5lX3N0YXRlID0gX19wbGFuZV9zdGF0ZTsK PiArCX0KPiArCj4gKwkvKiBGSVhNRTogd2Ugc3VwcG9ydCBvbmx5IHNpbmdsZSBwbGFuZSB1cGRh dGVzIGZvciBub3cgKi8KPiArCWlmICghcGxhbmUgfHwgbl9wbGFuZXMgIT0gMSkKPiArCQlyZXR1 cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKCFwbGFuZV9zdGF0ZS0+Y3J0YykKPiArCQlyZXR1cm4gZmFs c2U7Cj4gKwo+ICsJZnVuY3MgPSBwbGFuZS0+aGVscGVyX3ByaXZhdGU7Cj4gKwlpZiAoIWZ1bmNz LT5hdG9taWNfYXN5bmNfdXBkYXRlKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlpZiAocGxh bmVfc3RhdGUtPmZlbmNlKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlmb3JfZWFjaF9uZXdf Y3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+ICsJCWlmIChwbGFu ZS0+Y3J0YyAhPSBjcnRjKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJc3Bpbl9sb2NrKCZjcnRj LT5jb21taXRfbG9jayk7Cj4gKwkJY29tbWl0ID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZj cnRjLT5jb21taXRfbGlzdCwKPiArCQkJCQkJICBzdHJ1Y3QgZHJtX2NydGNfY29tbWl0LAo+ICsJ CQkJCQkgIGNvbW1pdF9lbnRyeSk7Cj4gKwkJaWYgKCFjb21taXQpIHsKPiArCQkJc3Bpbl91bmxv Y2soJmNydGMtPmNvbW1pdF9sb2NrKTsKPiArCQkJY29udGludWU7Cj4gKwkJfQo+ICsJCXNwaW5f dW5sb2NrKCZjcnRjLT5jb21taXRfbG9jayk7Cj4gKwo+ICsJCWlmICghY3J0Yy0+c3RhdGUtPnN0 YXRlKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoY3J0 Yy0+c3RhdGUtPnN0YXRlLCBfX3BsYW5lLAo+ICsJCQkJCV9fcGxhbmVfc3RhdGUsIGopIHsKPiAr CQkJaWYgKF9fcGxhbmUgPT0gcGxhbmUpCj4gKwkJCQlyZXR1cm4gZmFsc2U7Cj4gKwkJfQo+ICsJ fQo+ICsKPiArCXJldHVybiAhZnVuY3MtPmF0b21pY19hc3luY19jaGVjayhwbGFuZSwgcGxhbmVf c3RhdGUpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2NydGNfcHJpbnRfc3Rh dGUoc3RydWN0IGRybV9wcmludGVyICpwLAo+ICAJCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqc3RhdGUpCj4gIHsKPiBAQCAtMTU5MSw2ICsxNjUzLDkgQEAgaW50IGRybV9hdG9taWNfY2hl Y2tfb25seShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJfQo+ICAJfQo+Cj4g KwlpZiAoc3RhdGUtPmxlZ2FjeV9jdXJzb3JfdXBkYXRlKQo+ICsJCXN0YXRlLT5hc3luY191cGRh dGUgPSBkcm1fYXRvbWljX2FzeW5jX2NoZWNrKHN0YXRlKTsKPiArCj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jaGVja19vbmx5KTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IDVhM2M5YzAuLmE4ZWZkZmUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IEBAIC0xMjM1LDYgKzEyMzUsMzAgQEAgc3RhdGlj IHZvaWQgY29tbWl0X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICB9Cj4KPiAgLyoq Cj4gKyAqIGRybV9hdG9taWNfaGVscGVyX2FzeW5jX2NvbW1pdCAtIGNvbW1pdCBzdGF0ZSBhc3lu Y2hyb25vdXNseQo+ICsgKgo+ICsgKiBUaGlzIGZ1bmN0aW9uIGNvbW1pdHMgYSBzdGF0ZSBhc3lu Y2hyb25vdXNseSwgaS5lLiwgbm90IHZibGFuawo+ICsgKiBzeW5jaHJvbml6ZWQuIEl0IHNob3Vs ZCBiZSB1c2VkIG9uIGEgc3RhdGUgb25seSB3aGVuCj4gKyAqIGRybV9hdG9taWNfYXN5bmNfY2hl Y2soKSBzdWNjZWVkcy4gQXN5bmMgY29tbWl0cyBhcmUgbm90IHN1cHBvc2VkIHRvIHN3YXAKPiAr ICogdGhlIHN0YXRlcyBsaWtlIG5vcm1hbCBzeW5jIGNvbW1pdHMsIGJ1dCBqdXN0IGRvIGluLXBs YWNlIGNoYW5nZXMgb24gdGhlCj4gKyAqIGN1cnJlbnQgc3RhdGUuCj4gKyAqLwo+ICt2b2lkIGRy bV9hdG9taWNfaGVscGVyX2FzeW5jX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJ CQkJICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiArewo+ICsJc3RydWN0IGRy bV9wbGFuZSAqcGxhbmU7Cj4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsK PiArCWNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzICpmdW5jczsKPiArCWludCBp Owo+ICsKPiArCWZvcl9lYWNoX25ld19wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIHBsYW5l X3N0YXRlLCBpKSB7Cj4gKwkJZnVuY3MgPSBwbGFuZS0+aGVscGVyX3ByaXZhdGU7Cj4gKwkJZnVu Y3MtPmF0b21pY19hc3luY191cGRhdGUocGxhbmUsIHBsYW5lX3N0YXRlKTsKPiArCX0KPiArfQo+ ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2FzeW5jX2NvbW1pdCk7Cj4gKwo+ICsv KioKPiAgICogZHJtX2F0b21pY19oZWxwZXJfY29tbWl0IC0gY29tbWl0IHZhbGlkYXRlZCBzdGF0 ZSBvYmplY3QKPiAgICogQGRldjogRFJNIGRldmljZQo+ICAgKiBAc3RhdGU6IHRoZSBkcml2ZXIg c3RhdGUgb2JqZWN0Cj4gQEAgLTEyNTgsNiArMTI4MiwxNyBAQCBpbnQgZHJtX2F0b21pY19oZWxw ZXJfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIHsKPiAgCWludCByZXQ7Cj4KPiAr CWlmIChzdGF0ZS0+YXN5bmNfdXBkYXRlKSB7Cj4gKwkJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJf cHJlcGFyZV9wbGFuZXMoZGV2LCBzdGF0ZSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHJl dDsKPiArCj4gKwkJZHJtX2F0b21pY19oZWxwZXJfYXN5bmNfY29tbWl0KGRldiwgc3RhdGUpOwo+ ICsJCWRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRldiwgc3RhdGUpOwo+ICsKPiAr CQlyZXR1cm4gMDsKPiArCX0KPiArCj4gIAlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9j b21taXQoc3RhdGUsIG5vbmJsb2NrKTsKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0 b21pYy5oCj4gaW5kZXggNzg4ZGFmNy4uNzBjYTI3OSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBAQCAtMTYw LDYgKzE2MCw3IEBAIHN0cnVjdCBfX2RybV9jb25ubmVjdG9yc19zdGF0ZSB7Cj4gICAqIEBkZXY6 IHBhcmVudCBEUk0gZGV2aWNlCj4gICAqIEBhbGxvd19tb2Rlc2V0OiBhbGxvdyBmdWxsIG1vZGVz ZXQKPiAgICogQGxlZ2FjeV9jdXJzb3JfdXBkYXRlOiBoaW50IHRvIGVuZm9yY2UgbGVnYWN5IGN1 cnNvciBJT0NUTCBzZW1hbnRpY3MKPiArICogQGFzeW5jX3VwZGF0ZTogaGludCBmb3IgYXN5bmNo cm9ub3VzIHBsYW5lIHVwZGF0ZQo+ICAgKiBAcGxhbmVzOiBwb2ludGVyIHRvIGFycmF5IG9mIHN0 cnVjdHVyZXMgd2l0aCBwZXItcGxhbmUgZGF0YQo+ICAgKiBAY3J0Y3M6IHBvaW50ZXIgdG8gYXJy YXkgb2YgQ1JUQyBwb2ludGVycwo+ICAgKiBAbnVtX2Nvbm5lY3Rvcjogc2l6ZSBvZiB0aGUgQGNv bm5lY3RvcnMgYW5kIEBjb25uZWN0b3Jfc3RhdGVzIGFycmF5cwo+IEBAIC0xNzIsNiArMTczLDcg QEAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldjsK PiAgCWJvb2wgYWxsb3dfbW9kZXNldCA6IDE7Cj4gIAlib29sIGxlZ2FjeV9jdXJzb3JfdXBkYXRl IDogMTsKPiArCWJvb2wgYXN5bmNfdXBkYXRlIDogMTsKPiAgCXN0cnVjdCBfX2RybV9wbGFuZXNf c3RhdGUgKnBsYW5lczsKPiAgCXN0cnVjdCBfX2RybV9jcnRjc19zdGF0ZSAqY3J0Y3M7Cj4gIAlp bnQgbnVtX2Nvbm5lY3RvcjsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKPiBpbmRleCBmMGE4Njc4 Li44NTcxYjUxIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgK PiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oCj4gQEAgLTQ0LDYgKzQ0LDgg QEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpOwo+ICBpbnQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gIAkJCSAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ ICAJCQkgICAgIGJvb2wgbm9uYmxvY2spOwo+ICt2b2lkIGRybV9hdG9taWNfaGVscGVyX2FzeW5j X2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkJICAgIHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSk7Cj4KPiAgaW50IGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2Zl bmNlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkJCXN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfaGVscGVy X3Z0YWJsZXMuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmgKPiBp bmRleCBjMDFjMzI4Li43OTY0YTc4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2Rl c2V0X2hlbHBlcl92dGFibGVzLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxw ZXJfdnRhYmxlcy5oCj4gQEAgLTEwNDgsNiArMTA0OCw1NCBAQCBzdHJ1Y3QgZHJtX3BsYW5lX2hl bHBlcl9mdW5jcyB7Cj4gIAkgKi8KPiAgCXZvaWQgKCphdG9taWNfZGlzYWJsZSkoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCj4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRf c3RhdGUpOwo+ICsKPiArCS8qKgo+ICsJICogQGF0b21pY19hc3luY19jaGVjazoKPiArCSAqCj4g KwkgKiBEcml2ZXJzIHNob3VsZCBzZXQgdGhpcyBmdW5jdGlvbiBwb2ludGVyIHRvIGNoZWNrIGlm IHRoZSBwbGFuZSBzdGF0ZQo+ICsJICogY2FuIGJlIHVwZGF0ZWQgaW4gYSBhc3luYyBmYXNoaW9u LiBIZXJlIGFzeW5jIG1lYW5zICJub3QgdmJsYW5rCj4gKwkgKiBzeW5jaHJvbml6ZWQiLgo+ICsJ ICoKPiArCSAqIFRoaXMgaG9vayBpcyBjYWxsZWQgYnkgZHJtX2F0b21pY19hc3luY19jaGVjaygp IHRvIGVzdGFibGlzaCBpZiBhCj4gKwkgKiBnaXZlbiB1cGRhdGUgY2FuIGJlIGNvbW1pdHRlZCBh c3luY2hyb25vdXNseSwgdGhhdCBpcywgaWYgaXQgY2FuCj4gKwkgKiBqdW1wIGFoZWFkIHRoZSBz dGF0ZSBjdXJyZW50bHkgcXVldWVkIGZvciB1cGRhdGUuCj4gKwkgKgo+ICsJICogUkVUVVJOUzoK PiArCSAqCj4gKwkgKiBSZXR1cm4gMCBvbiBzdWNjZXNzIGFuZCBhbnkgZXJyb3IgcmV0dXJuZWQg aW5kaWNhdGVzIHRoYXQgdGhlIHVwZGF0ZQo+ICsJICogY2FuIG5vdCBiZSBhcHBsaWVkIGluIGFz eW5jaHJvbm91cyBtYW5uZXIuCj4gKwkgKi8KPiArCWludCAoKmF0b21pY19hc3luY19jaGVjayko c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCQkgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg KnN0YXRlKTsKPiArCj4gKwkvKioKPiArCSAqIEBhdG9taWNfYXN5bmNfdXBkYXRlOgo+ICsJICoK PiArCSAqIERyaXZlcnMgc2hvdWxkIHNldCB0aGlzIGZ1bmN0aW9uIHBvaW50ZXIgdG8gcGVyZm9y bSBhc3luY2hyb25vdXMKPiArCSAqIHVwZGF0ZXMgb2YgcGxhbmVzLCB0aGF0IGlzLCBqdW1wIGFo ZWFkIHRoZSBjdXJyZW50bHkgcXVldWVkCj4gKwkgKiBzdGF0ZSBmb3IgYW5kIHVwZGF0ZSB0aGUg cGxhbmUuIEhlcmUgYXN5bmMgbWVhbnMgIm5vdCB2YmxhbmsKPiArCSAqIHN5bmNocm9uaXplZCIu Cj4gKwkgKgo+ICsJICogVGhpcyBob29rIGlzIGNhbGxlZCBieSBkcm1fYXRvbWljX2hlbHBlcl9h c3luY19jb21taXQoKS4KPiArCSAqCj4gKwkgKiBBbiBhc3luYyB1cGRhdGUgd2lsbCBoYXBwZW4g b24gbGVnYWN5IGN1cnNvciB1cGRhdGVzLgo+ICsJICoKPiArCSAqIE5vdGUgdGhhdCB1bmxpa2Ug JmRybV9wbGFuZV9oZWxwZXJfZnVuY3MuYXRvbWljX3VwZGF0ZSB0aGlzIGhvb2sKPiArCSAqIHRh a2VzIHRoZSBuZXcgJmRybV9wbGFuZV9zdGF0ZSBhcyBwYXJhbWV0ZXIuIFdoZW4gZG9pbmcgYXN5 bmNfdXBkYXRlCj4gKwkgKiBkcml2ZXJzIHNob3VsZG4ndCByZXBsYWNlIHRoZSAmZHJtX3BsYW5l X3N0YXRlIGJ1dCB1cGRhdGUgdGhlCj4gKwkgKiBjdXJyZW50IG9uZSB3aXRoIHRoZSBuZXcgcGxh bmUgY29uZmlndXJhdGlvbnMgaW4gdGhlIG5ldwo+ICsJICogcGxhbmVfc3RhdGUuCj4gKwkgKgo+ ICsJICogRklYTUU6Cj4gKwkgKiAgLSBJdCBvbmx5IHdvcmtzIGZvciBzaW5nbGUgcGxhbmUgdXBk YXRlcwo+ICsJICogIC0gQXN5bmMgUGFnZWZsaXBzIGFyZSBub3Qgc3VwcG9ydGVkIHlldAo+ICsJ ICogIC0gU29tZSBobSBtaWdodCBzdGlsbCBzY2FuIG91dCB0aGUgb2xkIGJ1ZmZlciB1bnRpbCB0 aGUgbmV4dAo+ICsJICogIHZibGFuaywgaG93ZXZlciB3ZSBsZXQgZ28gb2YgdGhlIGZiIHJlZmVy ZW5jZXMgYXMgc29vbiBhcwo+ICsJICogIHdlIHJ1biB0aGlzIGhvb2suIEZvciBub3cgZHJpdmVy cyBtdXN0IGltcGxlbWVudCB0aGVpciBvd24gd29ya2Vycwo+ICsJICogIGZvciBkZWZlcmluZyBp ZiBuZWVkZWQsIHVudGlsIGEgY29tbW9uIHNvbHV0aW9uIGlzIGNyZWF0ZWQuCj4gKwkgKi8KPiAr CXZvaWQgKCphdG9taWNfYXN5bmNfdXBkYXRlKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAr CQkJCSAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpOwo+ICB9Owo+Cj4gIC8q Kgo+CgotLSAKUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2Yg Q29kZSBBdXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2pl Y3QKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==