From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915/skl: Add support for edp 1.4 intermediate frequencies Date: Thu, 5 Mar 2015 13:02:57 +0100 Message-ID: <20150305120257.GS18775@phenom.ffwll.local> References: <20150304112438.GM11371@intel.com> <1425529950-9632-1-git-send-email-sonika.jindal@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-we0-f173.google.com (mail-we0-f173.google.com [74.125.82.173]) by gabe.freedesktop.org (Postfix) with ESMTP id 2A0826E048 for ; Thu, 5 Mar 2015 04:01:18 -0800 (PST) Received: by wesk11 with SMTP id k11so52405835wes.11 for ; Thu, 05 Mar 2015 04:01:17 -0800 (PST) Content-Disposition: inline In-Reply-To: <1425529950-9632-1-git-send-email-sonika.jindal@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sonika Jindal Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXIgMDUsIDIwMTUgYXQgMTA6MDI6MzBBTSArMDUzMCwgU29uaWthIEppbmRhbCB3 cm90ZToKPiBlRHAgMS40IHN1cHBvcnRzIGN1c3RvbSBmcmVxdWVuY2llcy4KPiBTa3lsYWtlIHN1 cHBvcnRzIGZvbGxvd2luZyBpbnRlcm1lZGlhdGUgZnJlcXVlbmNpZXMgOiAzLjI0IEdIeiwgMi4x NiBHSHogYW5kCj4gNC4zMiBHSHogYWxvbmcgd2l0aCB1c3VhbCBMQlIsIEhCUiBhbmQgSEJSMiBm cmVxdWVuY2llcy4KPiBSZWFkIHNpbmsgc3VwcG9ydGVkIGZyZXF1ZW5jaWVzIGFuZCBnZXQgY29t bW9uIGZyZXF1ZW5jaWVzIGZyb20gc2luayBhbmQKPiBzb3VyY2UgYW5kIHVzZSB0aGVzZSBmb3Ig bGluayB0cmFpbmluZy4KPiAKPiB2MjogUmViYXNlZCwgcmVtb3ZlZCBjYWxjdWxhdGlvbiBvZiBt aW5fY2xvY2sgc2luY2UgZm9yIGVkcCBpdCBpcyB0YWtlbiBhcwo+IG1heF9jbG9jayAoYXMgcGVy IGNvbW1lbnQpLgo+IHYzOiBLZWVwaW5nIHNpbmdsZSBhcnJheSBmb3IgbGluayByYXRlcyAoU2F0 aGVlc2gpCj4gdjQ6IFNldHRpbmcgTElOS19CV19TRVQgdG8gMCB3aGVuIHNldHRpbmcgTElOS19S QVRFX1NFVCAoU2F0aGVlc2gpCj4gdjU6IFNvbWUgbWlub3Igbml0cyAoVmlsbGUpCj4gdjY6IEtl ZXBpbmcgc2VwYXJhdGUgYXJyYXlzIGZvciBzb3VyY2UgYW5kIHNpbmsgcmF0ZXMgKFZpbGxlKQo+ IHY3OiBSZW1vdmUgcmVkdW5kYW50IHNldHRpbmcgb2YgRFBfTElOS19CV19TRVQgdG8gMCAoVmls bGUpCj4gCj4gUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogU29uaWthIEppbmRhbCA8c29uaWthLmppbmRh bEBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIHwg ICAgOSArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgIHwgIDEwOSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCB8ICAgIDEgKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDExMSBpbnNlcnRpb25z KCspLCA4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXgg OTg1ZDUzMS4uNDM3ZDI4NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTc4 Niw5ICs3ODYsMTggQEAgc3RhdGljIHZvaWQgc2tsX2RkaV9jbG9ja19nZXQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gIAkJY2FzZSBEUExMX0NSVEwxX0xJTktfUkFURV84MTA6Cj4g IAkJCWxpbmtfY2xvY2sgPSA4MTAwMDsKPiAgCQkJYnJlYWs7Cj4gKwkJY2FzZSBEUExMX0NSVEwx X0xJTktfUkFURV8xMDgwOgo+ICsJCQlsaW5rX2Nsb2NrID0gMTA4MDAwOwo+ICsJCQlicmVhazsK PiAgCQljYXNlIERQTExfQ1JUTDFfTElOS19SQVRFXzEzNTA6Cj4gIAkJCWxpbmtfY2xvY2sgPSAx MzUwMDA7Cj4gIAkJCWJyZWFrOwo+ICsJCWNhc2UgRFBMTF9DUlRMMV9MSU5LX1JBVEVfMTYyMDoK PiArCQkJbGlua19jbG9jayA9IDE2MjAwMDsKPiArCQkJYnJlYWs7Cj4gKwkJY2FzZSBEUExMX0NS VEwxX0xJTktfUkFURV8yMTYwOgo+ICsJCQlsaW5rX2Nsb2NrID0gMjE2MDAwOwo+ICsJCQlicmVh azsKPiAgCQljYXNlIERQTExfQ1JUTDFfTElOS19SQVRFXzI3MDA6Cj4gIAkJCWxpbmtfY2xvY2sg PSAyNzAwMDA7Cj4gIAkJCWJyZWFrOwoKVGhpcyBwYXJ0IGhlcmUgc2hvdWxkIGhhdmUgYmVlbiBp biB0aGUgbmV4dCBwYXRjaCBpbW8gdG8gaGFuZGxlIHRoZSBkcGxsCnByb2dyYW1taW5nLCB3aXRo IHRoaXMgcGF0Y2ggaGVyZSBqdXN0IGhhbmRsaW5nIHRoZSBEUCBwb3J0IHNpZGUgb2YKdGhpbmdz LiBBcy1pcyB0aGUgcGF0Y2ggc3BsaXQgZG9lc24ndCBtYWtlIHRoYXQgbXVjaCBzZW5zZSByZWFs bHkgc2luY2UKeW91IGFkZCBuZXcgaHcgcHJvZ3JhbW1pbmcgd2l0aG91dCBhZGRpbmcgdGhlIG5l Y2Vzc2FyeSBzdGF0ZSByZWFkb3V0IGluCnRoZSBsYXN0IHBhdGNoLgoKQW55d2F5LCBwdWxsZWQg aW4gdGhlIGVudGlyZSBzZXJpZXMsIHRoYW5rcy4KLURhbmllbAoKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiBpbmRleCAwYWU4NDU0Li4yZTQ1MWRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jCj4gQEAgLTg0LDYgKzg0LDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBfbGlua19kcGxs IGNodl9kcGxsW10gPSB7Cj4gIAl7IERQX0xJTktfQldfNV80LAkvKiBtMl9pbnQgPSAyNywgbTJf ZnJhY3Rpb24gPSAwICovCj4gIAkJeyAucDEgPSAyLCAucDIgPSAxLCAubiA9IDEsIC5tMSA9IDIs IC5tMiA9IDB4NmMwMDAwMCB9IH0KPiAgfTsKPiArLyogU2t5bGFrZSBzdXBwb3J0cyBmb2xsb3dp bmcgcmF0ZXMgKi8KPiArc3RhdGljIGNvbnN0IHVpbnQzMl90IGdlbjlfcmF0ZXNbXSA9IHsgMTYy MDAwLCAyMTYwMDAsIDI3MDAwMCwgMzI0MDAwLAo+ICsJCQkJCTQzMjAwMCwgNTQwMDAwIH07Cj4g Kwo+ICtzdGF0aWMgY29uc3QgdWludDMyX3QgZGVmYXVsdF9yYXRlc1tdID0geyAxNjIwMDAsIDI3 MDAwMCwgNTQwMDAwIH07Cj4gIAo+ICAvKioKPiAgICogaXNfZWRwIC0gaXMgdGhlIGdpdmVuIHBv cnQgYXR0YWNoZWQgdG8gYW4gZURQIHBhbmVsIChlaXRoZXIgQ1BVIG9yIFBDSCkKPiBAQCAtMTE0 NCw2ICsxMTQ5LDI1IEBAIGludGVsX3JlYWRfc2lua19yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLCB1aW50MzJfdCAqc2lua19yYXRlcykKPiAgCXJldHVybiBpOwo+ICB9Cj4gIAo+ICtz dGF0aWMgaW50Cj4gK2ludGVsX3JlYWRfc291cmNlX3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsIHVpbnQzMl90ICpzb3VyY2VfcmF0ZXMpCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwo+ICsJaW50IGk7Cj4gKwlpbnQgbWF4 X2RlZmF1bHRfcmF0ZTsKPiArCj4gKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSAmJiBp bnRlbF9kcC0+c3VwcG9ydGVkX3JhdGVzWzBdKSB7Cj4gKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZ X1NJWkUoZ2VuOV9yYXRlcyk7ICsraSkKPiArCQkJc291cmNlX3JhdGVzW2ldID0gZ2VuOV9yYXRl c1tpXTsKPiArCX0gZWxzZSB7Cj4gKwkJLyogSW5kZXggb2YgdGhlIG1heF9saW5rX2J3IHN1cHBv cnRlZCArIDEgKi8KPiArCQltYXhfZGVmYXVsdF9yYXRlID0gKGludGVsX2RwX21heF9saW5rX2J3 KGludGVsX2RwKSA+PiAzKSArIDE7Cj4gKwkJZm9yIChpID0gMDsgaSA8IG1heF9kZWZhdWx0X3Jh dGU7ICsraSkKPiArCQkJc291cmNlX3JhdGVzW2ldID0gZGVmYXVsdF9yYXRlc1tpXTsKPiArCX0K PiArCXJldHVybiBpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZAo+ICBpbnRlbF9kcF9zZXRfY2xv Y2soc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLCBpbnQgbGlua19idykKPiBAQCAtMTE3Nyw2ICsxMjAxLDQ1 IEBAIGludGVsX2RwX3NldF9jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg CX0KPiAgfQo+ICAKPiArc3RhdGljIGludCBpbnRlbF9zdXBwb3J0ZWRfcmF0ZXMoY29uc3QgdWlu dDMyX3QgKnNvdXJjZV9yYXRlcywgaW50IHNvdXJjZV9sZW4sCj4gK2NvbnN0IHVpbnQzMl90ICpz aW5rX3JhdGVzLCBpbnQgc2lua19sZW4sIHVpbnQzMl90ICpzdXBwb3J0ZWRfcmF0ZXMpCj4gK3sK PiArCWludCBpID0gMCwgaiA9IDAsIGsgPSAwOwo+ICsKPiArCS8qIEZvciBwYW5lbHMgd2l0aCBl ZHAgdmVyc2lvbiBsZXNzIHRoYW4gMS40ICovCj4gKwlpZiAoc2lua19sZW4gPT0gMCkgewo+ICsJ CWZvciAoaSA9IDA7IGkgPCBzb3VyY2VfbGVuOyArK2kpCj4gKwkJCXN1cHBvcnRlZF9yYXRlc1tp XSA9IHNvdXJjZV9yYXRlc1tpXTsKPiArCQlyZXR1cm4gc291cmNlX2xlbjsKPiArCX0KPiArCj4g KwkvKiBGb3IgZWRwMS40IHBhbmVscywgZmluZCB0aGUgY29tbW9uIHJhdGVzIGJldHdlZW4gc291 cmNlIGFuZCBzaW5rICovCj4gKwl3aGlsZSAoaSA8IHNvdXJjZV9sZW4gJiYgaiA8IHNpbmtfbGVu KSB7Cj4gKwkJaWYgKHNvdXJjZV9yYXRlc1tpXSA9PSBzaW5rX3JhdGVzW2pdKSB7Cj4gKwkJCXN1 cHBvcnRlZF9yYXRlc1trXSA9IHNvdXJjZV9yYXRlc1tpXTsKPiArCQkJKytrOwo+ICsJCQkrK2k7 Cj4gKwkJCSsrajsKPiArCQl9IGVsc2UgaWYgKHNvdXJjZV9yYXRlc1tpXSA8IHNpbmtfcmF0ZXNb al0pIHsKPiArCQkJKytpOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCSsrajsKPiArCQl9Cj4gKwl9Cj4g KwlyZXR1cm4gazsKPiArfQo+ICsKPiArc3RhdGljIGludCByYXRlX3RvX2luZGV4KHVpbnQzMl90 IGZpbmQsIGNvbnN0IHVpbnQzMl90ICpyYXRlcykKPiArewo+ICsJaW50IGkgPSAwOwo+ICsKPiAr CWZvciAoaSA9IDA7IGkgPCBEUF9NQVhfU1VQUE9SVEVEX1JBVEVTOyArK2kpCj4gKwkJaWYgKGZp bmQgPT0gcmF0ZXNbaV0pCj4gKwkJCWJyZWFrOwo+ICsKPiArCXJldHVybiBpOwo+ICt9Cj4gKwo+ ICBib29sCj4gIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gQEAg LTExOTMsMTAgKzEyNTYsMjUgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gIAlpbnQgbWF4X2xhbmVfY291bnQgPSBpbnRlbF9kcF9tYXhf bGFuZV9jb3VudChpbnRlbF9kcCk7Cj4gIAkvKiBDb252ZW5pZW50bHksIHRoZSBsaW5rIEJXIGNv bnN0YW50cyBiZWNvbWUgaW5kaWNlcyB3aXRoIGEgc2hpZnQuLi4qLwo+ICAJaW50IG1pbl9jbG9j ayA9IDA7Cj4gLQlpbnQgbWF4X2Nsb2NrID0gaW50ZWxfZHBfbWF4X2xpbmtfYncoaW50ZWxfZHAp ID4+IDM7Cj4gKwlpbnQgbWF4X2Nsb2NrOwo+ICAJaW50IGJwcCwgbW9kZV9yYXRlOwo+IC0Jc3Rh dGljIGludCBid3NbXSA9IHsgRFBfTElOS19CV18xXzYyLCBEUF9MSU5LX0JXXzJfNywgRFBfTElO S19CV181XzQgfTsKPiAgCWludCBsaW5rX2F2YWlsLCBsaW5rX2Nsb2NrOwo+ICsJdWludDMyX3Qg c2lua19yYXRlc1s4XTsKPiArCXVpbnQzMl90IHN1cHBvcnRlZF9yYXRlc1s4XSA9IHswfTsKPiAr CXVpbnQzMl90IHNvdXJjZV9yYXRlc1s4XTsKPiArCWludCBzb3VyY2VfbGVuLCBzaW5rX2xlbiwg c3VwcG9ydGVkX2xlbjsKPiArCj4gKwlzaW5rX2xlbiA9IGludGVsX3JlYWRfc2lua19yYXRlcyhp bnRlbF9kcCwgc2lua19yYXRlcyk7Cj4gKwo+ICsJc291cmNlX2xlbiA9IGludGVsX3JlYWRfc291 cmNlX3JhdGVzKGludGVsX2RwLCBzb3VyY2VfcmF0ZXMpOwo+ICsKPiArCXN1cHBvcnRlZF9sZW4g PSBpbnRlbF9zdXBwb3J0ZWRfcmF0ZXMoc291cmNlX3JhdGVzLCBzb3VyY2VfbGVuLAo+ICsJCQkJ c2lua19yYXRlcywgc2lua19sZW4sIHN1cHBvcnRlZF9yYXRlcyk7Cj4gKwo+ICsJLyogTm8gY29t bW9uIGxpbmsgcmF0ZXMgYmV0d2VlbiBzb3VyY2UgYW5kIHNpbmsgKi8KPiArCVdBUk5fT04oc3Vw cG9ydGVkX2xlbiA8PSAwKTsKPiArCj4gKwltYXhfY2xvY2sgPSBzdXBwb3J0ZWRfbGVuIC0gMTsK PiAgCj4gIAlpZiAoSEFTX1BDSF9TUExJVChkZXYpICYmICFIQVNfRERJKGRldikgJiYgcG9ydCAh PSBQT1JUX0EpCj4gIAkJcGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlciA9IHRydWU7Cj4gQEAg LTEyMjAsOCArMTI5OCw4IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gIAlEUk1fREVCVUdfS01T KCJEUCBsaW5rIGNvbXB1dGF0aW9uIHdpdGggbWF4IGxhbmUgY291bnQgJWkgIgo+IC0JCSAgICAg ICJtYXggYncgJTAyeCBwaXhlbCBjbG9jayAlaUtIelxuIiwKPiAtCQkgICAgICBtYXhfbGFuZV9j b3VudCwgYndzW21heF9jbG9ja10sCj4gKwkJICAgICAgIm1heCBidyAlZCBwaXhlbCBjbG9jayAl aUtIelxuIiwKPiArCQkgICAgICBtYXhfbGFuZV9jb3VudCwgc3VwcG9ydGVkX3JhdGVzW21heF9j bG9ja10sCj4gIAkJICAgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayk7Cj4gIAo+ICAJLyog V2FsayB0aHJvdWdoIGFsbCBicHAgdmFsdWVzLiBMdWNraWx5IHRoZXkncmUgYWxsIG5pY2VseSBz cGFjZWQgd2l0aCAyCj4gQEAgLTEyNTAsOCArMTMyOCwxMSBAQCBpbnRlbF9kcF9jb21wdXRlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJCQkJICAgYnBwKTsKPiAg Cj4gIAkJZm9yIChjbG9jayA9IG1pbl9jbG9jazsgY2xvY2sgPD0gbWF4X2Nsb2NrOyBjbG9jaysr KSB7Cj4gLQkJCWZvciAobGFuZV9jb3VudCA9IG1pbl9sYW5lX2NvdW50OyBsYW5lX2NvdW50IDw9 IG1heF9sYW5lX2NvdW50OyBsYW5lX2NvdW50IDw8PSAxKSB7Cj4gLQkJCQlsaW5rX2Nsb2NrID0g ZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKGJ3c1tjbG9ja10pOwo+ICsJCQlmb3IgKGxhbmVf Y291bnQgPSBtaW5fbGFuZV9jb3VudDsKPiArCQkJCWxhbmVfY291bnQgPD0gbWF4X2xhbmVfY291 bnQ7Cj4gKwkJCQlsYW5lX2NvdW50IDw8PSAxKSB7Cj4gKwo+ICsJCQkJbGlua19jbG9jayA9IHN1 cHBvcnRlZF9yYXRlc1tjbG9ja107Cj4gIAkJCQlsaW5rX2F2YWlsID0gaW50ZWxfZHBfbWF4X2Rh dGFfcmF0ZShsaW5rX2Nsb2NrLAo+ICAJCQkJCQkJCSAgICBsYW5lX2NvdW50KTsKPiAgCj4gQEAg LTEyODAsMTAgKzEzNjEsMTkgQEAgZm91bmQ6Cj4gIAlpZiAoaW50ZWxfZHAtPmNvbG9yX3Jhbmdl KQo+ICAJCXBpcGVfY29uZmlnLT5saW1pdGVkX2NvbG9yX3JhbmdlID0gdHJ1ZTsKPiAgCj4gLQlp bnRlbF9kcC0+bGlua19idyA9IGJ3c1tjbG9ja107Cj4gIAlpbnRlbF9kcC0+bGFuZV9jb3VudCA9 IGxhbmVfY291bnQ7Cj4gKwo+ICsJaW50ZWxfZHAtPmxpbmtfYncgPQo+ICsJCWRybV9kcF9saW5r X3JhdGVfdG9fYndfY29kZShzdXBwb3J0ZWRfcmF0ZXNbY2xvY2tdKTsKPiArCj4gKwlpZiAoSU5U RUxfSU5GTyhkZXYpLT5nZW4gPj0gOSAmJiBpbnRlbF9kcC0+c3VwcG9ydGVkX3JhdGVzWzBdKSB7 Cj4gKwkJaW50ZWxfZHAtPnJhdGVfc2VsZWN0ID0KPiArCQkJcmF0ZV90b19pbmRleChzdXBwb3J0 ZWRfcmF0ZXNbY2xvY2tdLCBzaW5rX3JhdGVzKTsKPiArCQlpbnRlbF9kcC0+bGlua19idyA9IDA7 Cj4gKwl9Cj4gKwo+ICAJcGlwZV9jb25maWctPnBpcGVfYnBwID0gYnBwOwo+IC0JcGlwZV9jb25m aWctPnBvcnRfY2xvY2sgPSBkcm1fZHBfYndfY29kZV90b19saW5rX3JhdGUoaW50ZWxfZHAtPmxp bmtfYncpOwo+ICsJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBzdXBwb3J0ZWRfcmF0ZXNbY2xv Y2tdOwo+ICAKPiAgCURSTV9ERUJVR19LTVMoIkRQIGxpbmsgYncgJTAyeCBsYW5lIGNvdW50ICVk IGNsb2NrICVkIGJwcCAlZFxuIiwKPiAgCQkgICAgICBpbnRlbF9kcC0+bGlua19idywgaW50ZWxf ZHAtPmxhbmVfY291bnQsCj4gQEAgLTMzOTMsNiArMzQ4Myw5IEBAIGludGVsX2RwX3N0YXJ0X2xp bmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCWlmIChkcm1fZHBfZW5oYW5j ZWRfZnJhbWVfY2FwKGludGVsX2RwLT5kcGNkKSkKPiAgCQlsaW5rX2NvbmZpZ1sxXSB8PSBEUF9M QU5FX0NPVU5UX0VOSEFOQ0VEX0ZSQU1FX0VOOwo+ICAJZHJtX2RwX2RwY2Rfd3JpdGUoJmludGVs X2RwLT5hdXgsIERQX0xJTktfQldfU0VULCBsaW5rX2NvbmZpZywgMik7Cj4gKwlpZiAoSU5URUxf SU5GTyhkZXYpLT5nZW4gPj0gOSAmJiBpbnRlbF9kcC0+c3VwcG9ydGVkX3JhdGVzWzBdKQo+ICsJ CWRybV9kcF9kcGNkX3dyaXRlKCZpbnRlbF9kcC0+YXV4LCBEUF9MSU5LX1JBVEVfU0VULAo+ICsJ CQkJJmludGVsX2RwLT5yYXRlX3NlbGVjdCwgMSk7Cj4gIAo+ICAJbGlua19jb25maWdbMF0gPSAw Owo+ICAJbGlua19jb25maWdbMV0gPSBEUF9TRVRfQU5TSV84QjEwQjsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IGluZGV4IDFmNDFhODMuLmEyYTVjYmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IEBAIC02MjIsNiArNjIyLDcgQEAgc3RydWN0IGludGVsX2RwIHsKPiAgCXVp bnQzMl90IGNvbG9yX3JhbmdlOwo+ICAJYm9vbCBjb2xvcl9yYW5nZV9hdXRvOwo+ICAJdWludDhf dCBsaW5rX2J3Owo+ICsJdWludDhfdCByYXRlX3NlbGVjdDsKPiAgCXVpbnQ4X3QgbGFuZV9jb3Vu dDsKPiAgCXVpbnQ4X3QgZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV07Cj4gIAl1aW50OF90IHBz cl9kcGNkW0VEUF9QU1JfUkVDRUlWRVJfQ0FQX1NJWkVdOwo+IC0tIAo+IDEuNy4xMC40Cj4gCj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1n ZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApE YW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDAp IDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==