From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: =?utf-8?q?=5BPATCH_v1=C2=BD_07/13=5D_drm/i915/dp=3A_c?= =?utf-8?q?ache_common_rates_with_sink_rates?= Date: Thu, 02 Feb 2017 10:38:56 +0200 Message-ID: <871svh0yxr.fsf@intel.com> References: <1485987981.31742.16.camel@dk-H97M-D3H> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 501DF6E042 for ; Thu, 2 Feb 2017 08:38:58 +0000 (UTC) In-Reply-To: <1485987981.31742.16.camel@dk-H97M-D3H> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Pandiyan, Dhinakaran" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAwMiBGZWIgMjAxNywgIlBhbmRpeWFuLCBEaGluYWthcmFuIiA8ZGhpbmFrYXJhbi5w YW5kaXlhbkBpbnRlbC5jb20+IHdyb3RlOgo+IE9uIFRodSwgMjAxNy0wMS0yNiBhdCAyMTo0NCAr MDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IE5vdyB0aGF0IHNvdXJjZSByYXRlcyBhcmUgc3Rh dGljIGFuZCBzaW5rIHJhdGVzIGFyZSB1cGRhdGVkIHdoZW5ldmVyCj4+IERQQ0QgaXMgdXBkYXRl ZCwgd2UgY2FuIGRvIGFuZCBjYWNoZSB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZW0gd2hlbmV2ZXIK Pj4gc2luayByYXRlcyBhcmUgdXBkYXRlZC4gVGhpcyByZWR1Y2VzIGNvZGUgY29tcGxleGl0eSwg YXMgd2UgZG9uJ3QgaGF2ZQo+PiB0byBrZWVwIGNhbGxpbmcgdGhlIGZ1bmN0aW9ucyB0byBpbnRl cnNlY3QuIFdlIGFsc28gZ2V0IHJpZCBvZiBzZXZlcmFsCj4+IGNvbW1vbiByYXRlcyBhcnJheXMg b24gc3RhY2suCj4+IAo+PiBMaW1pdGluZyB0aGUgY29tbW9uIHJhdGVzIGJ5IGEgbWF4IGxpbmsg cmF0ZSBjYW4gYmUgZG9uZSBieSBwaWNraW5nIHRoZQo+PiBmaXJzdCBOIGVsZW1lbnRzIG9mIHRo ZSBjYWNoZWQgY29tbW9uIHJhdGVzLgo+PiAKPj4gQ2M6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5k Lm5hdmFyZUBpbnRlbC5jb20+Cj4+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1 bGFAaW50ZWwuY29tPgo+PiAtLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg IHwgNjYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggfCAgMyArKwo+PiAgMiBmaWxlcyBjaGFuZ2VkLCA0 MCBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKPj4gCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYwo+PiBpbmRleCBmMTYzMzkxZTYxZmEuLjdkM2ZmOTIwMDBjMyAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4+IEBAIC0yODMsMTcgKzI4MywyOSBAQCBzdGF0aWMgaW50IGludGVs X2RwX2ZpbmRfcmF0ZShjb25zdCBpbnQgKnJhdGVzLCBpbnQgbGVuLCBpbnQgcmF0ZSkKPj4gIAly ZXR1cm4gLTE7Cj4+ICB9Cj4+ICAKPj4gLXN0YXRpYyBpbnQgaW50ZWxfZHBfY29tbW9uX3JhdGVz KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4+IC0JCQkJIGludCAqY29tbW9uX3JhdGVzKQo+ PiArc3RhdGljIHZvaWQgaW50ZWxfZHBfc2V0X2NvbW1vbl9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQo+PiAgewo+PiAtCWludCBtYXhfcmF0ZSA9IGludGVsX2RwLT5tYXhfc2lua19s aW5rX3JhdGU7Cj4+IC0JaW50IGksIGNvbW1vbl9sZW47Cj4+ICsJV0FSTl9PTighaW50ZWxfZHAt Pm51bV9zb3VyY2VfcmF0ZXMgfHwgIWludGVsX2RwLT5udW1fc2lua19yYXRlcyk7Cj4+ICAKPj4g LQljb21tb25fbGVuID0gaW50ZXJzZWN0X3JhdGVzKGludGVsX2RwLT5zb3VyY2VfcmF0ZXMsCj4+ IC0JCQkJICAgICBpbnRlbF9kcC0+bnVtX3NvdXJjZV9yYXRlcywKPj4gLQkJCQkgICAgIGludGVs X2RwLT5zaW5rX3JhdGVzLAo+PiAtCQkJCSAgICAgaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzLAo+ PiAtCQkJCSAgICAgY29tbW9uX3JhdGVzKTsKPj4gKwlpbnRlbF9kcC0+bnVtX2NvbW1vbl9yYXRl cyA9IGludGVyc2VjdF9yYXRlcyhpbnRlbF9kcC0+c291cmNlX3JhdGVzLAo+PiArCQkJCQkJICAg ICBpbnRlbF9kcC0+bnVtX3NvdXJjZV9yYXRlcywKPj4gKwkJCQkJCSAgICAgaW50ZWxfZHAtPnNp bmtfcmF0ZXMsCj4+ICsJCQkJCQkgICAgIGludGVsX2RwLT5udW1fc2lua19yYXRlcywKPj4gKwkJ CQkJCSAgICAgaW50ZWxfZHAtPmNvbW1vbl9yYXRlcyk7Cj4KPgo+IERvIHdlIG5lZWQgdG8gcGFz cyBhbGwgdGhlc2UgYXJncyBnaXZlbiB0aGF0IGFsbCBvZiB0aGVtIGFyZSBub3cKPiBhdmFpbGFi bGUgaW4gaW50ZWxfZHAgYW5kIGludGVyc2VjdF9yYXRlcygpIGlzIG5vdCB1c2VkIGFueXdoZXJl IGVsc2U/IAoKTXkgcmVhc29uaW5nIGlzIHRoYXQgd2l0aCB0aGlzIGludGVyZmFjZSBpbnRlcnNl Y3RfcmF0ZXMgcmVtYWlucwpnZW5lcmljLCBpbmRlcGVuZGVudCBvZiBpbnRlbF9kcCBvciBhbnl0 aGluZyBlbHNlLCBhbmQgeW91IGNhbiBiZSBzdXJlCml0J3Mgc3RhdGVsZXNzLgoKQlIsCkphbmku CgoKPgo+IC1ESwo+PiArCj4+ICsJLyogUGFyYW5vaWEsIHRoZXJlIHNob3VsZCBhbHdheXMgYmUg c29tZXRoaW5nIGluIGNvbW1vbi4gKi8KPj4gKwlpZiAoV0FSTl9PTihpbnRlbF9kcC0+bnVtX2Nv bW1vbl9yYXRlcyA9PSAwKSkgewo+PiArCQlpbnRlbF9kcC0+Y29tbW9uX3JhdGVzWzBdID0gZGVm YXVsdF9yYXRlc1swXTsKPj4gKwkJaW50ZWxfZHAtPm51bV9jb21tb25fcmF0ZXMgPSAxOwo+PiAr CX0KPj4gK30KPj4gKwo+PiArLyogZ2V0IGxlbmd0aCBvZiBjb21tb24gcmF0ZXMgcG90ZW50aWFs bHkgbGltaXRlZCBieSBtYXhfcmF0ZSAqLwo+PiArc3RhdGljIGludCBpbnRlbF9kcF9jb21tb25f bGVuX3JhdGVfbGltaXQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPj4gKwkJCQkJICBpbnQg bWF4X3JhdGUpCj4+ICt7Cj4+ICsJY29uc3QgaW50ICpjb21tb25fcmF0ZXMgPSBpbnRlbF9kcC0+ Y29tbW9uX3JhdGVzOwo+PiArCWludCBpLCBjb21tb25fbGVuID0gaW50ZWxfZHAtPm51bV9jb21t b25fcmF0ZXM7Cj4+ICAKPj4gIAkvKiBMaW1pdCByZXN1bHRzIGJ5IHBvdGVudGlhbGx5IHJlZHVj ZWQgbWF4IHJhdGUgKi8KPj4gIAlmb3IgKGkgPSAwOyBpIDwgY29tbW9uX2xlbjsgaSsrKSB7Cj4+ IEBAIC0zMDQsMjUgKzMxNiwyMyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2NvbW1vbl9yYXRlcyhz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+PiAgCXJldHVybiAwOwo+PiAgfQo+PiAgCj4+IC1z dGF0aWMgaW50IGludGVsX2RwX2xpbmtfcmF0ZV9pbmRleChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLAo+PiAtCQkJCSAgICBpbnQgKmNvbW1vbl9yYXRlcywgaW50IGxpbmtfcmF0ZSkKPj4gK3N0 YXRpYyBpbnQgaW50ZWxfZHBfbGlua19yYXRlX2luZGV4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAsIGludCBsaW5rX3JhdGUpCj4+ICB7Cj4+ICAJaW50IGNvbW1vbl9sZW47Cj4+ICAKPj4gLQlj b21tb25fbGVuID0gaW50ZWxfZHBfY29tbW9uX3JhdGVzKGludGVsX2RwLCBjb21tb25fcmF0ZXMp Owo+PiArCWNvbW1vbl9sZW4gPSBpbnRlbF9kcF9jb21tb25fbGVuX3JhdGVfbGltaXQoaW50ZWxf ZHAsCj4+ICsJCQkJCQkgICAgaW50ZWxfZHAtPm1heF9zaW5rX2xpbmtfcmF0ZSk7Cj4+ICAKPj4g LQlyZXR1cm4gaW50ZWxfZHBfZmluZF9yYXRlKGNvbW1vbl9yYXRlcywgY29tbW9uX2xlbiwgbGlu a19yYXRlKTsKPj4gKwlyZXR1cm4gaW50ZWxfZHBfZmluZF9yYXRlKGludGVsX2RwLT5jb21tb25f cmF0ZXMsIGNvbW1vbl9sZW4sIGxpbmtfcmF0ZSk7Cj4+ICB9Cj4+ICAKPj4gIGludCBpbnRlbF9k cF9nZXRfbGlua190cmFpbl9mYWxsYmFja192YWx1ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwKPj4gIAkJCQkJICAgIGludCBsaW5rX3JhdGUsIHVpbnQ4X3QgbGFuZV9jb3VudCkKPj4gIHsK Pj4gLQlpbnQgY29tbW9uX3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdOwo+PiArCWNvbnN0 IGludCAqY29tbW9uX3JhdGVzID0gaW50ZWxfZHAtPmNvbW1vbl9yYXRlczsKPj4gIAlpbnQgbGlu a19yYXRlX2luZGV4Owo+PiAgCj4+IC0JbGlua19yYXRlX2luZGV4ID0gaW50ZWxfZHBfbGlua19y YXRlX2luZGV4KGludGVsX2RwLAo+PiAtCQkJCQkJICAgY29tbW9uX3JhdGVzLAo+PiAtCQkJCQkJ ICAgbGlua19yYXRlKTsKPj4gKwlsaW5rX3JhdGVfaW5kZXggPSBpbnRlbF9kcF9saW5rX3JhdGVf aW5kZXgoaW50ZWxfZHAsIGxpbmtfcmF0ZSk7Cj4+ICAJaWYgKGxpbmtfcmF0ZV9pbmRleCA+IDAp IHsKPj4gIAkJaW50ZWxfZHAtPm1heF9zaW5rX2xpbmtfcmF0ZSA9IGNvbW1vbl9yYXRlc1tsaW5r X3JhdGVfaW5kZXggLSAxXTsKPj4gIAkJaW50ZWxfZHAtPm1heF9zaW5rX2xhbmVfY291bnQgPSBs YW5lX2NvdW50Owo+PiBAQCAtMTUwOSw4ICsxNTE5LDYgQEAgc3RhdGljIHZvaWQgc25wcmludGZf aW50X2FycmF5KGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKPj4gIAo+PiAgc3RhdGljIHZvaWQgaW50 ZWxfZHBfcHJpbnRfcmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gIHsKPj4gLQlp bnQgY29tbW9uX2xlbjsKPj4gLQlpbnQgY29tbW9uX3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFU RVNdOwo+PiAgCWNoYXIgc3RyWzEyOF07IC8qIEZJWE1FOiB0b28gYmlnIGZvciBzdGFjaz8gKi8K Pj4gIAo+PiAgCWlmICgoZHJtX2RlYnVnICYgRFJNX1VUX0tNUykgPT0gMCkKPj4gQEAgLTE1MjQs OCArMTUzMiw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByaW50X3JhdGVzKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCj4+ICAJCQkgICBpbnRlbF9kcC0+c2lua19yYXRlcywgaW50ZWxfZHAt Pm51bV9zaW5rX3JhdGVzKTsKPj4gIAlEUk1fREVCVUdfS01TKCJzaW5rIHJhdGVzOiAlc1xuIiwg c3RyKTsKPj4gIAo+PiAtCWNvbW1vbl9sZW4gPSBpbnRlbF9kcF9jb21tb25fcmF0ZXMoaW50ZWxf ZHAsIGNvbW1vbl9yYXRlcyk7Cj4+IC0Jc25wcmludGZfaW50X2FycmF5KHN0ciwgc2l6ZW9mKHN0 ciksIGNvbW1vbl9yYXRlcywgY29tbW9uX2xlbik7Cj4+ICsJc25wcmludGZfaW50X2FycmF5KHN0 ciwgc2l6ZW9mKHN0ciksCj4+ICsJCQkgICBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzLCBpbnRlbF9k cC0+bnVtX2NvbW1vbl9yYXRlcyk7Cj4+ICAJRFJNX0RFQlVHX0tNUygiY29tbW9uIHJhdGVzOiAl c1xuIiwgc3RyKTsKPj4gIH0KPj4gIAo+PiBAQCAtMTU2MywxNCArMTU3MSwxNCBAQCBib29sIGlu dGVsX2RwX3JlYWRfZGVzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAgaW50Cj4+ICBp bnRlbF9kcF9tYXhfbGlua19yYXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICB7Cj4+ IC0JaW50IHJhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdID0ge307Cj4+ICAJaW50IGxlbjsK Pj4gIAo+PiAtCWxlbiA9IGludGVsX2RwX2NvbW1vbl9yYXRlcyhpbnRlbF9kcCwgcmF0ZXMpOwo+ PiArCWxlbiA9IGludGVsX2RwX2NvbW1vbl9sZW5fcmF0ZV9saW1pdChpbnRlbF9kcCwKPj4gKwkJ CQkJICAgICBpbnRlbF9kcC0+bWF4X3NpbmtfbGlua19yYXRlKTsKPj4gIAlpZiAoV0FSTl9PTihs ZW4gPD0gMCkpCj4+ICAJCXJldHVybiAxNjIwMDA7Cj4+ICAKPj4gLQlyZXR1cm4gcmF0ZXNbbGVu IC0gMV07Cj4+ICsJcmV0dXJuIGludGVsX2RwLT5jb21tb25fcmF0ZXNbbGVuIC0gMV07Cj4+ICB9 Cj4+ICAKPj4gIGludCBpbnRlbF9kcF9yYXRlX3NlbGVjdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLCBpbnQgcmF0ZSkKPj4gQEAgLTE2MzksMTEgKzE2NDcsMTIgQEAgaW50ZWxfZHBfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ICAJaW50IGxpbmtfcmF0 ZV9pbmRleDsKPj4gIAlpbnQgYnBwLCBtb2RlX3JhdGU7Cj4+ICAJaW50IGxpbmtfYXZhaWwsIGxp bmtfY2xvY2s7Cj4+IC0JaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXSA9 IHt9Owo+PiArCWNvbnN0IGludCAqY29tbW9uX3JhdGVzID0gaW50ZWxfZHAtPmNvbW1vbl9yYXRl czsKPj4gIAlpbnQgY29tbW9uX2xlbjsKPj4gIAl1aW50OF90IGxpbmtfYncsIHJhdGVfc2VsZWN0 Owo+PiAgCj4+IC0JY29tbW9uX2xlbiA9IGludGVsX2RwX2NvbW1vbl9yYXRlcyhpbnRlbF9kcCwg Y29tbW9uX3JhdGVzKTsKPj4gKwljb21tb25fbGVuID0gaW50ZWxfZHBfY29tbW9uX2xlbl9yYXRl X2xpbWl0KGludGVsX2RwLAo+PiArCQkJCQkJICAgIGludGVsX2RwLT5tYXhfc2lua19saW5rX3Jh dGUpOwo+PiAgCj4+ICAJLyogTm8gY29tbW9uIGxpbmsgcmF0ZXMgYmV0d2VlbiBzb3VyY2UgYW5k IHNpbmsgKi8KPj4gIAlXQVJOX09OKGNvbW1vbl9sZW4gPD0gMCk7Cj4+IEBAIC0xNjgxLDcgKzE2 OTAsNiBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPj4gIAkvKiBVc2UgdmFsdWVzIHJlcXVlc3RlZCBieSBDb21wbGlhbmNlIFRlc3QgUmVx dWVzdCAqLwo+PiAgCWlmIChpbnRlbF9kcC0+Y29tcGxpYW5jZS50ZXN0X3R5cGUgPT0gRFBfVEVT VF9MSU5LX1RSQUlOSU5HKSB7Cj4+ICAJCWxpbmtfcmF0ZV9pbmRleCA9IGludGVsX2RwX2xpbmtf cmF0ZV9pbmRleChpbnRlbF9kcCwKPj4gLQkJCQkJCQkgICBjb21tb25fcmF0ZXMsCj4+ICAJCQkJ CQkJICAgaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF9saW5rX3JhdGUpOwo+PiAgCQlpZiAobGlu a19yYXRlX2luZGV4ID49IDApCj4+ICAJCQltaW5fY2xvY2sgPSBtYXhfY2xvY2sgPSBsaW5rX3Jh dGVfaW5kZXg7Cj4+IEBAIC0zNzI0LDYgKzM3MzIsNyBAQCBpbnRlbF9lZHBfaW5pdF9kcGNkKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAJfSBlbHNlIHsKPj4gIAkJaW50ZWxfZHBfc2V0 X3NpbmtfcmF0ZXMoaW50ZWxfZHApOwo+PiAgCX0KPj4gKwlpbnRlbF9kcF9zZXRfY29tbW9uX3Jh dGVzKGludGVsX2RwKTsKPj4gIAo+PiAgCXJldHVybiB0cnVlOwo+PiAgfQo+PiBAQCAtMzczNiw2 ICszNzQ1LDcgQEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK Pj4gIAkJcmV0dXJuIGZhbHNlOwo+PiAgCj4+ICAJaW50ZWxfZHBfc2V0X3NpbmtfcmF0ZXMoaW50 ZWxfZHApOwo+PiArCWludGVsX2RwX3NldF9jb21tb25fcmF0ZXMoaW50ZWxfZHApOwo+PiAgCj4+ ICAJaWYgKGRybV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIERQX1NJTktfQ09VTlQsCj4+ ICAJCQkgICAgICZpbnRlbF9kcC0+c2lua19jb3VudCwgMSkgPCAwKQo+PiBAQCAtMzk1OCw3ICsz OTY4LDYgQEAgc3RhdGljIHVpbnQ4X3QgaW50ZWxfZHBfYXV0b3Rlc3RfbGlua190cmFpbmluZyhz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAgewo+PiAgCWludCBzdGF0dXMgPSAwOwo+PiAg CWludCBtaW5fbGFuZV9jb3VudCA9IDE7Cj4+IC0JaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQ UE9SVEVEX1JBVEVTXSA9IHt9Owo+PiAgCWludCBsaW5rX3JhdGVfaW5kZXgsIHRlc3RfbGlua19y YXRlOwo+PiAgCXVpbnQ4X3QgdGVzdF9sYW5lX2NvdW50LCB0ZXN0X2xpbmtfYnc7Cj4+ICAJLyog KERQIENUUyAxLjIpCj4+IEBAIC0zOTg3LDcgKzM5OTYsNiBAQCBzdGF0aWMgdWludDhfdCBpbnRl bF9kcF9hdXRvdGVzdF9saW5rX3RyYWluaW5nKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ ICAJLyogVmFsaWRhdGUgdGhlIHJlcXVlc3RlZCBsaW5rIHJhdGUgKi8KPj4gIAl0ZXN0X2xpbmtf cmF0ZSA9IGRybV9kcF9id19jb2RlX3RvX2xpbmtfcmF0ZSh0ZXN0X2xpbmtfYncpOwo+PiAgCWxp bmtfcmF0ZV9pbmRleCA9IGludGVsX2RwX2xpbmtfcmF0ZV9pbmRleChpbnRlbF9kcCwKPj4gLQkJ CQkJCSAgIGNvbW1vbl9yYXRlcywKPj4gIAkJCQkJCSAgIHRlc3RfbGlua19yYXRlKTsKPj4gIAlp ZiAobGlua19yYXRlX2luZGV4IDwgMCkKPj4gIAkJcmV0dXJuIERQX1RFU1RfTkFLOwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBpbmRleCBhZTcyNTllZGE0MjAuLjM1NzhhN2RkNTg0YSAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gQEAgLTkzNiw2ICs5MzYsOSBAQCBz dHJ1Y3QgaW50ZWxfZHAgewo+PiAgCS8qIHNpbmsgcmF0ZXMgYXMgcmVwb3J0ZWQgYnkgRFBfTUFY X0xJTktfUkFURS9EUF9TVVBQT1JURURfTElOS19SQVRFUyAqLwo+PiAgCWludCBudW1fc2lua19y YXRlczsKPj4gIAlpbnQgc2lua19yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXTsKPj4gKwkv KiBpbnRlcnNlY3Rpb24gb2Ygc291cmNlIGFuZCBzaW5rIHJhdGVzICovCj4+ICsJaW50IG51bV9j b21tb25fcmF0ZXM7Cj4+ICsJaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVT XTsKPj4gIAkvKiBNYXggbGFuZSBjb3VudCBmb3IgdGhlIHNpbmsgYXMgcGVyIERQQ0QgcmVnaXN0 ZXJzICovCj4+ICAJdWludDhfdCBtYXhfc2lua19sYW5lX2NvdW50Owo+PiAgCS8qIE1heCBsaW5r IEJXIGZvciB0aGUgc2luayBhcyBwZXIgRFBDRCByZWdpc3RlcnMgKi8KPgoKLS0gCkphbmkgTmlr dWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK