From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 5/6] drm/i915: Grab modeset locks for GPU rest on pre-ctg Date: Fri, 21 Nov 2014 21:49:21 +0100 Message-ID: <20141121204921.GD25711@phenom.ffwll.local> References: <1416599670-21914-1-git-send-email-ville.syrjala@linux.intel.com> <1416599670-21914-6-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by gabe.freedesktop.org (Postfix) with ESMTP id CFE7E6F5D7 for ; Fri, 21 Nov 2014 12:48:57 -0800 (PST) Received: by mail-wi0-f176.google.com with SMTP id ex7so457657wid.3 for ; Fri, 21 Nov 2014 12:48:57 -0800 (PST) Content-Disposition: inline In-Reply-To: <1416599670-21914-6-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMjEsIDIwMTQgYXQgMDk6NTQ6MjlQTSArMDIwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBPbiBnZW40IGFuZCBlYXJsaWVyIHRoZSBHUFUgcmVz ZXQgYWxzbyByZXNldHMgdGhlIGRpc3BsYXksIHNvIHdlIHNob3VsZAo+IHByb3RlY3QgYWdhaW5z dCBjb25jdXJyZW50IG1vZGVzZXQgb3BlcmF0aW9ucy4gR3JhYiBhbGwgdGhlIG1vZGVzZXQgbG9j a3MKPiBhcm91bmQgdGhlIGVudGlyZSBHUFUgcmVzZXQgZGFuY2UsIHJlbWViZXJpbmcgZmlyc3Qg dGkgZGlzbG9nZGUgYW55Cj4gcGVuZGluZyBwYWdlIGZsaXAgdG8gbWFrZSBzdXJlIHdlIGRvbid0 IGRlYWRsb2NrLiBBbnkgcGFnZWZsaXAgY29taW5nCj4gaW4gYmV0d2VlbiB0aGVzZSB0d28gc3Rl cHMgc2hvdWxkIGZhaWwgYW55d2F5IGR1ZSB0byByZXNldF9pbl9wcm9ncmVzcywKPiBzbyB0aGlz IHNob3VsZCBiZSBzYWZlLgo+IAo+IFRoaXMgZml4ZXMgYSBsb3Qgb2YgZmFpbGVkIGFzc2VydHMg aW4gdGhlIG1vZGVzZXQgY29kZSB3aGVuIHRoZXJlJ3MgYQo+IG1vZGVzZXQgcmFjaW5nIHdpdGgg dGhlIHJlc2V0LiBOYXR1cmFsbHkgdGhlIGFzc2VydHMgYXJlbid0IGhhcHB5IHdoZW4KPiB0aGUg ZXhwZWN0ZWQgc3RhdGUgaGFzIGRpc2FwcGVhcmVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CgpUd28gY29tbWVudHMg b24gdGhpcyBvbmUsIG90aGVyd2lzZSBsb29rcyBnb29kICh3ZWxsIGRpZG4ndCBib3RoZXIgdG8K Y2hlY2sgdGhlIG5ldyByZXNldCByZWdpc3RlciBmcm9iYmluZykuCi1EYW5pZWwKCj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICB8IDE5IC0tLS0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgIHwgIDUgKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAzICst Cj4gIDQgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5kZXggNTA2NmZkMS4uMWU5YzEzNiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC04ODAsMjUgKzg4MCw2IEBAIGludCBpOTE1X3Jl c2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJICovCj4gIAkJaWYgKElOVEVMX0lORk8o ZGV2KS0+Z2VuID4gNSkKPiAgCQkJaW50ZWxfcmVzZXRfZ3RfcG93ZXJzYXZlKGRldik7Cj4gLQo+ IC0KPiAtCQlpZiAoSVNfR0VOMyhkZXYpIHx8IChJU19HRU40KGRldikgJiYgIUlTX0c0WChkZXYp KSkgewo+IC0JCQlpbnRlbF9ydW50aW1lX3BtX2Rpc2FibGVfaW50ZXJydXB0cyhkZXZfcHJpdik7 Cj4gLQkJCWludGVsX3J1bnRpbWVfcG1fZW5hYmxlX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+IC0K PiAtCQkJaW50ZWxfbW9kZXNldF9pbml0X2h3KGRldik7Cj4gLQo+IC0JCQlzcGluX2xvY2tfaXJx KCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+IC0JCQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaHBkX2ly cV9zZXR1cCkKPiAtCQkJCWRldl9wcml2LT5kaXNwbGF5LmhwZF9pcnFfc2V0dXAoZGV2KTsKPiAt CQkJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+IC0KPiAtCQkJZHJtX21v ZGVzZXRfbG9ja19hbGwoZGV2KTsKPiAtCQkJaW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZShk ZXYsIHRydWUpOwo+IC0JCQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7Cj4gLQo+IC0JCQlp bnRlbF9ocGRfaW5pdChkZXZfcHJpdik7Cj4gLQkJfQo+ICAJfSBlbHNlIHsKPiAgCQltdXRleF91 bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMK PiBpbmRleCA1OTA4NTgwZC4uODg4NzY3NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ IEBAIC0yNDI4LDYgKzI0MjgsOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2Vycm9yX3dvcmtfZnVuYyhz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gIAkJICogc2ltdWxhdGVkIHJlc2V0IHZpYSBkZWJ1 Z3MsIHNvIGdldCBhbiBSUE0gcmVmZXJlbmNlLgo+ICAJCSAqLwo+ICAJCWludGVsX3J1bnRpbWVf cG1fZ2V0KGRldl9wcml2KTsKPiArCj4gKwkJaW50ZWxfcHJlcGFyZV9yZXNldChkZXYpOwo+ICsK PiAgCQkvKgo+ICAJCSAqIEFsbCBzdGF0ZSByZXNldCBfbXVzdF8gYmUgY29tcGxldGVkIGJlZm9y ZSB3ZSB1cGRhdGUgdGhlCj4gIAkJICogcmVzZXQgY291bnRlciwgZm9yIG90aGVyd2lzZSB3YWl0 ZXJzIG1pZ2h0IG1pc3MgdGhlIHJlc2V0Cj4gQEAgLTI0MzYsNyArMjQzOSw3IEBAIHN0YXRpYyB2 b2lkIGk5MTVfZXJyb3Jfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgCQkg Ki8KPiAgCQlyZXQgPSBpOTE1X3Jlc2V0KGRldik7Cj4gIAo+IC0JCWludGVsX2Rpc3BsYXlfaGFu ZGxlX3Jlc2V0KGRldik7Cj4gKwkJaW50ZWxfZmluaXNoX3Jlc2V0KGRldik7Cj4gIAo+ICAJCWlu dGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+IGluZGV4IDMyMTg0NTUuLjgzMjlmN2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTI3NjUsMjUgKzI3NjUsMTAgQEAgaW50ZWxfcGlwZV9z ZXRfYmFzZV9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC12b2lkIGludGVsX2Rpc3BsYXlfaGFu ZGxlX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3N0YXRpYyB2b2lkIGludGVsX2Nv bXBsZXRlX3BhZ2VfZmxpcHMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgewo+IC0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVj dCBkcm1fY3J0YyAqY3J0YzsKPiAgCj4gLQkvKgo+IC0JICogRmxpcHMgaW4gdGhlIHJpbmdzIGhh dmUgYmVlbiBudWtlZCBieSB0aGUgcmVzZXQsCj4gLQkgKiBzbyBjb21wbGV0ZSBhbGwgcGVuZGlu ZyBmbGlwcyBzbyB0aGF0IHVzZXIgc3BhY2UKPiAtCSAqIHdpbGwgZ2V0IGl0cyBldmVudHMgYW5k IG5vdCBnZXQgc3R1Y2suCj4gLQkgKgo+IC0JICogQWxzbyB1cGRhdGUgdGhlIGJhc2UgYWRkcmVz cyBvZiBhbGwgcHJpbWFyeQo+IC0JICogcGxhbmVzIHRvIHRoZSB0aGUgbGFzdCBmYiB0byBtYWtl IHN1cmUgd2UncmUKPiAtCSAqIHNob3dpbmcgdGhlIGNvcnJlY3QgZmIgYWZ0ZXIgYSByZXNldC4K PiAtCSAqCj4gLQkgKiBOZWVkIHRvIG1ha2UgdHdvIGxvb3BzIG92ZXIgdGhlIGNydGNzIHNvIHRo YXQgd2UKPiAtCSAqIGRvbid0IHRyeSB0byBncmFiIGEgY3J0YyBtdXRleCBiZWZvcmUgdGhlCj4g LQkgKiBwZW5kaW5nX2ZsaXBfcXVldWUgcmVhbGx5IGdvdCB3b2tlbiB1cC4KPiAtCSAqLwo+IC0K PiAgCWZvcl9lYWNoX2NydGMoZGV2LCBjcnRjKSB7Cj4gIAkJc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAJCWVudW0gcGxhbmUgcGxhbmUgPSBp bnRlbF9jcnRjLT5wbGFuZTsKPiBAQCAtMjc5MSw2ICsyNzc2LDEyIEBAIHZvaWQgaW50ZWxfZGlz cGxheV9oYW5kbGVfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlpbnRlbF9wcmVw YXJlX3BhZ2VfZmxpcChkZXYsIHBsYW5lKTsKPiAgCQlpbnRlbF9maW5pc2hfcGFnZV9mbGlwX3Bs YW5lKGRldiwgcGxhbmUpOwo+ICAJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpbnRlbF91cGRh dGVfcHJpbWFyeV9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArewo+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVj dCBkcm1fY3J0YyAqY3J0YzsKPiAgCj4gIAlmb3JfZWFjaF9jcnRjKGRldiwgY3J0Yykgewo+ICAJ CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiBA QCAtMjgxMCw2ICsyODAxLDc5IEBAIHZvaWQgaW50ZWxfZGlzcGxheV9oYW5kbGVfcmVzZXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCX0KPiAgfQo+ICAKPiArdm9pZCBpbnRlbF9wcmVwYXJl X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3sKPiArCWlmICghZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCQlyZXR1cm47Cgp1bXMganVzdCBv ZmZpY2lhbGx5IGRpZWQgcGxlYXNlIHJlbW92ZS4gU2FtZSBmb3IgdGhlIG9uZSBiZWxvdy4KCj4g Kwo+ICsJLyoKPiArCSAqIEZsaXBzIGluIHRoZSByaW5ncyB3aWxsIGJlIG51a2VkIGJ5IHRoZSBy ZXNldCwKPiArCSAqIHNvIGNvbXBsZXRlIGFsbCBwZW5kaW5nIGZsaXBzIHNvIHRoYXQgdXNlciBz cGFjZQo+ICsJICogd2lsbCBnZXQgaXRzIGV2ZW50cyBhbmQgbm90IGdldCBzdHVjay4KPiArCSAq Cj4gKwkgKiBPbGQgcGxhdGZvcm1zIHdpbGwgYWxzbyByZXNldCB0aGUgZGlzcGxheSwgc28gd2UK PiArCSAqIG5lZWQgdG8gZ3JhYiB0aGUgbW9kZXNldCBsb2NrcyBhcm91bmQgdGhlIHJlc2V0Lgo+ ICsJICogQnV0IGluIG9yZGVyIHRvIGRvIHRoYXQgd2UgbXVzdCBsZXQgYW55IHBlbmRpbmcKPiAr CSAqIHBhZ2UgZmxpcCB3YWl0IGNvbXBsZXRlIHNpbmNlIHRoZSB3YWl0ZXJzIG1heSBiZQo+ICsJ ICogaG9sZGluZyBzb21lIG1vZGVzZXQgbG9ja3MuCj4gKwkgKi8KPiArCWludGVsX2NvbXBsZXRl X3BhZ2VfZmxpcHMoZGV2KTsKCklzIHRoaXMgcmVhbGx5IHJlcXVpcmVkPyBXZSBjb21wbGV0ZSB0 aGVtIGFmdGVyd2FyZHMsIGFuZCBhbGwgdGhlIHBhZ2VmbGlwCndhaXRlcnMgSSd2ZSBmb3VuZCBk byBjaGVjayBmb3IgZ3B1IGhhbmdzIGFuZCBhYm9ydCB0aGUgcGFnZWZsaXAgd2FpdC4KVGhhdCdz IGFscmVhZHkgcmVxdWlyZWQgc2luY2UgdGhlIG1taW8gZmxpcCBtaWdodCBnbyBtaXNzaW5nLCBh bmQgdGh1cyBmYXIKd2UndmUgb25seSBjb21wbGV0ZWQgdGhlIGZsaXAgX2FmdGVyXyBoYXZpbmcg cmVzZXQgdGhlIGdwdSBhbmQgZ2VtIHN0YXRlCihhbmQgZ3JhYmJlZCBkZXYtPnN0cnVjdF9tdXRl eCkuCgo+ICsKPiArCS8qIG5vIHJlc2V0IHN1cHBvcnQgZm9yIGdlbjIgKi8KPiArCWlmIChJU19H RU4yKGRldikpCj4gKwkJcmV0dXJuOwo+ICsKPiArCS8qIHJlc2V0IGRvZXNuJ3QgdG91Y2ggdGhl IGRpc3BsYXkgKi8KPiArCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA1IHx8IElTX0c0WChk ZXYpKQo+ICsJCXJldHVybjsKPiArCj4gKwlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICt9 Cj4gKwo+ICt2b2lkIGludGVsX2ZpbmlzaF9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 Cj4gKwo+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQp KQo+ICsJCXJldHVybjsKPiArCj4gKwkvKiBubyByZXNldCBzdXBwb3J0IGZvciBnZW4yICovCj4g KwlpZiAoSVNfR0VOMihkZXYpKQo+ICsJCXJldHVybjsKPiArCj4gKwkvKiByZXNldCBkb2Vzbid0 IHRvdWNoIHRoZSBkaXNwbGF5ICovCj4gKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNSB8 fCBJU19HNFgoZGV2KSkgewo+ICsJCS8qCj4gKwkJICogRmxpcHMgaW4gdGhlIHJpbmdzIGhhdmUg YmVlbiBudWtlZCBieSB0aGUgcmVzZXQsCj4gKwkJICogc28gdXBkYXRlIHRoZSBiYXNlIGFkZHJl c3Mgb2YgYWxsIHByaW1hcnkKPiArCQkgKiBwbGFuZXMgdG8gdGhlIHRoZSBsYXN0IGZiIHRvIG1h a2Ugc3VyZSB3ZSdyZQo+ICsJCSAqIHNob3dpbmcgdGhlIGNvcnJlY3QgZmIgYWZ0ZXIgYSByZXNl dC4KPiArCQkgKi8KPiArCQlpbnRlbF91cGRhdGVfcHJpbWFyeV9wbGFuZXMoZGV2KTsKPiArCQly ZXR1cm47Cj4gKwl9Cj4gKwo+ICsJLyoKPiArCSAqIFRoZSBkaXNwbGF5IGhhcyBiZWVuIHJlc2V0 IGFzIHdlbGwsCj4gKwkgKiBzbyBuZWVkIGEgZnVsbCByZS1pbml0aWFsaXphdGlvbi4KPiArCSAq Lwo+ICsJaW50ZWxfcnVudGltZV9wbV9kaXNhYmxlX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+ICsJ aW50ZWxfcnVudGltZV9wbV9lbmFibGVfaW50ZXJydXB0cyhkZXZfcHJpdik7Cj4gKwo+ICsJaW50 ZWxfbW9kZXNldF9pbml0X2h3KGRldik7Cj4gKwo+ICsJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYt PmlycV9sb2NrKTsKPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5ocGRfaXJxX3NldHVwKQo+ICsJ CWRldl9wcml2LT5kaXNwbGF5LmhwZF9pcnFfc2V0dXAoZGV2KTsKPiArCXNwaW5fdW5sb2NrX2ly cSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiArCj4gKwlpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0 YXRlKGRldiwgdHJ1ZSk7Cj4gKwo+ICsJaW50ZWxfaHBkX2luaXQoZGV2X3ByaXYpOwo+ICsKPiAr CWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKPiArfQo+ICsKPiAgc3RhdGljIGludAo+ICBp bnRlbF9maW5pc2hfZmIoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiKQo+ICB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBmMGE0NmVjLi4yNWZkYmIxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtOTU4LDcgKzk1OCw4IEBAIHVuc2lnbmVkIGxvbmcg aW50ZWxfZ2VuNF9jb21wdXRlX3BhZ2Vfb2Zmc2V0KGludCAqeCwgaW50ICp5LAo+ICAJCQkJCSAg ICAgdW5zaWduZWQgaW50IHRpbGluZ19tb2RlLAo+ICAJCQkJCSAgICAgdW5zaWduZWQgaW50IGJw cCwKPiAgCQkJCQkgICAgIHVuc2lnbmVkIGludCBwaXRjaCk7Cj4gLXZvaWQgaW50ZWxfZGlzcGxh eV9oYW5kbGVfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gK3ZvaWQgaW50ZWxfcHJl cGFyZV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiArdm9pZCBpbnRlbF9maW5pc2hf cmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgaHN3X2VuYWJsZV9wYzgoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBoc3dfZGlzYWJsZV9wYzgo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBpbnRlbF9kcF9nZXRf bV9uKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+IC0tIAo+IDIuMC40Cj4gCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0 dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2NSA1 NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==