From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC 13/15] drm/i915: Introduce intel_schedule_vblank_job() Date: Thu, 21 May 2015 16:20:04 +0300 Message-ID: <20150521132004.GD18908@intel.com> References: <1432174347-19138-1-git-send-email-matthew.d.roper@intel.com> <1432174347-19138-14-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 8E46389F49 for ; Thu, 21 May 2015 06:20:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1432174347-19138-14-git-send-email-matthew.d.roper@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 T24gV2VkLCBNYXkgMjAsIDIwMTUgYXQgMDc6MTI6MjVQTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBWYXJpb3VzIHBsYWNlcyBpbiB0aGUgZHJpdmVyIG5lZWQgdGhlIGFiaWxpdHkgdG8gc2No ZWR1bGUgYWN0aW9ucyB0byBydW4KPiBvbiBhIGZ1dHVyZSB2YmxhbmsgKHVwZGF0aW5nIHdhdGVy bWFya3MsIHVucGlubmluZyBidWZmZXJzLCBldGMuKS4gIFRoZQo+IGxvbmcgdGVybSBnb2FsIGlz IHRvIGFkZCBzdWNoIGEgbWVjaGFuaXNtIGluIHRoZSBEUk0gY29yZSB0aGF0IGNhbiBiZQo+IHNo YXJlZCBieSBhbGwgZHJpdmVycy4gIFBhdWxvIFphbm9uaSBoYXMgYWxyZWFkeSB3cml0dGVuIHNv bWUKPiBwcmVsaW1pbmFyeSBwYXRjaGVzIHRvIHN1cHBvcnQgdGhpcywgYnV0IGhpcyB3b3JrIHdp bGwgcHJvYmFibHkgdGFrZQo+IHNvbWUgdGltZSB0byBwb2xpc2ggYW5kIGdldCBtZXJnZWQgc2lu Y2UgaXQgbmVlZHMgdG8gdW50YW5nbGUgdGhlIERSTQo+IGNvcmUncyB2YmxhbmsgaW5mcmFzdHJ1 Y3R1cmUuICBUaGlzIHBhdGNoIGlzIHBhcnRpYWxseSBiYXNlZCBvbiBQYXVsbydzCj4gd29yaywg YnV0IHRha2VzIGEgc2ltcGxlciBhcHByb2FjaCBhbmQganVzdCBhZGRzIGFuIGk5MTUtc3BlY2lm aWMKPiBtZWNoYW5pc20gdGhhdCBjYW4gYmUgdXNlZCBpbiB0aGUgaW50ZXJpbSBzaW5jZSB3ZSBo YXZlIGFuIGltbWVkaWF0ZQo+IG5lZWQgZm9yIHdhdGVybWFyayB1cGRhdGVzLgo+IAo+IEluc3Bp cmVkLWJ5OiBQYXVsbyBaYW5vbmkgPHByemFub25pQGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5 OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgoKSSBsaWtlIHdoYXQgSSBo YWQgYmV0dGVyLiBObyBuZWVkbGVzcyBrbWFsbG9jcyAodGhpcyBJTU8gaXMgYSBtdXN0CnJlcXVp cmVtZW50IGZvciBhbnkgc29sdXRpb24pLCBubyBuZWVkbGVzcyB3b3JrcXVldWVzLCB1c2VzIHRo ZSBodwp2YmxhbmsgY291bnRlciBhbmQgYWJzb2x1dGUgdmFsdWVzIHNvIGlzbid0IHJhY3kuCgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgfCAxMTcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgICA4ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCAgICAgfCAgMjcgKysrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxNTIgaW5zZXJ0aW9ucygr KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IGluZGV4IDU1N2FmODguLmZkNWE3OTUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBAQCAtMTY0OSw4ICsxNjQ5LDM3IEBAIHN0YXRp YyB2b2lkIGdlbjZfcnBzX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgdTMyIHBtX2lpcikKPiAgCX0KPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgcHJvY2Vzc192 Ymxhbmtfam9icyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSkKPiArewo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGlu Z1twaXBlXTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjKTsKPiArCXN0cnVjdCBpOTE1X3ZibGFua19qb2IgKmpvYiwgKnRtcDsKPiArCXUzMiBz ZXE7Cj4gKwo+ICsJc2VxID0gZHJtX3ZibGFua19jb3VudChkZXYsIHBpcGUpOwo+ICsJbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKGpvYiwgdG1wLCAmaW50ZWxfY3J0Yy0+dmJsYW5rX2pvYnMsIGxp bmspIHsKPiArCQlpZiAoc2VxIC0gam9iLT5zZXEgPiAoMTw8MjMpKQo+ICsJCQljb250aW51ZTsK PiArCj4gKwkJbGlzdF9kZWwoJmpvYi0+bGluayk7Cj4gKwkJZHJtX3ZibGFua19wdXQoZGV2LCBw aXBlKTsKPiArCj4gKwkJaWYgKGpvYi0+d3EpIHsKPiArCQkJam9iLT5maXJlZF9zZXEgPSBzZXE7 Cj4gKwkJCXF1ZXVlX3dvcmsoam9iLT53cSwgJmpvYi0+d29yayk7Cj4gKwkJfSBlbHNlIHsKPiAr CQkJam9iLT5jYWxsYmFjayhpbnRlbF9jcnRjLCBqb2ItPmNhbGxiYWNrX2RhdGEsCj4gKwkJCQkg ICAgICBmYWxzZSwgc2VxKTsKPiArCQkJa2ZyZWUoam9iKTsKPiArCQl9Cj4gKwl9Cj4gK30KPiAr Cj4gIHN0YXRpYyBib29sIGludGVsX3BpcGVfaGFuZGxlX3ZibGFuayhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSkKPiAgewo+ICsJcHJvY2Vzc192Ymxhbmtfam9icyhkZXYs IHBpcGUpOwo+ICsKPiAgCWlmICghZHJtX2hhbmRsZV92YmxhbmsoZGV2LCBwaXBlKSkKPiAgCQly ZXR1cm4gZmFsc2U7Cj4gIAo+IEBAIC00NTExLDMgKzQ1NDAsOTEgQEAgdm9pZCBpbnRlbF9ydW50 aW1lX3BtX2VuYWJsZV9pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgCWRldl9wcml2LT5kZXYtPmRyaXZlci0+aXJxX3ByZWluc3RhbGwoZGV2X3ByaXYtPmRl dik7Cj4gIAlkZXZfcHJpdi0+ZGV2LT5kcml2ZXItPmlycV9wb3N0aW5zdGFsbChkZXZfcHJpdi0+ ZGV2KTsKPiAgfQo+ICsKPiArc3RhdGljIHZvaWQgdmJsYW5rX2pvYl9oYW5kbGVyKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKPiArewo+ICsJc3RydWN0IGk5MTVfdmJsYW5rX2pvYiAqam9iID0K PiArCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGk5MTVfdmJsYW5rX2pvYiwgd29yayk7Cj4g Kwo+ICsJam9iLT5jYWxsYmFjayhqb2ItPmNydGMsIGpvYi0+Y2FsbGJhY2tfZGF0YSwKPiArCQkg ICAgICBqb2ItPnNlcSAhPSBqb2ItPmZpcmVkX3NlcSwgam9iLT5maXJlZF9zZXEpOwo+ICsJa2Zy ZWUoam9iKTsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGludGVsX3NjaGVkdWxlX3ZibGFua19qb2Ig LSBzY2hlZHVsZSB3b3JrIHRvIGhhcHBlbiBvbiBzcGVjaWZpZWQgdmJsYW5rCj4gKyAqIEBjcnRj OiBDUlRDIHdob3NlIHZibGFuayBzaG91bGQgdHJpZ2dlciB0aGUgd29yawo+ICsgKiBAY2FsbGJh Y2s6IENvZGUgdG8gcnVuIG9uIHZibGFuawo+ICsgKiBAY2FsbGJhY2tfZGF0YTogRGF0YSB0byBw YXNzIHRvIGNhbGxiYWNrIGZ1bmN0aW9uCj4gKyAqIEB3cTogV29ya3F1ZXVlIHRvIHJ1biBqb2Ig b24gKG9yIE5VTEwgdG8gcnVuIGZyb20gaW50ZXJydXB0IGNvbnRleHQpCj4gKyAqIEBzZXE6IHZi bGFuayBjb3VudCByZWxhdGl2ZSB0byBjdXJyZW50IHRvIHNjaGVkdWxlIGZvcgo+ICsgKgo+ICsg KiBTY2hlZHVsZSBjb2RlIHRoYXQgc2hvdWxkIGJlIHJ1biBhZnRlciB0aGUgc3BlY2lmaWVkIHZi bGFuayBmaXJlcy4gIFRoZSBjb2RlCj4gKyAqIGNhbiBlaXRoZXIgcnVuIGRpcmVjdGx5IGluIHRo ZSBpbnRlcnJ1cHQgY29udGV4dCBvciBvbiBhIHNwZWNpZmllZAo+ICsgKiB3b3JrcXVldWUuCj4g KyAqLwo+ICtpbnQgaW50ZWxfc2NoZWR1bGVfdmJsYW5rX2pvYihzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKPiArCQkJICAgICAgaTkxNV92YmxhbmtfY2FsbGJhY2tfdCBjYWxsYmFjaywKPiArCQkJ ICAgICAgdm9pZCAqY2FsbGJhY2tfZGF0YSwKPiArCQkJICAgICAgc3RydWN0IHdvcmtxdWV1ZV9z dHJ1Y3QgKndxLAo+ICsJCQkgICAgICB1MzIgc2VxKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gKwlzdHJ1Y3QgaTkxNV92Ymxhbmtfam9iICpqb2I7 Cj4gKwl1bnNpZ25lZCBsb25nIGlycWZsYWdzOwo+ICsJaW50IHJldDsKPiArCj4gKwlqb2IgPSBr emFsbG9jKHNpemVvZigqam9iKSwgR0ZQX0FUT01JQyk7Cj4gKwlpZiAoIWpvYikKPiArCQlyZXR1 cm4gLUVOT01FTTsKPiArCj4gKwlqb2ItPndxID0gd3E7Cj4gKwlqb2ItPmNydGMgPSBjcnRjOwo+ ICsJam9iLT5jYWxsYmFjayA9IGNhbGxiYWNrOwo+ICsJam9iLT5jYWxsYmFja19kYXRhID0gY2Fs bGJhY2tfZGF0YTsKPiArCWlmIChqb2ItPndxKQo+ICsJCUlOSVRfV09SSygmam9iLT53b3JrLCB2 Ymxhbmtfam9iX2hhbmRsZXIpOwo+ICsKPiArCXJldCA9IGRybV9jcnRjX3ZibGFua19nZXQoJmNy dGMtPmJhc2UpOwo+ICsJaWYgKHJldCkgewo+ICsJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byBl bmFibGUgaW50ZXJydXB0cywgcmV0PSVkXG4iLCByZXQpOwo+ICsJCWtmcmVlKGpvYik7Cj4gKwkJ cmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ZXZl bnRfbG9jaywgaXJxZmxhZ3MpOwo+ICsJam9iLT5zZXEgPSBzZXEgKyBkcm1fdmJsYW5rX2NvdW50 KGRldiwgY3J0Yy0+cGlwZSk7Cj4gKwlsaXN0X2FkZF90YWlsKCZqb2ItPmxpbmssICZjcnRjLT52 Ymxhbmtfam9icyk7Cj4gKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ss IGlycWZsYWdzKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGludGVs X3RyaWdnZXJfYWxsX3ZibGFua19qb2JzIC0gaW1tZWRpYXRlbHkgdHJpZ2dlciB2Ymxhbmsgam9i cyBmb3IgYSBjcnRjCj4gKyAqIEBjcnRjOiBDUlRDIHRvIHRyaWdnZXIgYWxsIG91dHN0YW5kaW5n IGpvYnMgZm9yCj4gKyAqCj4gKyAqIEltbWVkaWF0ZWx5IHRyaWdnZXJzIGFsbCBvZiB0aGUgam9i cyBhd2FpdGluZyBmdXR1cmUgdmJsYW5rcyBvbiBhIENSVEMuCj4gKyAqIFRoaXMgd2lsbCBiZSBj YWxsZWQgd2hlbiBhIENSVEMgaXMgZGlzYWJsZWQgKGJlY2F1c2UgdGhlcmUgbWF5IG5ldmVyIGJl Cj4gKyAqIGFub3RoZXIgdmJsYW5rIGV2ZW50KS4gIFRoZSBqb2IgY2FsbGJhY2tzIHdpbGwgcmVj ZWl2ZSAndHJ1ZScgZm9yIHRoZQo+ICsgKiBlYXJseSBwYXJhbWV0ZXIsIGFzIHdlbGwgYXMgdGhl IGN1cnJlbnQgdmJsYW5rIGNvdW50Lgo+ICsgKi8KPiArdm9pZCB0cmlnZ2VyX2FsbF92Ymxhbmtf am9icyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiArewo+ICsJc3RydWN0IGk5MTVfdmJsYW5r X2pvYiAqam9iLCAqdG1wOwo+ICsJdTMyIHNlcTsKPiArCj4gKwlzZXEgPSBkcm1fdmJsYW5rX2Nv dW50KGNydGMtPmJhc2UuZGV2LCBjcnRjLT5waXBlKTsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnlf c2FmZShqb2IsIHRtcCwgJmNydGMtPnZibGFua19qb2JzLCBsaW5rKSB7Cj4gKwkJbGlzdF9kZWwo JmpvYi0+bGluayk7Cj4gKwkJZHJtX3ZibGFua19wdXQoY3J0Yy0+YmFzZS5kZXYsIGNydGMtPnBp cGUpOwo+ICsKPiArCQlpZiAoam9iLT53cSkgewo+ICsJCQlqb2ItPmZpcmVkX3NlcSA9IHNlcTsK PiArCQkJcXVldWVfd29yayhqb2ItPndxLCAmam9iLT53b3JrKTsKPiArCQl9IGVsc2Ugewo+ICsJ CQlqb2ItPmNhbGxiYWNrKGNydGMsIGpvYi0+Y2FsbGJhY2tfZGF0YSwgdHJ1ZSwgc2VxKTsKPiAr CQkJa2ZyZWUoam9iKTsKPiArCQl9Cj4gKwl9Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gaW5kZXggNzZhZmZiYS4uOWI1NmQwNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNTA5OSw2ICs1MDk5LDggQEAgc3RhdGljIHZvaWQgaXJv bmxha2VfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCWlmICghaW50ZWxf Y3J0Yy0+YWN0aXZlKQo+ICAJCXJldHVybjsKPiAgCj4gKwl0cmlnZ2VyX2FsbF92Ymxhbmtfam9i cyhpbnRlbF9jcnRjKTsKPiArCj4gIAlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCBjcnRj LCBlbmNvZGVyKQo+ICAJCWVuY29kZXItPmRpc2FibGUoZW5jb2Rlcik7Cj4gIAo+IEBAIC01MTYx LDYgKzUxNjMsOCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIAlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKPiAgCQlyZXR1cm47Cj4g IAo+ICsJdHJpZ2dlcl9hbGxfdmJsYW5rX2pvYnMoaW50ZWxfY3J0Yyk7Cj4gKwo+ICAJZm9yX2Vh Y2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5jb2Rlcikgewo+ICAJCWludGVsX29wcmVn aW9uX25vdGlmeV9lbmNvZGVyKGVuY29kZXIsIGZhbHNlKTsKPiAgCQllbmNvZGVyLT5kaXNhYmxl KGVuY29kZXIpOwo+IEBAIC02MDA0LDYgKzYwMDgsOCBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNf ZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlpZiAoIWludGVsX2NydGMtPmFjdGl2 ZSkKPiAgCQlyZXR1cm47Cj4gIAo+ICsJdHJpZ2dlcl9hbGxfdmJsYW5rX2pvYnMoaW50ZWxfY3J0 Yyk7Cj4gKwo+ICAJLyoKPiAgCSAqIE9uIGdlbjIgcGxhbmVzIGFyZSBkb3VibGUgYnVmZmVyZWQg YnV0IHRoZSBwaXBlIGlzbid0LCBzbyB3ZSBtdXN0Cj4gIAkgKiB3YWl0IGZvciBwbGFuZXMgdG8g ZnVsbHkgdHVybiBvZmYgYmVmb3JlIGRpc2FibGluZyB0aGUgcGlwZS4KPiBAQCAtMTM2NDksNiAr MTM2NTUsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgaW50IHBpcGUpCj4gIAo+ICAJZHJtX2NydGNfaGVscGVyX2FkZCgmaW50ZWxfY3J0Yy0+ YmFzZSwgJmludGVsX2hlbHBlcl9mdW5jcyk7Cj4gIAo+ICsJSU5JVF9MSVNUX0hFQUQoJmludGVs X2NydGMtPnZibGFua19qb2JzKTsKPiArCj4gIAlXQVJOX09OKGRybV9jcnRjX2luZGV4KCZpbnRl bF9jcnRjLT5iYXNlKSAhPSBpbnRlbF9jcnRjLT5waXBlKTsKPiAgCXJldHVybjsKPiAgCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCA2Mjc3NDFhLi42MzBlN2MxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtNTA0LDYgKzUwNCwyNCBAQCBzdHJ1Y3QgaW50ZWxf Y3J0Y19hdG9taWNfY29tbWl0IHsKPiAgCXVuc2lnbmVkIHVwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJr czsKPiAgfTsKPiAgCj4gK3R5cGVkZWYgdm9pZCAoKmk5MTVfdmJsYW5rX2NhbGxiYWNrX3QpKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICsJCQkJICAgICAgIHZvaWQgKmRhdGEsCj4gKwkJCQkg ICAgICAgYm9vbCBlYXJseSwKPiArCQkJCSAgICAgICB1MzIgZmlyZWRfc2VxKTsKPiArCj4gKy8q IFRhc2sgdG8gcnVuIChvciBzY2hlZHVsZSBvbiBhIHdvcmtxdWV1ZSkgb24gYSBzcGVjaWZpYyB2 YmxhbmsgKi8KPiArc3RydWN0IGk5MTVfdmJsYW5rX2pvYiB7Cj4gKwl1MzIgc2VxOwo+ICsJdTMy IGZpcmVkX3NlcTsgICAgICAgICAgICAgICAgICAgICAvKiBlYXJseSBpZiBjcnRjIGdldHMgZGlz YWJsZWQgKi8KPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ICsJc3RydWN0IHdvcmtxdWV1 ZV9zdHJ1Y3QgKndxOyAgICAgICAvKiBOVUxMID0gcnVuIGZyb20gaW50ZXJydXB0ICovCj4gKwlp OTE1X3ZibGFua19jYWxsYmFja190IGNhbGxiYWNrOwo+ICsJdm9pZCAqY2FsbGJhY2tfZGF0YTsK PiArCj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7Cj4gKwlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29y azsKPiArfTsKPiArCj4gIHN0cnVjdCBpbnRlbF9jcnRjIHsKPiAgCXN0cnVjdCBkcm1fY3J0YyBi YXNlOwo+ICAJZW51bSBwaXBlIHBpcGU7Cj4gQEAgLTU1MCw2ICs1NjgsOSBAQCBzdHJ1Y3QgaW50 ZWxfY3J0YyB7Cj4gIAo+ICAJLyogc2NhbGVycyBhdmFpbGFibGUgb24gdGhpcyBjcnRjICovCj4g IAlpbnQgbnVtX3NjYWxlcnM7Cj4gKwo+ICsJLyogSm9icyB0byBydW4vc2NoZWR1bGUgb24gdmJs YW5rICovCj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIHZibGFua19qb2JzOwo+ICB9Owo+ICAKPiAgc3Ry dWN0IGludGVsX3BsYW5lX3dtX3BhcmFtZXRlcnMgewo+IEBAIC05MTMsNiArOTM0LDEyIEBAIHN0 YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9pcnFzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICBpbnQgaW50ZWxfZ2V0X2NydGNfc2NhbmxpbmUoc3RydWN0IGludGVs X2NydGMgKmNydGMpOwo+ICB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcG9zdF9lbmFibGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJICAgICB1bnNpZ25lZCBpbnQg cGlwZV9tYXNrKTsKPiAraW50IGludGVsX3NjaGVkdWxlX3ZibGFua19qb2Ioc3RydWN0IGludGVs X2NydGMgKmNydGMsCj4gKwkJCSAgICAgIGk5MTVfdmJsYW5rX2NhbGxiYWNrX3QgY2FsbGJhY2ss Cj4gKwkJCSAgICAgIHZvaWQgKmNhbGxiYWNrX2RhdGEsCj4gKwkJCSAgICAgIHN0cnVjdCB3b3Jr cXVldWVfc3RydWN0ICp3cSwKPiArCQkJICAgICAgdTMyIHNlcSk7Cj4gK3ZvaWQgdHJpZ2dlcl9h bGxfdmJsYW5rX2pvYnMoc3RydWN0IGludGVsX2NydGMgKmNydGMpOwo+ICAKPiAgLyogaW50ZWxf Y3J0LmMgKi8KPiAgdm9pZCBpbnRlbF9jcnRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK PiAtLSAKPiAxLjguNS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==