From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH v2 01/14] drm/i915: Store the pipe pixel rate in the crtc state Date: Mon, 23 Jan 2017 11:13:12 +0200 Message-ID: <1485162792.3573.39.camel@gmail.com> References: <20170120182205.8141-1-ville.syrjala@linux.intel.com> <20170120182205.8141-2-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x242.google.com (mail-pf0-x242.google.com [IPv6:2607:f8b0:400e:c00::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D4336E3F6 for ; Mon, 23 Jan 2017 09:13:18 +0000 (UTC) Received: by mail-pf0-x242.google.com with SMTP id y143so9684492pfb.1 for ; Mon, 23 Jan 2017 01:13:18 -0800 (PST) In-Reply-To: <20170120182205.8141-2-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE3LTAxLTIwIGF0IDIwOjIxICswMjAwLCB2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbSB3cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+IAo+IFJhdGhlciB0aGFuIHJlY29tcHR1aW5nIHRoZSBwaXBlIHBpeGVs IHJhdGUgb24gZGVtYW5kIGV2ZXJ3aGVyZSwgbGV0J3MKPiBqdXN0IHN0aWNrIHRoZSBwcmVjb21w dXRlZCB2YWx1ZSBpbnRvIHRoZSBjcnRjIHN0YXRlLgo+IAo+IHYyOiBSZWJhc2UgZHVlIHRvIG1p bl9waXhjbGtbXSBjb2RlIG1vdmVtZW50Cj4gwqDCoMKgwqBEb2N1bWVudCB0aGUgbmV3IHBpeGVs X3JhdGUgc3RydWN0IG1lbWJlciAoQW5kZXIpCj4gwqDCoMKgwqBDb21iaW5lIHZsdi9jaHYgd2l0 aCBiZHcrIGluIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZSgpCj4gCj4gQ2M6IEFuZGVy IENvbnNlbHZhbiBEZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFpbC5jb20+Cj4gU2lnbmVkLW9m Zi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl dmlld2VkLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGNvbnNlbHZhbjJAZ21haWwu Y29tPgoKPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDM2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCj4gLQo+IMKgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmjCoMKgwqDCoMKgfMKgwqA2ICsrKysrKwo+IMKgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZmJjLmPCoMKgwqDCoMKgfMKgwqAzICstLQo+IMKgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uY8KgwqDCoMKgwqDCoHwgMTQgKysrKysrKy0tLS0tLS0KPiDC oDQgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggMGY0MjcyZjk4NjQ4Li5h ODI1MTA3YjM2MmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAg LTcxNjUsNyArNzE2NSw3IEBAIHN0YXRpYyBib29sIHBpcGVfY29uZmlnX3N1cHBvcnRzX2lwcyhz dHJ1Y3QKPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiDCoAnCoCoKPiDCoAnCoCogU2hv dWxkIG1lYXN1cmUgd2hldGhlciB1c2luZyBhIGxvd2VyIGNkY2xrIHcvbyBJUFMKPiDCoAnCoCov Cj4gLQlyZXR1cm4gaWxrX3BpcGVfcGl4ZWxfcmF0ZShwaXBlX2NvbmZpZykgPD0KPiArCXJldHVy biBwaXBlX2NvbmZpZy0+cGl4ZWxfcmF0ZSA8PQo+IMKgCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2Zy ZXEgKiA5NSAvIDEwMDsKPiDCoH0KPiDCoAo+IEBAIC03MTg5LDYgKzcxODksMTkgQEAgc3RhdGlj IGJvb2wgaW50ZWxfY3J0Y19zdXBwb3J0c19kb3VibGVfd2lkZShjb25zdAo+IHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjKQo+IMKgCQkoY3J0Yy0+cGlwZSA9PSBQSVBFX0EgfHwgSVNfSTkxNUcoZGV2 X3ByaXYpKTsKPiDCoH0KPiDCoAo+ICtzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2NvbXB1dGVfcGl4 ZWxfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJh c2UuY3J0Yy0KPiA+ZGV2KTsKPiArCj4gKwlpZiAoSEFTX0dNQ0hfRElTUExBWShkZXZfcHJpdikp Cj4gKwkJLyogRklYTUUgY2FsY3VsYXRlIHByb3BlciBwaXBlIHBpeGVsIHJhdGUgZm9yIEdNQ0gg cGZpdCAqLwo+ICsJCWNydGNfc3RhdGUtPnBpeGVsX3JhdGUgPQo+ICsJCQljcnRjX3N0YXRlLT5i YXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9jazsKPiArCWVsc2UKPiArCQljcnRjX3N0YXRlLT5w aXhlbF9yYXRlID0KPiArCQkJaWxrX3BpcGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKPiArfQo+ ICsKPiDCoHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywKPiDCoAkJCQnCoMKgwqDCoMKgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnKQo+IMKgewo+IEBAIC03MjM1LDYgKzcyNDgsOCBAQCBzdGF0aWMgaW50IGludGVs X2NydGNfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMKPiAqY3J0YywKPiDCoAkJYWRq dXN0ZWRfbW9kZS0+Y3J0Y19oc3luY19zdGFydCA9PSBhZGp1c3RlZF9tb2RlLQo+ID5jcnRjX2hk aXNwbGF5KQo+IMKgCQlyZXR1cm4gLUVJTlZBTDsKPiDCoAo+ICsJaW50ZWxfY3J0Y19jb21wdXRl X3BpeGVsX3JhdGUocGlwZV9jb25maWcpOwo+ICsKPiDCoAlpZiAoSEFTX0lQUyhkZXZfcHJpdikp Cj4gwqAJCWhzd19jb21wdXRlX2lwc19jb25maWcoY3J0YywgcGlwZV9jb25maWcpOwo+IMKgCj4g QEAgLTEwMjgzLDcgKzEwMjk4LDcgQEAgc3RhdGljIGludCBpbGtfbWF4X3BpeGVsX3JhdGUoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUKPiAqc3RhdGUpCj4gwqAJCQljb250aW51ZTsKPiDCoAkJfQo+ IMKgCj4gLQkJcGl4ZWxfcmF0ZSA9IGlsa19waXBlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4g KwkJcGl4ZWxfcmF0ZSA9IGNydGNfc3RhdGUtPnBpeGVsX3JhdGU7Cj4gwqAKPiDCoAkJaWYgKElT X0JST0FEV0VMTChkZXZfcHJpdikgfHwgSVNfR0VOOShkZXZfcHJpdikpCj4gwqAJCQlwaXhlbF9y YXRlID0KPiBiZHdfYWRqdXN0X21pbl9waXBlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSwKPiBAQCAt MTI3OTIsOSArMTI4MDcsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHVtcF9waXBlX2NvbmZpZyhz dHJ1Y3QgaW50ZWxfY3J0Ywo+ICpjcnRjLAo+IMKgCURSTV9ERUJVR19LTVMoImFkanVzdGVkIG1v ZGU6XG4iKTsKPiDCoAlkcm1fbW9kZV9kZWJ1Z19wcmludG1vZGVsaW5lKCZwaXBlX2NvbmZpZy0+ YmFzZS5hZGp1c3RlZF9tb2RlKTsKPiDCoAlpbnRlbF9kdW1wX2NydGNfdGltaW5ncygmcGlwZV9j b25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZSk7Cj4gLQlEUk1fREVCVUdfS01TKCJwb3J0IGNsb2Nr OiAlZCwgcGlwZSBzcmMgc2l6ZTogJWR4JWRcbiIsCj4gKwlEUk1fREVCVUdfS01TKCJwb3J0IGNs b2NrOiAlZCwgcGlwZSBzcmMgc2l6ZTogJWR4JWQsIHBpeGVsIHJhdGUKPiAlZFxuIiwKPiDCoAkJ wqDCoMKgwqDCoMKgcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCj4gLQkJwqDCoMKgwqDCoMKgcGlw ZV9jb25maWctPnBpcGVfc3JjX3csIHBpcGVfY29uZmlnLT5waXBlX3NyY19oKTsKPiArCQnCoMKg wqDCoMKgwqBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfdywgcGlwZV9jb25maWctPnBpcGVfc3JjX2gs Cj4gKwkJwqDCoMKgwqDCoMKgcGlwZV9jb25maWctPnBpeGVsX3JhdGUpOwo+IMKgCj4gwqAJaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiDCoAkJRFJNX0RFQlVHX0tNUygibnVtX3NjYWxl cnM6ICVkLCBzY2FsZXJfdXNlcnM6IDB4JXgsCj4gc2NhbGVyX2lkOiAlZFxuIiwKPiBAQCAtMTMz NjcsNiArMTMzODMsNyBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlCj4gKmRldl9wcml2LAo+IMKgCQl9Cj4gwqAKPiDCoAkJUElQRV9DT05GX0NIRUNL X0koc2NhbGVyX3N0YXRlLnNjYWxlcl9pZCk7Cj4gKwkJUElQRV9DT05GX0NIRUNLX0NMT0NLX0ZV WlpZKHBpeGVsX3JhdGUpOwo+IMKgCX0KPiDCoAo+IMKgCS8qIEJEVysgZG9uJ3QgZXhwb3NlIGEg c3luY2hyb25vdXMgd2F5IHRvIHJlYWQgdGhlIHN0YXRlICovCj4gQEAgLTEzNjU4LDYgKzEzNjc1 LDggQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IMKgCQl9Cj4g wqAJfQo+IMKgCj4gKwlpbnRlbF9jcnRjX2NvbXB1dGVfcGl4ZWxfcmF0ZShwaXBlX2NvbmZpZyk7 Cj4gKwo+IMKgCWlmICghbmV3X2NydGNfc3RhdGUtPmFjdGl2ZSkKPiDCoAkJcmV0dXJuOwo+IMKg Cj4gQEAgLTE3MTAyLDEwICsxNzEyMSwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3Jl YWRvdXRfaHdfc3RhdGUoc3RydWN0Cj4gZHJtX2RldmljZSAqZGV2KQo+IMKgCQkJwqAqLwo+IMKg CQkJY3J0Y19zdGF0ZS0+YmFzZS5tb2RlLnByaXZhdGVfZmxhZ3MgPQo+IEk5MTVfTU9ERV9GTEFH X0lOSEVSSVRFRDsKPiDCoAo+IC0JCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5IHx8Cj4g SVNfQlJPQURXRUxMKGRldl9wcml2KSkKPiAtCQkJCXBpeGNsayA9IGlsa19waXBlX3BpeGVsX3Jh dGUoY3J0Y19zdGF0ZSk7Cj4gLQkJCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8 Cj4gSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gLQkJCQlwaXhjbGsgPSBjcnRjX3N0YXRlLQo+ ID5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9jazsKPiArCQkJaW50ZWxfY3J0Y19jb21wdXRl X3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJCQlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA5IHx8Cj4gSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fAo+ICsJCQnCoMKgwqDCoElTX1ZB TExFWVZJRVcoZGV2X3ByaXYpIHx8Cj4gSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gKwkJCQlw aXhjbGsgPSBjcnRjX3N0YXRlLT5waXhlbF9yYXRlOwo+IMKgCQkJZWxzZQo+IMKgCQkJCVdBUk5f T04oZGV2X3ByaXYtCj4gPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrKTsKPiDCoAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCAwY2VjMDAxM2FjZTAuLjNiMjYzZDE1ZTE2ZSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTU0Miw2ICs1NDIsMTIgQEAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgewo+IMKgCcKgKiBhbmQgZ2V0IGNsaXBwZWQgYXQgdGhlIGVk Z2VzLiAqLwo+IMKgCWludCBwaXBlX3NyY193LCBwaXBlX3NyY19oOwo+IMKgCj4gKwkvKgo+ICsJ wqAqIFBpcGUgcGl4ZWwgcmF0ZSwgYWRqdXN0ZWQgZm9yCj4gKwnCoCogcGFuZWwgZml0dGVyL3Bp cGUgc2NhbGVyIGRvd25zY2FsaW5nLgo+ICsJwqAqLwo+ICsJdW5zaWduZWQgaW50IHBpeGVsX3Jh dGU7Cj4gKwo+IMKgCS8qIFdoZXRoZXIgdG8gc2V0IHVwIHRoZSBQQ0gvRkRJLiBOb3RlIHRoYXQg d2UgbmV2ZXIgYWxsb3cgc2hhcmluZwo+IMKgCcKgKiBiZXR3ZWVuIHBjaCBlbmNvZGVycyBhbmQg Y3B1IGVuY29kZXJzLiAqLwo+IMKgCWJvb2wgaGFzX3BjaF9lbmNvZGVyOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZmJjLmMKPiBpbmRleCA4OWZlNWM4NDY0ZGYuLjJiNGMxNzY1MTBkNCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gQEAgLTc0Myw4ICs3NDMsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9mYmNfdXBkYXRlX3N0YXRlX2NhY2hlKHN0cnVjdCBpbnRlbF9jcnRjCj4gKmNydGMs Cj4gwqAKPiDCoAljYWNoZS0+Y3J0Yy5tb2RlX2ZsYWdzID0gY3J0Y19zdGF0ZS0+YmFzZS5hZGp1 c3RlZF9tb2RlLmZsYWdzOwo+IMKgCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJU19CUk9B RFdFTEwoZGV2X3ByaXYpKQo+IC0JCWNhY2hlLT5jcnRjLmhzd19iZHdfcGl4ZWxfcmF0ZSA9Cj4g LQkJCWlsa19waXBlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4gKwkJY2FjaGUtPmNydGMuaHN3 X2Jkd19waXhlbF9yYXRlID0gY3J0Y19zdGF0ZS0+cGl4ZWxfcmF0ZTsKPiDCoAo+IMKgCWNhY2hl LT5wbGFuZS5yb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwo+IMKgCWNhY2hl LT5wbGFuZS5zcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+ IDE2Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDI0OTYyM2Q0NWJlMC4uOTQ4MTk0 MzU2NDFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTE4MDcsMTIgKzE4MDcs MTIgQEAgc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3ByaV93bShjb25zdCBzdHJ1Y3QKPiBp bnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gwqAKPiDCoAljcHAgPSBwc3RhdGUtPmJhc2UuZmIt PmZvcm1hdC0+Y3BwWzBdOwo+IMKgCj4gLQltZXRob2QxID0gaWxrX3dtX21ldGhvZDEoaWxrX3Bp cGVfcGl4ZWxfcmF0ZShjc3RhdGUpLCBjcHAsCj4gbWVtX3ZhbHVlKTsKPiArCW1ldGhvZDEgPSBp bGtfd21fbWV0aG9kMShjc3RhdGUtPnBpeGVsX3JhdGUsIGNwcCwgbWVtX3ZhbHVlKTsKPiDCoAo+ IMKgCWlmICghaXNfbHApCj4gwqAJCXJldHVybiBtZXRob2QxOwo+IMKgCj4gLQltZXRob2QyID0g aWxrX3dtX21ldGhvZDIoaWxrX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLAo+ICsJbWV0aG9kMiA9 IGlsa193bV9tZXRob2QyKGNzdGF0ZS0+cGl4ZWxfcmF0ZSwKPiDCoAkJCQnCoGNzdGF0ZS0+YmFz ZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsLAo+IMKgCQkJCcKgZHJtX3JlY3Rfd2lkdGgoJnBz dGF0ZS0+YmFzZS5kc3QpLAo+IMKgCQkJCcKgY3BwLCBtZW1fdmFsdWUpOwo+IEBAIC0xODM2LDgg KzE4MzYsOCBAQCBzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfc3ByX3dtKGNvbnN0IHN0cnVj dAo+IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiDCoAo+IMKgCWNwcCA9IHBzdGF0ZS0+YmFz ZS5mYi0+Zm9ybWF0LT5jcHBbMF07Cj4gwqAKPiAtCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9kMShp bGtfcGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksIGNwcCwKPiBtZW1fdmFsdWUpOwo+IC0JbWV0aG9k MiA9IGlsa193bV9tZXRob2QyKGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKSwKPiArCW1ldGhv ZDEgPSBpbGtfd21fbWV0aG9kMShjc3RhdGUtPnBpeGVsX3JhdGUsIGNwcCwgbWVtX3ZhbHVlKTsK PiArCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihjc3RhdGUtPnBpeGVsX3JhdGUsCj4gwqAJCQkJ wqBjc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCwKPiDCoAkJCQnCoGRybV9y ZWN0X3dpZHRoKCZwc3RhdGUtPmJhc2UuZHN0KSwKPiDCoAkJCQnCoGNwcCwgbWVtX3ZhbHVlKTsK PiBAQCAtMTg2Myw3ICsxODYzLDcgQEAgc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX2N1cl93 bShjb25zdCBzdHJ1Y3QKPiBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gwqAJaWYgKCFjc3Rh dGUtPmJhc2UuYWN0aXZlKQo+IMKgCQlyZXR1cm4gMDsKPiDCoAo+IC0JcmV0dXJuIGlsa193bV9t ZXRob2QyKGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKSwKPiArCXJldHVybiBpbGtfd21fbWV0 aG9kMihjc3RhdGUtPnBpeGVsX3JhdGUsCj4gwqAJCQnCoMKgwqDCoMKgwqBjc3RhdGUtPmJhc2Uu YWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCwKPiDCoAkJCcKgwqDCoMKgwqDCoHdpZHRoLCBjcHAs IG1lbV92YWx1ZSk7Cj4gwqB9Cj4gQEAgLTM1NDcsNyArMzU0Nyw3IEBAIHN0YXRpYyB1aW50MzJf dCBza2xfYWRqdXN0ZWRfcGxhbmVfcGl4ZWxfcmF0ZShjb25zdAo+IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3QKPiDCoAnCoCogQWRqdXN0ZWQgcGxhbmUgcGl4ZWwgcmF0ZSBpcyBqdXN0IHRo ZSBwaXBlJ3MgYWRqdXN0ZWQgcGl4ZWwgcmF0ZQo+IMKgCcKgKiB3aXRoIGFkZGl0aW9uYWwgYWRq dXN0bWVudHMgZm9yIHBsYW5lLXNwZWNpZmljIHNjYWxpbmcuCj4gwqAJwqAqLwo+IC0JYWRqdXN0 ZWRfcGl4ZWxfcmF0ZSA9IGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKTsKPiArCWFkanVzdGVk X3BpeGVsX3JhdGUgPSBjc3RhdGUtPnBpeGVsX3JhdGU7Cj4gwqAJZG93bnNjYWxlX2Ftb3VudCA9 IHNrbF9wbGFuZV9kb3duc2NhbGVfYW1vdW50KHBzdGF0ZSk7Cj4gwqAKPiDCoAlwaXhlbF9yYXRl ID0gYWRqdXN0ZWRfcGl4ZWxfcmF0ZSAqIGRvd25zY2FsZV9hbW91bnQgPj4gMTY7Cj4gQEAgLTM3 NzUsNyArMzc3NSw3IEBAIHNrbF9jb21wdXRlX2xpbmV0aW1lX3dtKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUpCj4gwqAJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlKQo+IMKgCQlyZXR1 cm4gMDsKPiDCoAo+IC0JcGl4ZWxfcmF0ZSA9IGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKTsK PiArCXBpeGVsX3JhdGUgPSBjc3RhdGUtPnBpeGVsX3JhdGU7Cj4gwqAKPiDCoAlpZiAoV0FSTl9P TihwaXhlbF9yYXRlID09IDApKQo+IMKgCQlyZXR1cm4gMDsKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==