From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 12/15] drm/i915: Split CHV and VLV specific crtc_compute_clock() hooks Date: Tue, 22 Mar 2016 12:26:51 +0200 Message-ID: <20160322102651.GF4329@intel.com> References: <1458576016-30348-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1458576016-30348-13-git-send-email-ander.conselvan.de.oliveira@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 7FD326E162 for ; Tue, 22 Mar 2016 10:26:54 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1458576016-30348-13-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBNYXIgMjEsIDIwMTYgYXQgMDY6MDA6MTNQTSArMDIwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IEluIG9yZGVyIGZvciBWTFYgYW5kIENIViB0byB1c2UgaTl4 eF9jcnRjX2NvbXB1dGVfY2xvY2tzKCksIGEgbnVtYmVyCj4gb2YgaWYgbGFkZGVycyBpcyBuZWNl c3Nhcnk6IG9uZSBmb3Igc2V0dGluZyB0aGUgZmluZF9kcGxsKCkgaG9vaywgb25lCj4gZm9yIGNo b29zaW5nIHRoZSBsaW1pdHMgc3RydWN0LCBvbmUgZm9yIGNob29zaW5nIHRoZSByaWdodCBjb21w dXRlIGRwbGwKPiBmdW5jdGlvbiBhbmQgb25lIGZvciBpbml0aWFsaXppbmcgdGhlIGNydGNfY29t cHV0ZV9jbG9jaygpIGhvb2suCj4gCj4gQnkgZXh0cmFjdGluZyBhIHBsYXRmb3JtIHNwZWNpZmlj IGltcGxlbWVudGF0aW9uIGZvciBlYWNoIHBsYXRmb3JtLCB0aGUKPiBudW1iZXIgb2YgaWYtbGFk ZGVycyBpcyByZWR1Y2VkIHRvIG9uZS4KPiAKPiBXaGlsZSBhdCBpdCBhbHNvIGNsZWFuIHVwIGJ4 dF9maW5kX2Jlc3RfZHBsbCgpIHdoaWNoIGRlcGVuZHMgb24gc29tZSBvZgo+IHRoZSBDSFYgY29k ZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVy LmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+CgpSZXZpZXdlZC1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEwMiArKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMjQgZGVs ZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDEz YjUwOWUuLmRjYTViMTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g QEAgLTExMyw3ICsxMTMsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChz dHJ1Y3QgZHJtX2NydGMgKiwgc3RydWN0IGRybV9jcnRjX3N0YXRlICopOwo+ICBzdGF0aWMgdm9p ZCBpbnRlbF9maW5pc2hfY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICosIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqKTsKPiAgc3RhdGljIHZvaWQgc2tsX2luaXRfc2NhbGVycyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAtc3RhdGljIGludCBpOXh4X2dldF9yZWZj bGsoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICBzdGF0aWMg dm9pZCBza3lsYWtlX3BmaXRfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKPiAgc3Rh dGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBi b29sIGZvcmNlKTsKPiAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9lbmFibGUoc3RydWN0IGlu dGVsX2NydGMgKmNydGMpOwo+IEBAIC01OTUsMjEgKzU5NCwxNyBAQCBpbnRlbF9saW1pdChzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgaW50IHJlZmNsaykKPiAgCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKPiAgCWNvbnN0IGlu dGVsX2xpbWl0X3QgKmxpbWl0Owo+ICAKPiAtCWlmIChJU19CUk9YVE9OKGRldikpCj4gLQkJbGlt aXQgPSAmaW50ZWxfbGltaXRzX2J4dDsKPiAtCWVsc2UgaWYgKFdBUk5fT04oSEFTX1BDSF9TUExJ VChkZXYpKSkKPiArCWlmIChJU19CUk9YVE9OKGRldikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpIHx8 IElTX1ZBTExFWVZJRVcoZGV2KSB8fAo+ICsJICAgIEhBU19QQ0hfU1BMSVQoZGV2KSkKPiAgCQls aW1pdCA9IE5VTEw7Cj4gLQllbHNlIGlmIChJU19HNFgoZGV2KSkgewo+ICsKPiArCWlmIChJU19H NFgoZGV2KSkgewo+ICAJCWxpbWl0ID0gaW50ZWxfZzR4X2xpbWl0KGNydGNfc3RhdGUpOwo+ICAJ fSBlbHNlIGlmIChJU19QSU5FVklFVyhkZXYpKSB7Cj4gIAkJaWYgKGludGVsX3BpcGVfd2lsbF9o YXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0xWRFMpKQo+ICAJCQlsaW1pdCA9ICZp bnRlbF9saW1pdHNfcGluZXZpZXdfbHZkczsKPiAgCQllbHNlCj4gIAkJCWxpbWl0ID0gJmludGVs X2xpbWl0c19waW5ldmlld19zZHZvOwo+IC0JfSBlbHNlIGlmIChJU19DSEVSUllWSUVXKGRldikp IHsKPiAtCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfY2h2Owo+IC0JfSBlbHNlIGlmIChJU19WQUxM RVlWSUVXKGRldikpIHsKPiAtCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfdmx2Owo+ICAJfSBlbHNl IGlmICghSVNfR0VOMihkZXYpKSB7Cj4gIAkJaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUo Y3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0xWRFMpKQo+ICAJCQlsaW1pdCA9ICZpbnRlbF9saW1p dHNfaTl4eF9sdmRzOwo+IEBAIC02MjMsNiArNjE4LDkgQEAgaW50ZWxfbGltaXQoc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGludCByZWZjbGspCj4gIAkJZWxzZQo+ICAJCQls aW1pdCA9ICZpbnRlbF9saW1pdHNfaTh4eF9kYWM7Cj4gIAl9Cj4gKwo+ICsJV0FSTl9PTihsaW1p dCA9PSBOVUxMKTsKPiArCj4gIAlyZXR1cm4gbGltaXQ7Cj4gIH0KPiAgCj4gQEAgLTk0MSw2ICs5 MzksMTEgQEAgc3RhdGljIGJvb2wgdmx2X1BMTF9pc19vcHRpbWFsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIGludCB0YXJnZXRfZnJlcSwKPiAgCXJldHVybiAqZXJyb3JfcHBtICsgMTAgPCBiZXN0 X2Vycm9yX3BwbTsKPiAgfQo+ICAKPiArLyoKPiArICogUmV0dXJucyBhIHNldCBvZiBkaXZpc29y cyBmb3IgdGhlIGRlc2lyZWQgdGFyZ2V0IGNsb2NrIHdpdGggdGhlIGdpdmVuCj4gKyAqIHJlZmNs aywgb3IgRkFMU0UuICBUaGUgcmV0dXJuZWQgdmFsdWVzIHJlcHJlc2VudCB0aGUgY2xvY2sgZXF1 YXRpb246Cj4gKyAqIHJlZmxjayAqICg1ICogKG0xICsgMikgKyAobTIgKyAyKSkgLyAobiArIDIp IC8gcDEgLyBwMi4KPiArICovCj4gIHN0YXRpYyBib29sCj4gIHZsdl9maW5kX2Jlc3RfZHBsbChj b25zdCBpbnRlbF9saW1pdF90ICpsaW1pdCwKPiAgCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKPiBAQCAtOTk1LDYgKzk5OCwxMSBAQCB2bHZfZmluZF9iZXN0X2RwbGwo Y29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQsCj4gIAlyZXR1cm4gZm91bmQ7Cj4gIH0KPiAgCj4g Ky8qCj4gKyAqIFJldHVybnMgYSBzZXQgb2YgZGl2aXNvcnMgZm9yIHRoZSBkZXNpcmVkIHRhcmdl dCBjbG9jayB3aXRoIHRoZSBnaXZlbgo+ICsgKiByZWZjbGssIG9yIEZBTFNFLiAgVGhlIHJldHVy bmVkIHZhbHVlcyByZXByZXNlbnQgdGhlIGNsb2NrIGVxdWF0aW9uOgo+ICsgKiByZWZsY2sgKiAo NSAqIChtMSArIDIpICsgKG0yICsgMikpIC8gKG4gKyAyKSAvIHAxIC8gcDIuCj4gKyAqLwo+ICBz dGF0aWMgYm9vbAo+ICBjaHZfZmluZF9iZXN0X2RwbGwoY29uc3QgaW50ZWxfbGltaXRfdCAqbGlt aXQsCj4gIAkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gQEAgLTEw NTYsOSArMTA2NCwxMCBAQCBjaHZfZmluZF9iZXN0X2RwbGwoY29uc3QgaW50ZWxfbGltaXRfdCAq bGltaXQsCj4gIGJvb2wgYnh0X2ZpbmRfYmVzdF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLCBpbnQgdGFyZ2V0X2Nsb2NrLAo+ICAJCQlpbnRlbF9jbG9ja190ICpiZXN0 X2Nsb2NrKQo+ICB7Cj4gLQlpbnQgcmVmY2xrID0gaTl4eF9nZXRfcmVmY2xrKGNydGNfc3RhdGUp Owo+ICsJaW50IHJlZmNsayA9IDEwMDAwMDsKPiArCWNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0 ID0gJmludGVsX2xpbWl0c19ieHQ7Cj4gIAo+IC0JcmV0dXJuIGNodl9maW5kX2Jlc3RfZHBsbChp bnRlbF9saW1pdChjcnRjX3N0YXRlLCByZWZjbGspLCBjcnRjX3N0YXRlLAo+ICsJcmV0dXJuIGNo dl9maW5kX2Jlc3RfZHBsbChsaW1pdCwgY3J0Y19zdGF0ZSwKPiAgCQkJCSAgdGFyZ2V0X2Nsb2Nr LCByZWZjbGssIE5VTEwsIGJlc3RfY2xvY2spOwo+ICB9Cj4gIAo+IEBAIC03MTAxLDkgKzcxMTAs NyBAQCBzdGF0aWMgaW50IGk5eHhfZ2V0X3JlZmNsayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCj4gIAlXQVJOX09OKCFjcnRjX3N0YXRlLT5iYXNlLnN0YXRl KTsKPiAgCj4gLQlpZiAoSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSB8 fCBJU19CUk9YVE9OKGRldikpIHsKPiAtCQlyZWZjbGsgPSAxMDAwMDA7Cj4gLQl9IGVsc2UgaWYg KGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0xWRFMp ICYmCj4gKwlpZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9P VVRQVVRfTFZEUykgJiYKPiAgCSAgICBpbnRlbF9wYW5lbF91c2Vfc3NjKGRldl9wcml2KSkgewo+ ICAJCXJlZmNsayA9IGRldl9wcml2LT52YnQubHZkc19zc2NfZnJlcTsKPiAgCQlEUk1fREVCVUdf S01TKCJ1c2luZyBTU0MgcmVmZXJlbmNlIGNsb2NrIG9mICVkIGtIelxuIiwgcmVmY2xrKTsKPiBA QCAtNzkwNywxMCArNzkxNCw2IEBAIHN0YXRpYyBpbnQgaTl4eF9jcnRjX2NvbXB1dGVfY2xvY2so c3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIAo+ICAJaWYgKElTX0dFTjIoZGV2KSkgewo+ICAJ CWk4eHhfY29tcHV0ZV9kcGxsKGNydGMsIGNydGNfc3RhdGUsIE5VTEwpOwo+IC0JfSBlbHNlIGlm IChJU19DSEVSUllWSUVXKGRldikpIHsKPiAtCQljaHZfY29tcHV0ZV9kcGxsKGNydGMsIGNydGNf c3RhdGUpOwo+IC0JfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKPiAtCQl2bHZfY29t cHV0ZV9kcGxsKGNydGMsIGNydGNfc3RhdGUpOwo+ICAJfSBlbHNlIHsKPiAgCQlpOXh4X2NvbXB1 dGVfZHBsbChjcnRjLCBjcnRjX3N0YXRlLCBOVUxMKTsKPiAgCX0KPiBAQCAtNzkxOCw2ICs3OTIx LDU0IEBAIHN0YXRpYyBpbnQgaTl4eF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIGludCBjaHZfY3J0Y19j b21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICsJCQkJICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJaW50IHJlZmNsayA9IDEwMDAwMDsK PiArCWNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0ID0gJmludGVsX2xpbWl0c19jaHY7Cj4gKwo+ ICsJbWVtc2V0KCZjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLCAwLAo+ICsJICAgICAgIHNpemVv ZihjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlKSk7Cj4gKwo+ICsJaWYgKGNydGNfc3RhdGUtPmhh c19kc2lfZW5jb2RlcikKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlpZiAoIWNydGNfc3RhdGUtPmNs b2NrX3NldCAmJgo+ICsJICAgICFjaHZfZmluZF9iZXN0X2RwbGwobGltaXQsIGNydGNfc3RhdGUs IGNydGNfc3RhdGUtPnBvcnRfY2xvY2ssCj4gKwkJCQlyZWZjbGssIE5VTEwsICZjcnRjX3N0YXRl LT5kcGxsKSkgewo+ICsJCURSTV9FUlJPUigiQ291bGRuJ3QgZmluZCBQTEwgc2V0dGluZ3MgZm9y IG1vZGUhXG4iKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwljaHZfY29tcHV0 ZV9kcGxsKGNydGMsIGNydGNfc3RhdGUpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtz dGF0aWMgaW50IHZsdl9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0IGludGVsX2NydGMgKmNydGMs Cj4gKwkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlp bnQgcmVmY2xrID0gMTAwMDAwOwo+ICsJY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQgPSAmaW50 ZWxfbGltaXRzX3ZsdjsKPiArCj4gKwltZW1zZXQoJmNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUs IDAsCj4gKwkgICAgICAgc2l6ZW9mKGNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUpKTsKPiArCj4g KwlpZiAoY3J0Y19zdGF0ZS0+aGFzX2RzaV9lbmNvZGVyKQo+ICsJCXJldHVybiAwOwo+ICsKPiAr CWlmICghY3J0Y19zdGF0ZS0+Y2xvY2tfc2V0ICYmCj4gKwkgICAgIXZsdl9maW5kX2Jlc3RfZHBs bChsaW1pdCwgY3J0Y19zdGF0ZSwgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jaywKPiArCQkJCXJlZmNs aywgTlVMTCwgJmNydGNfc3RhdGUtPmRwbGwpKSB7Cj4gKwkJRFJNX0VSUk9SKCJDb3VsZG4ndCBm aW5kIFBMTCBzZXR0aW5ncyBmb3IgbW9kZSFcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJ fQo+ICsKPiArCXZsdl9jb21wdXRlX2RwbGwoY3J0YywgY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJcmV0 dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGk5eHhfZ2V0X3BmaXRfY29uZmlnKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZykKPiAgewo+IEBAIC0xNDg0OSwxMCArMTQ5MDAsNiBAQCB2b2lkIGludGVsX2luaXRf ZGlzcGxheV9ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAg CWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJU19HNFgoZGV2X3ByaXYpKQo+ICAJCWRl dl9wcml2LT5kaXNwbGF5LmZpbmRfZHBsbCA9IGc0eF9maW5kX2Jlc3RfZHBsbDsKPiAtCWVsc2Ug aWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmZpbmRf ZHBsbCA9IGNodl9maW5kX2Jlc3RfZHBsbDsKPiAtCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2 X3ByaXYpKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmZpbmRfZHBsbCA9IHZsdl9maW5kX2Jlc3Rf ZHBsbDsKPiAgCWVsc2UgaWYgKElTX1BJTkVWSUVXKGRldl9wcml2KSkKPiAgCQlkZXZfcHJpdi0+ ZGlzcGxheS5maW5kX2RwbGwgPSBwbnZfZmluZF9iZXN0X2RwbGw7Cj4gIAllbHNlCj4gQEAgLTE0 ODgyLDExICsxNDkyOSwxOCBAQCB2b2lkIGludGVsX2luaXRfZGlzcGxheV9ob29rcyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJCWlyb25sYWtlX2NydGNfY29tcHV0ZV9j bG9jazsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZSA9IGlyb25sYWtlX2NydGNf ZW5hYmxlOwo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZSA9IGlyb25sYWtlX2Ny dGNfZGlzYWJsZTsKPiAtCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNf Q0hFUlJZVklFVyhkZXZfcHJpdikpIHsKPiArCX0gZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXZf cHJpdikpIHsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfcGlwZV9jb25maWcgPSBpOXh4X2dl dF9waXBlX2NvbmZpZzsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfaW5pdGlhbF9wbGFuZV9j b25maWcgPQo+ICAJCQlpOXh4X2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZzsKPiAtCQlkZXZfcHJp di0+ZGlzcGxheS5jcnRjX2NvbXB1dGVfY2xvY2sgPSBpOXh4X2NydGNfY29tcHV0ZV9jbG9jazsK PiArCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2NvbXB1dGVfY2xvY2sgPSBjaHZfY3J0Y19jb21w dXRlX2Nsb2NrOwo+ICsJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZW5hYmxlID0gdmFsbGV5dmll d19jcnRjX2VuYWJsZTsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2Rpc2FibGUgPSBpOXh4 X2NydGNfZGlzYWJsZTsKPiArCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikpIHsK PiArCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfcGlwZV9jb25maWcgPSBpOXh4X2dldF9waXBlX2Nv bmZpZzsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfaW5pdGlhbF9wbGFuZV9jb25maWcgPQo+ ICsJCQlpOXh4X2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZzsKPiArCQlkZXZfcHJpdi0+ZGlzcGxh eS5jcnRjX2NvbXB1dGVfY2xvY2sgPSB2bHZfY3J0Y19jb21wdXRlX2Nsb2NrOwo+ICAJCWRldl9w cml2LT5kaXNwbGF5LmNydGNfZW5hYmxlID0gdmFsbGV5dmlld19jcnRjX2VuYWJsZTsKPiAgCQlk ZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2Rpc2FibGUgPSBpOXh4X2NydGNfZGlzYWJsZTsKPiAgCX0g ZWxzZSB7Cj4gLS0gCj4gMi40LjMKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=