From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC v4 17/25] drm/client: Bail out if there's a DRM master Date: Mon, 16 Apr 2018 10:45:12 +0200 Message-ID: <20180416084512.GO31310@phenom.ffwll.local> References: <20180414115318.14500-1-noralf@tronnes.org> <20180414115318.14500-18-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180414115318.14500-18-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gU2F0LCBBcHIgMTQsIDIwMTggYXQgMDE6NTM6MTBQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IElmIHRoZXJlJ3MgYSBEUk0gbWFzdGVyLCByZXR1cm4gLUVCVVNZLgo+IEJsb2Nr IHVzZXJzcGFjZSBmcm9tIGJlY29taW5nIG1hc3RlciBieSB0YWtpbmcgdGhlIG1hc3RlciBsb2Nr IHdoaWxlCj4gdGhlIGNsaWVudCBpcyBzZXR0aW5nIHRoZSBtb2RlLgo+IAo+IFN1Z2dlc3RlZC1i eTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBTaWduZWQtb2ZmLWJ5 OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KPiAtLS0KPiAgZHJpdmVycy9n cHUvZHJtL2RybV9hdXRoLmMgICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NsaWVudC5jICAgIHwgMzQgKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5j IHwgIDggKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oICB8ICAyICsr Cj4gIGluY2x1ZGUvZHJtL2RybV9jbGllbnQuaCAgICAgICAgfCAgNCArKy0tCj4gIDUgZmlsZXMg Y2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdXRo LmMKPiBpbmRleCBkOWMwZjc1NzM5MDUuLmQ2NTZkMGQ5M2RhMyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F1dGguYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5j Cj4gQEAgLTM2NiwzICszNjYsMzYgQEAgdm9pZCBkcm1fbWFzdGVyX3B1dChzdHJ1Y3QgZHJtX21h c3RlciAqKm1hc3RlcikKPiAgCSptYXN0ZXIgPSBOVUxMOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0wo ZHJtX21hc3Rlcl9wdXQpOwo+ICsKPiArLyoqCj4gKyAqIGRybV9tYXN0ZXJfYmxvY2sgLSBCbG9j ayBEUk0gbWFzdGVyIG9wZXJhdGlvbnMKPiArICogQGRldjogRFJNIGRldmljZQo+ICsgKgo+ICsg KiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGVyZSBpcyBhIG1hc3RlciBvbiBAZGV2LiBJZiB0 aGVyZSBpcyBubyBtYXN0ZXIgaXQKPiArICogYmxvY2tzIGFueW9uZSBmcm9tIGJlY29taW5nIG1h c3Rlci4gSW4ta2VybmVsIGNsaWVudHMgY2FuIHVzZSB0aGlzIHRvIGtub3cKPiArICogd2hlbiB0 aGV5IGNhbiBhY3QgYXMgbWFzdGVyLiBVc2UgZHJtX21hc3Rlcl91bmJsb2NrKCkgdG8gdW5ibG9j ay4KPiArICoKPiArICogUmV0dXJuczoKPiArICogVHJ1ZSBpZiB0aGVyZSBpcyBubyBtYXN0ZXIs IGZhbHNlIG90aGVyd2lzZS4KPiArICovCj4gK2Jvb2wgZHJtX21hc3Rlcl9ibG9jayhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICt7Cj4gKwltdXRleF9sb2NrKCZkZXYtPm1hc3Rlcl9tdXRleCk7 Cj4gKwlpZiAoZGV2LT5tYXN0ZXIpIHsKPiArCQltdXRleF91bmxvY2soJmRldi0+bWFzdGVyX211 dGV4KTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIHRydWU7Cj4gK30K PiArCj4gKy8qKgo+ICsgKiBkcm1fbWFzdGVyX3VuYmxvY2sgLSBVbmJsb2NrIERSTSBtYXN0ZXIg b3BlcmF0aW9ucwo+ICsgKiBAZGV2OiBEUk0gZGV2aWNlCj4gKyAqCj4gKyAqIFVuYmxvY2sgYW5k IGFsbG93IHVzZXJzcGFjZSB0byBiZWNvbWUgbWFzdGVyLgo+ICsgKi8KPiArdm9pZCBkcm1fbWFz dGVyX3VuYmxvY2soc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArewo+ICsJbXV0ZXhfdW5sb2Nr KCZkZXYtPm1hc3Rlcl9tdXRleCk7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9jbGllbnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2xpZW50LmMKPiBpbmRleCAyNzgx OGE0NjdiMDkuLjc2NGM1NTY2MzBiOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2NsaWVudC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jbGllbnQuYwo+IEBAIC0xOCw2 ICsxOCw4IEBACj4gICNpbmNsdWRlIDxkcm0vZHJtX2RldmljZS5oPgo+ICAjaW5jbHVkZSA8ZHJt L2RybV9tb2Rlcy5oPgo+ICAKPiArI2luY2x1ZGUgImRybV9pbnRlcm5hbC5oIgo+ICsKPiAgc3Ry dWN0IGRybV9jbGllbnRfZGlzcGxheV9vZmZzZXQgewo+ICAJaW50IHgsIHk7Cj4gIH07Cj4gQEAg LTMxMywxOCArMzE1LDMwIEBAIHN0YXRpYyBpbnQgZHJtX2NsaWVudF9kaXNwbGF5X3Jlc3RvcmVf bGVnYWN5KHN0cnVjdCBkcm1fY2xpZW50X2Rpc3BsYXkgKmRpc3BsYXkpCj4gIC8qKgo+ICAgKiBk cm1fY2xpZW50X2Rpc3BsYXlfcmVzdG9yZSgpIC0gUmVzdG9yZSBjbGllbnQgZGlzcGxheQo+ICAg KiBAZGlzcGxheTogQ2xpZW50IGRpc3BsYXkKPiArICogQGZvcmNlOiBJZiB0cnVlLCByZXN0b3Jl IGV2ZW4gaWYgdGhlcmUncyBhIERSTSBtYXN0ZXIKClRoaXMgc21lbGxzIGEgYml0IGxpa2UgYmFk IGludGVyZmFjZSBkZXNpZ24uIEVzc2VudGlhbGx5IHRoaXMgaXMgYSAic2hvdWxkCkkgbG9jayBv ciBub3QiIGZsYWcsIGFuZCBpZiBsb2NraW5nIHNob3VsZC9uZWVkcyB0byBiZSBkb25lIGJ5IGF0 IGxlYXN0CnNvbWUgY2FsbGVycywgdGhlbiBhbGwgb2YgdGhlbSBzaG91bGQgZG8gdGhhdC4KClRv IG1ha2Ugc3VyZSBubyBvbmUgc2NyZXdzIHVwLCB5b3UgY2FuIGFkZCBhCgpkcm1fY2xpZW50X21h c3RlcnNfYXJlX2Jsb2NrZWQoKQp7Cglsb2NrZGVwX2Fzc2VydF9oZWxkKGNsaWVudC0+ZGV2LT5t YXN0ZXJfbG9jayk7Cn0KCmhlbHBlciBhbmQgY2FsbCBpdCBhdCBhbGwgdGhlIHBsYWNlcyB5b3Ug cmVhbGx5IHdhbnQgdG8gaGF2ZSBhbGwgb3RoZXIKbWFzdGVycyBleGNsdWRlZC4KCkFuZCBsb2Nr aW5nIGF0IHRoZSBjb2RlLCB3ZSByZWFsbHkgZG8gd2FudCB0byBwdWxsIHRoZQptYXN0ZXJfYmxv Y2svdW5ibG9jayBjcml0aWNhbCBzZWN0aW9uIGFsbCB0aGUgd2F5IG91dCwgdG8gbWFrZSBzdXJl IHRoYXQKYW4gZmJkZXYgYWN0aW9uIG9ubHkgZXZlciB3b3JrcyBvciBkb2Vzbid0IGRvIGFueSBr aW5kIG9mIGRhbWFnZSBhdCBhbGwuCldlIHJlYWxseSBkb24ndCB3YW50IGFub3RoZXIgbWFzdGVy IHRvIHRha2Ugb3ZlciB3aGlsZSBmYmRldiBlbXVsYXRpb24gaXMKZG9pbmcgc3R1ZmYgLSBkcm1f Y2xpZW50X21hc3Rlcl9ibG9jay91bmJsb2NrIGlzIG1lYW50IHRvIGZpeCB0aGVzZSByYWNlcy4K LURhbmllbAoKPiAgICoKPiAgICogUmVzdG9yZSBjbGllbnQgZGlzcGxheSB1c2luZyB0aGUgY3Vy cmVudCBtb2Rlc2V0IGNvbmZpZ3VyYXRpb24uCj4gICAqCj4gICAqIFJldHVybjoKPiAgICogWmVy byBvbiBzdWNjZXMgb3IgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ICAgKi8KPiAt aW50IGRybV9jbGllbnRfZGlzcGxheV9yZXN0b3JlKHN0cnVjdCBkcm1fY2xpZW50X2Rpc3BsYXkg KmRpc3BsYXkpCj4gK2ludCBkcm1fY2xpZW50X2Rpc3BsYXlfcmVzdG9yZShzdHJ1Y3QgZHJtX2Ns aWVudF9kaXNwbGF5ICpkaXNwbGF5LCBib29sIGZvcmNlKQo+ICB7Cj4gLQlpZiAoZHJtX2Rydl91 c2VzX2F0b21pY19tb2Rlc2V0KGRpc3BsYXktPmRldikpCj4gLQkJcmV0dXJuIGRybV9jbGllbnRf ZGlzcGxheV9yZXN0b3JlX2F0b21pYyhkaXNwbGF5LCB0cnVlKTsKPiArCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBkaXNwbGF5LT5kZXY7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmICghZm9yY2Ug JiYgIWRybV9tYXN0ZXJfYmxvY2soZGV2KSkKPiArCQlyZXR1cm4gLUVCVVNZOwo+ICsKPiArCWlm IChkcm1fZHJ2X3VzZXNfYXRvbWljX21vZGVzZXQoZGV2KSkKPiArCQlyZXQgPSBkcm1fY2xpZW50 X2Rpc3BsYXlfcmVzdG9yZV9hdG9taWMoZGlzcGxheSwgdHJ1ZSk7Cj4gIAllbHNlCj4gLQkJcmV0 dXJuIGRybV9jbGllbnRfZGlzcGxheV9yZXN0b3JlX2xlZ2FjeShkaXNwbGF5KTsKPiArCQlyZXQg PSBkcm1fY2xpZW50X2Rpc3BsYXlfcmVzdG9yZV9sZWdhY3koZGlzcGxheSk7Cj4gKwo+ICsJaWYg KCFmb3JjZSkKPiArCQlkcm1fbWFzdGVyX3VuYmxvY2soZGV2KTsKPiArCj4gKwlyZXR1cm4gcmV0 Owo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2NsaWVudF9kaXNwbGF5X3Jlc3RvcmUpOwo+ICAK PiBAQCAtMzU0LDEzICszNjgsMjMgQEAgc3RhdGljIHZvaWQgZHJtX2NsaWVudF9kaXNwbGF5X2Rw bXNfbGVnYWN5KHN0cnVjdCBkcm1fY2xpZW50X2Rpc3BsYXkgKmRpc3BsYXksIGkKPiAgICogZHJt X2NsaWVudF9kaXNwbGF5X2RwbXMoKSAtIFNldCBkaXNwbGF5IERQTVMgbW9kZQo+ICAgKiBAZGlz cGxheTogQ2xpZW50IGRpc3BsYXkKPiAgICogQG1vZGU6IERQTVMgbW9kZQo+ICsgKgo+ICsgKiBS ZXR1cm5zOgo+ICsgKiBaZXJvIG9uIHN1Y2Nlc3MsIC1FQlVTWSBpZiB0aGVyZSdzIGEgRFJNIG1h c3Rlci4KPiAgICovCj4gLXZvaWQgZHJtX2NsaWVudF9kaXNwbGF5X2RwbXMoc3RydWN0IGRybV9j bGllbnRfZGlzcGxheSAqZGlzcGxheSwgaW50IG1vZGUpCj4gK2ludCBkcm1fY2xpZW50X2Rpc3Bs YXlfZHBtcyhzdHJ1Y3QgZHJtX2NsaWVudF9kaXNwbGF5ICpkaXNwbGF5LCBpbnQgbW9kZSkKPiAg ewo+ICsJaWYgKCFkcm1fbWFzdGVyX2Jsb2NrKGRpc3BsYXktPmRldikpCj4gKwkJcmV0dXJuIC1F QlVTWTsKPiArCj4gIAlpZiAoZHJtX2Rydl91c2VzX2F0b21pY19tb2Rlc2V0KGRpc3BsYXktPmRl dikpCj4gIAkJZHJtX2NsaWVudF9kaXNwbGF5X3Jlc3RvcmVfYXRvbWljKGRpc3BsYXksIG1vZGUg PT0gRFJNX01PREVfRFBNU19PTik7Cj4gIAllbHNlCj4gIAkJZHJtX2NsaWVudF9kaXNwbGF5X2Rw bXNfbGVnYWN5KGRpc3BsYXksIG1vZGUpOwo+ICsKPiArCWRybV9tYXN0ZXJfdW5ibG9jayhkaXNw bGF5LT5kZXYpOwo+ICsKPiArCXJldHVybiAwOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2Ns aWVudF9kaXNwbGF5X2RwbXMpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiBpbmRleCAw MWQ4ODQwOTMwYTMuLjk4ZTViYzkyYzlmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ZiX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ IEBAIC0xODEsNyArMTgxLDcgQEAgaW50IGRybV9mYl9oZWxwZXJfcmVzdG9yZV9mYmRldl9tb2Rl X3VubG9ja2VkKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCj4gIAkJcmV0dXJuIDA7 Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5sb2NrKTsKPiAtCXJldCA9IGRybV9jbGll bnRfZGlzcGxheV9yZXN0b3JlKGZiX2hlbHBlci0+ZGlzcGxheSk7Cj4gKwlyZXQgPSBkcm1fY2xp ZW50X2Rpc3BsYXlfcmVzdG9yZShmYl9oZWxwZXItPmRpc3BsYXksIGZhbHNlKTsKPiAgCj4gIAlk b19kZWxheWVkID0gZmJfaGVscGVyLT5kZWxheWVkX2hvdHBsdWc7Cj4gIAlpZiAoZG9fZGVsYXll ZCkKPiBAQCAtMjQzLDcgKzI0Myw3IEBAIHN0YXRpYyBib29sIGRybV9mYl9oZWxwZXJfZm9yY2Vf a2VybmVsX21vZGUodm9pZCkKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCW11dGV4X2xvY2soJmhl bHBlci0+bG9jayk7Cj4gLQkJcmV0ID0gZHJtX2NsaWVudF9kaXNwbGF5X3Jlc3RvcmUoaGVscGVy LT5kaXNwbGF5KTsKPiArCQlyZXQgPSBkcm1fY2xpZW50X2Rpc3BsYXlfcmVzdG9yZShoZWxwZXIt PmRpc3BsYXksIHRydWUpOwo+ICAJCWlmIChyZXQpCj4gIAkJCWVycm9yID0gdHJ1ZTsKPiAgCQlt dXRleF91bmxvY2soJmhlbHBlci0+bG9jayk7Cj4gQEAgLTEyNTQsNyArMTI1NCw3IEBAIHN0YXRp YyBpbnQgcGFuX2Rpc3BsYXlfYXRvbWljKHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLAo+ ICAKPiAgCXBhbl9zZXQoZmJfaGVscGVyLCB2YXItPnhvZmZzZXQsIHZhci0+eW9mZnNldCk7Cj4g IAo+IC0JcmV0ID0gZHJtX2NsaWVudF9kaXNwbGF5X3Jlc3RvcmUoZmJfaGVscGVyLT5kaXNwbGF5 KTsKPiArCXJldCA9IGRybV9jbGllbnRfZGlzcGxheV9yZXN0b3JlKGZiX2hlbHBlci0+ZGlzcGxh eSwgZmFsc2UpOwo+ICAJaWYgKCFyZXQpIHsKPiAgCQlpbmZvLT52YXIueG9mZnNldCA9IHZhci0+ eG9mZnNldDsKPiAgCQlpbmZvLT52YXIueW9mZnNldCA9IHZhci0+eW9mZnNldDsKPiBAQCAtMTQy Myw3ICsxNDIzLDcgQEAgc3RhdGljIGludCBkcm1fZmJfaGVscGVyX3NpbmdsZV9mYl9wcm9iZShz dHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ICAKPiAgCQkvKiBGaXJzdCB0aW1lOiBk aXNhYmxlIGFsbCBjcnRjJ3MuLiAqLwo+ICAJCWlmICghZmJfaGVscGVyLT5kZWZlcnJlZF9zZXR1 cCAmJiAhUkVBRF9PTkNFKGZiX2hlbHBlci0+ZGV2LT5tYXN0ZXIpKQo+IC0JCQlkcm1fY2xpZW50 X2Rpc3BsYXlfcmVzdG9yZShmYl9oZWxwZXItPmRpc3BsYXkpOwo+ICsJCQlkcm1fY2xpZW50X2Rp c3BsYXlfcmVzdG9yZShmYl9oZWxwZXItPmRpc3BsYXksIGZhbHNlKTsKPiAgCQlyZXR1cm4gLUVB R0FJTjsKPiAgCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJu YWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAo+IGluZGV4IDNmNWQ3NzA2YmNj OS4uZjM4ZGNhZjEzOWQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJu YWwuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAo+IEBAIC05Miw2ICs5 Miw4IEBAIGludCBkcm1fZHJvcG1hc3Rlcl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAo+ICAJCQkgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICBpbnQgZHJt X21hc3Rlcl9vcGVuKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAgdm9pZCBkcm1fbWFz dGVyX3JlbGVhc2Uoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICtib29sIGRybV9tYXN0 ZXJfYmxvY2soc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gK3ZvaWQgZHJtX21hc3Rlcl91bmJs b2NrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAKPiAgLyogZHJtX3N5c2ZzLmMgKi8KPiAg ZXh0ZXJuIHN0cnVjdCBjbGFzcyAqZHJtX2NsYXNzOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fY2xpZW50LmggYi9pbmNsdWRlL2RybS9kcm1fY2xpZW50LmgKPiBpbmRleCAyN2QyYTQ2 Y2Q5NGEuLjNiZWZkODc5YTBiMCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY2xpZW50 LmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY2xpZW50LmgKPiBAQCAtNDYsOCArNDYsOCBAQCBk cm1fY2xpZW50X2Rpc3BsYXlfZmluZF9tb2Rlc2V0KHN0cnVjdCBkcm1fY2xpZW50X2Rpc3BsYXkg KmRpc3BsYXksIHN0cnVjdCBkcm1fYwo+ICBib29sIGRybV9jbGllbnRfZGlzcGxheV9wYW5lbF9y b3RhdGlvbihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCQkJICAgICAgIHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCQkJICAgICAgIHVuc2lnbmVkIGludCAqcm90YXRp b24pOwo+IC1pbnQgZHJtX2NsaWVudF9kaXNwbGF5X3Jlc3RvcmUoc3RydWN0IGRybV9jbGllbnRf ZGlzcGxheSAqZGlzcGxheSk7Cj4gLXZvaWQgZHJtX2NsaWVudF9kaXNwbGF5X2RwbXMoc3RydWN0 IGRybV9jbGllbnRfZGlzcGxheSAqZGlzcGxheSwgaW50IG1vZGUpOwo+ICtpbnQgZHJtX2NsaWVu dF9kaXNwbGF5X3Jlc3RvcmUoc3RydWN0IGRybV9jbGllbnRfZGlzcGxheSAqZGlzcGxheSwgYm9v bCBmb3JjZSk7Cj4gK2ludCBkcm1fY2xpZW50X2Rpc3BsYXlfZHBtcyhzdHJ1Y3QgZHJtX2NsaWVu dF9kaXNwbGF5ICpkaXNwbGF5LCBpbnQgbW9kZSk7Cj4gIHN0cnVjdCBkcm1fY2xpZW50X2Rpc3Bs YXkgKgo+ICBkcm1fY2xpZW50X2ZpbmRfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1 bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVkIGludCBoZWlnaHQpOwo+ICAKPiAtLSAKPiAyLjE1 LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlv bgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK