From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 04/35] drm/i915: get rid of primary_enabled and use atomic state Date: Thu, 7 May 2015 09:43:08 +0200 Message-ID: <20150507074308.GV30184@phenom.ffwll.local> References: <1429625604-22252-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1429625604-22252-5-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f44.google.com (mail-wg0-f44.google.com [74.125.82.44]) by gabe.freedesktop.org (Postfix) with ESMTP id B1AF36E7B4 for ; Thu, 7 May 2015 00:40:49 -0700 (PDT) Received: by wgic8 with SMTP id c8so8111101wgi.1 for ; Thu, 07 May 2015 00:40:48 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1429625604-22252-5-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBcHIgMjEsIDIwMTUgYXQgMDU6MTI6NTNQTSArMDMwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IEZyb206IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+CgpHZW5lcmFsbHkgYSBiaXQgdG9vIHRlcnNlIGNvbW1t aXQgbWVzc2FnZS4gRS5nLiBoZXJlIGEgc2hvcnQgc3VtbWFyeSBvZgpvdXIgaXJjIGRpc2N1c3Np b24gYWJvdXQgd2h5IGl0IHNob3VsZCBiZSBvayB0byByZW1vdmUgdGhpcyBmZWF0dXJlIGlzCmRl ZmluaXRlbHkgbmVlZGVkLiBJIGFkZGVkIHRoYXQuCgpCdXQgSSBwcmVmZXIgbW9yZSB2ZXJib3Nl IGNvbW1pdCBtZXNzYWdlcyBpbiBnZW5lcmFsLgotRGFuaWVsCgo+IAo+IFNpZ25lZC1vZmYtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4g UmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8YW5kZXIuY29uc2VsdmFu LmRlLm9saXZlaXJhQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgNTAgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAxIC0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgICAgIHwgIDIgKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAy OSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gaW5kZXggYWNmMzQ5NC4uNDBlM2M2MiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMjIzNiwxMSArMjIzNiw3IEBAIHN0YXRpYyB2b2lk IGludGVsX2VuYWJsZV9wcmltYXJ5X2h3X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ ICAKPiAgCS8qIElmIHRoZSBwaXBlIGlzbid0IGVuYWJsZWQsIHdlIGNhbid0IHB1bXAgcGl4ZWxz IGFuZCBtYXkgaGFuZyAqLwo+ICAJYXNzZXJ0X3BpcGVfZW5hYmxlZChkZXZfcHJpdiwgaW50ZWxf Y3J0Yy0+cGlwZSk7Cj4gLQo+IC0JaWYgKGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCkKPiAt CQlyZXR1cm47Cj4gLQo+IC0JaW50ZWxfY3J0Yy0+cHJpbWFyeV9lbmFibGVkID0gdHJ1ZTsKPiAr CXRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lLT5zdGF0ZSktPnZpc2libGUgPSB0cnVlOwo+ICAK PiAgCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKGNydGMsIHBsYW5lLT5m YiwKPiAgCQkJCQkgICAgICAgY3J0Yy0+eCwgY3J0Yy0+eSk7Cj4gQEAgLTI2NjEsNiArMjY1Nyw4 IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRj ICpjcnRjLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gKwlzdHJ1 Y3QgZHJtX3BsYW5lICpwcmltYXJ5ID0gY3J0Yy0+cHJpbWFyeTsKPiArCWJvb2wgdmlzaWJsZSA9 IHRvX2ludGVsX3BsYW5lX3N0YXRlKHByaW1hcnktPnN0YXRlKS0+dmlzaWJsZTsKPiAgCXN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Cj4gIAlpbnQgcGxhbmUgPSBpbnRlbF9jcnRjLT5w bGFuZTsKPiAgCXVuc2lnbmVkIGxvbmcgbGluZWFyX29mZnNldDsKPiBAQCAtMjY2OCw3ICsyNjY2 LDcgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAl1MzIgcmVnID0gRFNQQ05UUihwbGFuZSk7Cj4gIAlpbnQgcGl4ZWxfc2l6 ZTsKPiAgCj4gLQlpZiAoIWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCB8fCAhZmIpIHsKPiAr CWlmICghdmlzaWJsZSB8fCAhZmIpIHsKPiAgCQlJOTE1X1dSSVRFKHJlZywgMCk7Cj4gIAkJaWYg KElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDQpCj4gIAkJCUk5MTVfV1JJVEUoRFNQU1VSRihwbGFu ZSksIDApOwo+IEBAIC0yNzkwLDYgKzI3ODgsOCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV91cGRh dGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiArCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnkgPSBj cnRjLT5wcmltYXJ5Owo+ICsJYm9vbCB2aXNpYmxlID0gdG9faW50ZWxfcGxhbmVfc3RhdGUocHJp bWFyeS0+c3RhdGUpLT52aXNpYmxlOwo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i ajsKPiAgCWludCBwbGFuZSA9IGludGVsX2NydGMtPnBsYW5lOwo+ICAJdW5zaWduZWQgbG9uZyBs aW5lYXJfb2Zmc2V0Owo+IEBAIC0yNzk3LDcgKzI3OTcsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFr ZV91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAl1MzIgcmVn ID0gRFNQQ05UUihwbGFuZSk7Cj4gIAlpbnQgcGl4ZWxfc2l6ZTsKPiAgCj4gLQlpZiAoIWludGVs X2NydGMtPnByaW1hcnlfZW5hYmxlZCB8fCAhZmIpIHsKPiArCWlmICghdmlzaWJsZSB8fCAhZmIp IHsKPiAgCQlJOTE1X1dSSVRFKHJlZywgMCk7Cj4gIAkJSTkxNV9XUklURShEU1BTVVJGKHBsYW5l KSwgMCk7Cj4gIAkJUE9TVElOR19SRUFEKHJlZyk7Cj4gQEAgLTI5NjYsNiArMjk2Niw4IEBAIHN0 YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpj cnRjLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gKwlzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSA9IGNydGMtPnByaW1hcnk7Cj4gKwlib29sIHZpc2libGUgPSB0b19p bnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpLT52aXNpYmxlOwo+ICAJc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iajsKPiAgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAg CXUzMiBwbGFuZV9jdGwsIHN0cmlkZV9kaXYsIHN0cmlkZTsKPiBAQCAtMjk3Myw5ICsyOTc1LDgg QEAgc3RhdGljIHZvaWQgc2t5bGFrZV91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAl1bnNpZ25lZCBpbnQgcm90YXRpb247Cj4gIAlpbnQgeF9vZmZzZXQsIHlf b2Zmc2V0Owo+ICAJdW5zaWduZWQgbG9uZyBzdXJmX2FkZHI7Cj4gLQlzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZTsKPiAgCj4gLQlpZiAoIWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCB8fCAhZmIp IHsKPiArCWlmICghdmlzaWJsZSB8fCAhZmIpIHsKPiAgCQlJOTE1X1dSSVRFKFBMQU5FX0NUTChw aXBlLCAwKSwgMCk7Cj4gIAkJSTkxNV9XUklURShQTEFORV9TVVJGKHBpcGUsIDApLCAwKTsKPiAg CQlQT1NUSU5HX1JFQUQoUExBTkVfQ1RMKHBpcGUsIDApKTsKPiBAQCAtMzAzNSw3ICszMDM2LDYg QEAgc3RhdGljIHZvaWQgc2t5bGFrZV91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAo+ICAJcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9QTEFORV9HQU1NQV9ESVNB QkxFOwo+ICAKPiAtCXBsYW5lID0gY3J0Yy0+cHJpbWFyeTsKPiAgCXJvdGF0aW9uID0gcGxhbmUt PnN0YXRlLT5yb3RhdGlvbjsKPiAgCXN3aXRjaCAocm90YXRpb24pIHsKPiAgCWNhc2UgQklUKERS TV9ST1RBVEVfOTApOgo+IEBAIC00Njk5LDcgKzQ2OTksNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9j cnRjX2Rpc2FibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCWhzd19kaXNhYmxl X2lwcyhpbnRlbF9jcnRjKTsKPiAgCj4gIAlpbnRlbF9jcnRjX2RwbXNfb3ZlcmxheShpbnRlbF9j cnRjLCBmYWxzZSk7Cj4gLQlpbnRlbF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQgPSBmYWxzZTsKPiAg CWZvcl9lYWNoX2ludGVsX3BsYW5lKGRldiwgaW50ZWxfcGxhbmUpIHsKPiAgCQlpZiAoaW50ZWxf cGxhbmUtPnBpcGUgPT0gcGlwZSkgewo+ICAJCQlzdHJ1Y3QgZHJtX2NydGMgKmZyb20gPSBpbnRl bF9wbGFuZS0+YmFzZS5jcnRjOwo+IEBAIC0xMjgwMyw2ICsxMjgwMiw5IEBAIHN0YXRpYyBpbnQg aW50ZWxfY3J0Y19zZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCkKPiAgCX0gZWxz ZSBpZiAoY29uZmlnLT5mYl9jaGFuZ2VkKSB7Cj4gIAkJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKHNldC0+Y3J0Yyk7Cj4gIAkJc3RydWN0IGRybV9wbGFuZSAq cHJpbWFyeSA9IHNldC0+Y3J0Yy0+cHJpbWFyeTsKPiArCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnBsYW5lX3N0YXRlID0KPiArCQkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKHByaW1hcnktPnN0 YXRlKTsKPiArCQlib29sIHdhc192aXNpYmxlID0gcGxhbmVfc3RhdGUtPnZpc2libGU7Cj4gIAkJ aW50IHZkaXNwbGF5LCBoZGlzcGxheTsKPiAgCj4gIAkJZHJtX2NydGNfZ2V0X2h2X3RpbWluZyhz ZXQtPm1vZGUsICZoZGlzcGxheSwgJnZkaXNwbGF5KTsKPiBAQCAtMTI4MTUsNyArMTI4MTcsOCBA QCBzdGF0aWMgaW50IGludGVsX2NydGNfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpz ZXQpCj4gIAkJICogV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhlIHByaW1hcnkgcGxhbmUgaXMgcmUt ZW5hYmxlZCBpZiBpdAo+ICAJCSAqIGhhcyBwcmV2aW91c2x5IGJlZW4gdHVybmVkIG9mZi4KPiAg CQkgKi8KPiAtCQlpZiAoIWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCAmJiByZXQgPT0gMCkg ewo+ICsJCXBsYW5lX3N0YXRlID0gdG9faW50ZWxfcGxhbmVfc3RhdGUocHJpbWFyeS0+c3RhdGUp Owo+ICsJCWlmIChyZXQgPT0gMCAmJiAhd2FzX3Zpc2libGUgJiYgcGxhbmVfc3RhdGUtPnZpc2li bGUpIHsKPiAgCQkJV0FSTl9PTighaW50ZWxfY3J0Yy0+YWN0aXZlKTsKPiAgCQkJaW50ZWxfZW5h YmxlX3ByaW1hcnlfaHdfcGxhbmUoc2V0LT5jcnRjLT5wcmltYXJ5LCBzZXQtPmNydGMpOwo+ICAJ CX0KPiBAQCAtMTMxMTMsNiArMTMxMTYsOSBAQCBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCXJldHVybiByZXQ7Cj4gIAo+ICAJaWYgKGludGVs X2NydGMtPmFjdGl2ZSkgewo+ICsJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRl ID0KPiArCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKTsKPiArCj4gIAkJaW50 ZWxfY3J0Yy0+YXRvbWljLndhaXRfZm9yX2ZsaXBzID0gdHJ1ZTsKPiAgCj4gIAkJLyoKPiBAQCAt MTMxMjUsMjAgKzEzMTMxLDIwIEBAIGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCj4gIAkJICogb25lIGlzIGRvbmUgdG9vIGxhdGUuIFdlIGV2ZW50dWFs bHkgbmVlZCB0byB1bmlmeQo+ICAJCSAqIHRoaXMuCj4gIAkJICovCj4gLQkJaWYgKGludGVsX2Ny dGMtPnByaW1hcnlfZW5hYmxlZCAmJgo+ICsJCWlmIChzdGF0ZS0+dmlzaWJsZSAmJgo+ICAJCSAg ICBJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA0ICYmICFJU19HNFgoZGV2KSAmJgo+ICAJCSAgICBk ZXZfcHJpdi0+ZmJjLmNydGMgPT0gaW50ZWxfY3J0YyAmJgo+ICAJCSAgICBzdGF0ZS0+YmFzZS5y b3RhdGlvbiAhPSBCSVQoRFJNX1JPVEFURV8wKSkgewo+ICAJCQlpbnRlbF9jcnRjLT5hdG9taWMu ZGlzYWJsZV9mYmMgPSB0cnVlOwo+ICAJCX0KPiAgCj4gLQkJaWYgKHN0YXRlLT52aXNpYmxlKSB7 Cj4gKwkJaWYgKHN0YXRlLT52aXNpYmxlICYmICFvbGRfc3RhdGUtPnZpc2libGUpIHsKPiAgCQkJ LyoKPiAgCQkJICogQkRXIHNpZ25hbHMgZmxpcCBkb25lIGltbWVkaWF0ZWx5IGlmIHRoZSBwbGFu ZQo+ICAJCQkgKiBpcyBkaXNhYmxlZCwgZXZlbiBpZiB0aGUgcGxhbmUgZW5hYmxlIGlzIGFscmVh ZHkKPiAgCQkJICogYXJtZWQgdG8gb2NjdXIgYXQgdGhlIG5leHQgdmJsYW5rIDooCj4gIAkJCSAq Lwo+IC0JCQlpZiAoSVNfQlJPQURXRUxMKGRldikgJiYgIWludGVsX2NydGMtPnByaW1hcnlfZW5h YmxlZCkKPiArCQkJaWYgKElTX0JST0FEV0VMTChkZXYpKQo+ICAJCQkJaW50ZWxfY3J0Yy0+YXRv bWljLndhaXRfdmJsYW5rID0gdHJ1ZTsKPiAgCQl9Cj4gIAo+IEBAIC0xMzE3Myw4ICsxMzE3OSw2 IEBAIGludGVsX2NvbW1pdF9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ ICAJY3J0Yy0+eSA9IHNyYy0+eTEgPj4gMTY7Cj4gIAo+ICAJaWYgKGludGVsX2NydGMtPmFjdGl2 ZSkgewo+IC0JCWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCA9IHN0YXRlLT52aXNpYmxlOwo+ IC0KPiAgCQlpZiAoc3RhdGUtPnZpc2libGUpCj4gIAkJCS8qIEZJWE1FOiBraWxsIHRoaXMgZmFz dGJvb3QgaGFjayAqLwo+ICAJCQlpbnRlbF91cGRhdGVfcGlwZV9zaXplKGludGVsX2NydGMpOwo+ IEBAIC0xMzE5Miw5ICsxMzE5Niw2IEBAIGludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKPiAgCj4gLQlpZiAoIWZvcmNlKQo+IC0JCXRvX2ludGVsX2NydGMoY3J0YyktPnByaW1h cnlfZW5hYmxlZCA9IGZhbHNlOwo+IC0KPiAgCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmlt YXJ5X3BsYW5lKGNydGMsIE5VTEwsIDAsIDApOwo+ICB9Cj4gIAo+IEBAIC0xNDY1NSw4ICsxNDY1 Niw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gIAkJICogVGVtcG9yYXJpbHkgY2hhbmdlIHRoZSBwbGFuZSBtYXBwaW5nIGFuZCBk aXNhYmxlIGV2ZXJ5dGhpbmcKPiAgCQkgKiAuLi4gICovCj4gIAkJcGxhbmUgPSBjcnRjLT5wbGFu ZTsKPiArCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5iYXNlLnByaW1hcnktPnN0YXRlKS0+ dmlzaWJsZSA9IHRydWU7Cj4gIAkJY3J0Yy0+cGxhbmUgPSAhcGxhbmU7Cj4gLQkJY3J0Yy0+cHJp bWFyeV9lbmFibGVkID0gdHJ1ZTsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2Rpc2FibGUo JmNydGMtPmJhc2UpOwo+ICAJCWNydGMtPnBsYW5lID0gcGxhbmU7Cj4gIAo+IEBAIC0xNDgzMyw2 ICsxNDgzNCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJaW50IGk7Cj4gIAo+ICAJZm9yX2VhY2hfaW50ZWxf Y3J0YyhkZXYsIGNydGMpIHsKPiArCQlzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5ID0gY3J0Yy0+ YmFzZS5wcmltYXJ5Owo+ICsJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7 Cj4gKwo+ICAJCW1lbXNldChjcnRjLT5jb25maWcsIDAsIHNpemVvZigqY3J0Yy0+Y29uZmlnKSk7 Cj4gIAo+ICAJCWNydGMtPmNvbmZpZy0+cXVpcmtzIHw9IFBJUEVfQ09ORklHX1FVSVJLX0lOSEVS SVRFRF9NT0RFOwo+IEBAIC0xNDg0Miw3ICsxNDg0Niw5IEBAIHN0YXRpYyB2b2lkIGludGVsX21v ZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCQlj cnRjLT5iYXNlLnN0YXRlLT5lbmFibGUgPSBjcnRjLT5hY3RpdmU7Cj4gIAkJY3J0Yy0+YmFzZS5l bmFibGVkID0gY3J0Yy0+YWN0aXZlOwo+IC0JCWNydGMtPnByaW1hcnlfZW5hYmxlZCA9IHByaW1h cnlfZ2V0X2h3X3N0YXRlKGNydGMpOwo+ICsKPiArCQlwbGFuZV9zdGF0ZSA9IHRvX2ludGVsX3Bs YW5lX3N0YXRlKHByaW1hcnktPnN0YXRlKTsKPiArCQlwbGFuZV9zdGF0ZS0+dmlzaWJsZSA9IHBy aW1hcnlfZ2V0X2h3X3N0YXRlKGNydGMpOwo+ICAKPiAgCQlEUk1fREVCVUdfS01TKCJbQ1JUQzol ZF0gaHcgc3RhdGUgcmVhZG91dDogJXNcbiIsCj4gIAkJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5p ZCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDQyNTQ4YmMuLmNiMGYyOWUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC01MTAsNyArNTEwLDYgQEAgc3RydWN0 IGludGVsX2NydGMgewo+ICAJICovCj4gIAlib29sIGFjdGl2ZTsKPiAgCXVuc2lnbmVkIGxvbmcg ZW5hYmxlZF9wb3dlcl9kb21haW5zOwo+IC0JYm9vbCBwcmltYXJ5X2VuYWJsZWQ7IC8qIGlzIHRo ZSBwcmltYXJ5IHBsYW5lIChwYXJ0aWFsbHkpIHZpc2libGU/ICovCj4gIAlib29sIGxvd2ZyZXFf YXZhaWw7Cj4gIAlzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheTsKPiAgCXN0cnVjdCBpbnRl bF91bnBpbl93b3JrICp1bnBpbl93b3JrOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9mYmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gaW5k ZXggNDE2NWNlMC4uNmFiYjgzNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9mYmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gQEAg LTQ1Nyw3ICs0NTcsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9jcnRjICppbnRlbF9mYmNfZmluZF9j cnRjKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQl0bXBfY3J0YyA9IGRl dl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBlXTsKPiAgCj4gIAkJaWYgKGludGVsX2Ny dGNfYWN0aXZlKHRtcF9jcnRjKSAmJgo+IC0JCSAgICB0b19pbnRlbF9jcnRjKHRtcF9jcnRjKS0+ cHJpbWFyeV9lbmFibGVkKSB7Cj4gKwkJICAgIHRvX2ludGVsX3BsYW5lX3N0YXRlKHRtcF9jcnRj LT5wcmltYXJ5LT5zdGF0ZSktPnZpc2libGUpIHsKPiAgCQkJaWYgKG9uZV9waXBlX29ubHkgJiYg Y3J0Yykgewo+ICAJCQkJaWYgKHNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCBGQkNfTVVMVElQ TEVfUElQRVMpKQo+ICAJCQkJCURSTV9ERUJVR19LTVMoIm1vcmUgdGhhbiBvbmUgcGlwZSBhY3Rp dmUsIGRpc2FibGluZyBjb21wcmVzc2lvblxuIik7Cj4gLS0gCj4gMi4xLjAKPiAKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWls aW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBW ZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==