From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 08/16] drm/i915: Split watermark programming into pre and post steps Date: Tue, 10 Jun 2014 14:46:24 +0300 Message-ID: <87d2ehc7hr.fsf@intel.com> References: <1400770101-14277-1-git-send-email-ville.syrjala@linux.intel.com> <1400770101-14277-9-git-send-email-ville.syrjala@linux.intel.com> <20140604162213.GQ7416@phenom.ffwll.local> <20140609170353.GT27580@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 [143.182.124.21]) by gabe.freedesktop.org (Postfix) with ESMTP id 9BBF16E67F for ; Tue, 10 Jun 2014 04:48:35 -0700 (PDT) In-Reply-To: <20140609170353.GT27580@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 =?utf-8?B?U3lyasOkbMOk?= , Daniel Vetter Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAwOSBKdW4gMjAxNCwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gV2VkLCBKdW4gMDQsIDIwMTQgYXQgMDY6MjI6MTNQTSAr MDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPj4gT24gVHVlLCBKdW4gMDMsIDIwMTQgYXQgMDU6 NTE6MDFQTSAtMDMwMCwgUGF1bG8gWmFub25pIHdyb3RlOgo+PiA+IDIwMTQtMDUtMjIgMTE6NDgg R01ULTAzOjAwICA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ogo+PiA+ID4gRnJvbTog VmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gPiA+Cj4+ ID4gPiBXZSBuZWVkIHRvIHBlcmZvcm0gd2F0ZXJtYXJrIHByb2dyYW1taW5nIGJlZm9yZSBhbmQg YWZ0ZXIgY2hhbmdpbmcgdGhlCj4+ID4gPiBwbGFuZSBjb25maWd1cmF0aW9uLiBBZGQgdHdvIG5l dyB2ZnVuY3MgdG8gZG8gdGhhdC4gVGhlIHByZSBwaGFzZSBpcwo+PiA+ID4gc3VwcG9zZWQgdG8g c3dpdGNoIG92ZXIgdG8gdGhlIGludGVybWVkaWF0ZSB3YXRlcm1hcmtzIHdoaWNoIGFyZQo+PiA+ ID4gY29tcHV0ZWQgc28gdGhhdCB0aGV5IGNhbiBkZWFsIHdpdGggYm90aCB0aGUgb2xkIGFuZCBu ZXcgcGxhbmUKPj4gPiA+IGNvbmZpZ3VyYXRpb25zLiBUaGUgcG9zdCBwaGFzZSB3aWxsIGFybSB0 aGUgdmJsYW5rIGJhc2VkIHVwZGF0ZQo+PiA+ID4gc3lzdGVtcyB0byBzd2l0Y2ggb3ZlciB0byB0 aGUgb3B0aW1hbCB0YXJnZXQgd2F0ZXJtYXJrcyBhZnRlciB0aGUKPj4gPiA+IHBsYW5lIGNvbmZp Z3VyYXRpb24gaGFzIGZvciBzdXJlIGNoYW5nZWQuCj4+ID4gPgo+PiA+ID4gdjI6IFBhc3MgYXJv dW5kIGludGVsX2NydGMgYW5kIHMvaW50ZWxfY3J0Yy9jcnRjLwo+PiA+ID4KPj4gPiA+IFNpZ25l ZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ Cj4+ID4gPiAtLS0KPj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICB8ICA1 ICsrKwo+PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgMTEgKysrKysK Pj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICB8IDg4ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDEw NCBpbnNlcnRpb25zKCspCj4+ID4gPgo+PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+ID4g PiBpbmRleCBjOTBkNWFjLi5kNGY4YWU4IDEwMDY0NAo+PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+PiA+ID4gQEAgLTQwNyw2ICs0MDcsNyBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmVfY29u ZmlnOwo+PiA+ID4gIHN0cnVjdCBpbnRlbF9jcnRjOwo+PiA+ID4gIHN0cnVjdCBpbnRlbF9saW1p dDsKPj4gPiA+ICBzdHJ1Y3QgZHBsbDsKPj4gPiA+ICtzdHJ1Y3QgaW50ZWxfY3J0Y193bV9jb25m aWc7Cj4+ID4gPgo+PiA+ID4gIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKPj4gPiA+ ICAgICAgICAgYm9vbCAoKmZiY19lbmFibGVkKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4g PiA+IEBAIC00MzcsNiArNDM4LDEwIEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsK Pj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNw cml0ZV93aWR0aCwgaW50IHBpeGVsX3NpemUsCj4+ID4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sIGVuYWJsZSwgYm9vbCBzY2FsZWQpOwo+PiA+ID4gKyAgICAgICB2b2lk ICgqcHJvZ3JhbV93bV9wcmUpKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+PiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3dtX2NvbmZp ZyAqY29uZmlnKTsKPj4gPiA+ICsgICAgICAgdm9pZCAoKnByb2dyYW1fd21fcG9zdCkoc3RydWN0 IGludGVsX2NydGMgKmNydGMsCj4+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3dtX2NvbmZpZyAqY29uZmlnKTsKPj4gPiA+ICAgICAg ICAgdm9pZCAoKm1vZGVzZXRfZ2xvYmFsX3Jlc291cmNlcykoc3RydWN0IGRybV9kZXZpY2UgKmRl dik7Cj4+ID4gPiAgICAgICAgIC8qIFJldHVybnMgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgY3J0 YywgYW5kIGlmIHRoZSBjcnRjIGlzIGFjdGl2ZSwKPj4gPiA+ICAgICAgICAgICogZmlsbHMgb3V0 IHRoZSBwaXBlLWNvbmZpZyB3aXRoIHRoZSBodyBzdGF0ZS4gKi8KPj4gPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4+ID4gPiBpbmRleCA3MmYwMWIxLi40YjU5YmUzIDEwMDY0NAo+PiA+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ID4gPiBAQCAtMzU4LDYgKzM1OCwxMyBAQCBz dHJ1Y3QgaW50ZWxfcGlwZV93bSB7Cj4+ID4gPiAgICAgICAgIGJvb2wgc3ByaXRlc19zY2FsZWQ7 Cj4+ID4gPiAgfTsKPj4gPiA+Cj4+ID4gPiArc3RydWN0IGludGVsX2NydGNfd21fY29uZmlnIHsK Pj4gPiA+ICsgICAgICAgLyogdGFyZ2V0IHdhdGVybWFya3MgZm9yIHRoZSBwaXBlICovCj4+ID4g PiArICAgICAgIHN0cnVjdCBpbnRlbF9waXBlX3dtIHRhcmdldDsKPj4gPiA+ICsgICAgICAgLyog aW50ZXJtZWRpYXRlIHdhdGVybWFya3MgZm9yIHBlbmRpbmcvYWN0aXZlLT50YXJnZXQgdHJhbnNp dGlvbiAqLwo+PiA+ID4gKyAgICAgICBzdHJ1Y3QgaW50ZWxfcGlwZV93bSBpbnRtOwo+PiA+IAo+ PiA+IEl0IHNlZW1zIHlvdSBhbHdheXMgcHJlZmVyIHNob3J0ZXIgbmFtZXMgc3VjaCBhcyAiaW50 bSIsIGFuZCBJIHVzdWFsbHkKPj4gPiBwcmVmZXIgdGhlIGxvbmdlciBvbmVzIGxpa2UgImludGVy bWVkaWF0ZSIuIExvb2tzIGxpa2UgdGhpcyBpcyBhCj4+ID4gY29tbW9uIHRvcGljIGZvciBteSBi aWtlc2hlZGRpbmdzIG9uIHlvdXIgcGF0Y2hlcy4gV2hlbiBJIHJlYWQgImludG0iCj4+ID4gbXkg YnJhaW4gcGFyc2VzIGl0IGFzICJJbnQgTSIgYW5kIHRoZW4gYWJvcnRzIGV4ZWN1dGlvbiA9UAo+ PiAKPj4gSSBhZ3JlZSB3aXRoIFBhdWxvIGhlcmUuIFNvbWUgb3RoZXIgbmFtZSBzdWdnZXN0aW9u IChzaW5jZSBpbnRlcm1lZGlhdGUgaXMKPj4gc28gbG9uZyk6IHRyYW5zaXRpb24vdHJhbnNpdCwg bWVyZ2VkLCBwZW5kaW5nLCAuLi4KPgo+IFRoZSB0d28gZ29vZCBuYW1lcyBJIGNvdWxkIHRoaW5r IG9mICJpbnRlcm1lZGlhdGUiIGFuZCAidHJhbnNpdGlvbmFsIgo+IGFyZSBib3RoIHJlYWxseSBs b25nLiBJIGFncmVlIHRoYXQgImludG0iIGlzIGEgaG9ycmlibGUgc2hvcnRoYW5kLAo+IGJ1dCBJ IGNvdWxkbid0IGNvbWUgdXAgd2l0aCBhbnl0aGluZyBoYWxmIHNhbmUgYW5kIHN0aWxsIHJlYXNv bmFibHkKPiBzaG9ydC4KPgo+ICJtZXJnZWQiIGFuZCAicGVuZGluZyIgYWxyZWFkeSBhcHBlYXIg aW4gdGhlIGNvZGUgd2l0aCBkaWZmZXJlbnQKPiBtZWFuaW5nLCBzbyBJJ2QgcmF0aGVyIG5vdCBj b25mdXNlIHRoZSBtYXR0ZXIgYnkgcmV1c2luZyB0aG9zZS4KPiAidHJhbnNpdGlvbiIgc2VlbXMg T0sgdG8gbWUsIHRob3VnaCBub3QgdGhhdCBzaG9ydCBlaXRoZXIuCj4gInRyYW5zaXQiIGJyaW5n cyB1cCB3cm9uZyBraW5kcyBvZiBpbWFnZXMgaW4gbXkgYnJhaW4gc28gaSBkb24ndAo+IHJlYWxs eSBsaWtlIGl0LgoKaW50ZXJpbSwgdHJhbnNpZW50LCB0ZW1wb3JhcnksIG9yIHNpbWx5IGp1c3Qg dGVtcD8KCkJSLApKYW5pLgoKCj4KPj4gLURhbmllbAo+PiAKPj4gPiAKPj4gPiBXaXRoIG9yIHdp dGhvdXQgdGhhdCBjaGFuZ2VkOiBSZXZpZXdlZC1ieTogUGF1bG8gWmFub25pCj4+ID4gPHBhdWxv LnIuemFub25pQGludGVsLmNvbT4KPj4gPiAKPj4gPiA+ICt9Owo+PiA+ID4gKwo+PiA+ID4gIHN0 cnVjdCBpbnRlbF9jcnRjIHsKPj4gPiA+ICAgICAgICAgc3RydWN0IGRybV9jcnRjIGJhc2U7Cj4+ ID4gPiAgICAgICAgIGVudW0gcGlwZSBwaXBlOwo+PiA+ID4gQEAgLTEwMDEsNiArMTAwOCwxMCBA QCB2b2lkIGludGVsX2luaXRfcnVudGltZV9wbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwo+PiA+ID4gIHZvaWQgaW50ZWxfZmluaV9ydW50aW1lX3BtKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4+ID4gPiAgdm9pZCBpbGtfd21fZ2V0X2h3X3N0YXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+PiA+ID4gIHZvaWQgaWxrX3VwZGF0ZV9waXBlX3dtKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlKTsKPj4gPiA+ICt2b2lkIGludGVs X3Byb2dyYW1fd2F0ZXJtYXJrc19wcmUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf d21fY29uZmlnICpjb25maWcpOwo+PiA+ID4gK3ZvaWQgaW50ZWxfcHJvZ3JhbV93YXRlcm1hcmtz X3Bvc3Qoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3dtX2NvbmZpZyAqY29uZmln KTsKPj4gPiA+Cj4+ID4gPgo+PiA+ID4gIC8qIGludGVsX3Nkdm8uYyAqLwo+PiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCj4+ID4gPiBpbmRleCA2ZmM2NDE2Li5jY2Y5MjBhIDEwMDY0NAo+PiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+PiA+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+PiA+ID4gQEAgLTI5NTAsNiArMjk1MCwyMCBA QCB2b2lkIGlsa191cGRhdGVfcGlwZV93bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBp cGUgcGlwZSkKPj4gPiA+ICAgICAgICAgc3Bpbl91bmxvY2soJmNydGMtPndtLmxvY2spOwo+PiA+ ID4gIH0KPj4gPiA+Cj4+ID4gPiArc3RhdGljIHZvaWQgaWxrX3dtX2NhbmNlbChzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YykKPj4gPiA+ICt7Cj4+ID4gPiArICAgICAgIHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPj4gPiA+ICsKPj4gPiA+ICsgICAgICAgYXNzZXJ0X3Nw aW5fbG9ja2VkKCZjcnRjLT53bS5sb2NrKTsKPj4gPiA+ICsKPj4gPiA+ICsgICAgICAgY3J0Yy0+ d20uZGlydHkgPSBmYWxzZTsKPj4gPiA+ICsKPj4gPiA+ICsgICAgICAgaWYgKGNydGMtPndtLnZi bGFuaykgewo+PiA+ID4gKyAgICAgICAgICAgICAgIGRybV92YmxhbmtfcHV0KGRldiwgY3J0Yy0+ cGlwZSk7Cj4+ID4gPiArICAgICAgICAgICAgICAgY3J0Yy0+d20udmJsYW5rID0gZmFsc2U7Cj4+ ID4gPiArICAgICAgIH0KPj4gPiA+ICt9Cj4+ID4gPiArCj4+ID4gPiAgc3RhdGljIHZvaWQgaWxr X3VwZGF0ZV9zcHJpdGVfd20oc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiA+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNwcml0ZV93 aWR0aCwgaW50IHBpeGVsX3NpemUsCj4+ID4gPiBAQCAtMzA4NCw2ICszMDk4LDI0IEBAIHZvaWQg aW50ZWxfdXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGl4ZWxfc2l6ZSwgZW5hYmxlZCwgc2NhbGVkKTsKPj4gPiA+ICB9Cj4+ID4gPgo+PiA+ID4gK3Zv aWQgaW50ZWxfcHJvZ3JhbV93YXRlcm1hcmtzX3ByZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK Pj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y193bV9jb25maWcgKmNvbmZpZykKPj4gPiA+ICt7Cj4+ID4gPiArICAgICAgIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0 ZTsKPj4gPiA+ICsKPj4gPiA+ICsgICAgICAgaWYgKGRldl9wcml2LT5kaXNwbGF5LnByb2dyYW1f d21fcHJlKQo+PiA+ID4gKyAgICAgICAgICAgICAgIGRldl9wcml2LT5kaXNwbGF5LnByb2dyYW1f d21fcHJlKGNydGMsIGNvbmZpZyk7Cj4+ID4gPiArfQo+PiA+ID4gKwo+PiA+ID4gK3ZvaWQgaW50 ZWxfcHJvZ3JhbV93YXRlcm1hcmtzX3Bvc3Qoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3dtX2NvbmZpZyAqY29uZmlnKQo+PiA+ID4gK3sKPj4gPiA+ICsgICAgICAgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0Yy0+YmFzZS5kZXYtPmRldl9wcml2YXRlOwo+ PiA+ID4gKwo+PiA+ID4gKyAgICAgICBpZiAoZGV2X3ByaXYtPmRpc3BsYXkucHJvZ3JhbV93bV9w b3N0KQo+PiA+ID4gKyAgICAgICAgICAgICAgIGRldl9wcml2LT5kaXNwbGF5LnByb2dyYW1fd21f cG9zdChjcnRjLCBjb25maWcpOwo+PiA+ID4gK30KPj4gPiA+ICsKPj4gPiA+ICBzdGF0aWMgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgo+PiA+ID4gIGludGVsX2FsbG9jX2NvbnRleHRfcGFn ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiA+ID4gIHsKPj4gPiA+IEBAIC02NTIyLDYgKzY1 NTQsNjAgQEAgdm9pZCBpbnRlbF9maW5pX3J1bnRpbWVfcG0oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+PiA+ID4gICAgICAgICBwbV9ydW50aW1lX2Rpc2FibGUoZGV2aWNlKTsK Pj4gPiA+ICB9Cj4+ID4gPgo+PiA+ID4gK3N0YXRpYyB2b2lkIGlsa19wcm9ncmFtX3dtX3ByZShz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y193bV9jb25maWcgKmNvbmZpZykKPj4gPiA+ICt7 Cj4+ID4gPiArICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsK Pj4gPiA+ICsgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPj4gPiA+ICsKPj4gPiA+ICsgICAgICAgbXV0ZXhfbG9jaygmZGV2X3ByaXYt PndtLm11dGV4KTsKPj4gPiA+ICsKPj4gPiA+ICsgICAgICAgc3Bpbl9sb2NrX2lycSgmY3J0Yy0+ d20ubG9jayk7Cj4+ID4gPiArICAgICAgIGlsa193bV9jYW5jZWwoY3J0Yyk7Cj4+ID4gPiArICAg ICAgIHNwaW5fdW5sb2NrX2lycSgmY3J0Yy0+d20ubG9jayk7Cj4+ID4gPiArCj4+ID4gPiArICAg ICAgIC8qIHBlbmRpbmcgdXBkYXRlIChpZiBhbnkpIGdvdCBjYW5jZWxsZWQgKi8KPj4gPiA+ICsg ICAgICAgY3J0Yy0+d20ucGVuZGluZyA9IGNydGMtPndtLmFjdGl2ZTsKPj4gPiA+ICsKPj4gPiA+ ICsgICAgICAgaWYgKCFtZW1jbXAoJmNydGMtPndtLmFjdGl2ZSwgJmNvbmZpZy0+aW50bSwgc2l6 ZW9mKGNvbmZpZy0+aW50bSkpKQo+PiA+ID4gKyAgICAgICAgICAgICAgIGdvdG8gdW5sb2NrOwo+ PiA+ID4gKwo+PiA+ID4gKyAgICAgICBjcnRjLT53bS5hY3RpdmUgPSBjb25maWctPmludG07Cj4+ ID4gPiArCj4+ID4gPiArICAgICAgIC8qIHVzZSB0aGUgbW9zdCB1cCB0byBkYXRlIHdhdGVybWFy a3MgZm9yIG90aGVyIHBpcGVzICovCj4+ID4gPiArICAgICAgIGlsa19yZWZyZXNoX3BlbmRpbmdf d2F0ZXJtYXJrcyhkZXYpOwo+PiA+ID4gKwo+PiA+ID4gKyAgICAgICAvKiBzd2l0Y2ggb3ZlciB0 byB0aGUgaW50ZXJtZWRpYXRlIHdhdGVybWFya3MgKi8KPj4gPiA+ICsgICAgICAgaWxrX3Byb2dy YW1fd2F0ZXJtYXJrcyhkZXYpOwo+PiA+ID4gKwo+PiA+ID4gKyB1bmxvY2s6Cj4+ID4gPiArICAg ICAgIG11dGV4X3VubG9jaygmZGV2X3ByaXYtPndtLm11dGV4KTsKPj4gPiA+ICt9Cj4+ID4gPiAr Cj4+ID4gPiArc3RhdGljIHZvaWQgaWxrX3Byb2dyYW1fd21fcG9zdChzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKPj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfd21fY29uZmlnICpjb25maWcpCj4+ID4gPiArewo+PiA+ID4gKyAgICAg ICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4+ID4gPiArICAgICAg IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ ID4gPiArICAgICAgIHUzMiB2YmxfY291bnQ7Cj4+ID4gPiArCj4+ID4gPiArICAgICAgIC8qCj4+ ID4gPiArICAgICAgICAqIEZJWE1FIHNhbXBsZSB0aGlzIGluc2lkZSB0aGUgYXRvbWljIHNlY3Rp b24gdG8gYXZvaWQKPj4gPiA+ICsgICAgICAgICogbmVlZGxlc3NseSBsb25nIHBlcmlvZHMgdy8g c3ViLXBhciB3YXRlcm1hcmtzCj4+ID4gPiArICAgICAgICAqLwo+PiA+ID4gKyAgICAgICB2Ymxf Y291bnQgPSBkZXYtPmRyaXZlci0+Z2V0X3ZibGFua19jb3VudGVyKGRldiwgY3J0Yy0+cGlwZSk7 Cj4+ID4gPiArCj4+ID4gPiArICAgICAgIG11dGV4X2xvY2soJmRldl9wcml2LT53bS5tdXRleCk7 Cj4+ID4gPiArCj4+ID4gPiArICAgICAgIC8qCj4+ID4gPiArICAgICAgICAqIFdlIGNhbiBzd2l0 Y2ggb3ZlciB0byB0aGUgdGFyZ2V0Cj4+ID4gPiArICAgICAgICAqIHdhdGVybWFya3MgYWZ0ZXIg dGhlIG5leHQgdmJsYW5rLgo+PiA+ID4gKyAgICAgICAgKi8KPj4gPiA+ICsgICAgICAgaWxrX3Nl dHVwX3BlbmRpbmdfd2F0ZXJtYXJrcyhjcnRjLCAmY29uZmlnLT50YXJnZXQsIHZibF9jb3VudCk7 Cj4+ID4gPiArCj4+ID4gPiArICAgICAgIG11dGV4X3VubG9jaygmZGV2X3ByaXYtPndtLm11dGV4 KTsKPj4gPiA+ICt9Cj4+ID4gPiArCj4+ID4gPiAgLyogU2V0IHVwIGNoaXAgc3BlY2lmaWMgcG93 ZXIgbWFuYWdlbWVudC1yZWxhdGVkIGZ1bmN0aW9ucyAqLwo+PiA+ID4gIHZvaWQgaW50ZWxfaW5p dF9wbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiA+ID4gIHsKPj4gPiA+IEBAIC02NTY5LDYg KzY2NTUsOCBAQCB2b2lkIGludGVsX2luaXRfcG0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4g PiA+ICAgICAgICAgICAgICAgICAgICAgIGRldl9wcml2LT53bS5zcHJfbGF0ZW5jeVswXSAmJiBk ZXZfcHJpdi0+d20uY3VyX2xhdGVuY3lbMF0pKSB7Cj4+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICBkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20gPSBpbGtfdXBkYXRlX3dtOwo+PiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3Nwcml0ZV93 bSA9IGlsa191cGRhdGVfc3ByaXRlX3dtOwo+PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ZGV2X3ByaXYtPmRpc3BsYXkucHJvZ3JhbV93bV9wcmUgPSBpbGtfcHJvZ3JhbV93bV9wcmU7Cj4+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBkZXZfcHJpdi0+ZGlzcGxheS5wcm9ncmFtX3dt X3Bvc3QgPSBpbGtfcHJvZ3JhbV93bV9wb3N0Owo+PiA+ID4gICAgICAgICAgICAgICAgIH0gZWxz ZSB7Cj4+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUdfS01TKCJGYWlsZWQg dG8gcmVhZCBkaXNwbGF5IHBsYW5lIGxhdGVuY3kuICIKPj4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIkRpc2FibGUgQ3hTUlxuIik7Cj4+ID4gPiAtLQo+PiA+ID4g MS44LjUuNQo+PiA+ID4KPj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+ID4gPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4+ID4gCj4+ID4gCj4+ID4gCj4+ID4gLS0g Cj4+ID4gUGF1bG8gWmFub25pCj4+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+ID4gSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiA+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPj4gCj4+IC0tIAo+PiBEYW5pZWwgVmV0dGVyCj4+ IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+PiArNDEgKDApIDc5IDM2NSA1 NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4KPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJ bnRlbCBPVEMKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRl cgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=