From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 2/2] drm/i915: Update sprite watermarks outside vblank evasion Date: Tue, 23 Jun 2015 07:29:58 -0700 Message-ID: <20150623142957.GB28863@intel.com> 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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 480C26E05D for ; Tue, 23 Jun 2015 07:30:05 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150623073450.GP25769@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdW4gMjMsIDIwMTUgYXQgMDk6MzQ6NTBBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBNb24sIEp1biAyMiwgMjAxNSBhdCAwNjozMDozM1BNIC0wNzAwLCBNYXR0IFJv cGVyIHdyb3RlOgo+ID4gV2UgbmV2ZXIgcmVtb3ZlZCB0aGUgc3ByaXRlIHdhdGVybWFyayB1cGRh dGVzIGZyb20gb3VyIGxvdy1sZXZlbAo+ID4gZm9vX3VwZGF0ZV9wbGFuZSgpIGZ1bmN0aW9uczsg c2luY2Ugb3VyIGhhcmR3YXJlIHVwZGF0ZXMgaGFwcGVuIHVuZGVyCj4gPiB2YmxhbmsgZXZhc2lv biwgd2UncmUgbm90IHN1cHBvc2VkIHRvIGJlIGNhbGxpbmcgcG90ZW50aWFsbHkgc2xlZXBpbmcK PiA+IGZ1bmN0aW9ucyB0aGVyZSAoc2luY2UgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQpLiAgV2Ug ZG8gYWxyZWFkeSBoYXZlIGEKPiA+IG1lY2hhbmlzbSB0aGF0J3Mgc3VwcG9zZWQgdG8gYmUgdXNl ZCB0byB1cGRhdGUgc3ByaXRlIHdhdGVybWFya3MgaW4gdGhlCj4gPiBwb3N0LWV2YXNpb24gZnVu Y3Rpb24gaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoKSwgYnV0IGF0IHRoZSBtb21lbnQgaXQncwo+ ID4gb25seSBiZWluZyB1c2VkIGZvciB1cGRhdGVzIGNhdXNlZCBieSBwbGFuZSBkaXNhYmxlcy4K PiA+IAo+ID4gVG8gZml4IHRoaXMgb3ZlcnNpZ2h0IHdlIG5lZWQgdG8gbWFrZSBhIGZldyBjaGFu Z2VzOgo+ID4gCj4gPiAgKiBXaGVuIGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoKSBj YWxscyBpbnRlbF93bV9uZWVkX3VwZGF0ZSgpCj4gPiAgICB0byBkZXRlcm1pbmUgd2hldGhlciB3 YXRlcm1hcmtzIG5lZWQgYW4gdXBkYXRlLCB3ZSBuZWVkIHRvIHNldCB0aGUKPiA+ICAgICdhdG9t aWMudXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzJyBmbGFnIHJhdGhlciB0aGFuIHRoZQo+ID4gICAg J2F0b21pYy51cGRhdGVfd20nIGZsYWcgd2hlbiB0aGUgcGxhbmUgaW4gcXVlc3Rpb24gaXMgYSBz cHJpdGUuICBTb21lCj4gPiAgICBwbGF0Zm9ybXMgZG9uJ3QgY2FyZSBhYm91dCB0aGlzIGNoYW5n ZSBzaW5jZSB0aGUgdHdvIHR5cGVzIG9mIHVwZGF0ZQo+ID4gICAgZG8gdGhlIHNhbWUgdGhpbmcs IGJ1dCBzb21lIHBsYXRmb3JtcyAoZS5nLiwgSUxLLXN0eWxlIHdhdGVybWFya3MpCj4gPiAgICBu ZWVkIHRvIHNwZWNpZmljYWxseSB1c2UgdGhlIHNwcml0ZSB1cGRhdGUgZnVuY3Rpb24gdG8gdXBk YXRlIGNhY2hlZAo+ID4gICAgd2F0ZXJtYXJrIHBhcmFtZXRlcnMuCj4gPiAKPiA+ICAqIGludGVs X3dtX25lZWRfdXBkYXRlKCkgbmVlZHMgdG8gYWxzbyBsb29rIGZvciBwbGFuZSBzaXplIGNoYW5n ZXMKPiA+ICAgIChwcmV2aW91c2x5IGl0IG9ubHkgY2hlY2tlZCB0aWxpbmcgJiByb3RhdGlvbiku Cj4gPiAKPiA+IFdpdGggdGhlIGFib3ZlIGNoYW5nZXMsIHRoZSBuZWVkIGZvciBzcHJpdGUgd2F0 ZXJtYXJrIHVwZGF0ZXMgc2hvdWxkIGJlCj4gPiBwcm9wZXJseSBmbGFnZ2VkIGF0IGF0b21pYyAn Y2hlY2snIHRpbWUgYW5kIGhhbmRsZWQgYXQgJ2NvbW1pdCcgdGltZSBpbgo+ID4gcG9zdC1ldmFz aW9uLCBzbyB3ZSBjYW4gZHJvcCB0aGUgZGlyZWN0IGNhbGxzIHRvCj4gPiBpbnRlbF91cGRhdGVf c3ByaXRlX3dhdGVybWFya3MoKSBmcm9tIGFsbCBvZiB0aGUKPiA+IGludGVsX3BsYW5lLT51cGRh dGVfcGxhbmUoKSBoYW5kbGVycy4gIFdlJ2xsIGFsc28gdG9zcyBhCj4gPiBXQVJOX09OKGlycXNf ZGlzYWJsZWQoKSkgaW50byB0aGUgd2F0ZXJtYXJrIHVwZGF0ZSBmdW5jdGlvbnMgdG8gYXZvaWQK PiA+IHN1Y2ggbWlzdGFrZXMgaW4gdGhlIGZ1dHVyZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTog TWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiAKPiBXaHkgZG8gZXZlbiBz dGlsbCBuZWVkIGEgc2VwYXJhdGUgc3ByaXRlIHdtIHVwZGF0ZSBob29rcz8gQXJlbid0IHdlIHll dAo+IHJlY29tcHV0aW5nIHdtIHZhbHVlcyBmb3IgYWxsIHBsYW5lcyBpZiBzb21ldGhpbmcgY2hh bmdlcywgdGhlbiBkaWZmaW5nCj4gdGhlbSB3aXRoIHRoZSBjdXJyZW50IG9uZSBhbmQgdXBkYXRp bmcgaWYgYW55dGhpbmcgY2hhbmdlZD8gVGhhdCBzZWVtcyB0bwo+IGJlIHdoYXQgdXBkYXRlX3Nw cml0ZV93bSBlc3NlbnRpYWxseSBkb2VzLCBleGNlcHQgaXQncyBwcmUtYXRvbWljIGFuZAo+IG9w ZW4tY29kZXMgdGhlIHVwZGF0ZXMgLi4uCgpTb21lIHBsYXRmb3JtcyBzdGFnZSBhIGNvcHkgb2Yg cGxhbmUvcGlwZSBzdGF0ZSBpbiAnd20gcGFyYW1ldGVyJwpzdHJ1Y3R1cmVzIGFuZCBvbmx5IHVw ZGF0ZSB0aGUgcGlwZSB3bSBwYXJhbXMgd2l0aCB0aGUgbmV3IHBsYW5lIHZhbHVlcwp3aGVuIHVw ZGF0ZV9zcHJpdGVfd20gaXMgY2FsbGVkLiAgVGhhdCdzIGRlZmluaXRlbHkgc29tZXRoaW5nIG15 IG1haW4Kd2F0ZXJtYXJrIHNlcmllcyBraWxscyBvZmYsIGJ1dCB1bnRpbCB3ZSBnZXQgdG8gdGhh dCBwb2ludCBhbmQgcmVtb3ZlCnRoZSBleHRyYSBzdGF0ZSBzdGFnaW5nIGluICdwYXJhbXMnIEkg dGhpbmsgd2Ugc3RpbGwgbmVlZCB0byBtYWtlIHN1cmUKdGhlIHVwZGF0ZV9zcHJpdGVfd20gaXMg Y2FsbGVkIGFwcHJvcHJpYXRlbHkgdG8gbWFrZSBzdXJlIHdhdGVybWFya3MgdXNlCnRoZSByaWdo dCB2YWx1ZXMgb24gYWxsIHBsYXRmb3Jtcy4gIEkgZmlndXJlZCB0aGVzZSB0d28gcGF0Y2hlcyB3 ZXJlIGEKcXVpY2sgZml4IGZvciBhIGtub3duIGJ1ZyB3aGlsZSB3ZSBnZXQgdGhlIG1haW4gd2F0 ZXJtYXJrIHNlcmllcwpoYW1tZXJlZCBvdXQuCgoKTWF0dAoKPiAKPiBPZmMgdGhlcmUncyBzdGls bCB0aGF0IGlsayB3L2EgYXJvdW5kIHdoaWNoIG5lZWRzIHRvIGJlIG1vdmVkIHRvIGEKPiBzdWl0 YWJsZSBwbGFjZS4KPiAtRGFuaWVsCj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCAyMyArKysrKysrKysrKysrKysrLS0tLS0tLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICB8ICAyICsrCj4gPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMTIgLS0tLS0tLS0tLS0tCj4gPiAgMyBmaWxlcyBjaGFu Z2VkLCAxOCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggNWU4ZTAxYy4uMTgxYWVkZCAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAtMTE1NzUsMTMgKzEx NTc1LDE3IEBAIHJldHJ5Ogo+ID4gIHN0YXRpYyBib29sIGludGVsX3dtX25lZWRfdXBkYXRlKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gIAkJCQkgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq c3RhdGUpCj4gPiAgewo+ID4gLQkvKiBVcGRhdGUgd2F0ZXJtYXJrcyBvbiB0aWxpbmcgY2hhbmdl cy4gKi8KPiA+ICsJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpuZXcgPSB0b19pbnRlbF9wbGFu ZV9zdGF0ZShzdGF0ZSk7Cj4gPiArCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqY3VyID0gdG9f aW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKTsKPiA+ICsKPiA+ICsJLyogVXBkYXRlIHdh dGVybWFya3Mgb24gdGlsaW5nIGNoYW5nZXMgb3Igc2l6ZSBjaGFuZ2VzLiAqLwo+ID4gIAlpZiAo IXBsYW5lLT5zdGF0ZS0+ZmIgfHwgIXN0YXRlLT5mYiB8fAo+ID4gIAkgICAgcGxhbmUtPnN0YXRl LT5mYi0+bW9kaWZpZXJbMF0gIT0gc3RhdGUtPmZiLT5tb2RpZmllclswXSB8fAo+ID4gLQkgICAg cGxhbmUtPnN0YXRlLT5yb3RhdGlvbiAhPSBzdGF0ZS0+cm90YXRpb24pCj4gPiAtCQlyZXR1cm4g dHJ1ZTsKPiA+IC0KPiA+IC0JaWYgKHBsYW5lLT5zdGF0ZS0+Y3J0Y193ICE9IHN0YXRlLT5jcnRj X3cpCj4gPiArCSAgICBwbGFuZS0+c3RhdGUtPnJvdGF0aW9uICE9IHN0YXRlLT5yb3RhdGlvbiB8 fAo+ID4gKwkgICAgZHJtX3JlY3Rfd2lkdGgoJm5ldy0+c3JjKSAhPSBkcm1fcmVjdF93aWR0aCgm Y3VyLT5zcmMpIHx8Cj4gPiArCSAgICBkcm1fcmVjdF9oZWlnaHQoJm5ldy0+c3JjKSAhPSBkcm1f cmVjdF9oZWlnaHQoJmN1ci0+c3JjKSB8fAo+ID4gKwkgICAgZHJtX3JlY3Rfd2lkdGgoJm5ldy0+ ZHN0KSAhPSBkcm1fcmVjdF93aWR0aCgmY3VyLT5kc3QpIHx8Cj4gPiArCSAgICBkcm1fcmVjdF9o ZWlnaHQoJm5ldy0+ZHN0KSAhPSBkcm1fcmVjdF9oZWlnaHQoJmN1ci0+ZHN0KSkKPiA+ICAJCXJl dHVybiB0cnVlOwo+ID4gIAo+ID4gIAlyZXR1cm4gZmFsc2U7Cj4gPiBAQCAtMTE2NDUsOCArMTE2 NDksMTMgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoc3RydWN0IGRybV9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gIAkJCSBwbGFuZS0+YmFzZS5pZCwgd2FzX3Zpc2li bGUsIHZpc2libGUsCj4gPiAgCQkJIHR1cm5fb2ZmLCB0dXJuX29uLCBtb2RlX2NoYW5nZWQpOwo+ ID4gIAo+ID4gLQlpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUocGxhbmUsIHBsYW5lX3N0YXRlKSkK PiA+IC0JCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfd20gPSB0cnVlOwo+ID4gKwlpZiAoaW50 ZWxfd21fbmVlZF91cGRhdGUocGxhbmUsIHBsYW5lX3N0YXRlKSkgewo+ID4gKwkJaWYgKHBsYW5l LT50eXBlID09IERSTV9QTEFORV9UWVBFX09WRVJMQVkpCj4gPiArCQkJaW50ZWxfY3J0Yy0+YXRv bWljLnVwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJrcyB8PQo+ID4gKwkJCQkxIDw8IGk7Cj4gPiArCQll bHNlCj4gPiArCQkJaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0ZV93bSA9IHRydWU7Cj4gPiArCX0K PiA+ICAKPiA+ICAJc3dpdGNoIChwbGFuZS0+dHlwZSkgewo+ID4gIAljYXNlIERSTV9QTEFORV9U WVBFX1BSSU1BUlk6Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+IGluZGV4IDRkM2NiNzAu LjI0NzBlZGUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiBAQCAtMzc1MCw2 ICszNzUwLDcgQEAgdm9pZCBpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBj cnRjLT5kZXYtPmRldl9wcml2YXRlOwo+ID4gIAo+ID4gKwlXQVJOX09OKGlycXNfZGlzYWJsZWQo KSk7Cj4gPiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20pCj4gPiAgCQlkZXZfcHJp di0+ZGlzcGxheS51cGRhdGVfd20oY3J0Yyk7Cj4gPiAgfQo+ID4gQEAgLTM3NzAsNiArMzc3MSw3 IEBAIHZvaWQgaW50ZWxfdXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAo+ID4gIAl1bnNpZ25lZCBpbnQgZHN0X2ggPSBkcm1fcmVjdF9oZWlnaHQoJnN0YXRl LT5kc3QpOwo+ID4gIAlib29sIHNjYWxlZCA9IChzcmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBk c3RfaCk7Cj4gPiAgCj4gPiArCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKPiA+ICAJaWYgKGRl dl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9zcHJpdGVfd20pCj4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxh eS51cGRhdGVfc3ByaXRlX3dtKHBsYW5lLCBjcnRjLAo+ID4gIAkJCQkJCSAgIHNwcml0ZV93aWR0 aCwgc3ByaXRlX2hlaWdodCwKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPiBp bmRleCBiNjI3MDY3Li5jZTJmYTkyIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nw cml0ZS5jCj4gPiBAQCAtMTk5LDggKzE5OSw2IEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqZHJtX3BsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCXJvdGF0aW9u ID0gZHJtX3BsYW5lLT5zdGF0ZS0+cm90YXRpb247Cj4gPiAgCXBsYW5lX2N0bCB8PSBza2xfcGxh bmVfY3RsX3JvdGF0aW9uKHJvdGF0aW9uKTsKPiA+ICAKPiA+IC0JaW50ZWxfdXBkYXRlX3Nwcml0 ZV93YXRlcm1hcmtzKGRybV9wbGFuZSwgY3J0Yyk7Cj4gPiAtCj4gPiAgCXN0cmlkZV9kaXYgPSBp bnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KGRldiwgZmItPm1vZGlmaWVyWzBdLAo+ID4gIAkJCQkJ ICAgICAgIGZiLT5waXhlbF9mb3JtYXQpOwo+ID4gIAo+ID4gQEAgLTI4Miw4ICsyODAsNiBAQCBz a2xfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiA+ICAKPiA+ICAJSTkxNV9XUklURShQTEFORV9TVVJGKHBpcGUsIHBsYW5lKSwg MCk7Cj4gPiAgCVBPU1RJTkdfUkVBRChQTEFORV9TVVJGKHBpcGUsIHBsYW5lKSk7Cj4gPiAtCj4g PiAtCWludGVsX3VwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJrcyhkcGxhbmUsIGNydGMpOwo+ID4gIH0K PiA+ICAKPiA+ICBzdGF0aWMgdm9pZAo+ID4gQEAgLTM5OSw4ICszOTUsNiBAQCB2bHZfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ ID4gIAlpZiAob2JqLT50aWxpbmdfbW9kZSAhPSBJOTE1X1RJTElOR19OT05FKQo+ID4gIAkJc3By Y3RsIHw9IFNQX1RJTEVEOwo+ID4gIAo+ID4gLQlpbnRlbF91cGRhdGVfc3ByaXRlX3dhdGVybWFy a3MoZHBsYW5lLCBjcnRjKTsKPiA+IC0KPiA+ICAJLyogU2l6ZXMgYXJlIDAgYmFzZWQgKi8KPiA+ ICAJc3JjX3ctLTsKPiA+ICAJc3JjX2gtLTsKPiA+IEBAIC00NjUsOCArNDU5LDYgQEAgdmx2X2Rp c2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gPiAgCj4gPiAgCUk5MTVfV1JJVEUoU1BTVVJGKHBpcGUsIHBsYW5lKSwgMCk7Cj4gPiAg CVBPU1RJTkdfUkVBRChTUFNVUkYocGlwZSwgcGxhbmUpKTsKPiA+IC0KPiA+IC0JaW50ZWxfdXBk YXRlX3Nwcml0ZV93YXRlcm1hcmtzKGRwbGFuZSwgY3J0Yyk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0 YXRpYyB2b2lkCj4gPiBAQCAtNTMwLDggKzUyMiw2IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAJaWYgKElTX0hB U1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKPiA+ICAJCXNwcmN0bCB8PSBTUFJJVEVf UElQRV9DU0NfRU5BQkxFOwo+ID4gIAo+ID4gLQlpbnRlbF91cGRhdGVfc3ByaXRlX3dhdGVybWFy a3MocGxhbmUsIGNydGMpOwo+ID4gLQo+ID4gIAkvKiBTaXplcyBhcmUgMCBiYXNlZCAqLwo+ID4g IAlzcmNfdy0tOwo+ID4gIAlzcmNfaC0tOwo+ID4gQEAgLTY2NSw4ICs2NTUsNiBAQCBpbGtfdXBk YXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gPiAgCWlmIChJU19HRU42KGRldikpCj4gPiAgCQlkdnNjbnRyIHw9IERWU19UUklDS0xFX0ZF RURfRElTQUJMRTsgLyogbXVzdCBkaXNhYmxlICovCj4gPiAgCj4gPiAtCWludGVsX3VwZGF0ZV9z cHJpdGVfd2F0ZXJtYXJrcyhwbGFuZSwgY3J0Yyk7Cj4gPiAtCj4gPiAgCS8qIFNpemVzIGFyZSAw IGJhc2VkICovCj4gPiAgCXNyY193LS07Cj4gPiAgCXNyY19oLS07Cj4gPiAtLSAKPiA+IDIuMS40 Cj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cj4gCj4gLS0gCj4gRGFuaWVsIFZldHRlcgo+IFNvZnR3YXJlIEVuZ2luZWVyLCBJ bnRlbCBDb3Jwb3JhdGlvbgo+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCgotLSAKTWF0dCBSb3BlcgpH cmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxv cG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK