From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 1/3] drm/ttm: split BO structure initialization into a separate function Date: Wed, 15 Feb 2017 18:47:48 +0800 Message-ID: <58A431D4.6000909@amd.com> References: <20170214103744.4133-1-nhaehnle@gmail.com> <58A3C7FE.2080308@amd.com> <403a8be3-7f55-085c-b9ad-19551be33332@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <403a8be3-7f55-085c-b9ad-19551be33332-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: =?UTF-8?B?Tmljb2xhaSBIw6Robmxl?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org CgpPbiAyMDE35bm0MDLmnIgxNeaXpSAxODo0MywgTmljb2xhaSBIw6RobmxlIHdyb3RlOgo+IE9u IDE1LjAyLjIwMTcgMDQ6MTYsIHpob3VjbTEgd3JvdGU6Cj4+IE9uIDIwMTflubQwMuaciDE05pel IDE4OjM3LCBOaWNvbGFpIEjDpGhubGUgd3JvdGU6Cj4+PiBGcm9tOiBOaWNvbGFpIEjDpGhubGUg PG5pY29sYWkuaGFlaG5sZUBhbWQuY29tPgo+Pj4KPj4+IEFsbG93IGNhbGxlcnMgdG8gb3B0IG91 dCBvZiBjYWxsaW5nIHR0bV9ib192YWxpZGF0ZSBpbW1lZGlhdGVseS4gVGhpcwo+Pj4gYWxsb3dz IG1vcmUgZmxleGliaWxpdHkgaW4gaG93IGxvY2tpbmcgb2YgdGhlIHJlc2VydmF0aW9uIG9iamVj dCBpcwo+Pj4gZG9uZSwgd2hpY2ggaXMgbmVlZGVkIHRvIGZpeCBhIGxvY2tpbmcgYnVnIChkZXN0 cm95IGxvY2tlZCBtdXRleCkKPj4+IGluIGFtZGdwdS4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBO aWNvbGFpIEjDpGhubGUgPG5pY29sYWkuaGFlaG5sZUBhbWQuY29tPgo+Pj4gLS0tCj4+PiAgIGRy aXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMgfCA2Mgo+Pj4gKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0KPj4+ICAgaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGku aCB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+PiAgIDIgZmlsZXMgY2hh bmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMgCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvLmMKPj4+IGluZGV4IDc2YmVlNDIuLmNlNGMwZjUgMTAwNjQ0Cj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRt L3R0bV9iby5jCj4+PiBAQCAtMTEyMCw0MSArMTEyMCwzMCBAQCBpbnQgdHRtX2JvX3ZhbGlkYXRl KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAKPj4+ICpibywKPj4+ICAgfQo+Pj4gICBFWFBPUlRf U1lNQk9MKHR0bV9ib192YWxpZGF0ZSk7Cj4+PiAgIC1pbnQgdHRtX2JvX2luaXQoc3RydWN0IHR0 bV9ib19kZXZpY2UgKmJkZXYsCj4+PiAtICAgICAgICBzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg KmJvLAo+Pj4gLSAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplLAo+Pj4gLSAgICAgICAgZW51bSB0 dG1fYm9fdHlwZSB0eXBlLAo+Pj4gLSAgICAgICAgc3RydWN0IHR0bV9wbGFjZW1lbnQgKnBsYWNl bWVudCwKPj4+IC0gICAgICAgIHVpbnQzMl90IHBhZ2VfYWxpZ25tZW50LAo+Pj4gLSAgICAgICAg Ym9vbCBpbnRlcnJ1cHRpYmxlLAo+Pj4gLSAgICAgICAgc3RydWN0IGZpbGUgKnBlcnNpc3RlbnRf c3dhcF9zdG9yYWdlLAo+Pj4gLSAgICAgICAgc2l6ZV90IGFjY19zaXplLAo+Pj4gLSAgICAgICAg c3RydWN0IHNnX3RhYmxlICpzZywKPj4+IC0gICAgICAgIHN0cnVjdCByZXNlcnZhdGlvbl9vYmpl Y3QgKnJlc3YsCj4+PiAtICAgICAgICB2b2lkICgqZGVzdHJveSkgKHN0cnVjdCB0dG1fYnVmZmVy X29iamVjdCAqKSkKPj4+ICtpbnQgdHRtX2JvX2luaXRfdG9wKHN0cnVjdCB0dG1fYm9fZGV2aWNl ICpiZGV2LAo+Pj4gKyAgICAgICAgICAgIHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4+ PiArICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplLAo+Pj4gKyAgICAgICAgICAgIGVudW0g dHRtX2JvX3R5cGUgdHlwZSwKPj4+ICsgICAgICAgICAgICB1aW50MzJfdCBwYWdlX2FsaWdubWVu dCwKPj4+ICsgICAgICAgICAgICBzdHJ1Y3QgZmlsZSAqcGVyc2lzdGVudF9zd2FwX3N0b3JhZ2Us Cj4+PiArICAgICAgICAgICAgc2l6ZV90IGFjY19zaXplLAo+Pj4gKyAgICAgICAgICAgIHN0cnVj dCBzZ190YWJsZSAqc2csCj4+PiArICAgICAgICAgICAgc3RydWN0IHJlc2VydmF0aW9uX29iamVj dCAqcmVzdiwKPj4+ICsgICAgICAgICAgICB2b2lkICgqZGVzdHJveSkgKHN0cnVjdCB0dG1fYnVm ZmVyX29iamVjdCAqKSkKPj4+ICAgewo+Pj4gICAgICAgaW50IHJldCA9IDA7Cj4+PiAgICAgICB1 bnNpZ25lZCBsb25nIG51bV9wYWdlczsKPj4+ICAgICAgIHN0cnVjdCB0dG1fbWVtX2dsb2JhbCAq bWVtX2dsb2IgPSBiZGV2LT5nbG9iLT5tZW1fZ2xvYjsKPj4+IC0gICAgYm9vbCBsb2NrZWQ7Cj4+ PiAgICAgICAgIHJldCA9IHR0bV9tZW1fZ2xvYmFsX2FsbG9jKG1lbV9nbG9iLCBhY2Nfc2l6ZSwg ZmFsc2UsIGZhbHNlKTsKPj4+ICAgICAgIGlmIChyZXQpIHsKPj4+ICAgICAgICAgICBwcl9lcnIo Ik91dCBvZiBrZXJuZWwgbWVtb3J5XG4iKTsKPj4+IC0gICAgICAgIGlmIChkZXN0cm95KQo+Pj4g LSAgICAgICAgICAgICgqZGVzdHJveSkoYm8pOwo+Pj4gLSAgICAgICAgZWxzZQo+Pj4gLSAgICAg ICAgICAgIGtmcmVlKGJvKTsKPj4+ICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4+ICAgICAg IH0KPj4+ICAgICAgICAgbnVtX3BhZ2VzID0gKHNpemUgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdF X1NISUZUOwo+Pj4gICAgICAgaWYgKG51bV9wYWdlcyA9PSAwKSB7Cj4+PiAgICAgICAgICAgcHJf ZXJyKCJJbGxlZ2FsIGJ1ZmZlciBvYmplY3Qgc2l6ZVxuIik7Cj4+PiAtICAgICAgICBpZiAoZGVz dHJveSkKPj4+IC0gICAgICAgICAgICAoKmRlc3Ryb3kpKGJvKTsKPj4+IC0gICAgICAgIGVsc2UK Pj4+IC0gICAgICAgICAgICBrZnJlZShibyk7Cj4+PiAgICAgICAgICAgdHRtX21lbV9nbG9iYWxf ZnJlZShtZW1fZ2xvYiwgYWNjX3NpemUpOwo+Pj4gICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ Pj4gICAgICAgfQo+Pj4gQEAgLTEyMDQsNiArMTE5MywzNyBAQCBpbnQgdHRtX2JvX2luaXQoc3Ry dWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4+PiAgICAgICAgICAgcmV0ID0gZHJtX3ZtYV9vZmZz ZXRfYWRkKCZiZGV2LT52bWFfbWFuYWdlciwgJmJvLT52bWFfbm9kZSwKPj4+ICAgICAgICAgICAg ICAgICAgICAgICAgYm8tPm1lbS5udW1fcGFnZXMpOwo+PiBpZiAocmV0ICYmICFyZXN2KSwgd2Ug c2hvdWxkIGNhbGwKPj4gcmVzZXJ2YXRpb25fb2JqZWN0X2ZpbmkoJmJvLT50dG1fcmVzdiksIHJp Z2h0Pwo+Cj4gR29vZCBwb2ludCwgdGhvdWdoIGFjdHVhbGx5LCByZXQgY2FuIG5ldmVyIGJlICE9 IDAgaGVyZSwgc28gdGhpcyBjYW4gCj4gYmUgc2ltcGxpZmllZCBhIGJpdC4KPgo+Cj4+PiAgICsg ICAgcmV0dXJuIHJldDsKPj4+ICt9Cj4+PiArRVhQT1JUX1NZTUJPTCh0dG1fYm9faW5pdF90b3Ap Owo+Pj4gKwo+Pj4gK2ludCB0dG1fYm9faW5pdChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwK Pj4+ICsgICAgICAgIHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4+PiArICAgICAgICB1 bnNpZ25lZCBsb25nIHNpemUsCj4+PiArICAgICAgICBlbnVtIHR0bV9ib190eXBlIHR5cGUsCj4+ PiArICAgICAgICBzdHJ1Y3QgdHRtX3BsYWNlbWVudCAqcGxhY2VtZW50LAo+Pj4gKyAgICAgICAg dWludDMyX3QgcGFnZV9hbGlnbm1lbnQsCj4+PiArICAgICAgICBib29sIGludGVycnVwdGlibGUs Cj4+PiArICAgICAgICBzdHJ1Y3QgZmlsZSAqcGVyc2lzdGVudF9zd2FwX3N0b3JhZ2UsCj4+PiAr ICAgICAgICBzaXplX3QgYWNjX3NpemUsCj4+PiArICAgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNn LAo+Pj4gKyAgICAgICAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiwKPj4+ICsgICAg ICAgIHZvaWQgKCpkZXN0cm95KSAoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICopKQo+Pj4gK3sK Pj4+ICsgICAgYm9vbCBsb2NrZWQ7Cj4+PiArICAgIGludCByZXQ7Cj4+PiArCj4+IENhbiB3ZSBs b2NrIHJlc3YgYW55d2F5IGJlZm9yZSB0dG1fYm9faW5pdF90b3AgbGlrZSB3aGF0IHlvdSBkaWQg aW4KPj4gcGF0Y2ggIzM/IGlmIHllcywgc2VlbXMgd2UgZG9uJ3QgbmVlZCBwYXRjaCMzIGFueSBt b3JlLCByaWdodD8KPj4KPj4KPj4gICAgICAgICBpZiAoIXJlc3YpIHsKPj4gICAgICAgICAgICAg ICAgIGJvb2wgbG9ja2VkOwo+Pgo+PiByZXNlcnZhdGlvbl9vYmplY3RfaW5pdCgmYm8tPnRiby50 dG1fcmVzdik7Cj4+ICAgICAgICAgICAgICAgICBsb2NrZWQgPSB3d19tdXRleF90cnlsb2NrKCZi by0+dGJvLnR0bV9yZXN2LmxvY2spOwo+PiAgICAgICAgICAgICAgICAgV0FSTl9PTighbG9ja2Vk KTsKPj4gICAgICAgICB9Cj4+ICAgICAgICAgciA9IHR0bV9ib19pbml0X3RvcCgmYWRldi0+bW1h bi5iZGV2LCAmYm8tPnRibywgc2l6ZSwgdHlwZSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhZ2VfYWxpZ24sIE5VTEwsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nf c2l6ZSwgc2csIHJlc3YgPyByZXN2IDogCj4+ICZiby0+dGJvLnR0bV9yZXN2LAo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmFtZGdwdV90dG1fYm9fZGVzdHJveSk7Cj4KPiBObywgYmVj YXVzZSB0aGVyZSdzIHN0aWxsIGRpZmZlcmVudCBiZWhhdmlvciB3aGVuIGl0IGNvbWVzIHRvIAo+ IHVubG9ja2luZy4gVGhlcmUgYXJlIHRocmVlIGRpZmZlcmVudCBiZWhhdmlvcnMgdGhhdCBhcmUg bmVlZGVkOgo+Cj4gMS4gcmVzdiA9PSBOVUxMLCBhbmQgbGVhdmluZyB0dG1fYm9faW5pdCB3aXRo IHRoZSBCTyB1bnJlc2VydmVkLgo+Cj4gMi4gcmVzdiAhPSBOVUxMLCBhbmQgbm90IGNoYW5naW5n IHRoZSByZXNlcnZlZCBzdGF0dXMgZHVyaW5nIAo+IGluaXRpYWxpemF0aW9uLgo+Cj4gMy4gcmVz diAhPSBOVUxMLCBhbmQgbGVhdmluZyBpbml0aWFsaXphdGlvbiB3aXRoIHRoZSBCTyByZXNlcnZl ZCwgYnV0IAo+IHVubG9ja2luZyB3aGVuIHRoZSBCTyBpcyBkZXN0cm95ZWQuCj4KPiAxKzIgY2Fu IGJlIGV4cHJlc3NlZCB3ZWxsIHdpdGggdGhlIHR0bV9ib19pbml0IGludGVyZmFjZSwgYnV0IDMg Y2Fubm90Lgo+Cj4gSSB0aGluayBhIHBvc3NpYmxlIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIGNo YW5nZSB0dG1fYm9faW5pdCBzbyB0aGF0IAo+IGl0IGFsd2F5cyByZXR1cm5zIG9uIHN1Y2Nlc3Mg d2l0aCB0aGUgQk8gcmVzZXJ2ZWQsIGJ1dCB0aGF0IHdvdWxkIAo+IHJlcXVpcmUgY2hhbmdpbmcg YWxsIHRoZSBkcml2ZXJzLCBhbmQgSSBkb24ndCByZWFsbHkgc2VlIHRoZSBhZHZhbnRhZ2UgCj4g b3ZlciBqdXN0IGJlaW5nIG1vcmUgZXhwbGljaXQgaW4gZWFjaCBkcml2ZXIuCk9LLCBtYWtlIHNl bnNlLCB0aGVuIHdhaXQgQWxleCB0byBzdWJtaXQgdG8gc3RhZ2luZyBicmFuY2ggYW5kIHZlcmlm eSBpdC4KClRoYW5rcywKRGF2aWQgWmhvdQo+Cj4gQ2hlZXJzLAo+IE5pY29sYWkKPgo+Pgo+PiBS ZWdhcmRzLAo+PiBEYXZpZCBaaG91Cj4+PiArICAgIHJldCA9IHR0bV9ib19pbml0X3RvcChiZGV2 LCBibywgc2l6ZSwgdHlwZSwgcGFnZV9hbGlnbm1lbnQsCj4+PiArICAgICAgICAgICAgICAgICAg cGVyc2lzdGVudF9zd2FwX3N0b3JhZ2UsIGFjY19zaXplLCBzZywgcmVzdiwKPj4+ICsgICAgICAg ICAgICAgICAgICBkZXN0cm95KTsKPj4+ICsgICAgaWYgKHJldCkgewo+Pj4gKyAgICAgICAgaWYg KGRlc3Ryb3kpCj4+PiArICAgICAgICAgICAgKCpkZXN0cm95KShibyk7Cj4+PiArICAgICAgICBl bHNlCj4+PiArICAgICAgICAgICAga2ZyZWUoYm8pOwo+Pj4gKyAgICAgICAgcmV0dXJuIHJldDsK Pj4+ICsgICAgfQo+Pj4gKwo+Pj4gICAgICAgLyogcGFzc2VkIHJlc2VydmF0aW9uIG9iamVjdHMg c2hvdWxkIGFscmVhZHkgYmUgbG9ja2VkLAo+Pj4gICAgICAgICogc2luY2Ugb3RoZXJ3aXNlIGxv Y2tkZXAgd2lsbCBiZSBhbmdlcmVkIGluIHJhZGVvbi4KPj4+ICAgICAgICAqLwo+Pj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmggCj4+PiBiL2luY2x1ZGUvZHJtL3R0 bS90dG1fYm9fYXBpLmgKPj4+IGluZGV4IGYxOTU4OTkuLmQ0NGI4ZTQgMTAwNjQ0Cj4+PiAtLS0g YS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5oCj4+PiArKysgYi9pbmNsdWRlL2RybS90dG0v dHRtX2JvX2FwaS5oCj4+PiBAQCAtNDUzLDYgKzQ1Myw1MSBAQCBzaXplX3QgdHRtX2JvX2RtYV9h Y2Nfc2l6ZShzdHJ1Y3QgdHRtX2JvX2RldmljZQo+Pj4gKmJkZXYsCj4+PiAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIHN0cnVjdF9zaXplKTsKPj4+ICAgICAvKioKPj4+ICsgKiB0dG1fYm9faW5p dF90b3AKPj4+ICsgKgo+Pj4gKyAqIEBiZGV2OiBQb2ludGVyIHRvIGEgdHRtX2JvX2RldmljZSBz dHJ1Y3QuCj4+PiArICogQGJvOiBQb2ludGVyIHRvIGEgdHRtX2J1ZmZlcl9vYmplY3QgdG8gYmUg aW5pdGlhbGl6ZWQuCj4+PiArICogQHNpemU6IFJlcXVlc3RlZCBzaXplIG9mIGJ1ZmZlciBvYmpl Y3QuCj4+PiArICogQHR5cGU6IFJlcXVlc3RlZCB0eXBlIG9mIGJ1ZmZlciBvYmplY3QuCj4+PiAr ICogQGZsYWdzOiBJbml0aWFsIHBsYWNlbWVudCBmbGFncy4KPj4+ICsgKiBAcGFnZV9hbGlnbm1l bnQ6IERhdGEgYWxpZ25tZW50IGluIHBhZ2VzLgo+Pj4gKyAqIEBwZXJzaXN0ZW50X3N3YXBfc3Rv cmFnZTogVXN1YWxseSB0aGUgc3dhcCBzdG9yYWdlIGlzIGRlbGV0ZWQgZm9yCj4+PiBidWZmZXJz Cj4+PiArICogcGlubmVkIGluIHBoeXNpY2FsIG1lbW9yeS4gSWYgdGhpcyBiZWhhdmlvdXIgaXMg bm90IGRlc2lyZWQsIHRoaXMKPj4+IG1lbWJlcgo+Pj4gKyAqIGhvbGRzIGEgcG9pbnRlciB0byBh IHBlcnNpc3RlbnQgc2htZW0gb2JqZWN0LiBUeXBpY2FsbHksIHRoaXMgd291bGQKPj4+ICsgKiBw b2ludCB0byB0aGUgc2htZW0gb2JqZWN0IGJhY2tpbmcgYSBHRU0gb2JqZWN0IGlmIFRUTSBpcyB1 c2VkIHRvCj4+PiBiYWNrIGEKPj4+ICsgKiBHRU0gdXNlciBpbnRlcmZhY2UuCj4+PiArICogQGFj Y19zaXplOiBBY2NvdW50ZWQgc2l6ZSBmb3IgdGhpcyBvYmplY3QuCj4+PiArICogQHJlc3Y6IFBv aW50ZXIgdG8gYSByZXNlcnZhdGlvbl9vYmplY3QsIG9yIE5VTEwgdG8gbGV0IHR0bQo+Pj4gYWxs b2NhdGUgb25lLgo+Pj4gKyAqIEBkZXN0cm95OiBEZXN0cm95IGZ1bmN0aW9uLiBVc2UgTlVMTCBm b3Iga2ZyZWUoKS4KPj4+ICsgKgo+Pj4gKyAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgYSBw cmUtYWxsb2NhdGVkIHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdC4KPj4+ICsgKiBBcyB0aGlzIG9i amVjdCBtYXkgYmUgcGFydCBvZiBhIGxhcmdlciBzdHJ1Y3R1cmUsIHRoaXMgZnVuY3Rpb24sCj4+ PiArICogdG9nZXRoZXIgd2l0aCB0aGUgQGRlc3Ryb3kgZnVuY3Rpb24sCj4+PiArICogZW5hYmxl cyBkcml2ZXItc3BlY2lmaWMgb2JqZWN0cyBkZXJpdmVkIGZyb20gYSB0dG1fYnVmZmVyX29iamVj dC4KPj4+ICsgKgo+Pj4gKyAqIFVubGlrZSB0dG1fYm9faW5pdCwgQGJvIGlzIG5vdCB2YWxpZGF0 ZWQsIGFuZCB3aGVuIGFuIGVycm9yIGlzCj4+PiByZXR1cm5lZCwKPj4+ICsgKiB0aGUgY2FsbGVy IGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIEBibyAoYnV0IHRoZSBzZXR1cCAKPj4+IHBlcmZv cm1lZCBieQo+Pj4gKyAqIHR0bV9ib19pbml0X3RvcCBpdHNlbGYgaXMgY2xlYW5lZCB1cCkuCj4+ PiArICoKPj4+ICsgKiBPbiBzdWNjZXNzZnVsIHJldHVybiwgdGhlIG9iamVjdCBrcmVmIGFuZCBs aXN0X2tyZWYgYXJlIHNldCB0byAxLgo+Pj4gKyAqCj4+PiArICogUmV0dXJucwo+Pj4gKyAqIC1F Tk9NRU06IE91dCBvZiBtZW1vcnkuCj4+PiArICogLUVJTlZBTDogSW52YWxpZCBidWZmZXIgc2l6 ZS4KPj4+ICsgKi8KPj4+ICsKPj4+ICtleHRlcm4gaW50IHR0bV9ib19pbml0X3RvcChzdHJ1Y3Qg dHRtX2JvX2RldmljZSAqYmRldiwKPj4+ICsgICAgICAgICAgICAgICBzdHJ1Y3QgdHRtX2J1ZmZl cl9vYmplY3QgKmJvLAo+Pj4gKyAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPj4+ ICsgICAgICAgICAgICAgICBlbnVtIHR0bV9ib190eXBlIHR5cGUsCj4+PiArICAgICAgICAgICAg ICAgdWludDMyX3QgcGFnZV9hbGlnbm1lbnQsCj4+PiArICAgICAgICAgICAgICAgc3RydWN0IGZp bGUgKnBlcnNpc3RlbnRfc3dhcF9zdG9yYWdlLAo+Pj4gKyAgICAgICAgICAgICAgIHNpemVfdCBh Y2Nfc2l6ZSwKPj4+ICsgICAgICAgICAgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNnLAo+Pj4gKyAg ICAgICAgICAgICAgIHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCj4+PiArICAgICAg ICAgICAgICAgdm9pZCAoKmRlc3Ryb3kpIChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKikpOwo+ Pj4gKwo+Pj4gKy8qKgo+Pj4gICAgKiB0dG1fYm9faW5pdAo+Pj4gICAgKgo+Pj4gICAgKiBAYmRl djogUG9pbnRlciB0byBhIHR0bV9ib19kZXZpY2Ugc3RydWN0Lgo+Pgo+CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK