From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 5/9] drm/i915: Pass primary plane size to .update_primary_plane() Date: Wed, 11 Mar 2015 11:42:23 +0200 Message-ID: <20150311094223.GN11371@intel.com> References: <1425986129-15547-1-git-send-email-ville.syrjala@linux.intel.com> <1425986129-15547-6-git-send-email-ville.syrjala@linux.intel.com> <20150310171040.GI27526@intel.com> <20150310175915.GK11371@intel.com> <20150310205709.GN27526@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 1F7216E7F4 for ; Wed, 11 Mar 2015 02:42:27 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150310205709.GN27526@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXIgMTAsIDIwMTUgYXQgMDE6NTc6MDlQTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBUdWUsIE1hciAxMCwgMjAxNSBhdCAwNzo1OToxNVBNICswMjAwLCBWaWxsZSBTeXJq w6Rsw6Qgd3JvdGU6Cj4gPiBPbiBUdWUsIE1hciAxMCwgMjAxNSBhdCAxMDoxMDo0MEFNIC0wNzAw LCBNYXR0IFJvcGVyIHdyb3RlOgo+ID4gPiBPbiBUdWUsIE1hciAxMCwgMjAxNSBhdCAwMToxNToy NVBNICswMjAwLCB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+ID4gPiBG cm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4g PiA+IAo+ID4gPiA+IEluIHByZXBhcmF0aW9uIHRvIG1vdmFibGUvcmVzaXphYmxlIHByaW1hcnkg cGxhbmVzIHBhc3MgdGhlIGNsaXBwZWQKPiA+ID4gPiBwbGFuZSBzaXplIHRvIC51cGRhdGVfcHJp bWFyeV9wbGFuZSgpLgo+ID4gPiAKPiA+ID4gUGVyc29uYWxseSBJIGZlZWwgbGlrZSBpdCB3b3Vs ZCBtYWtlIG1vcmUgc2Vuc2UgdG8ganVzdCBjb21wbGV0ZWx5IGtpbGwKPiA+ID4gb2ZmIC51cGRh dGVfcHJpbWFyeV9wbGFuZSgpIG5vdyByYXRoZXIgdGhhbiB0cnlpbmcgdG8gZXZvbHZlIGl0LiAg V2UKPiA+ID4gYWxyZWFkeSBoYXZlIGFuIGludGVsX3BsYW5lLT51cGRhdGVfcGxhbmUoKSBmdW5j dGlvbiBwb2ludGVyIHdoaWNoIGlzCj4gPiA+IG5ldmVyIHNldCBvciBjYWxsZWQgZm9yIG5vbi1z cHJpdGVzIGF0IHRoZSBtb21lbnQuICBXZSBjb3VsZCB1bmlmeSB0aGUKPiA+ID4gaGFuZGxpbmcg b2YgbG93LWxldmVsIHBsYW5lIHByb2dyYW1taW5nIGJ5IGp1c3QgdXNpbmcgdGhhdCBmdW5jdGlv bgo+ID4gPiBwb2ludGVyIGZvciBwcmltYXJ5IHBsYW5lcyBhcyB3ZWxsLgo+ID4gCj4gPiBJIHdh bnQgdG8ga2lsbCBpdCBvZmYgYXMgd2VsbCwgYnV0IHRoYXQgbWVhbnMgZWl0aGVyIGtpbGxpbmcg b2ZmCj4gPiBzZXRfYmFzZV9hdG9taWMoKSBvciBtYWtpbmcgaXQgdXNlIHRoZSBwbGFuZSBjb21t aXQgaG9vay4gSSBzdXBwb3NlIHdlCj4gPiBjb3VsZCBoYW5kIGNyYWZ0IGEgc3VpdGFibGUgcGxh bmUgc3RhdGUgZm9yIGl0IGFuZCBqdXN0IGNvbW1pdCB0aGF0Cj4gPiB3aXRob3V0IGFueSBjaGVj a3Mgb3IgYW55dGhpbmc/Cj4gCj4gSSdtIG5vdCBzdXJlIEkgZm9sbG93IHlvdXIgY29uY2VybiBh Ym91dCBzZXRfYmFzZV9hdG9taWMoKS4gIEFmdGVyIHlvdXIKPiBwYXRjaCBzZXJpZXMsIGl0J2xs IGJlIGNhbGxpbmcKPiAKPiAgICBkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfcHJpbWFyeV9wbGFu ZShjcnRjLCBmYiwgeCwgeSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3csICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRl bF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2gpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiAKPiB3aGljaCBi YXNpY2FsbHkgZGlyZWN0bHkgcHJvZ3JhbXMgdGhlIGhhcmR3YXJlIGZvciB0aGUgcHJpbWFyeSBw bGFuZSBhbmQKPiBkb2Vzbid0IGRvIGFueXRoaW5nIHN0YXRlLXJlbGF0ZWQuCj4gCj4gSXQgc2Vl bXMgdG8gbWUgdGhhdCBqdXN0IG1ha2luZyB0aGF0IGxvdy1sZXZlbCBjYWxsIGJlOgo+IAo+ICAg IGludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+cHJpbWFyeSk7Cj4gICAgaW50ZWxf c3RhdGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5wcmltYXJ5LT5zdGF0ZSk7Cj4gCj4g ICAgaW50ZWxfcGxhbmUtPnVwZGF0ZV9wbGFuZShjcnRjLT5wcmltYXJ5LCBjcnRjLCBmYiwgaW50 ZWxfZmJfb2JqKGZiKSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3cs Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVf c3JjX2gsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LCB5LAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZHJtX3JlY3Rfd2lkdGgoaW50ZWxfc3RhdGUtPnNyYyksCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkcm1fcmVjdF9oZWlnaHQoaW50ZWxfc3RhdGUtPnNy YykpOwoKV2UgY2FuJ3QgcmVhbGx5IHVzZSB0aGUgY3VycmVudCBwbGFuZSBzdGF0ZSBoZXJlLiBJ dCBtaWdodCBub3QgbWF0Y2ggd2hhdAp3ZSB3YW50LiBBbHRob3VnaCBhcyBJIGluZGljYXRlZCB3 aXRoIG9uZSBGSVhNRSBpbiB0aGVzZSBwYXRjaGVzLApzZXRfYmFzZV9hdG9taWMoKSB3aWxsIGRv IHNvbWV0aGluZyBiYWQgYW55d2F5IGlmIHRoZSBmYmRldiBmcmFtZWJ1ZmZlcgppcyB0b28gc21h bGwgZm9yIHRoZSBjdXJyZW50IHBpcGUgc291cmNlIHNpemUuIEkgc3VwcG9zZSB3ZSBjb3VsZCB0 cnkKdG8gZW5hYmxlIHRoZSBwYW5lbCBmaXR0ZXIgdG8gYXZvaWQgdGhhdCwgYnV0IHRoZW4gd2Ug cnVuIGludG8gcHJvYmxlbXMKd2l0aCBtYW5hZ2luZyB0aGUgcGFuZWwgZml0dGVyIHdoaWNoIGlz IGEgc2NhcmNlIHJlc291cmNlIChhbmQgdGhlcmUKaXMgb25seSBvbmUgb24gZ21jaCBwbGF0Zm9y bXMgYW5kIHBvdGVudGlhbGx5IHdpdGggZXh0cmEgcmVzdHJpY3Rpb25zCm9uIHdoaWNoIHBpcGVz IGNhbiB1c2UgaXQpLgoKTWF5YmUgd2Ugc2hvdWxkIGp1c3Qgc2FuaXR5IGNoZWNrIHRoYXQgdGhl IGZiZGV2IGZyYW1lYnVmZmVyIGlzIHN1aXRhYmx5CmxhcmdlIGZvciB0aGUgY3VycmVudCBtb2Rl L3BmaXQgc2V0dGluZ3MsIGFuZCBkbyBub3RoaW5nIGlmIGl0J3Mgbm90PwpPciB3ZSBjb3VsZCB0 cnkgdG8gdXNlIGEgcGxhbmUgdGhhdCBjYW4gYmUgcmVzaXplZCAob3IgcG90ZW50aWFsbHkgZXZl bgpzY2FsZWQpIHRvIHByZXNldCB0aGUgZmJkZXYgZnJhbWVidWZmZXIuIFRoZSBvdGhlciBvcHRp b24gd291bGQgYmUgdG8KdGhyb3cgb3V0IHNldF9iYXNlX2F0b21pYygpIGVudGlyZWx5LiBJIGhh dmUgbm8gaWRlYSBpZiBpdCB3b3JrcyBhdCBhbGwKY3VycmVudGx5LgoKQW5kLCBhcyB5b3UndmUg bWVudGlvbmVkIC51cGRhdGVfcGxhbmUoKSwgSSdtIGFjdHVhbGx5IHRoaW5raW5nIHdlJ2xsIGJl CndhbnRpbmcgdG8gcGFzcyBqdXN0IGEgcGxhbmUgc3RhdGUgdGhlcmUsIGFuZCB0aHJvdyBvdXQg bW9zdCBvZiB0aGUKZnVuY3Rpb24gYXJndW1lbnRzIGFzIGFsbCB0aGF0IGRhdGEgc2hvdWxkIGJl IGluIHRoZSBwbGFuZSBzdGF0ZQphbHJlYWR5LiBBbmQgdGhlbiB3ZSdkIHByb2JhYmx5IHdhbnQg dG8gaGFuZCBjcmFmdCB0aGUgcGxhbmUgc3RhdGUgd2UKcGFzcyBpbnRvIC51cGRhdGVfcGxhbmUo KSBmb3Igc2V0X2Jhc2VfYXRvbWljKCkgKGFzc3VtaW5nIHdlJ2xsIGtlZXAgaXQKYXQgYWxsKSBz byB0aGF0IHdlIGRvbid0IGxlYWsgZmIgcmVmZXJlbmNlcyBhbmQgd2hhdG5vdC4gQnV0IGFsbCBv Zgp0aGF0IGlzIG1hdGVyaWFsIGZvciBhbm90aGVyIHNldCBvZiBwYXRjaGVzLgoKPiAKPiBzaG91 bGRuJ3QgbWFrZSBhIGRpZmZlcmVuY2U7IHRoZSBpbXBsZW1lbnRhdGlvbiBvZgo+IGludGVsX3Bs YW5lLT51cGRhdGVfcGxhbmUoKSB3b3VsZCBzdGlsbCBiZSB0aGUgc2FtZSBsb3ctbGV2ZWwgcmVn aXN0ZXIKPiBwcm9ncmFtbWluZyB3aXRob3V0IGFueSBzdGF0ZSBtYW5pcHVsYXRpb24sIHRoZSBv bmx5IGRpZmZlcmVuY2UgYmVpbmcKPiB0aGF0IHdlIGdldCBhbiBleHRyYSBwYWlyIG9mIHBhcmFt ZXRlcnMgY29udGFpbmluZyBzb3VyY2UgcmVjdAo+IHdpZHRoL2hlaWdodC4KPiAKPiBUaGlzIHdv dWxkIGFsc28gYWxsb3cgdXMgdG8gcG9pbnQgYm90aCBwcmltYXJ5IGFuZCBzcHJpdGUgcGxhbmVz IGF0IHRoZQo+IHNhbWUgZnVuY3Rpb24gb24gU0tMLCB3aGljaCBoYXMgdHdvIG5lYXJseS1pZGVu dGljYWwgZnVuY3Rpb25zIGF0IHRoZQo+IG1vbWVudCBmb3IgdGhlIGxvd2VzdC1sZXZlbCBwbGFu ZSBoYXJkd2FyZSBwcm9ncmFtbWluZy4KCkFzIEkndmUgbm90ZWQgaW4gbXkgcmVwbHkgdG8gU29u aWthLCB0aGUgcHJpbWFyeV9lbmFibGVkIGZsYWcgaXMgdGhlCm1haW4gY29tcGxpY2F0aW9uIGhl cmUuIFdlIHJlYWxseSBuZWVkIHRvIHNvcnQgdGhhdCBvdXQgYmVmb3JlIGNhbgpmdWxseSB1bmlm eSB0aGlzIHN0dWZmLgoKPiAKPiAKPiBNYXR0Cj4gCj4gPiAKPiA+ID4gCj4gPiA+IEkgd291bGRu J3QgbWluZCBhbHNvIHNlZWluZyB0aGUgbmFtZSBvZiB0aGF0IGxvdy1sZXZlbCBlbnRyeXBvaW50 Cj4gPiA+IHJlbmFtZWQgdG8gc29tZXRoaW5nIGxpa2UgJ3VwZGF0ZV9od19wbGFuZScgdG8gYXZv aWQgY29uZnVzaW9uIHdpdGggdGhlCj4gPiA+IGRybV9wbGFuZSBlbnRyeXBvaW50Li4uCj4gPiA+ IAo+ID4gPiAKPiA+ID4gTWF0dAo+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiBDYzogU29uaWthIEpp bmRhbCA8c29uaWthLmppbmRhbEBpbnRlbC5jb20+Cj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiAtLS0K PiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDMgKy0KPiA+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNjMgKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMzgg aW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gPiA+ID4gaW5kZXggYjE2YzBhNy4uZTk5ZWVmMCAxMDA2NDQKPiA+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiA+IEBAIC01NzgsNyArNTc4LDggQEAg c3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3Mgewo+ID4gPiA+ICAJCQkgIHVpbnQzMl90IGZs YWdzKTsKPiA+ID4gPiAgCXZvaWQgKCp1cGRhdGVfcHJpbWFyeV9wbGFuZSkoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+ID4gPiA+ICAJCQkJICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwK PiA+ID4gPiAtCQkJCSAgICAgaW50IHgsIGludCB5KTsKPiA+ID4gPiArCQkJCSAgICAgaW50IHgs IGludCB5LAo+ID4gPiA+ICsJCQkJICAgICBpbnQgY3J0Y193LCBpbnQgY3J0Y19oKTsKPiA+ID4g PiAgCXZvaWQgKCpocGRfaXJxX3NldHVwKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ID4g PiAgCS8qIGNsb2NrIHVwZGF0ZXMgZm9yIG1vZGUgc2V0ICovCj4gPiA+ID4gIAkvKiBjdXJzb3Ig dXBkYXRlcyAqLwo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4g PiBpbmRleCBmZGM4M2YxLi4xYTc4OWYwIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiA+IEBAIC0yNDgyLDcgKzI0ODIsOCBAQCBpbnRlbF9m aW5kX3BsYW5lX29iaihzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiA+ID4gPiAgCj4g PiA+ID4gIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+ID4gPiA+ICAJCQkJICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIs Cj4gPiA+ID4gLQkJCQkgICAgICBpbnQgeCwgaW50IHkpCj4gPiA+ID4gKwkJCQkgICAgICBpbnQg eCwgaW50IHksCj4gPiA+ID4gKwkJCQkgICAgICBpbnQgY3J0Y193LCBpbnQgY3J0Y19oKQo+ID4g PiA+ICB7Cj4gPiA+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ID4g PiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiA+ID4gPiBAQCAtMjUxNywyMCArMjUxOCwxNiBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0 ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gPiAgCWlmIChJTlRF TF9JTkZPKGRldiktPmdlbiA8IDQpIHsKPiA+ID4gPiAgCQlpZiAoaW50ZWxfY3J0Yy0+cGlwZSA9 PSBQSVBFX0IpCj4gPiA+ID4gIAkJCWRzcGNudHIgfD0gRElTUFBMQU5FX1NFTF9QSVBFX0I7Cj4g PiA+ID4gLQo+ID4gPiA+IC0JCS8qIHBpcGVzcmMgYW5kIGRzcHNpemUgY29udHJvbCB0aGUgc2l6 ZSB0aGF0IGlzIHNjYWxlZCBmcm9tLAo+ID4gPiA+IC0JCSAqIHdoaWNoIHNob3VsZCBhbHdheXMg YmUgdGhlIHVzZXIncyByZXF1ZXN0ZWQgc2l6ZS4KPiA+ID4gPiAtCQkgKi8KPiA+ID4gPiAtCQlJ OTE1X1dSSVRFKERTUFNJWkUocGxhbmUpLAo+ID4gPiA+IC0JCQkgICAoKGludGVsX2NydGMtPmNv bmZpZy0+cGlwZV9zcmNfaCAtIDEpIDw8IDE2KSB8Cj4gPiA+ID4gLQkJCSAgIChpbnRlbF9jcnRj LT5jb25maWctPnBpcGVfc3JjX3cgLSAxKSk7Cj4gPiA+ID4gKwkJSTkxNV9XUklURShEU1BTSVpF KHBsYW5lKSwgKChjcnRjX2ggLSAxKSA8PCAxNikgfCAoY3J0Y193IC0gMSkpOwo+ID4gPiA+ICAJ CUk5MTVfV1JJVEUoRFNQUE9TKHBsYW5lKSwgMCk7Cj4gPiA+ID4gIAl9IGVsc2UgaWYgKElTX0NI RVJSWVZJRVcoZGV2KSAmJiBwbGFuZSA9PSBQTEFORV9CKSB7Cj4gPiA+ID4gLQkJSTkxNV9XUklU RShQUklNU0laRShwbGFuZSksCj4gPiA+ID4gLQkJCSAgICgoaW50ZWxfY3J0Yy0+Y29uZmlnLT5w aXBlX3NyY19oIC0gMSkgPDwgMTYpIHwKPiA+ID4gPiAtCQkJICAgKGludGVsX2NydGMtPmNvbmZp Zy0+cGlwZV9zcmNfdyAtIDEpKTsKPiA+ID4gPiArCQlJOTE1X1dSSVRFKFBSSU1TSVpFKHBsYW5l KSwgKChjcnRjX2ggLSAxKSA8PCAxNikgfCAoY3J0Y193IC0gMSkpOwo+ID4gPiA+ICAJCUk5MTVf V1JJVEUoUFJJTVBPUyhwbGFuZSksIDApOwo+ID4gPiA+ICAJCUk5MTVfV1JJVEUoUFJJTUNOU1RB TFBIQShwbGFuZSksIDApOwo+ID4gPiA+ICsJfSBlbHNlIHsKPiA+ID4gPiArCQlXQVJOX09OQ0Uo Y3J0Y193ICE9IGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyB8fAo+ID4gPiA+ICsJCQkg IGNydGNfaCAhPSBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2gsCj4gPiA+ID4gKwkJCSAg InByaW1hcnkgcGxhbmUgc2l6ZSBkb2Vzbid0IG1hdGNoIHBpcGUgc2l6ZVxuIik7Cj4gPiA+ID4g IAl9Cj4gPiA+ID4gIAo+ID4gPiA+ICAJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7Cj4gPiA+ ID4gQEAgLTI1ODYsMTQgKzI1ODMsMTQgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFy eV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ID4gIAlpZiAoY3J0Yy0+cHJpbWFy eS0+c3RhdGUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKPiA+ID4gPiAgCQlk c3BjbnRyIHw9IERJU1BQTEFORV9ST1RBVEVfMTgwOwo+ID4gPiA+ICAKPiA+ID4gPiAtCQl4ICs9 IChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKTsKPiA+ID4gPiAtCQl5ICs9IChp bnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2ggLSAxKTsKPiA+ID4gPiArCQl4ICs9IChjcnRj X3cgLSAxKTsKPiA+ID4gPiArCQl5ICs9IChjcnRjX2ggLSAxKTsKPiA+ID4gPiAgCj4gPiA+ID4g IAkJLyogRmluZGluZyB0aGUgbGFzdCBwaXhlbCBvZiB0aGUgbGFzdCBsaW5lIG9mIHRoZSBkaXNw bGF5Cj4gPiA+ID4gIAkJZGF0YSBhbmQgYWRkaW5nIHRvIGxpbmVhcl9vZmZzZXQqLwo+ID4gPiA+ ICAJCWxpbmVhcl9vZmZzZXQgKz0KPiA+ID4gPiAtCQkJKGludGVsX2NydGMtPmNvbmZpZy0+cGlw ZV9zcmNfaCAtIDEpICogZmItPnBpdGNoZXNbMF0gKwo+ID4gPiA+IC0JCQkoaW50ZWxfY3J0Yy0+ Y29uZmlnLT5waXBlX3NyY193IC0gMSkgKiBwaXhlbF9zaXplOwo+ID4gPiA+ICsJCQkoY3J0Y19o IC0gMSkgKiBmYi0+cGl0Y2hlc1swXSArCj4gPiA+ID4gKwkJCShjcnRjX3cgLSAxKSAqIHBpeGVs X3NpemU7Cj4gPiA+ID4gIAl9Cj4gPiA+ID4gIAo+ID4gPiA+ICAJSTkxNV9XUklURShyZWcsIGRz cGNudHIpOwo+ID4gPiA+IEBAIC0yNjExLDcgKzI2MDgsOCBAQCBzdGF0aWMgdm9pZCBpOXh4X3Vw ZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gPiAgCj4gPiA+ ID4gIHN0YXRpYyB2b2lkIGlyb25sYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiA+ID4gPiAgCQkJCQkgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ ID4gPiA+IC0JCQkJCSAgaW50IHgsIGludCB5KQo+ID4gPiA+ICsJCQkJCSAgaW50IHgsIGludCB5 LAo+ID4gPiA+ICsJCQkJCSAgaW50IGNydGNfdywgaW50IGNydGNfaCkKPiA+ID4gPiAgewo+ID4g PiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ID4gPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+ID4g QEAgLTI2NDMsNiArMjY0MSwxMCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV91cGRhdGVfcHJpbWFy eV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ID4gIAlpZiAoSVNfSEFTV0VMTChk ZXYpIHx8IElTX0JST0FEV0VMTChkZXYpKQo+ID4gPiA+ICAJCWRzcGNudHIgfD0gRElTUFBMQU5F X1BJUEVfQ1NDX0VOQUJMRTsKPiA+ID4gPiAgCj4gPiA+ID4gKwlXQVJOX09OQ0UoY3J0Y193ICE9 IGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyB8fAo+ID4gPiA+ICsJCSAgY3J0Y19oICE9 IGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfaCwKPiA+ID4gPiArCQkgICJwcmltYXJ5IHBs YW5lIHNpemUgZG9lc24ndCBtYXRjaCBwaXBlIHNpemVcbiIpOwo+ID4gPiA+ICsKPiA+ID4gPiAg CXN3aXRjaCAoZmItPnBpeGVsX2Zvcm1hdCkgewo+ID4gPiA+ICAJY2FzZSBEUk1fRk9STUFUX0M4 Ogo+ID4gPiA+ICAJCWRzcGNudHIgfD0gRElTUFBMQU5FXzhCUFA7Cj4gPiA+ID4gQEAgLTI2ODYs MTQgKzI2ODgsMTQgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiA+ICAJCWRzcGNudHIgfD0gRElTUFBMQU5FX1JP VEFURV8xODA7Cj4gPiA+ID4gIAo+ID4gPiA+ICAJCWlmICghSVNfSEFTV0VMTChkZXYpICYmICFJ U19CUk9BRFdFTEwoZGV2KSkgewo+ID4gPiA+IC0JCQl4ICs9IChpbnRlbF9jcnRjLT5jb25maWct PnBpcGVfc3JjX3cgLSAxKTsKPiA+ID4gPiAtCQkJeSArPSAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5w aXBlX3NyY19oIC0gMSk7Cj4gPiA+ID4gKwkJCXggKz0gKGNydGNfdyAtIDEpOwo+ID4gPiA+ICsJ CQl5ICs9IChjcnRjX2ggLSAxKTsKPiA+ID4gPiAgCj4gPiA+ID4gIAkJCS8qIEZpbmRpbmcgdGhl IGxhc3QgcGl4ZWwgb2YgdGhlIGxhc3QgbGluZSBvZiB0aGUgZGlzcGxheQo+ID4gPiA+ICAJCQlk YXRhIGFuZCBhZGRpbmcgdG8gbGluZWFyX29mZnNldCovCj4gPiA+ID4gIAkJCWxpbmVhcl9vZmZz ZXQgKz0KPiA+ID4gPiAtCQkJCShpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2ggLSAxKSAq IGZiLT5waXRjaGVzWzBdICsKPiA+ID4gPiAtCQkJCShpbnRlbF9jcnRjLT5jb25maWctPnBpcGVf c3JjX3cgLSAxKSAqIHBpeGVsX3NpemU7Cj4gPiA+ID4gKwkJCQkoY3J0Y19oIC0gMSkgKiBmYi0+ cGl0Y2hlc1swXSArCj4gPiA+ID4gKwkJCQkoY3J0Y193IC0gMSkgKiBwaXhlbF9zaXplOwo+ID4g PiA+ICAJCX0KPiA+ID4gPiAgCX0KPiA+ID4gPiAgCj4gPiA+ID4gQEAgLTI3NDcsNyArMjc0OSw4 IEBAIHUzMiBpbnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHVpbnQ2NF90IGZiX21vZGlmaWVyLAo+ID4gPiA+ICAKPiA+ID4gPiAgc3RhdGljIHZvaWQgc2t5 bGFrZV91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ID4g IAkJCQkJIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ID4gPiA+IC0JCQkJCSBpbnQgeCwg aW50IHkpCj4gPiA+ID4gKwkJCQkJIGludCB4LCBpbnQgeSwKPiA+ID4gPiArCQkJCQkgaW50IGNy dGNfdywgaW50IGNydGNfaCkKPiA+ID4gPiAgewo+ID4gPiA+ICAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGNydGMtPmRldjsKPiA+ID4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+ID4gQEAgLTI4MjYsOSArMjgyOSw3IEBAIHN0 YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpj cnRjLAo+ID4gPiA+ICAKPiA+ID4gPiAgCUk5MTVfV1JJVEUoUExBTkVfUE9TKHBpcGUsIDApLCAw KTsKPiA+ID4gPiAgCUk5MTVfV1JJVEUoUExBTkVfT0ZGU0VUKHBpcGUsIDApLCAoeSA8PCAxNikg fCB4KTsKPiA+ID4gPiAtCUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCAwKSwKPiA+ID4gPiAt CQkgICAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oIC0gMSkgPDwgMTYgfAo+ID4gPiA+ IC0JCSAgIChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKSk7Cj4gPiA+ID4gKwlJ OTE1X1dSSVRFKFBMQU5FX1NJWkUocGlwZSwgMCksICgoY3J0Y19oIC0gMSkgPDwgMTYpIHwgKGNy dGNfdyAtIDEpKTsKPiA+ID4gPiAgCUk5MTVfV1JJVEUoUExBTkVfU1RSSURFKHBpcGUsIDApLCBm Yi0+cGl0Y2hlc1swXSAvIHN0cmlkZV9kaXYpOwo+ID4gPiA+ICAJSTkxNV9XUklURShQTEFORV9T VVJGKHBpcGUsIDApLCBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSk7Cj4gPiA+ID4gIAo+ ID4gPiA+IEBAIC0yODQ1LDEyICsyODQ2LDE2IEBAIGludGVsX3BpcGVfc2V0X2Jhc2VfYXRvbWlj KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gPiA+ ID4gIHsKPiA+ID4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gPiA+ ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl Owo+ID4gPiA+ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KGNydGMpOwo+ID4gPiA+ICAKPiA+ID4gPiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxl X2ZiYykKPiA+ID4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxlX2ZiYyhkZXYpOwo+ID4g PiA+ICAKPiA+ID4gPiArCS8qIEZJWE1FOiB0aGlzIHdpbGwgZ28gYmFkbHkgaWYgdGhlIGZiIGlz bid0IGJpZyBlbm91Z2ggKi8KPiA+ID4gPiAgCXRvX2ludGVsX2NydGMoY3J0YyktPnByaW1hcnlf ZW5hYmxlZCA9IHRydWU7Cj4gPiA+ID4gLQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfcHJpbWFy eV9wbGFuZShjcnRjLCBmYiwgeCwgeSk7Cj4gPiA+ID4gKwlkZXZfcHJpdi0+ZGlzcGxheS51cGRh dGVfcHJpbWFyeV9wbGFuZShjcnRjLCBmYiwgeCwgeSwKPiA+ID4gPiArCQkJCQkgICAgICAgaW50 ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193LAo+ID4gPiA+ICsJCQkJCSAgICAgICBpbnRlbF9j cnRjLT5jb25maWctPnBpcGVfc3JjX2gpOwo+ID4gPiA+ICAKPiA+ID4gPiAgCXJldHVybiAwOwo+ ID4gPiA+ICB9Cj4gPiA+ID4gQEAgLTI4ODUsNyArMjg5MCw5IEBAIHN0YXRpYyB2b2lkIGludGVs X3VwZGF0ZV9wcmltYXJ5X3BsYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ICAJ CQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfcHJpbWFyeV9wbGFuZShjcnRjLAo+ID4gPiA+ICAJ CQkJCQkJICAgICAgIHN0YXRlLT5iYXNlLmZiLAo+ID4gPiA+ICAJCQkJCQkJICAgICAgIHN0YXRl LT5zcmMueDEgPj4gMTYsCj4gPiA+ID4gLQkJCQkJCQkgICAgICAgc3RhdGUtPnNyYy55MSA+PiAx Nik7Cj4gPiA+ID4gKwkJCQkJCQkgICAgICAgc3RhdGUtPnNyYy55MSA+PiAxNiwKPiA+ID4gPiAr CQkJCQkJCSAgICAgICBkcm1fcmVjdF93aWR0aCgmc3RhdGUtPmRzdCksCj4gPiA+ID4gKwkJCQkJ CQkgICAgICAgZHJtX3JlY3RfaGVpZ2h0KCZzdGF0ZS0+ZHN0KSk7Cj4gPiA+ID4gIAkJfQo+ID4g PiA+ICAKPiA+ID4gPiAgCQlkcm1fbW9kZXNldF91bmxvY2soJmNydGMtPm11dGV4KTsKPiA+ID4g PiBAQCAtMTIwMTksNyArMTIwMjYsOSBAQCBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ID4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVf cHJpbWFyeV9wbGFuZShjcnRjLAo+ID4gPiA+ICAJCQkJCQkgICAgICAgc3RhdGUtPmJhc2UuZmIs Cj4gPiA+ID4gIAkJCQkJCSAgICAgICBzdGF0ZS0+c3JjLngxID4+IDE2LAo+ID4gPiA+IC0JCQkJ CQkgICAgICAgc3RhdGUtPnNyYy55MSA+PiAxNik7Cj4gPiA+ID4gKwkJCQkJCSAgICAgICBzdGF0 ZS0+c3JjLnkxID4+IDE2LAo+ID4gPiA+ICsJCQkJCQkgICAgICAgZHJtX3JlY3Rfd2lkdGgoJnN0 YXRlLT5kc3QpLAo+ID4gPiA+ICsJCQkJCQkgICAgICAgZHJtX3JlY3RfaGVpZ2h0KCZzdGF0ZS0+ ZHN0KSk7Cj4gPiA+ID4gIAl9Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ID4gLS0gCj4gPiA+ ID4gMi4wLjUKPiA+ID4gPiAKPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+ID4gPiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+ID4gaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gPiAKPiA+ID4gLS0gCj4g PiA+IE1hdHQgUm9wZXIKPiA+ID4gR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKPiA+ID4gSW9U RyBQbGF0Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50Cj4gPiA+IEludGVsIENvcnBvcmF0aW9u Cj4gPiA+ICg5MTYpIDM1Ni0yNzk1Cj4gPiAKPiA+IC0tIAo+ID4gVmlsbGUgU3lyasOkbMOkCj4g PiBJbnRlbCBPVEMKPiAKPiAtLSAKPiBNYXR0IFJvcGVyCj4gR3JhcGhpY3MgU29mdHdhcmUgRW5n aW5lZXIKPiBJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKPiBJbnRlbCBDb3Jw b3JhdGlvbgo+ICg5MTYpIDM1Ni0yNzk1CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=