From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/2] drm/i915: Update sprite watermarks outside vblank evasion Date: Tue, 23 Jun 2015 17:24:58 +0200 Message-ID: <20150623152458.GG25769@phenom.ffwll.local> References: <1435023033-18043-1-git-send-email-matthew.d.roper@intel.com> <1435023033-18043-3-git-send-email-matthew.d.roper@intel.com> <20150623073450.GP25769@phenom.ffwll.local> <20150623142957.GB28863@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by gabe.freedesktop.org (Postfix) with ESMTP id 40FB66E20C for ; Tue, 23 Jun 2015 08:22:12 -0700 (PDT) Received: by wgqq4 with SMTP id q4so12756711wgq.1 for ; Tue, 23 Jun 2015 08:22:11 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150623142957.GB28863@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 T24gVHVlLCBKdW4gMjMsIDIwMTUgYXQgMDc6Mjk6NThBTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBUdWUsIEp1biAyMywgMjAxNSBhdCAwOTozNDo1MEFNICswMjAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+ID4gT24gTW9uLCBKdW4gMjIsIDIwMTUgYXQgMDY6MzA6MzNQTSAtMDcwMCwg TWF0dCBSb3BlciB3cm90ZToKPiA+ID4gV2UgbmV2ZXIgcmVtb3ZlZCB0aGUgc3ByaXRlIHdhdGVy bWFyayB1cGRhdGVzIGZyb20gb3VyIGxvdy1sZXZlbAo+ID4gPiBmb29fdXBkYXRlX3BsYW5lKCkg ZnVuY3Rpb25zOyBzaW5jZSBvdXIgaGFyZHdhcmUgdXBkYXRlcyBoYXBwZW4gdW5kZXIKPiA+ID4g dmJsYW5rIGV2YXNpb24sIHdlJ3JlIG5vdCBzdXBwb3NlZCB0byBiZSBjYWxsaW5nIHBvdGVudGlh bGx5IHNsZWVwaW5nCj4gPiA+IGZ1bmN0aW9ucyB0aGVyZSAoc2luY2UgaW50ZXJydXB0cyBhcmUg ZGlzYWJsZWQpLiAgV2UgZG8gYWxyZWFkeSBoYXZlIGEKPiA+ID4gbWVjaGFuaXNtIHRoYXQncyBz dXBwb3NlZCB0byBiZSB1c2VkIHRvIHVwZGF0ZSBzcHJpdGUgd2F0ZXJtYXJrcyBpbiB0aGUKPiA+ ID4gcG9zdC1ldmFzaW9uIGZ1bmN0aW9uIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRlKCksIGJ1dCBh dCB0aGUgbW9tZW50IGl0J3MKPiA+ID4gb25seSBiZWluZyB1c2VkIGZvciB1cGRhdGVzIGNhdXNl ZCBieSBwbGFuZSBkaXNhYmxlcy4KPiA+ID4gCj4gPiA+IFRvIGZpeCB0aGlzIG92ZXJzaWdodCB3 ZSBuZWVkIHRvIG1ha2UgYSBmZXcgY2hhbmdlczoKPiA+ID4gCj4gPiA+ICAqIFdoZW4gaW50ZWxf cGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcygpIGNhbGxzIGludGVsX3dtX25lZWRfdXBkYXRlKCkK PiA+ID4gICAgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2F0ZXJtYXJrcyBuZWVkIGFuIHVwZGF0ZSwg d2UgbmVlZCB0byBzZXQgdGhlCj4gPiA+ICAgICdhdG9taWMudXBkYXRlX3Nwcml0ZV93YXRlcm1h cmtzJyBmbGFnIHJhdGhlciB0aGFuIHRoZQo+ID4gPiAgICAnYXRvbWljLnVwZGF0ZV93bScgZmxh ZyB3aGVuIHRoZSBwbGFuZSBpbiBxdWVzdGlvbiBpcyBhIHNwcml0ZS4gIFNvbWUKPiA+ID4gICAg cGxhdGZvcm1zIGRvbid0IGNhcmUgYWJvdXQgdGhpcyBjaGFuZ2Ugc2luY2UgdGhlIHR3byB0eXBl cyBvZiB1cGRhdGUKPiA+ID4gICAgZG8gdGhlIHNhbWUgdGhpbmcsIGJ1dCBzb21lIHBsYXRmb3Jt cyAoZS5nLiwgSUxLLXN0eWxlIHdhdGVybWFya3MpCj4gPiA+ICAgIG5lZWQgdG8gc3BlY2lmaWNh bGx5IHVzZSB0aGUgc3ByaXRlIHVwZGF0ZSBmdW5jdGlvbiB0byB1cGRhdGUgY2FjaGVkCj4gPiA+ ICAgIHdhdGVybWFyayBwYXJhbWV0ZXJzLgo+ID4gPiAKPiA+ID4gICogaW50ZWxfd21fbmVlZF91 cGRhdGUoKSBuZWVkcyB0byBhbHNvIGxvb2sgZm9yIHBsYW5lIHNpemUgY2hhbmdlcwo+ID4gPiAg ICAocHJldmlvdXNseSBpdCBvbmx5IGNoZWNrZWQgdGlsaW5nICYgcm90YXRpb24pLgo+ID4gPiAK PiA+ID4gV2l0aCB0aGUgYWJvdmUgY2hhbmdlcywgdGhlIG5lZWQgZm9yIHNwcml0ZSB3YXRlcm1h cmsgdXBkYXRlcyBzaG91bGQgYmUKPiA+ID4gcHJvcGVybHkgZmxhZ2dlZCBhdCBhdG9taWMgJ2No ZWNrJyB0aW1lIGFuZCBoYW5kbGVkIGF0ICdjb21taXQnIHRpbWUgaW4KPiA+ID4gcG9zdC1ldmFz aW9uLCBzbyB3ZSBjYW4gZHJvcCB0aGUgZGlyZWN0IGNhbGxzIHRvCj4gPiA+IGludGVsX3VwZGF0 ZV9zcHJpdGVfd2F0ZXJtYXJrcygpIGZyb20gYWxsIG9mIHRoZQo+ID4gPiBpbnRlbF9wbGFuZS0+ dXBkYXRlX3BsYW5lKCkgaGFuZGxlcnMuICBXZSdsbCBhbHNvIHRvc3MgYQo+ID4gPiBXQVJOX09O KGlycXNfZGlzYWJsZWQoKSkgaW50byB0aGUgd2F0ZXJtYXJrIHVwZGF0ZSBmdW5jdGlvbnMgdG8g YXZvaWQKPiA+ID4gc3VjaCBtaXN0YWtlcyBpbiB0aGUgZnV0dXJlLgo+ID4gPiAKPiA+ID4gU2ln bmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiA+IAo+ ID4gV2h5IGRvIGV2ZW4gc3RpbGwgbmVlZCBhIHNlcGFyYXRlIHNwcml0ZSB3bSB1cGRhdGUgaG9v a3M/IEFyZW4ndCB3ZSB5ZXQKPiA+IHJlY29tcHV0aW5nIHdtIHZhbHVlcyBmb3IgYWxsIHBsYW5l cyBpZiBzb21ldGhpbmcgY2hhbmdlcywgdGhlbiBkaWZmaW5nCj4gPiB0aGVtIHdpdGggdGhlIGN1 cnJlbnQgb25lIGFuZCB1cGRhdGluZyBpZiBhbnl0aGluZyBjaGFuZ2VkPyBUaGF0IHNlZW1zIHRv Cj4gPiBiZSB3aGF0IHVwZGF0ZV9zcHJpdGVfd20gZXNzZW50aWFsbHkgZG9lcywgZXhjZXB0IGl0 J3MgcHJlLWF0b21pYyBhbmQKPiA+IG9wZW4tY29kZXMgdGhlIHVwZGF0ZXMgLi4uCj4gCj4gU29t ZSBwbGF0Zm9ybXMgc3RhZ2UgYSBjb3B5IG9mIHBsYW5lL3BpcGUgc3RhdGUgaW4gJ3dtIHBhcmFt ZXRlcicKPiBzdHJ1Y3R1cmVzIGFuZCBvbmx5IHVwZGF0ZSB0aGUgcGlwZSB3bSBwYXJhbXMgd2l0 aCB0aGUgbmV3IHBsYW5lIHZhbHVlcwo+IHdoZW4gdXBkYXRlX3Nwcml0ZV93bSBpcyBjYWxsZWQu ICBUaGF0J3MgZGVmaW5pdGVseSBzb21ldGhpbmcgbXkgbWFpbgo+IHdhdGVybWFyayBzZXJpZXMg a2lsbHMgb2ZmLCBidXQgdW50aWwgd2UgZ2V0IHRvIHRoYXQgcG9pbnQgYW5kIHJlbW92ZQo+IHRo ZSBleHRyYSBzdGF0ZSBzdGFnaW5nIGluICdwYXJhbXMnIEkgdGhpbmsgd2Ugc3RpbGwgbmVlZCB0 byBtYWtlIHN1cmUKPiB0aGUgdXBkYXRlX3Nwcml0ZV93bSBpcyBjYWxsZWQgYXBwcm9wcmlhdGVs eSB0byBtYWtlIHN1cmUgd2F0ZXJtYXJrcyB1c2UKPiB0aGUgcmlnaHQgdmFsdWVzIG9uIGFsbCBw bGF0Zm9ybXMuICBJIGZpZ3VyZWQgdGhlc2UgdHdvIHBhdGNoZXMgd2VyZSBhCj4gcXVpY2sgZml4 IGZvciBhIGtub3duIGJ1ZyB3aGlsZSB3ZSBnZXQgdGhlIG1haW4gd2F0ZXJtYXJrIHNlcmllcwo+ IGhhbW1lcmVkIG91dC4KCk9oIEkgdGhvdWdodCB0aGF0IHVwZGF0ZV93bSBob29rcyBhbHJlYWR5 IHdhbGsgb3ZlciBhbGwgcGxhbmVzIGZvciBhbGwKcGxhdGZvcm1zIGFuZCBzbyBpZiB3ZSBjYWxs IHRoYXQgZm9yIGFsbCAoYXRvbWljKSBtb2Rlc2V0IHdlIHNob3VsZCBiZQpjb3ZlcmVkLiBJIGRp ZCBzZWUgdGhhdCB1cGRhdGVfc3ByaXRlX3dtIGRvIHVwZGF0ZSBzb21lIG9mIHRob3NlIGNhY2hl ZAp2YWx1ZXMgYmVmb3JlIGNhbGxpbmcgaW50ZWxfdXBkYXRlX3dtIHRob3VnaCBhbmQgc28gd29u ZGVyZWQgd2hldGhlciB3ZQpzdGlsbCBuZWVkIHRoaXMgYWxsLiBTb3VuZHMgbGlrZSB3ZSBzdGls bCBkbyA6KAotRGFuaWVsCgo+IAo+IAo+IE1hdHQKPiAKPiA+IAo+ID4gT2ZjIHRoZXJlJ3Mgc3Rp bGwgdGhhdCBpbGsgdy9hIGFyb3VuZCB3aGljaCBuZWVkcyB0byBiZSBtb3ZlZCB0byBhCj4gPiBz dWl0YWJsZSBwbGFjZS4KPiA+IC1EYW5pZWwKPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAyMyArKysrKysrKysrKysrKysrLS0tLS0tLQo+ID4g PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgIDIgKysKPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8IDEyIC0tLS0tLS0tLS0tLQo+ID4g PiAgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPiA+ ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gaW5kZXggNWU4 ZTAxYy4uMTgxYWVkZCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+ID4gPiBAQCAtMTE1NzUsMTMgKzExNTc1LDE3IEBAIHJldHJ5Ogo+ID4gPiAgc3RhdGlj IGJvb2wgaW50ZWxfd21fbmVlZF91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+ ICAJCQkJIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ID4gPiAgewo+ID4gPiAtCS8q IFVwZGF0ZSB3YXRlcm1hcmtzIG9uIHRpbGluZyBjaGFuZ2VzLiAqLwo+ID4gPiArCXN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqbmV3ID0gdG9faW50ZWxfcGxhbmVfc3RhdGUoc3RhdGUpOwo+ID4g PiArCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqY3VyID0gdG9faW50ZWxfcGxhbmVfc3RhdGUo cGxhbmUtPnN0YXRlKTsKPiA+ID4gKwo+ID4gPiArCS8qIFVwZGF0ZSB3YXRlcm1hcmtzIG9uIHRp bGluZyBjaGFuZ2VzIG9yIHNpemUgY2hhbmdlcy4gKi8KPiA+ID4gIAlpZiAoIXBsYW5lLT5zdGF0 ZS0+ZmIgfHwgIXN0YXRlLT5mYiB8fAo+ID4gPiAgCSAgICBwbGFuZS0+c3RhdGUtPmZiLT5tb2Rp ZmllclswXSAhPSBzdGF0ZS0+ZmItPm1vZGlmaWVyWzBdIHx8Cj4gPiA+IC0JICAgIHBsYW5lLT5z dGF0ZS0+cm90YXRpb24gIT0gc3RhdGUtPnJvdGF0aW9uKQo+ID4gPiAtCQlyZXR1cm4gdHJ1ZTsK PiA+ID4gLQo+ID4gPiAtCWlmIChwbGFuZS0+c3RhdGUtPmNydGNfdyAhPSBzdGF0ZS0+Y3J0Y193 KQo+ID4gPiArCSAgICBwbGFuZS0+c3RhdGUtPnJvdGF0aW9uICE9IHN0YXRlLT5yb3RhdGlvbiB8 fAo+ID4gPiArCSAgICBkcm1fcmVjdF93aWR0aCgmbmV3LT5zcmMpICE9IGRybV9yZWN0X3dpZHRo KCZjdXItPnNyYykgfHwKPiA+ID4gKwkgICAgZHJtX3JlY3RfaGVpZ2h0KCZuZXctPnNyYykgIT0g ZHJtX3JlY3RfaGVpZ2h0KCZjdXItPnNyYykgfHwKPiA+ID4gKwkgICAgZHJtX3JlY3Rfd2lkdGgo Jm5ldy0+ZHN0KSAhPSBkcm1fcmVjdF93aWR0aCgmY3VyLT5kc3QpIHx8Cj4gPiA+ICsJICAgIGRy bV9yZWN0X2hlaWdodCgmbmV3LT5kc3QpICE9IGRybV9yZWN0X2hlaWdodCgmY3VyLT5kc3QpKQo+ ID4gPiAgCQlyZXR1cm4gdHJ1ZTsKPiA+ID4gIAo+ID4gPiAgCXJldHVybiBmYWxzZTsKPiA+ID4g QEAgLTExNjQ1LDggKzExNjQ5LDEzIEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFu Z2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ID4gIAkJCSBwbGFuZS0+ YmFzZS5pZCwgd2FzX3Zpc2libGUsIHZpc2libGUsCj4gPiA+ICAJCQkgdHVybl9vZmYsIHR1cm5f b24sIG1vZGVfY2hhbmdlZCk7Cj4gPiA+ICAKPiA+ID4gLQlpZiAoaW50ZWxfd21fbmVlZF91cGRh dGUocGxhbmUsIHBsYW5lX3N0YXRlKSkKPiA+ID4gLQkJaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0 ZV93bSA9IHRydWU7Cj4gPiA+ICsJaWYgKGludGVsX3dtX25lZWRfdXBkYXRlKHBsYW5lLCBwbGFu ZV9zdGF0ZSkpIHsKPiA+ID4gKwkJaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX09W RVJMQVkpCj4gPiA+ICsJCQlpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3Nwcml0ZV93YXRlcm1h cmtzIHw9Cj4gPiA+ICsJCQkJMSA8PCBpOwo+ID4gPiArCQllbHNlCj4gPiA+ICsJCQlpbnRlbF9j cnRjLT5hdG9taWMudXBkYXRlX3dtID0gdHJ1ZTsKPiA+ID4gKwl9Cj4gPiA+ICAKPiA+ID4gIAlz d2l0Y2ggKHBsYW5lLT50eXBlKSB7Cj4gPiA+ICAJY2FzZSBEUk1fUExBTkVfVFlQRV9QUklNQVJZ Ogo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+ID4gaW5kZXggNGQzY2I3MC4uMjQ3MGVk ZSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiA+IEBAIC0zNzUwLDYg KzM3NTAsNyBAQCB2b2lkIGludGVsX3VwZGF0ZV93YXRlcm1hcmtzKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiA+ID4gIHsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwo+ID4gPiAgCj4gPiA+ICsJV0FSTl9PTihpcnFzX2Rp c2FibGVkKCkpOwo+ID4gPiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20pCj4gPiA+ ICAJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bShjcnRjKTsKPiA+ID4gIH0KPiA+ID4gQEAg LTM3NzAsNiArMzc3MSw3IEBAIHZvaWQgaW50ZWxfdXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gPiAgCXVuc2lnbmVkIGludCBkc3RfaCA9IGRybV9y ZWN0X2hlaWdodCgmc3RhdGUtPmRzdCk7Cj4gPiA+ICAJYm9vbCBzY2FsZWQgPSAoc3JjX3cgIT0g ZHN0X3cgfHwgc3JjX2ggIT0gZHN0X2gpOwo+ID4gPiAgCj4gPiA+ICsJV0FSTl9PTihpcnFzX2Rp c2FibGVkKCkpOwo+ID4gPiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfc3ByaXRlX3dt KQo+ID4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfc3ByaXRlX3dtKHBsYW5lLCBjcnRj LAo+ID4gPiAgCQkJCQkJICAgc3ByaXRlX3dpZHRoLCBzcHJpdGVfaGVpZ2h0LAo+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4gPiBpbmRleCBiNjI3MDY3Li5jZTJmYTkyIDEw MDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4gPiBAQCAtMTk5 LDggKzE5OSw2IEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHJtX3BsYW5l LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAJcm90YXRpb24gPSBkcm1fcGxhbmUtPnN0 YXRlLT5yb3RhdGlvbjsKPiA+ID4gIAlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9yb3RhdGlv bihyb3RhdGlvbik7Cj4gPiA+ICAKPiA+ID4gLQlpbnRlbF91cGRhdGVfc3ByaXRlX3dhdGVybWFy a3MoZHJtX3BsYW5lLCBjcnRjKTsKPiA+ID4gLQo+ID4gPiAgCXN0cmlkZV9kaXYgPSBpbnRlbF9m Yl9zdHJpZGVfYWxpZ25tZW50KGRldiwgZmItPm1vZGlmaWVyWzBdLAo+ID4gPiAgCQkJCQkgICAg ICAgZmItPnBpeGVsX2Zvcm1hdCk7Cj4gPiA+ICAKPiA+ID4gQEAgLTI4Miw4ICsyODAsNiBAQCBz a2xfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiA+ID4gIAo+ID4gPiAgCUk5MTVfV1JJVEUoUExBTkVfU1VSRihwaXBlLCBwbGFu ZSksIDApOwo+ID4gPiAgCVBPU1RJTkdfUkVBRChQTEFORV9TVVJGKHBpcGUsIHBsYW5lKSk7Cj4g PiA+IC0KPiA+ID4gLQlpbnRlbF91cGRhdGVfc3ByaXRlX3dhdGVybWFya3MoZHBsYW5lLCBjcnRj KTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAgc3RhdGljIHZvaWQKPiA+ID4gQEAgLTM5OSw4ICsz OTUsNiBAQCB2bHZfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0 IGRybV9jcnRjICpjcnRjLAo+ID4gPiAgCWlmIChvYmotPnRpbGluZ19tb2RlICE9IEk5MTVfVElM SU5HX05PTkUpCj4gPiA+ICAJCXNwcmN0bCB8PSBTUF9USUxFRDsKPiA+ID4gIAo+ID4gPiAtCWlu dGVsX3VwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJrcyhkcGxhbmUsIGNydGMpOwo+ID4gPiAtCj4gPiA+ ICAJLyogU2l6ZXMgYXJlIDAgYmFzZWQgKi8KPiA+ID4gIAlzcmNfdy0tOwo+ID4gPiAgCXNyY19o LS07Cj4gPiA+IEBAIC00NjUsOCArNDU5LDYgQEAgdmx2X2Rpc2FibGVfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gPiA+ICAKPiA+ID4gIAlJ OTE1X1dSSVRFKFNQU1VSRihwaXBlLCBwbGFuZSksIDApOwo+ID4gPiAgCVBPU1RJTkdfUkVBRChT UFNVUkYocGlwZSwgcGxhbmUpKTsKPiA+ID4gLQo+ID4gPiAtCWludGVsX3VwZGF0ZV9zcHJpdGVf d2F0ZXJtYXJrcyhkcGxhbmUsIGNydGMpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICBzdGF0aWMg dm9pZAo+ID4gPiBAQCAtNTMwLDggKzUyMiw2IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAlpZiAoSVNfSEFT V0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChkZXYpKQo+ID4gPiAgCQlzcHJjdGwgfD0gU1BSSVRF X1BJUEVfQ1NDX0VOQUJMRTsKPiA+ID4gIAo+ID4gPiAtCWludGVsX3VwZGF0ZV9zcHJpdGVfd2F0 ZXJtYXJrcyhwbGFuZSwgY3J0Yyk7Cj4gPiA+IC0KPiA+ID4gIAkvKiBTaXplcyBhcmUgMCBiYXNl ZCAqLwo+ID4gPiAgCXNyY193LS07Cj4gPiA+ICAJc3JjX2gtLTsKPiA+ID4gQEAgLTY2NSw4ICs2 NTUsNiBAQCBpbGtfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gPiA+ICAJaWYgKElTX0dFTjYoZGV2KSkKPiA+ID4gIAkJZHZzY250 ciB8PSBEVlNfVFJJQ0tMRV9GRUVEX0RJU0FCTEU7IC8qIG11c3QgZGlzYWJsZSAqLwo+ID4gPiAg Cj4gPiA+IC0JaW50ZWxfdXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKHBsYW5lLCBjcnRjKTsKPiA+ ID4gLQo+ID4gPiAgCS8qIFNpemVzIGFyZSAwIGJhc2VkICovCj4gPiA+ICAJc3JjX3ctLTsKPiA+ ID4gIAlzcmNfaC0tOwo+ID4gPiAtLSAKPiA+ID4gMi4xLjQKPiA+ID4gCj4gPiA+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiA+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiBo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4g PiAKPiA+IC0tIAo+ID4gRGFuaWVsIFZldHRlcgo+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVs IENvcnBvcmF0aW9uCj4gPiBodHRwOi8vYmxvZy5mZndsbC5jaAo+IAo+IC0tIAo+IE1hdHQgUm9w ZXIKPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgo+IElvVEcgUGxhdGZvcm0gRW5hYmxpbmcg JiBEZXZlbG9wbWVudAo+IEludGVsIENvcnBvcmF0aW9uCj4gKDkxNikgMzU2LTI3OTUKCi0tIApE YW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8v YmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=