From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 04/15] drm/i915: Walk over encoders in crtc enable/disable using atomic state. Date: Fri, 8 Jul 2016 13:30:19 +0300 Message-ID: <20160708103019.GS4329@intel.com> References: <1467892557-24546-1-git-send-email-maarten.lankhorst@linux.intel.com> <1467892557-24546-4-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id E9F816E8F6 for ; Fri, 8 Jul 2016 10:30:22 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1467892557-24546-4-git-send-email-maarten.lankhorst@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdWwgMDcsIDIwMTYgYXQgMDE6NTU6NDZQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhpcyBjbGVhbnMgdXAgYW5vdGhlciBwb3NzaWJsZSB1c2Ugb2YgdGhlIGNv bm5lY3RvciBsaXN0LAo+IGVuY29kZXItPmNydGMgaXMgbGVnYWN5IHN0YXRlIGFuZCBzaG91bGQg bm90IGJlIHVzZWQuCj4gCj4gV2l0aCB0aGUgYXRvbWljIHN0YXRlIGFzIGFyZ3VtZW50IGl0J3Mg ZWFzeSB0byBmaW5kIHRoZSBlbmNvZGVyIGZyb20KPiB0aGUgY29ubmVjdG9yIGl0IGJlbG9uZ3Mg dG8uCj4gCj4gaW50ZWxfb3ByZWdpb25fbm90aWZ5X2VuY29kZXIgaXMgYSBub29wIGZvciAhSEFT X0RESSwgc28gaXQncyBoYXJtbGVzcwo+IHRvIHVuY29uZGl0aW9uYWxseSBpbmNsdWRlIGl0IGlu IGVuY29kZXIgZW5hYmxlL2Rpc2FibGUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5r aG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTkwICsrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKSwgNTYg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4 IDhlN2Q0NTNkYjQ4Yy4uMTllNTM3OTAwMGI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+IEBAIC00NzA0LDYgKzQ3MDQsMTIzIEBAIHN0YXRpYyB2b2lkIGludGVsX2Ny dGNfZGlzYWJsZV9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjLCB1bnNpZ25lZCBwbGFuZV9t YXNrCj4gIAlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKGRldiwgSU5URUxfRlJPTlRCVUZGRVJfQUxM X01BU0socGlwZSkpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBpbnRlbF9lbmNvZGVyc19wcmVf cGxsX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCQkJICBzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqb2xkX3N0YXRlKQoKVGhpcyB3aG9sZSBvbGRfc3RhdGUgdGhpbmcgaXMgdmVy eSBhbm5veWluZy4gV2UncmUgZW5hYmxpbmcgdGhpbmdzLCBzbwppbnR1aXRpdmVseSBvbmUgd291 bGQgYXNzdW1lIHRoYXQgd2Ugd2FudCB0byBsb29rIGF0IHRoZSBuZXcgc3RhdGUuCkl0J3Mgbm90 IHF1aXRlIGFzIGJhZCBoZXJlIGFzIGl0J3MgaW4gdGhlIGNkY2xrIGNvZGUgd2hlcmUgb2xkX3N0 YXRlCmFjdHVhbGx5IGNvbnRhaW4gcGFydGlhbGx5IG9sZCBhbmQgcGFydGlhbGx5IG5ldyBzdGF0 ZS4KCldvdWxkIGJlIG5pY2UgaWYgc29tZW9uZSBjYW1lIHVwIHdpdGggc29tZSBraW5kIG9mIHNh bmUgc29sdXRpb24gZm9yCnRoaXMsIHRoYXQgd291bGQgYXZvaWQgaGF2aW5nIHRvIGNyb3Nzd2ly ZSBvbmUncyBicmFpbi4gV291bGQgYmUgbmljZQp0byBoYXZlIGV4cGxpY2l0IG9sZCBhbmQgbmV3 IHN0YXRlcyBJIHRoaW5rLgoKQW5kIHRoZSBtYWdpYyBkaXNhYmxlIHBoYXNlIGlzIG15IG90aGVy IG1haW4gYW5ub3lhbmNlIHdpdGggYXRvbWljLiBJZgp3ZSBoYWQgYW4gZXhwbGljaXQgbmV3IHN0 YXRlLCB0aGVuIHNwbGl0dGluZyB0aGUgZGlzYWJsZSsocmUpZW5hYmxlCnNlcXVlbmNlIGludG8g dGhyZWUgc3RhdGVzIHNob3VsZCBiZSBtdWNoIGVhc2llciwgc28gdGhhdCB3ZSdkIGhhdmUgYQpu aWNlIHRyYW5zaXRpb24gbGlrZSBzbzogb2xkX3N0YXRlLT5zdHVmZl9kaXNhYmxlZF9zdGF0ZS0+ c3R1ZmZfZW5hYmxlZF9zdGF0ZS4KQnV0IG9mIGNvdXJzZSB0aGlzIG1pZ2ggc3RpbGwgYmUgYSBs aXR0bGUgaGFyZCB0byBhY2hpZXZlIG9uIGFjY291bnQgb2YKYXRvbWljIHVud2lzZWx5IG1peGlu ZyB1cCB0aGUgdXNlciB2aXNpYmxlIHN0YXRlIGFuZCBpbnRlcm5hbCBzdGF0ZSBpbgp0aGUgc2Ft ZSBzdHJ1Y3R1cmVzLgoKPiArewo+ICsJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9j b25uX3N0YXRlOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm47Cj4gKwlpbnQgaTsKPiAr Cj4gKwlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3RhdGUob2xkX3N0YXRlLCBjb25uLCBvbGRfY29u bl9zdGF0ZSwgaSkgewo+ICsJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl ID0gY29ubi0+c3RhdGU7Cj4gKwkJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPQo+ICsJ CQl0b19pbnRlbF9lbmNvZGVyKGNvbm5fc3RhdGUtPmJlc3RfZW5jb2Rlcik7Cj4gKwo+ICsJCWlm IChjb25uX3N0YXRlLT5jcnRjICE9IGNydGMpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZiAo ZW5jb2Rlci0+cHJlX3BsbF9lbmFibGUpCj4gKwkJCWVuY29kZXItPnByZV9wbGxfZW5hYmxlKGVu Y29kZXIpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9lbmNvZGVyc19wcmVf ZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJCSAgICAgIHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpvbGRfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICpvbGRfY29ubl9zdGF0ZTsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwo+ICsJaW50 IGk7Cj4gKwo+ICsJZm9yX2VhY2hfY29ubmVjdG9yX2luX3N0YXRlKG9sZF9zdGF0ZSwgY29ubiwg b2xkX2Nvbm5fc3RhdGUsIGkpIHsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZSA9IGNvbm4tPnN0YXRlOwo+ICsJCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy ID0KPiArCQkJdG9faW50ZWxfZW5jb2Rlcihjb25uX3N0YXRlLT5iZXN0X2VuY29kZXIpOwo+ICsK PiArCQlpZiAoY29ubl9zdGF0ZS0+Y3J0YyAhPSBjcnRjKQo+ICsJCQljb250aW51ZTsKPiArCj4g KwkJaWYgKGVuY29kZXItPnByZV9lbmFibGUpCj4gKwkJCWVuY29kZXItPnByZV9lbmFibGUoZW5j b2Rlcik7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGludGVsX2VuY29kZXJzX2VuYWJs ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpvbGRfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29u bl9zdGF0ZTsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwo+ICsJaW50IGk7Cj4gKwo+ ICsJZm9yX2VhY2hfY29ubmVjdG9yX2luX3N0YXRlKG9sZF9zdGF0ZSwgY29ubiwgb2xkX2Nvbm5f c3RhdGUsIGkpIHsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSA9 IGNvbm4tPnN0YXRlOwo+ICsJCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0KPiArCQkJ dG9faW50ZWxfZW5jb2Rlcihjb25uX3N0YXRlLT5iZXN0X2VuY29kZXIpOwo+ICsKPiArCQlpZiAo Y29ubl9zdGF0ZS0+Y3J0YyAhPSBjcnRjKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJZW5jb2Rl ci0+ZW5hYmxlKGVuY29kZXIpOwo+ICsJCWludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKGVu Y29kZXIsIHRydWUpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9lbmNvZGVy c19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJCSAgIHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpvbGRfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICpvbGRfY29ubl9zdGF0ZTsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwo+ICsJaW50 IGk7Cj4gKwo+ICsJZm9yX2VhY2hfY29ubmVjdG9yX2luX3N0YXRlKG9sZF9zdGF0ZSwgY29ubiwg b2xkX2Nvbm5fc3RhdGUsIGkpIHsKPiArCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9 Cj4gKwkJCXRvX2ludGVsX2VuY29kZXIob2xkX2Nvbm5fc3RhdGUtPmJlc3RfZW5jb2Rlcik7Cj4g Kwo+ICsJCWlmIChvbGRfY29ubl9zdGF0ZS0+Y3J0YyAhPSBjcnRjKQo+ICsJCQljb250aW51ZTsK PiArCj4gKwkJaW50ZWxfb3ByZWdpb25fbm90aWZ5X2VuY29kZXIoZW5jb2RlciwgZmFsc2UpOwo+ ICsJCWVuY29kZXItPmRpc2FibGUoZW5jb2Rlcik7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2 b2lkIGludGVsX2VuY29kZXJzX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g KwkJCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiArewo+ICsJc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlOwo+ICsJc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm47Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3Rh dGUob2xkX3N0YXRlLCBjb25uLCBvbGRfY29ubl9zdGF0ZSwgaSkgewo+ICsJCXN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyID0KPiArCQkJdG9faW50ZWxfZW5jb2RlcihvbGRfY29ubl9zdGF0 ZS0+YmVzdF9lbmNvZGVyKTsKPiArCj4gKwkJaWYgKG9sZF9jb25uX3N0YXRlLT5jcnRjICE9IGNy dGMpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZiAoZW5jb2Rlci0+cG9zdF9kaXNhYmxlKQo+ ICsJCQllbmNvZGVyLT5wb3N0X2Rpc2FibGUoZW5jb2Rlcik7Cj4gKwl9Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIGludGVsX2VuY29kZXJzX3Bvc3RfcGxsX2Rpc2FibGUoc3RydWN0IGRybV9jcnRj ICpjcnRjLAo+ICsJCQkJCSAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+ ICt7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGU7Cj4gKwlz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubjsKPiArCWludCBpOwo+ICsKPiArCWZvcl9lYWNoX2Nv bm5lY3Rvcl9pbl9zdGF0ZShvbGRfc3RhdGUsIGNvbm4sIG9sZF9jb25uX3N0YXRlLCBpKSB7Cj4g KwkJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPQo+ICsJCQl0b19pbnRlbF9lbmNvZGVy KG9sZF9jb25uX3N0YXRlLT5iZXN0X2VuY29kZXIpOwo+ICsKPiArCQlpZiAob2xkX2Nvbm5fc3Rh dGUtPmNydGMgIT0gY3J0YykKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlmIChlbmNvZGVyLT5w b3N0X3BsbF9kaXNhYmxlKQo+ICsJCQllbmNvZGVyLT5wb3N0X3BsbF9kaXNhYmxlKGVuY29kZXIp Owo+ICsJfQo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gIAkJCQkgc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+IEBAIC00NzExLDcgKzQ4MjgsNiBAQCBzdGF0aWMg dm9pZCBpcm9ubGFrZV9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+IC0Jc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXI7Cj4gIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4g IAo+ICAJaWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+YWN0aXZlKSkKPiBAQCAtNDc1MCw5ICs0ODY2 LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAo+ICAKPiAgCWludGVsX2NydGMtPmFjdGl2ZSA9IHRydWU7Cj4g IAo+IC0JZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2RlcikKPiAtCQlp ZiAoZW5jb2Rlci0+cHJlX2VuYWJsZSkKPiAtCQkJZW5jb2Rlci0+cHJlX2VuYWJsZShlbmNvZGVy KTsKPiArCWludGVsX2VuY29kZXJzX3ByZV9lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsKPiAgCj4g IAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKPiAgCQkvKiBOb3Rl OiBGREkgUExMIGVuYWJsaW5nIF9tdXN0XyBiZSBkb25lIGJlZm9yZSB3ZSBlbmFibGUgdGhlCj4g QEAgLTQ3ODIsOCArNDg5Niw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCWFzc2VydF92YmxhbmtfZGlz YWJsZWQoY3J0Yyk7Cj4gIAlkcm1fY3J0Y192Ymxhbmtfb24oY3J0Yyk7Cj4gIAo+IC0JZm9yX2Vh Y2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2RlcikKPiAtCQllbmNvZGVyLT5lbmFi bGUoZW5jb2Rlcik7Cj4gKwlpbnRlbF9lbmNvZGVyc19lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsK PiAgCj4gIAlpZiAoSEFTX1BDSF9DUFQoZGV2KSkKPiAgCQljcHRfdmVyaWZ5X21vZGVzZXQoZGV2 LCBpbnRlbF9jcnRjLT5waXBlKTsKPiBAQCAtNDgwOCw3ICs0OTIxLDYgQEAgc3RhdGljIHZvaWQg aGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcs Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+IC0Jc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXI7Cj4gIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGUsIGhzd193b3Jr YXJvdW5kX3BpcGU7Cj4gIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9j cnRjLT5jb25maWctPmNwdV90cmFuc2NvZGVyOwo+ICAKPiBAQCAtNDgxOSw5ICs0OTMxLDcgQEAg c3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcsCj4gIAkJaW50ZWxfc2V0X3BjaF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhk ZXZfcHJpdiwgVFJBTlNDT0RFUl9BLAo+ICAJCQkJCQkgICAgICBmYWxzZSk7Cj4gIAo+IC0JZm9y X2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2RlcikKPiAtCQlpZiAoZW5jb2Rl ci0+cHJlX3BsbF9lbmFibGUpCj4gLQkJCWVuY29kZXItPnByZV9wbGxfZW5hYmxlKGVuY29kZXIp Owo+ICsJaW50ZWxfZW5jb2RlcnNfcHJlX3BsbF9lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsKPiAg Cj4gIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbCkKPiAgCQlpbnRlbF9lbmFi bGVfc2hhcmVkX2RwbGwoaW50ZWxfY3J0Yyk7Cj4gQEAgLTQ4NTksMTAgKzQ5NjksNyBAQCBzdGF0 aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZywKPiAgCWVsc2UKPiAgCQlpbnRlbF9zZXRfY3B1X2ZpZm9fdW5kZXJydW5fcmVwb3J0 aW5nKGRldl9wcml2LCBwaXBlLCB0cnVlKTsKPiAgCj4gLQlmb3JfZWFjaF9lbmNvZGVyX29uX2Ny dGMoZGV2LCBjcnRjLCBlbmNvZGVyKSB7Cj4gLQkJaWYgKGVuY29kZXItPnByZV9lbmFibGUpCj4g LQkJCWVuY29kZXItPnByZV9lbmFibGUoZW5jb2Rlcik7Cj4gLQl9Cj4gKwlpbnRlbF9lbmNvZGVy c19wcmVfZW5hYmxlKGNydGMsIG9sZF9zdGF0ZSk7Cj4gIAo+ICAJaWYgKGludGVsX2NydGMtPmNv bmZpZy0+aGFzX3BjaF9lbmNvZGVyKQo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmZkaV9saW5rX3Ry YWluKGNydGMpOwo+IEBAIC00OTAzLDEwICs1MDEwLDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9j cnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gIAlhc3Nl cnRfdmJsYW5rX2Rpc2FibGVkKGNydGMpOwo+ICAJZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOwo+ ICAKPiAtCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpIHsKPiAt CQllbmNvZGVyLT5lbmFibGUoZW5jb2Rlcik7Cj4gLQkJaW50ZWxfb3ByZWdpb25fbm90aWZ5X2Vu Y29kZXIoZW5jb2RlciwgdHJ1ZSk7Cj4gLQl9Cj4gKwlpbnRlbF9lbmNvZGVyc19lbmFibGUoY3J0 Yywgb2xkX3N0YXRlKTsKPiAgCj4gIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2Vu Y29kZXIpIHsKPiAgCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBwaXBlKTsKPiBAQCAtNDk0 Nyw3ICs1MDUxLDYgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19kaXNhYmxlKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjcnRjLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiAgCWludCBw aXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAgCj4gIAkvKgo+IEBAIC00OTYwLDggKzUwNjMsNyBA QCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlLAo+ICAJCWludGVsX3NldF9wY2hfZmlmb191bmRlcnJ1bl9yZXBv cnRpbmcoZGV2X3ByaXYsIHBpcGUsIGZhbHNlKTsKPiAgCX0KPiAgCj4gLQlmb3JfZWFjaF9lbmNv ZGVyX29uX2NydGMoZGV2LCBjcnRjLCBlbmNvZGVyKQo+IC0JCWVuY29kZXItPmRpc2FibGUoZW5j b2Rlcik7Cj4gKwlpbnRlbF9lbmNvZGVyc19kaXNhYmxlKGNydGMsIG9sZF9zdGF0ZSk7Cj4gIAo+ ICAJZHJtX2NydGNfdmJsYW5rX29mZihjcnRjKTsKPiAgCWFzc2VydF92YmxhbmtfZGlzYWJsZWQo Y3J0Yyk7Cj4gQEAgLTQ5NzMsOSArNTA3NSw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNf ZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAlpZiAo aW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpCj4gIAkJaXJvbmxha2VfZmRpX2Rp c2FibGUoY3J0Yyk7Cj4gIAo+IC0JZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0Yywg ZW5jb2RlcikKPiAtCQlpZiAoZW5jb2Rlci0+cG9zdF9kaXNhYmxlKQo+IC0JCQllbmNvZGVyLT5w b3N0X2Rpc2FibGUoZW5jb2Rlcik7Cj4gKwlpbnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0 Yywgb2xkX3N0YXRlKTsKPiAgCj4gIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2Vu Y29kZXIpIHsKPiAgCQlpcm9ubGFrZV9kaXNhYmxlX3BjaF90cmFuc2NvZGVyKGRldl9wcml2LCBw aXBlKTsKPiBAQCAtNTAxMiwxNyArNTExMiwxMyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNf ZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+IC0Jc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXI7Cj4gIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9jcnRjLT5j b25maWctPmNwdV90cmFuc2NvZGVyOwo+ICAKPiAgCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhh c19wY2hfZW5jb2RlcikKPiAgCQlpbnRlbF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5n KGRldl9wcml2LCBUUkFOU0NPREVSX0EsCj4gIAkJCQkJCSAgICAgIGZhbHNlKTsKPiAgCj4gLQlm b3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCBjcnRjLCBlbmNvZGVyKSB7Cj4gLQkJaW50ZWxf b3ByZWdpb25fbm90aWZ5X2VuY29kZXIoZW5jb2RlciwgZmFsc2UpOwo+IC0JCWVuY29kZXItPmRp c2FibGUoZW5jb2Rlcik7Cj4gLQl9Cj4gKwlpbnRlbF9lbmNvZGVyc19kaXNhYmxlKGNydGMsIG9s ZF9zdGF0ZSk7Cj4gIAo+ICAJZHJtX2NydGNfdmJsYW5rX29mZihjcnRjKTsKPiAgCWFzc2VydF92 YmxhbmtfZGlzYWJsZWQoY3J0Yyk7Cj4gQEAgLTUwNDUsOSArNTE0MSw3IEBAIHN0YXRpYyB2b2lk IGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19z dGF0ZSwKPiAgCWlmICghdHJhbnNjb2Rlcl9pc19kc2koY3B1X3RyYW5zY29kZXIpKQo+ICAJCWlu dGVsX2RkaV9kaXNhYmxlX3BpcGVfY2xvY2soaW50ZWxfY3J0Yyk7Cj4gIAo+IC0JZm9yX2VhY2hf ZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2RlcikKPiAtCQlpZiAoZW5jb2Rlci0+cG9z dF9kaXNhYmxlKQo+IC0JCQllbmNvZGVyLT5wb3N0X2Rpc2FibGUoZW5jb2Rlcik7Cj4gKwlpbnRl bF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0Yywgb2xkX3N0YXRlKTsKPiAgCj4gIAlpZiAoaW50 ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKPiAgCQlscHRfZGlzYWJsZV9wY2hf dHJhbnNjb2RlcihkZXZfcHJpdik7Cj4gQEAgLTYxMjcsNyArNjIyMSw2IEBAIHN0YXRpYyB2b2lk IHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAtCXN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyOwo+ICAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICAK PiAgCWlmIChXQVJOX09OKGludGVsX2NydGMtPmFjdGl2ZSkpCj4gQEAgLTYxNTIsOSArNjI0NSw3 IEBAIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAo+ICAKPiAgCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9y ZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIHRydWUpOwo+ICAKPiAtCWZvcl9lYWNoX2VuY29kZXJf b25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpCj4gLQkJaWYgKGVuY29kZXItPnByZV9wbGxfZW5h YmxlKQo+IC0JCQllbmNvZGVyLT5wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKPiArCWludGVsX2Vu Y29kZXJzX3ByZV9wbGxfZW5hYmxlKGNydGMsIG9sZF9zdGF0ZSk7Cj4gIAo+ICAJaWYgKElTX0NI RVJSWVZJRVcoZGV2KSkgewo+ICAJCWNodl9wcmVwYXJlX3BsbChpbnRlbF9jcnRjLCBpbnRlbF9j cnRjLT5jb25maWcpOwo+IEBAIC02MTY0LDkgKzYyNTUsNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2 aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAg CQl2bHZfZW5hYmxlX3BsbChpbnRlbF9jcnRjLCBpbnRlbF9jcnRjLT5jb25maWcpOwo+ICAJfQo+ ICAKPiAtCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpCj4gLQkJ aWYgKGVuY29kZXItPnByZV9lbmFibGUpCj4gLQkJCWVuY29kZXItPnByZV9lbmFibGUoZW5jb2Rl cik7Cj4gKwlpbnRlbF9lbmNvZGVyc19wcmVfZW5hYmxlKGNydGMsIG9sZF9zdGF0ZSk7Cj4gIAo+ ICAJaTl4eF9wZml0X2VuYWJsZShpbnRlbF9jcnRjKTsKPiAgCj4gQEAgLTYxNzgsOCArNjI2Nyw3 IEBAIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJYXNzZXJ0X3ZibGFua19kaXNhYmxlZChjcnRjKTsKPiAg CWRybV9jcnRjX3ZibGFua19vbihjcnRjKTsKPiAgCj4gLQlmb3JfZWFjaF9lbmNvZGVyX29uX2Ny dGMoZGV2LCBjcnRjLCBlbmNvZGVyKQo+IC0JCWVuY29kZXItPmVuYWJsZShlbmNvZGVyKTsKPiAr CWludGVsX2VuY29kZXJzX2VuYWJsZShjcnRjLCBvbGRfc3RhdGUpOwo+ICB9Cj4gIAo+ICBzdGF0 aWMgdm9pZCBpOXh4X3NldF9wbGxfZGl2aWRlcnMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4g QEAgLTYxOTgsNyArNjI4Niw2IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKPiAtCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOwo+ICAJZW51bSBw aXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICAKPiAgCWlmIChXQVJOX09OKGludGVsX2Ny dGMtPmFjdGl2ZSkpCj4gQEAgLTYyMTksOSArNjMwNiw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJaWYgKCFJ U19HRU4yKGRldikpCj4gIAkJaW50ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhk ZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7Cj4gIAo+IC0JZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRl diwgY3J0YywgZW5jb2RlcikKPiAtCQlpZiAoZW5jb2Rlci0+cHJlX2VuYWJsZSkKPiAtCQkJZW5j b2Rlci0+cHJlX2VuYWJsZShlbmNvZGVyKTsKPiArCWludGVsX2VuY29kZXJzX3ByZV9lbmFibGUo Y3J0Yywgb2xkX3N0YXRlKTsKPiAgCj4gIAlpOXh4X2VuYWJsZV9wbGwoaW50ZWxfY3J0Yyk7Cj4g IAo+IEBAIC02MjM1LDggKzYzMjAsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCWFzc2VydF92YmxhbmtfZGlz YWJsZWQoY3J0Yyk7Cj4gIAlkcm1fY3J0Y192Ymxhbmtfb24oY3J0Yyk7Cj4gIAo+IC0JZm9yX2Vh Y2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2RlcikKPiAtCQllbmNvZGVyLT5lbmFi bGUoZW5jb2Rlcik7Cj4gKwlpbnRlbF9lbmNvZGVyc19lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsK PiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaTl4eF9wZml0X2Rpc2FibGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCj4gQEAgLTYyNjEsNyArNjM0NSw2IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19k aXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcjsKPiAgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAgCj4gIAkvKgo+IEBAIC02 MjcxLDggKzYzNTQsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAlpZiAoSVNfR0VOMihkZXYpKQo+ICAJ CWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIHBpcGUpOwo+ICAKPiAtCWZvcl9lYWNoX2VuY29k ZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpCj4gLQkJZW5jb2Rlci0+ZGlzYWJsZShlbmNv ZGVyKTsKPiArCWludGVsX2VuY29kZXJzX2Rpc2FibGUoY3J0Yywgb2xkX3N0YXRlKTsKPiAgCj4g IAlkcm1fY3J0Y192Ymxhbmtfb2ZmKGNydGMpOwo+ICAJYXNzZXJ0X3ZibGFua19kaXNhYmxlZChj cnRjKTsKPiBAQCAtNjI4MSw5ICs2MzYzLDcgQEAgc3RhdGljIHZvaWQgaTl4eF9jcnRjX2Rpc2Fi bGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ICAKPiAgCWk5eHhf cGZpdF9kaXNhYmxlKGludGVsX2NydGMpOwo+ICAKPiAtCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0 YyhkZXYsIGNydGMsIGVuY29kZXIpCj4gLQkJaWYgKGVuY29kZXItPnBvc3RfZGlzYWJsZSkKPiAt CQkJZW5jb2Rlci0+cG9zdF9kaXNhYmxlKGVuY29kZXIpOwo+ICsJaW50ZWxfZW5jb2RlcnNfcG9z dF9kaXNhYmxlKGNydGMsIG9sZF9zdGF0ZSk7Cj4gIAo+ICAJaWYgKCFpbnRlbF9jcnRjX2hhc190 eXBlKGludGVsX2NydGMtPmNvbmZpZywgSU5URUxfT1VUUFVUX0RTSSkpIHsKPiAgCQlpZiAoSVNf Q0hFUlJZVklFVyhkZXYpKQo+IEBAIC02Mjk0LDkgKzYzNzQsNyBAQCBzdGF0aWMgdm9pZCBpOXh4 X2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4g IAkJCWk5eHhfZGlzYWJsZV9wbGwoaW50ZWxfY3J0Yyk7Cj4gIAl9Cj4gIAo+IC0JZm9yX2VhY2hf ZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2RlcikKPiAtCQlpZiAoZW5jb2Rlci0+cG9z dF9wbGxfZGlzYWJsZSkKPiAtCQkJZW5jb2Rlci0+cG9zdF9wbGxfZGlzYWJsZShlbmNvZGVyKTsK PiArCWludGVsX2VuY29kZXJzX3Bvc3RfcGxsX2Rpc2FibGUoY3J0Yywgb2xkX3N0YXRlKTsKPiAg Cj4gIAlpZiAoIUlTX0dFTjIoZGV2KSkKPiAgCQlpbnRlbF9zZXRfY3B1X2ZpZm9fdW5kZXJydW5f cmVwb3J0aW5nKGRldl9wcml2LCBwaXBlLCBmYWxzZSk7Cj4gLS0gCj4gMi41LjUKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=