From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 06/12] drm/i915: Complete crtc hw/uapi split, v6. Date: Thu, 31 Oct 2019 16:44:24 +0200 Message-ID: <20191031144424.GX1208@intel.com> References: <20191031112610.27608-1-maarten.lankhorst@linux.intel.com> <20191031112610.27608-6-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F4406EEBB for ; Thu, 31 Oct 2019 14:44:28 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191031112610.27608-6-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 T24gVGh1LCBPY3QgMzEsIDIwMTkgYXQgMTI6MjY6MDRQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcgaW50byB1YXBpIGFu ZCBodywgaXQncwo+IHRpbWUgdG8gbWFrZSB0aGUgc3BsaXQgZGVmaW5pdGl2ZS4gUmVtb3ZlIHRo ZSB1bmlvbiBhbmQKPiBtYWtlIGEgY29weSBvZiB0aGUgaHcgc3RhdGUgb24gbW9kZXNldCBhbmQg ZmFzdHNldC4KPiAKPiBDb2xvciBibG9icyBhcmUgY29waWVkIGluIGNydGMgYXRvbWljX2NoZWNr KCksIHJpZ2h0Cj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1lbnQgaXMgY2hlY2tlZC4KPiAKPiBDaGFu Z2VzIHNpbmNlIHYxOgo+IC0gQ29weSBhbGwgYmxvYnMgaW1tZWRpYXRlbHkgYWZ0ZXIgZHJtX2F0 b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldCgpLgo+IC0gQ2xlYXIgY3J0Y19zdGF0ZS0+aHcgb24g ZGlzYWJsZSwgaW5zdGVhZCBvZiB1c2luZyBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkuCj4gQ2hh bmdlcyBzaW5jZSB2MjoKPiAtIFVzZSBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUgKyBjbGVhciBp biBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoKS4KPiAtIE1ha2UgYSBpbnRlbF9jcnRjX3By ZXBhcmVfc3RhdGUoKSBmdW5jdGlvbiB0aGF0IGNsZWFycyB0aGUgY3J0Y19zdGF0ZQo+ICAgYW5k IGNvcGllcyBodyBtZW1iZXJzLgo+IC0gUmVtb3ZlIHNldHRpbmcgdWFwaS5hZGp1c3RlZF9tb2Rl LCB3ZSBub3cgaGF2ZSBhIGRpcmVjdCBjYWxsIHRvCj4gICBkcm1fY2FsY190aW1lc3RhbXBpbmdf Y29uc3RhbnRzKCkuCj4gQ2hhbmdlcyBzaW5jZSB2MzoKPiAtIFJlbmFtZSBwcmVmaXggY29weV9o d190b191YXBpX3N0YXRlKCkgd2l0aCBpbnRlbF9jcnRjLgo+IC0gQ29weSBjb2xvciBibG9icyB0 byB1YXBpIGFzIHdlbGwuCj4gLSBBZGQgYSBpbnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0 ZV9ub21vZGVzZXQoKSBmdW5jdGlvbiBmb3IgY2xhcml0eS4KPiBDaGFuZ2VzIHNpbmNlIHY0Ogo+ IC0gQ29weSBody5hZGp1c3RlZF9tb2RlIGJhY2sgdG8gdWFwaS5hZGp1c3RlZF9tb2RlLCB0byBz aHV0IHVwCj4gICB0aGUgY2FsbCB0byBkcm1fY2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzKCkg aW4KPiAgIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZSgpLgo+ IC0gVXNlIGRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IgKFZpbGxlKS4KPiBDaGFuZ2VzIHNpbmNl IHY1Ogo+IC0gVXNlIGh3LT5tb2RlIGluIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZSgp LiAoVmlsbGUpCj4gLSBDb3B5IHRvIHVhcGkubW9kZSB1c2luZyBkcm1fYXRvbWljX3NldF9tb2Rl X2Zvcl9jcnRjKCkuIChWaWxsZSkKPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jICAgfCAzMSArKysrKysrCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmggICB8ICAyICsKPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgOTAgKysrKysrKysrKysr KysrLS0tLQo+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAg fCAgOSArLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMK PiBpbmRleCA0ODk2NGYzM2MwYzEuLjMzMDFjMTc4ZGEwMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+IEBAIC0xOTUsNiArMTk1LDE0IEBAIGlu dGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAlf X2RybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRl LT51YXBpKTsKPiAgCj4gKwkvKiBjb3B5IGNvbG9yIGJsb2JzICovCj4gKwlpZiAoY3J0Y19zdGF0 ZS0+aHcuZGVnYW1tYV9sdXQpCj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUt Pmh3LmRlZ2FtbWFfbHV0KTsKPiArCWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4gKwkJZHJtX3By b3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmN0bSk7Cj4gKwlpZiAoY3J0Y19zdGF0ZS0+ aHcuZ2FtbWFfbHV0KQo+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5n YW1tYV9sdXQpOwo+ICsKPiAgCWNydGNfc3RhdGUtPnVwZGF0ZV9waXBlID0gZmFsc2U7Cj4gIAlj cnRjX3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7Cj4gIAljcnRjX3N0YXRlLT5kaXNhYmxl X2N4c3IgPSBmYWxzZTsKPiBAQCAtMjA4LDYgKzIxNiwyOCBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0 ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlyZXR1cm4gJmNydGNfc3RhdGUtPnVh cGk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlkcm1fcHJvcGVydHlf YmxvYl9wdXQoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ICsJZHJtX3Byb3BlcnR5X2Js b2JfcHV0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfYmxvYl9w dXQoY3J0Y19zdGF0ZS0+aHcuY3RtKTsKPiArfQo+ICsKPiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVf aHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlu dGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ICt9Cj4gKwo+ICt2b2lkIGlu dGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPiArewo+ICsJZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+aHcu ZGVnYW1tYV9sdXQsCj4gKwkJCQkgIGNydGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQpOwo+ICsJ ZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0LAo+ICsJ CQkJICBjcnRjX3N0YXRlLT51YXBpLmdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFj ZV9ibG9iKCZjcnRjX3N0YXRlLT5ody5jdG0sCj4gKwkJCQkgIGNydGNfc3RhdGUtPnVhcGkuY3Rt KTsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ry b3kgY3J0YyBzdGF0ZQo+ICAgKiBAY3J0YzogZHJtIGNydGMKPiBAQCAtMjIzLDYgKzI1Myw3IEBA IGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3Rh dGUpOwo+ICAKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRj X3N0YXRlLT51YXBpKTsKPiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsK PiAgCWtmcmVlKGNydGNfc3RhdGUpOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+IGluZGV4IDQ5ZDVjYjFiOWUwYS4uN2I0OTYyMzQxOWJh IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oCj4g QEAgLTM2LDYgKzM2LDggQEAgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRl KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKmludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4g IHZvaWQgaW50ZWxfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAg CQkJICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOwo+ICt2b2lkIGludGVsX2Ny dGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4g K3ZvaWQgaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19z dGF0ZV9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgdm9pZCBpbnRlbF9hdG9taWNf c3RhdGVfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA0YTlkYzE0 ZjJlZTIuLjM3M2NiYmJiNTdhNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTcxODUsNiArNzE4NSw4IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAljcnRj LT5lbmFibGVkID0gZmFsc2U7Cj4gIAljcnRjLT5zdGF0ZS0+Y29ubmVjdG9yX21hc2sgPSAwOwo+ ICAJY3J0Yy0+c3RhdGUtPmVuY29kZXJfbWFzayA9IDA7Cj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdf c3RhdGUoY3J0Y19zdGF0ZSk7Cj4gKwltZW1zZXQoJmNydGNfc3RhdGUtPmh3LCAwLCBzaXplb2Yo Y3J0Y19zdGF0ZS0+aHcpKTsKPiAgCj4gIAlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoY3J0Yy0+ ZGV2LCBjcnRjLCBlbmNvZGVyKQo+ICAJCWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4gQEAg LTEyNTU3LDggKzEyNTU5LDQxIEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25m bGljdHMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZAo+ICtpbnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0 ZV9ub21vZGVzZXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiAr CWludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQKPiAraW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWNydGNfc3RhdGUtPmh3LmVuYWJsZSA9 IGNydGNfc3RhdGUtPnVhcGkuZW5hYmxlOwo+ICsJY3J0Y19zdGF0ZS0+aHcuYWN0aXZlID0gY3J0 Y19zdGF0ZS0+dWFwaS5hY3RpdmU7Cj4gKwljcnRjX3N0YXRlLT5ody5tb2RlID0gY3J0Y19zdGF0 ZS0+dWFwaS5tb2RlOwo+ICsJY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZSA9IGNydGNfc3Rh dGUtPnVhcGkuYWRqdXN0ZWRfbW9kZTsKPiArCWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0 YXRlX25vbW9kZXNldChjcnRjX3N0YXRlKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaW50ZWxf Y3J0Y19jb3B5X2h3X3RvX3VhcGlfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gK3sKPiArCWNydGNfc3RhdGUtPnVhcGkuZW5hYmxlID0gY3J0Y19zdGF0ZS0+aHcu ZW5hYmxlOwo+ICsJY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmUgPSBjcnRjX3N0YXRlLT5ody5hY3Rp dmU7Cj4gKwlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3RhdGUt PnVhcGksICZjcnRjX3N0YXRlLT5ody5tb2RlKSA8IDApOwo+ICsKPiArCWNydGNfc3RhdGUtPnVh cGkuYWRqdXN0ZWRfbW9kZSA9IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7Cj4gKwo+ICsJ LyogY29weSBjb2xvciBibG9icyB0byB1YXBpICovCj4gKwlkcm1fcHJvcGVydHlfcmVwbGFjZV9i bG9iKCZjcnRjX3N0YXRlLT51YXBpLmRlZ2FtbWFfbHV0LAo+ICsJCQkJICBjcnRjX3N0YXRlLT5o dy5kZWdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0YXRl LT51YXBpLmdhbW1hX2x1dCwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0KTsKPiAr CWRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPnVhcGkuY3RtLAo+ICsJCQkJ ICBjcnRjX3N0YXRlLT5ody5jdG0pOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50Cj4gLWNsZWFyX2lu dGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK2lu dGVsX2NydGNfcHJlcGFyZV9jbGVhcmVkX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQo+ ICAJCXRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+IEBAIC0xMjU2OCwxMSAr MTI2MDMsMTUgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiAgCWlmICghc2F2ZWRfc3RhdGUpCj4gIAkJcmV0dXJuIC1FTk9NRU07 Cj4gIAo+ICsJLyogZnJlZSB0aGUgb2xkIGNydGNfc3RhdGUtPmh3IG1lbWJlcnMgKi8KPiArCWlu dGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCj4gIAkvKiBGSVhNRTogYmVm b3JlIHRoZSBzd2l0Y2ggdG8gYXRvbWljIHN0YXJ0ZWQsIGEgbmV3IHBpcGVfY29uZmlnIHdhcwo+ ICAJICoga3phbGxvYydkLiBDb2RlIHRoYXQgZGVwZW5kcyBvbiBhbnkgZmllbGQgYmVpbmcgemVy byBzaG91bGQgYmUKPiAgCSAqIGZpeGVkLCBzbyB0aGF0IHRoZSBjcnRjX3N0YXRlIGNhbiBiZSBz YWZlbHkgZHVwbGljYXRlZC4gRm9yIG5vdywKPiAgCSAqIG9ubHkgZmllbGRzIHRoYXQgYXJlIGtu b3cgdG8gbm90IGNhdXNlIHByb2JsZW1zIGFyZSBwcmVzZXJ2ZWQuICovCj4gIAo+ICsJc2F2ZWRf c3RhdGUtPnVhcGkgPSBjcnRjX3N0YXRlLT51YXBpOwo+ICAJc2F2ZWRfc3RhdGUtPnNjYWxlcl9z dGF0ZSA9IGNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPiAgCXNhdmVkX3N0YXRlLT5zaGFyZWRf ZHBsbCA9IGNydGNfc3RhdGUtPnNoYXJlZF9kcGxsOwo+ICAJc2F2ZWRfc3RhdGUtPmRwbGxfaHdf c3RhdGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwo+IEBAIC0xMjU5MCwxNCArMTI2Mjks MTEgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKPiAgCQlzYXZlZF9zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrID0KPiAgCQkJ Y3J0Y19zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrOwo+ICAKPiAtCS8qIEtlZXAgYmFzZSBk cm1fY3J0Y19zdGF0ZSBpbnRhY3QsIG9ubHkgY2xlYXIgb3VyIGV4dGVuZGVkIHN0cnVjdCAqLwo+ IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBiYXNlKSk7 Cj4gLQlCVUlMRF9CVUdfT04ob2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3RhdGUsIHVhcGkp KTsKPiAtCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwgaHcp KTsKPiAtCW1lbWNweSgmY3J0Y19zdGF0ZS0+dWFwaSArIDEsICZzYXZlZF9zdGF0ZS0+dWFwaSAr IDEsCj4gLQkgICAgICAgc2l6ZW9mKCpjcnRjX3N0YXRlKSAtIHNpemVvZihjcnRjX3N0YXRlLT51 YXBpKSk7Cj4gLQo+ICsJbWVtY3B5KGNydGNfc3RhdGUsIHNhdmVkX3N0YXRlLCBzaXplb2YoKmNy dGNfc3RhdGUpKTsKPiAgCWtmcmVlKHNhdmVkX3N0YXRlKTsKPiArCj4gKwlpbnRlbF9jcnRjX2Nv cHlfdWFwaV90b19od19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ ICAKPiBAQCAtMTI2MTMsMTAgKzEyNjQ5LDYgQEAgaW50ZWxfbW9kZXNldF9waXBlX2NvbmZpZyhz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gIAlpbnQgaTsKPiAgCWJvb2wg cmV0cnkgPSB0cnVlOwo+ICAKPiAtCXJldCA9IGNsZWFyX2ludGVsX2NydGNfc3RhdGUocGlwZV9j b25maWcpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+IC0KPiAgCXBpcGVfY29uZmln LT5jcHVfdHJhbnNjb2RlciA9Cj4gIAkJKGVudW0gdHJhbnNjb2RlcikgdG9faW50ZWxfY3J0Yyhj cnRjKS0+cGlwZTsKPiAgCj4gQEAgLTEyNzQ0LDYgKzEyNzc2LDEyIEBAIGludGVsX21vZGVzZXRf cGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICAJRFJN X0RFQlVHX0tNUygiaHcgbWF4IGJwcDogJWksIHBpcGUgYnBwOiAlaSwgZGl0aGVyaW5nOiAlaVxu IiwKPiAgCQkgICAgICBiYXNlX2JwcCwgcGlwZV9jb25maWctPnBpcGVfYnBwLCBwaXBlX2NvbmZp Zy0+ZGl0aGVyKTsKPiAgCj4gKwkvKgo+ICsJICogTWFrZSBkcm1fY2FsY190aW1lc3RhbXBpbmdf Y29uc3RhbnRzIGluCj4gKwkgKiBkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfbGVnYWN5X21vZGVz ZXRfc3RhdGUoKSBoYXBweQo+ICsJICovCj4gKwlwaXBlX2NvbmZpZy0+dWFwaS5hZGp1c3RlZF9t b2RlID0gcGlwZV9jb25maWctPmh3LmFkanVzdGVkX21vZGU7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4g IH0KPiAgCj4gQEAgLTEzNDczLDYgKzEzNTExLDggQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0 IGludGVsX2NydGMgKmNydGMsCj4gIAo+ICAJc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5z dGF0ZTsKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZvbGRfY3J0 Y19zdGF0ZS0+dWFwaSk7Cj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUob2xkX2NydGNfc3Rh dGUpOwo+ICsKPiAgCXBpcGVfY29uZmlnID0gb2xkX2NydGNfc3RhdGU7Cj4gIAltZW1zZXQocGlw ZV9jb25maWcsIDAsIHNpemVvZigqcGlwZV9jb25maWcpKTsKPiAgCXBpcGVfY29uZmlnLT51YXBp LmNydGMgPSAmY3J0Yy0+YmFzZTsKPiBAQCAtMTQwMDcsMTQgKzE0MDQ3LDI0IEBAIHN0YXRpYyBp bnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJZm9y X2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0 YXRlLAo+ICAJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+IC0JCWlmICghbmVlZHNfbW9k ZXNldChuZXdfY3J0Y19zdGF0ZSkpCj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0 YXRlKSkgewo+ICsJCQkvKiBMaWdodCBjb3B5ICovCj4gKwkJCWludGVsX2NydGNfY29weV91YXBp X3RvX2h3X3N0YXRlX25vbW9kZXNldChuZXdfY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJCQljb250aW51 ZTsKPiArCQl9Cj4gIAo+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4g KwkJCWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKPiAr Cj4gIAkJCWFueV9tcyA9IHRydWU7Cj4gIAkJCWNvbnRpbnVlOwo+ICAJCX0KPiAgCj4gKwkJcmV0 ID0gaW50ZWxfY3J0Y19wcmVwYXJlX2NsZWFyZWRfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ICsJ CWlmIChyZXQpCj4gKwkJCWdvdG8gZmFpbDsKPiArCj4gIAkJcmV0ID0gaW50ZWxfbW9kZXNldF9w aXBlX2NvbmZpZyhuZXdfY3J0Y19zdGF0ZSk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBmYWls Owo+IEBAIC0xNzI4NSw2ICsxNzMzNSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVh ZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQl0b19pbnRlbF9jcnRj X3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ICAKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4gKwkJaW50ZWxfY3J0Y19mcmVl X2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ICAJCW1lbXNldChjcnRjX3N0YXRlLCAwLCBzaXplb2Yo KmNydGNfc3RhdGUpKTsKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMt PmJhc2UsICZjcnRjX3N0YXRlLT51YXBpKTsKPiAgCj4gQEAgLTE3Mzk2LDE1ICsxNzQ0NywxNCBA QCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgCQlpbnQgbWluX2NkY2xrID0gMDsKPiAgCj4gIAkJaWYgKGNydGNfc3Rh dGUtPmh3LmFjdGl2ZSkgewo+IC0JCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBtb2RlOwo+ICsJ CQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRjX3N0YXRlLT5ody5tb2RlOwo+ ICAKPiAgCQkJaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKCZjcnRjX3N0YXRlLT5ody5hZGp1 c3RlZF9tb2RlLAo+ICAJCQkJCQkgICAgY3J0Y19zdGF0ZSk7Cj4gIAo+IC0JCQltb2RlID0gY3J0 Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKPiAtCQkJbW9kZS5oZGlzcGxheSA9IGNydGNfc3Rh dGUtPnBpcGVfc3JjX3c7Cj4gLQkJCW1vZGUudmRpc3BsYXkgPSBjcnRjX3N0YXRlLT5waXBlX3Ny Y19oOwo+IC0JCQlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3Rh dGUtPnVhcGksICZtb2RlKSk7Cj4gKwkJCSptb2RlID0gY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRf bW9kZTsKPiArCQkJbW9kZS0+aGRpc3BsYXkgPSBjcnRjX3N0YXRlLT5waXBlX3NyY193Owo+ICsJ CQltb2RlLT52ZGlzcGxheSA9IGNydGNfc3RhdGUtPnBpcGVfc3JjX2g7Cj4gIAo+ICAJCQkvKgo+ ICAJCQkgKiBUaGUgaW5pdGlhbCBtb2RlIG5lZWRzIHRvIGJlIHNldCBpbiBvcmRlciB0byBrZWVw Cj4gQEAgLTE3NDE1LDExICsxNzQ2NSwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3Jl YWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJICogc2V0IGEgZmxh ZyB0byBpbmRpY2F0ZSB0aGF0IGEgZnVsbCByZWNhbGN1bGF0aW9uIGlzCj4gIAkJCSAqIG5lZWRl ZCBvbiB0aGUgbmV4dCBjb21taXQuCj4gIAkJCSAqLwo+IC0JCQljcnRjX3N0YXRlLT5ody5tb2Rl LnByaXZhdGVfZmxhZ3MgPSBJOTE1X01PREVfRkxBR19JTkhFUklURUQ7Cj4gKwkJCW1vZGUtPnBy aXZhdGVfZmxhZ3MgPSBJOTE1X01PREVfRkxBR19JTkhFUklURUQ7Cj4gIAo+ICAJCQlpbnRlbF9j cnRjX2NvbXB1dGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKPiAgCj4gIAkJCWludGVsX2NydGNf dXBkYXRlX2FjdGl2ZV90aW1pbmdzKGNydGNfc3RhdGUpOwo+ICsKPiArCQkJaW50ZWxfY3J0Y19j b3B5X2h3X3RvX3VhcGlfc3RhdGUoY3J0Y19zdGF0ZSk7CgpIbW0uIEkgd29uZGVyIGlmIHdlJ2Qg bmVlZCB0byBkbyB0aGlzIGV2ZW4gaWYgdGhlIGNydGMgaXMgbm90IGFjdGl2ZT8KTm8gZGlmZmVy ZW5jZSBpbiB0aGUgZHJpdmVyIGxvYWQgcmVhZG91dCwgYnV0IGl0IHdpbGwgaGF2ZSBzb21lIGlt cGFjdApvbiByZXN1bWUgcmVhZG91dC4gT1RPSCB3ZSBkbyB0aGUgY29tbWl0X2R1cGxpY2F0ZWRf c3RhdGUoKSB0aGluZyBzbyBJCmd1ZXNzIHRoZSBvbGQgdWFwaSBzdGF0ZSBzaG91bGRuJ3QgcmVh bGx5IG1hdHRlciBhdCB0aGF0IHBvaW50LgoKRmluZ2VycyBhbmQgdG9lcyBjcm9zc2VkLi4uClJl dmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgoKPiAgCQl9Cj4gIAo+ICAJCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoJmRldl9wcml2 LT5kcm0sIGNydGMsIHBsYW5lKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiBpbmRleCBlODQzNDNkM2JmOGQuLjkzMTljYTY4 MjEwNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXlfdHlwZXMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV90eXBlcy5oCj4gQEAgLTc1Nyw4ICs3NTcsNiBAQCBlbnVtIGludGVsX291dHB1dF9m b3JtYXQgewo+ICB9Owo+ICAKPiAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+IC0JdW5pb24g ewo+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlIGJhc2U7Cj4gIAkvKgo+ICAJICogdWFwaSAoZHJt KSBzdGF0ZS4gVGhpcyBpcyB0aGUgc29mdHdhcmUgc3RhdGUgc2hvd24gdG8gdXNlcnNwYWNlLgo+ ICAJICogSW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2luZyBtZW1iZXJzIGFyZSB1c2VkIGZvciBi b29ra2VlcGluZzoKPiBAQCAtNzgxLDggKzc3OSwxMSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSB7Cj4gIAkgKgo+ICAJICogRHVyaW5nIGluaXRpYWwgaHcgcmVhZG91dCwgdGhleSBuZWVkIHRv IGJlIGNvcGllZCB0byB1YXBpLgo+ICAJICovCj4gLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgaHc7 Cj4gLQl9Owo+ICsJc3RydWN0IHsKPiArCQlib29sIGFjdGl2ZSwgZW5hYmxlOwo+ICsJCXN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9sdXQsICpnYW1tYV9sdXQsICpjdG07Cj4gKwkJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZSwgYWRqdXN0ZWRfbW9kZTsKPiArCX0gaHc7Cj4g IAo+ICAJLyoqCj4gIAkgKiBxdWlya3MgLSBiaXRmaWVsZCB3aXRoIGh3IHN0YXRlIHJlYWRvdXQg cXVpcmtzCj4gLS0gCj4gMi4yNC4wLnJjMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B582ACA9ECB for ; Thu, 31 Oct 2019 14:44:31 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 91BAB2086D for ; Thu, 31 Oct 2019 14:44:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 91BAB2086D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3D5C66EEBB; Thu, 31 Oct 2019 14:44:31 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F4406EEBB for ; Thu, 31 Oct 2019 14:44:28 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Oct 2019 07:44:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,250,1569308400"; d="scan'208";a="230885703" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga002.fm.intel.com with SMTP; 31 Oct 2019 07:44:25 -0700 Received: by stinkbox (sSMTP sendmail emulation); Thu, 31 Oct 2019 16:44:24 +0200 Date: Thu, 31 Oct 2019 16:44:24 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Maarten Lankhorst Message-ID: <20191031144424.GX1208@intel.com> References: <20191031112610.27608-1-maarten.lankhorst@linux.intel.com> <20191031112610.27608-6-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191031112610.27608-6-maarten.lankhorst@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 06/12] drm/i915: Complete crtc hw/uapi split, v6. X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191031144424.lJ8-CCuq5Tm1S5X2Ak6g7aFgzyaxtEx_HtvpMxt9GDs@z> T24gVGh1LCBPY3QgMzEsIDIwMTkgYXQgMTI6MjY6MDRQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcgaW50byB1YXBpIGFu ZCBodywgaXQncwo+IHRpbWUgdG8gbWFrZSB0aGUgc3BsaXQgZGVmaW5pdGl2ZS4gUmVtb3ZlIHRo ZSB1bmlvbiBhbmQKPiBtYWtlIGEgY29weSBvZiB0aGUgaHcgc3RhdGUgb24gbW9kZXNldCBhbmQg ZmFzdHNldC4KPiAKPiBDb2xvciBibG9icyBhcmUgY29waWVkIGluIGNydGMgYXRvbWljX2NoZWNr KCksIHJpZ2h0Cj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1lbnQgaXMgY2hlY2tlZC4KPiAKPiBDaGFu Z2VzIHNpbmNlIHYxOgo+IC0gQ29weSBhbGwgYmxvYnMgaW1tZWRpYXRlbHkgYWZ0ZXIgZHJtX2F0 b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldCgpLgo+IC0gQ2xlYXIgY3J0Y19zdGF0ZS0+aHcgb24g ZGlzYWJsZSwgaW5zdGVhZCBvZiB1c2luZyBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkuCj4gQ2hh bmdlcyBzaW5jZSB2MjoKPiAtIFVzZSBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUgKyBjbGVhciBp biBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoKS4KPiAtIE1ha2UgYSBpbnRlbF9jcnRjX3By ZXBhcmVfc3RhdGUoKSBmdW5jdGlvbiB0aGF0IGNsZWFycyB0aGUgY3J0Y19zdGF0ZQo+ICAgYW5k IGNvcGllcyBodyBtZW1iZXJzLgo+IC0gUmVtb3ZlIHNldHRpbmcgdWFwaS5hZGp1c3RlZF9tb2Rl LCB3ZSBub3cgaGF2ZSBhIGRpcmVjdCBjYWxsIHRvCj4gICBkcm1fY2FsY190aW1lc3RhbXBpbmdf Y29uc3RhbnRzKCkuCj4gQ2hhbmdlcyBzaW5jZSB2MzoKPiAtIFJlbmFtZSBwcmVmaXggY29weV9o d190b191YXBpX3N0YXRlKCkgd2l0aCBpbnRlbF9jcnRjLgo+IC0gQ29weSBjb2xvciBibG9icyB0 byB1YXBpIGFzIHdlbGwuCj4gLSBBZGQgYSBpbnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0 ZV9ub21vZGVzZXQoKSBmdW5jdGlvbiBmb3IgY2xhcml0eS4KPiBDaGFuZ2VzIHNpbmNlIHY0Ogo+ IC0gQ29weSBody5hZGp1c3RlZF9tb2RlIGJhY2sgdG8gdWFwaS5hZGp1c3RlZF9tb2RlLCB0byBz aHV0IHVwCj4gICB0aGUgY2FsbCB0byBkcm1fY2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzKCkg aW4KPiAgIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZSgpLgo+ IC0gVXNlIGRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IgKFZpbGxlKS4KPiBDaGFuZ2VzIHNpbmNl IHY1Ogo+IC0gVXNlIGh3LT5tb2RlIGluIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZSgp LiAoVmlsbGUpCj4gLSBDb3B5IHRvIHVhcGkubW9kZSB1c2luZyBkcm1fYXRvbWljX3NldF9tb2Rl X2Zvcl9jcnRjKCkuIChWaWxsZSkKPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jICAgfCAzMSArKysrKysrCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmggICB8ICAyICsKPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgOTAgKysrKysrKysrKysr KysrLS0tLQo+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAg fCAgOSArLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMK PiBpbmRleCA0ODk2NGYzM2MwYzEuLjMzMDFjMTc4ZGEwMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+IEBAIC0xOTUsNiArMTk1LDE0IEBAIGlu dGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAlf X2RybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRl LT51YXBpKTsKPiAgCj4gKwkvKiBjb3B5IGNvbG9yIGJsb2JzICovCj4gKwlpZiAoY3J0Y19zdGF0 ZS0+aHcuZGVnYW1tYV9sdXQpCj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUt Pmh3LmRlZ2FtbWFfbHV0KTsKPiArCWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4gKwkJZHJtX3By b3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmN0bSk7Cj4gKwlpZiAoY3J0Y19zdGF0ZS0+ aHcuZ2FtbWFfbHV0KQo+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5n YW1tYV9sdXQpOwo+ICsKPiAgCWNydGNfc3RhdGUtPnVwZGF0ZV9waXBlID0gZmFsc2U7Cj4gIAlj cnRjX3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7Cj4gIAljcnRjX3N0YXRlLT5kaXNhYmxl X2N4c3IgPSBmYWxzZTsKPiBAQCAtMjA4LDYgKzIxNiwyOCBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0 ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlyZXR1cm4gJmNydGNfc3RhdGUtPnVh cGk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlkcm1fcHJvcGVydHlf YmxvYl9wdXQoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ICsJZHJtX3Byb3BlcnR5X2Js b2JfcHV0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfYmxvYl9w dXQoY3J0Y19zdGF0ZS0+aHcuY3RtKTsKPiArfQo+ICsKPiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVf aHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlu dGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ICt9Cj4gKwo+ICt2b2lkIGlu dGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPiArewo+ICsJZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+aHcu ZGVnYW1tYV9sdXQsCj4gKwkJCQkgIGNydGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQpOwo+ICsJ ZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0LAo+ICsJ CQkJICBjcnRjX3N0YXRlLT51YXBpLmdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFj ZV9ibG9iKCZjcnRjX3N0YXRlLT5ody5jdG0sCj4gKwkJCQkgIGNydGNfc3RhdGUtPnVhcGkuY3Rt KTsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ry b3kgY3J0YyBzdGF0ZQo+ICAgKiBAY3J0YzogZHJtIGNydGMKPiBAQCAtMjIzLDYgKzI1Myw3IEBA IGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3Rh dGUpOwo+ICAKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRj X3N0YXRlLT51YXBpKTsKPiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsK PiAgCWtmcmVlKGNydGNfc3RhdGUpOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+IGluZGV4IDQ5ZDVjYjFiOWUwYS4uN2I0OTYyMzQxOWJh IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oCj4g QEAgLTM2LDYgKzM2LDggQEAgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRl KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKmludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4g IHZvaWQgaW50ZWxfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAg CQkJICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOwo+ICt2b2lkIGludGVsX2Ny dGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4g K3ZvaWQgaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19z dGF0ZV9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgdm9pZCBpbnRlbF9hdG9taWNf c3RhdGVfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA0YTlkYzE0 ZjJlZTIuLjM3M2NiYmJiNTdhNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTcxODUsNiArNzE4NSw4IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAljcnRj LT5lbmFibGVkID0gZmFsc2U7Cj4gIAljcnRjLT5zdGF0ZS0+Y29ubmVjdG9yX21hc2sgPSAwOwo+ ICAJY3J0Yy0+c3RhdGUtPmVuY29kZXJfbWFzayA9IDA7Cj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdf c3RhdGUoY3J0Y19zdGF0ZSk7Cj4gKwltZW1zZXQoJmNydGNfc3RhdGUtPmh3LCAwLCBzaXplb2Yo Y3J0Y19zdGF0ZS0+aHcpKTsKPiAgCj4gIAlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoY3J0Yy0+ ZGV2LCBjcnRjLCBlbmNvZGVyKQo+ICAJCWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4gQEAg LTEyNTU3LDggKzEyNTU5LDQxIEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25m bGljdHMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZAo+ICtpbnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0 ZV9ub21vZGVzZXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiAr CWludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQKPiAraW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWNydGNfc3RhdGUtPmh3LmVuYWJsZSA9 IGNydGNfc3RhdGUtPnVhcGkuZW5hYmxlOwo+ICsJY3J0Y19zdGF0ZS0+aHcuYWN0aXZlID0gY3J0 Y19zdGF0ZS0+dWFwaS5hY3RpdmU7Cj4gKwljcnRjX3N0YXRlLT5ody5tb2RlID0gY3J0Y19zdGF0 ZS0+dWFwaS5tb2RlOwo+ICsJY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZSA9IGNydGNfc3Rh dGUtPnVhcGkuYWRqdXN0ZWRfbW9kZTsKPiArCWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0 YXRlX25vbW9kZXNldChjcnRjX3N0YXRlKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaW50ZWxf Y3J0Y19jb3B5X2h3X3RvX3VhcGlfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gK3sKPiArCWNydGNfc3RhdGUtPnVhcGkuZW5hYmxlID0gY3J0Y19zdGF0ZS0+aHcu ZW5hYmxlOwo+ICsJY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmUgPSBjcnRjX3N0YXRlLT5ody5hY3Rp dmU7Cj4gKwlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3RhdGUt PnVhcGksICZjcnRjX3N0YXRlLT5ody5tb2RlKSA8IDApOwo+ICsKPiArCWNydGNfc3RhdGUtPnVh cGkuYWRqdXN0ZWRfbW9kZSA9IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7Cj4gKwo+ICsJ LyogY29weSBjb2xvciBibG9icyB0byB1YXBpICovCj4gKwlkcm1fcHJvcGVydHlfcmVwbGFjZV9i bG9iKCZjcnRjX3N0YXRlLT51YXBpLmRlZ2FtbWFfbHV0LAo+ICsJCQkJICBjcnRjX3N0YXRlLT5o dy5kZWdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0YXRl LT51YXBpLmdhbW1hX2x1dCwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0KTsKPiAr CWRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPnVhcGkuY3RtLAo+ICsJCQkJ ICBjcnRjX3N0YXRlLT5ody5jdG0pOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50Cj4gLWNsZWFyX2lu dGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK2lu dGVsX2NydGNfcHJlcGFyZV9jbGVhcmVkX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQo+ ICAJCXRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+IEBAIC0xMjU2OCwxMSAr MTI2MDMsMTUgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiAgCWlmICghc2F2ZWRfc3RhdGUpCj4gIAkJcmV0dXJuIC1FTk9NRU07 Cj4gIAo+ICsJLyogZnJlZSB0aGUgb2xkIGNydGNfc3RhdGUtPmh3IG1lbWJlcnMgKi8KPiArCWlu dGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCj4gIAkvKiBGSVhNRTogYmVm b3JlIHRoZSBzd2l0Y2ggdG8gYXRvbWljIHN0YXJ0ZWQsIGEgbmV3IHBpcGVfY29uZmlnIHdhcwo+ ICAJICoga3phbGxvYydkLiBDb2RlIHRoYXQgZGVwZW5kcyBvbiBhbnkgZmllbGQgYmVpbmcgemVy byBzaG91bGQgYmUKPiAgCSAqIGZpeGVkLCBzbyB0aGF0IHRoZSBjcnRjX3N0YXRlIGNhbiBiZSBz YWZlbHkgZHVwbGljYXRlZC4gRm9yIG5vdywKPiAgCSAqIG9ubHkgZmllbGRzIHRoYXQgYXJlIGtu b3cgdG8gbm90IGNhdXNlIHByb2JsZW1zIGFyZSBwcmVzZXJ2ZWQuICovCj4gIAo+ICsJc2F2ZWRf c3RhdGUtPnVhcGkgPSBjcnRjX3N0YXRlLT51YXBpOwo+ICAJc2F2ZWRfc3RhdGUtPnNjYWxlcl9z dGF0ZSA9IGNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPiAgCXNhdmVkX3N0YXRlLT5zaGFyZWRf ZHBsbCA9IGNydGNfc3RhdGUtPnNoYXJlZF9kcGxsOwo+ICAJc2F2ZWRfc3RhdGUtPmRwbGxfaHdf c3RhdGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwo+IEBAIC0xMjU5MCwxNCArMTI2Mjks MTEgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKPiAgCQlzYXZlZF9zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrID0KPiAgCQkJ Y3J0Y19zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrOwo+ICAKPiAtCS8qIEtlZXAgYmFzZSBk cm1fY3J0Y19zdGF0ZSBpbnRhY3QsIG9ubHkgY2xlYXIgb3VyIGV4dGVuZGVkIHN0cnVjdCAqLwo+ IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBiYXNlKSk7 Cj4gLQlCVUlMRF9CVUdfT04ob2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3RhdGUsIHVhcGkp KTsKPiAtCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwgaHcp KTsKPiAtCW1lbWNweSgmY3J0Y19zdGF0ZS0+dWFwaSArIDEsICZzYXZlZF9zdGF0ZS0+dWFwaSAr IDEsCj4gLQkgICAgICAgc2l6ZW9mKCpjcnRjX3N0YXRlKSAtIHNpemVvZihjcnRjX3N0YXRlLT51 YXBpKSk7Cj4gLQo+ICsJbWVtY3B5KGNydGNfc3RhdGUsIHNhdmVkX3N0YXRlLCBzaXplb2YoKmNy dGNfc3RhdGUpKTsKPiAgCWtmcmVlKHNhdmVkX3N0YXRlKTsKPiArCj4gKwlpbnRlbF9jcnRjX2Nv cHlfdWFwaV90b19od19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ ICAKPiBAQCAtMTI2MTMsMTAgKzEyNjQ5LDYgQEAgaW50ZWxfbW9kZXNldF9waXBlX2NvbmZpZyhz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gIAlpbnQgaTsKPiAgCWJvb2wg cmV0cnkgPSB0cnVlOwo+ICAKPiAtCXJldCA9IGNsZWFyX2ludGVsX2NydGNfc3RhdGUocGlwZV9j b25maWcpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+IC0KPiAgCXBpcGVfY29uZmln LT5jcHVfdHJhbnNjb2RlciA9Cj4gIAkJKGVudW0gdHJhbnNjb2RlcikgdG9faW50ZWxfY3J0Yyhj cnRjKS0+cGlwZTsKPiAgCj4gQEAgLTEyNzQ0LDYgKzEyNzc2LDEyIEBAIGludGVsX21vZGVzZXRf cGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICAJRFJN X0RFQlVHX0tNUygiaHcgbWF4IGJwcDogJWksIHBpcGUgYnBwOiAlaSwgZGl0aGVyaW5nOiAlaVxu IiwKPiAgCQkgICAgICBiYXNlX2JwcCwgcGlwZV9jb25maWctPnBpcGVfYnBwLCBwaXBlX2NvbmZp Zy0+ZGl0aGVyKTsKPiAgCj4gKwkvKgo+ICsJICogTWFrZSBkcm1fY2FsY190aW1lc3RhbXBpbmdf Y29uc3RhbnRzIGluCj4gKwkgKiBkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfbGVnYWN5X21vZGVz ZXRfc3RhdGUoKSBoYXBweQo+ICsJICovCj4gKwlwaXBlX2NvbmZpZy0+dWFwaS5hZGp1c3RlZF9t b2RlID0gcGlwZV9jb25maWctPmh3LmFkanVzdGVkX21vZGU7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4g IH0KPiAgCj4gQEAgLTEzNDczLDYgKzEzNTExLDggQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0 IGludGVsX2NydGMgKmNydGMsCj4gIAo+ICAJc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5z dGF0ZTsKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZvbGRfY3J0 Y19zdGF0ZS0+dWFwaSk7Cj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUob2xkX2NydGNfc3Rh dGUpOwo+ICsKPiAgCXBpcGVfY29uZmlnID0gb2xkX2NydGNfc3RhdGU7Cj4gIAltZW1zZXQocGlw ZV9jb25maWcsIDAsIHNpemVvZigqcGlwZV9jb25maWcpKTsKPiAgCXBpcGVfY29uZmlnLT51YXBp LmNydGMgPSAmY3J0Yy0+YmFzZTsKPiBAQCAtMTQwMDcsMTQgKzE0MDQ3LDI0IEBAIHN0YXRpYyBp bnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJZm9y X2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0 YXRlLAo+ICAJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+IC0JCWlmICghbmVlZHNfbW9k ZXNldChuZXdfY3J0Y19zdGF0ZSkpCj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0 YXRlKSkgewo+ICsJCQkvKiBMaWdodCBjb3B5ICovCj4gKwkJCWludGVsX2NydGNfY29weV91YXBp X3RvX2h3X3N0YXRlX25vbW9kZXNldChuZXdfY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJCQljb250aW51 ZTsKPiArCQl9Cj4gIAo+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4g KwkJCWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKPiAr Cj4gIAkJCWFueV9tcyA9IHRydWU7Cj4gIAkJCWNvbnRpbnVlOwo+ICAJCX0KPiAgCj4gKwkJcmV0 ID0gaW50ZWxfY3J0Y19wcmVwYXJlX2NsZWFyZWRfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ICsJ CWlmIChyZXQpCj4gKwkJCWdvdG8gZmFpbDsKPiArCj4gIAkJcmV0ID0gaW50ZWxfbW9kZXNldF9w aXBlX2NvbmZpZyhuZXdfY3J0Y19zdGF0ZSk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBmYWls Owo+IEBAIC0xNzI4NSw2ICsxNzMzNSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVh ZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQl0b19pbnRlbF9jcnRj X3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ICAKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4gKwkJaW50ZWxfY3J0Y19mcmVl X2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ICAJCW1lbXNldChjcnRjX3N0YXRlLCAwLCBzaXplb2Yo KmNydGNfc3RhdGUpKTsKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMt PmJhc2UsICZjcnRjX3N0YXRlLT51YXBpKTsKPiAgCj4gQEAgLTE3Mzk2LDE1ICsxNzQ0NywxNCBA QCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgCQlpbnQgbWluX2NkY2xrID0gMDsKPiAgCj4gIAkJaWYgKGNydGNfc3Rh dGUtPmh3LmFjdGl2ZSkgewo+IC0JCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBtb2RlOwo+ICsJ CQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRjX3N0YXRlLT5ody5tb2RlOwo+ ICAKPiAgCQkJaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKCZjcnRjX3N0YXRlLT5ody5hZGp1 c3RlZF9tb2RlLAo+ICAJCQkJCQkgICAgY3J0Y19zdGF0ZSk7Cj4gIAo+IC0JCQltb2RlID0gY3J0 Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKPiAtCQkJbW9kZS5oZGlzcGxheSA9IGNydGNfc3Rh dGUtPnBpcGVfc3JjX3c7Cj4gLQkJCW1vZGUudmRpc3BsYXkgPSBjcnRjX3N0YXRlLT5waXBlX3Ny Y19oOwo+IC0JCQlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3Rh dGUtPnVhcGksICZtb2RlKSk7Cj4gKwkJCSptb2RlID0gY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRf bW9kZTsKPiArCQkJbW9kZS0+aGRpc3BsYXkgPSBjcnRjX3N0YXRlLT5waXBlX3NyY193Owo+ICsJ CQltb2RlLT52ZGlzcGxheSA9IGNydGNfc3RhdGUtPnBpcGVfc3JjX2g7Cj4gIAo+ICAJCQkvKgo+ ICAJCQkgKiBUaGUgaW5pdGlhbCBtb2RlIG5lZWRzIHRvIGJlIHNldCBpbiBvcmRlciB0byBrZWVw Cj4gQEAgLTE3NDE1LDExICsxNzQ2NSwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3Jl YWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJICogc2V0IGEgZmxh ZyB0byBpbmRpY2F0ZSB0aGF0IGEgZnVsbCByZWNhbGN1bGF0aW9uIGlzCj4gIAkJCSAqIG5lZWRl ZCBvbiB0aGUgbmV4dCBjb21taXQuCj4gIAkJCSAqLwo+IC0JCQljcnRjX3N0YXRlLT5ody5tb2Rl LnByaXZhdGVfZmxhZ3MgPSBJOTE1X01PREVfRkxBR19JTkhFUklURUQ7Cj4gKwkJCW1vZGUtPnBy aXZhdGVfZmxhZ3MgPSBJOTE1X01PREVfRkxBR19JTkhFUklURUQ7Cj4gIAo+ICAJCQlpbnRlbF9j cnRjX2NvbXB1dGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKPiAgCj4gIAkJCWludGVsX2NydGNf dXBkYXRlX2FjdGl2ZV90aW1pbmdzKGNydGNfc3RhdGUpOwo+ICsKPiArCQkJaW50ZWxfY3J0Y19j b3B5X2h3X3RvX3VhcGlfc3RhdGUoY3J0Y19zdGF0ZSk7CgpIbW0uIEkgd29uZGVyIGlmIHdlJ2Qg bmVlZCB0byBkbyB0aGlzIGV2ZW4gaWYgdGhlIGNydGMgaXMgbm90IGFjdGl2ZT8KTm8gZGlmZmVy ZW5jZSBpbiB0aGUgZHJpdmVyIGxvYWQgcmVhZG91dCwgYnV0IGl0IHdpbGwgaGF2ZSBzb21lIGlt cGFjdApvbiByZXN1bWUgcmVhZG91dC4gT1RPSCB3ZSBkbyB0aGUgY29tbWl0X2R1cGxpY2F0ZWRf c3RhdGUoKSB0aGluZyBzbyBJCmd1ZXNzIHRoZSBvbGQgdWFwaSBzdGF0ZSBzaG91bGRuJ3QgcmVh bGx5IG1hdHRlciBhdCB0aGF0IHBvaW50LgoKRmluZ2VycyBhbmQgdG9lcyBjcm9zc2VkLi4uClJl dmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgoKPiAgCQl9Cj4gIAo+ICAJCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoJmRldl9wcml2 LT5kcm0sIGNydGMsIHBsYW5lKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiBpbmRleCBlODQzNDNkM2JmOGQuLjkzMTljYTY4 MjEwNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXlfdHlwZXMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV90eXBlcy5oCj4gQEAgLTc1Nyw4ICs3NTcsNiBAQCBlbnVtIGludGVsX291dHB1dF9m b3JtYXQgewo+ICB9Owo+ICAKPiAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+IC0JdW5pb24g ewo+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlIGJhc2U7Cj4gIAkvKgo+ICAJICogdWFwaSAoZHJt KSBzdGF0ZS4gVGhpcyBpcyB0aGUgc29mdHdhcmUgc3RhdGUgc2hvd24gdG8gdXNlcnNwYWNlLgo+ ICAJICogSW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2luZyBtZW1iZXJzIGFyZSB1c2VkIGZvciBi b29ra2VlcGluZzoKPiBAQCAtNzgxLDggKzc3OSwxMSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSB7Cj4gIAkgKgo+ICAJICogRHVyaW5nIGluaXRpYWwgaHcgcmVhZG91dCwgdGhleSBuZWVkIHRv IGJlIGNvcGllZCB0byB1YXBpLgo+ICAJICovCj4gLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgaHc7 Cj4gLQl9Owo+ICsJc3RydWN0IHsKPiArCQlib29sIGFjdGl2ZSwgZW5hYmxlOwo+ICsJCXN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9sdXQsICpnYW1tYV9sdXQsICpjdG07Cj4gKwkJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZSwgYWRqdXN0ZWRfbW9kZTsKPiArCX0gaHc7Cj4g IAo+ICAJLyoqCj4gIAkgKiBxdWlya3MgLSBiaXRmaWVsZCB3aXRoIGh3IHN0YXRlIHJlYWRvdXQg cXVpcmtzCj4gLS0gCj4gMi4yNC4wLnJjMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=