From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3 1/2] drm/i915/bxt: Port PLL programming BUN Date: Mon, 18 May 2015 19:26:29 +0300 Message-ID: <1431966389.7760.12.camel@intel.com> References: <5550BF0B.4020704@intel.com> <1431499732-24404-1-git-send-email-vandana.kannan@intel.com> Reply-To: imre.deak@intel.com 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 034DB6E52C for ; Mon, 18 May 2015 09:26:32 -0700 (PDT) In-Reply-To: <1431499732-24404-1-git-send-email-vandana.kannan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Vandana Kannan Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24ga2UsIDIwMTUtMDUtMTMgYXQgMTI6MTggKzA1MzAsIFZhbmRhbmEgS2FubmFuIHdyb3RlOgo+ IEJVTiAxOiBwcm9wX2NvZWZmLCBpbnRfY29lZmYsIHRkY3RhcmdldGNudCBwcm9ncmFtbWluZyB1 cGRhdGVkIGFuZCB0aWVkIHRvCj4gVkNPIGZyZXF1ZW5jaWVzLiBQcm9ncmFtIGlfbG9ja3RocmVz aCBpbiBQT1JUX1BMTF85Lgo+IAo+IFZDTyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBmb3JtdWxh Ogo+IERlc2lyZWQgT3V0cHV0ID0gUG9ydCBiaXQgcmF0ZSBpbiBNSHogKERpc3BsYXlQb3J0IEhC UjIgaXMgNTQwMCBNSHopCj4gRmFzdCBDbG9jayA9IERlc2lyZWQgT3V0cHV0IC8gMgo+IFZDTyA9 IEZhc3QgQ2xvY2sgKiBQMSAqIFAyCj4gCj4gUHJvcF9jb2VmZiwgaW50X2NvZWZmLCBhbmQgdGRj dGFyZ2V0Y250IG1vZGlmaWVkIGFjY29yZGluZyB0byBhYm92ZQo+IGNhbGN1bGF0aW9uLgo+IAo+ IEJVTiAyOiBQb3J0IFBMTHMgcmVxdWlyZSBhZGRpdGlvbmFsIHByb2dyYW1taW5nIGF0IGNlcnRh aW4gZnJlcXVlbmNpZXMgLQo+IERDTyBhbXBsaXR1ZGUgaW4gUE9SVF9QTExfMTAKPiAKPiBSZXZp ZXcgY29tbWVudHMgZnJvbSBTaXZhIHdoaWNoIHdlcmUgYWRkcmVzc2VkIGluIHRoZSBpbml0aWFs IHZlcnNpb24gb2YgdGhlCj4gcGF0Y2guCj4gCS0gQ2hhbmdlIFBPUlRfUExMX0xPQ0tfVEhSRVNI T0xEIHRvIFBPUlRfUExMX0xPQ0tfVEhSRVNIT0xEX01BU0sKPiAJLSBDYWxjdWxhdGUgZm9yIEhE TUkKPiAJLSBDb3JyZWN0IHZhbHVlcyBmb3IgdmNvID0gNS40Cj4gCS0gcmV0dXJuIGluIGNhc2Ug b2YgaW52YWxpZCB2Y28gcmFuZ2UKPiAKPiB2MjogSW1yZSdzIHJldmlldyBjb21tZW50cyBhZGRy ZXNzZWQKPiAJLSBjaGFuZ2UgZGNvYW1wb3ZyX2VuIHRvIGRjb2FtcG92cl9lbl9oCj4gCS0gY2hh bmdlIFBPUlRfUExMX0RDT19BTVBfT1ZSX0VOIHRvIFBPUlRfUExMX0RDT19BTVBfT1ZSX0VOX0gK PiAJLSBDb3JyZWN0IGxhbmUgc3RhZ2dlciB2YWx1ZSBmb3IgMzI0TUh6Cj4gCS0gTWFrZSBjb2Vm IGNvbW1vbiBmb3IgSERNSSBhbmQgRFAKPiAJLSByZW1vdmUgc3VwZXJmbHVvdXMgY29tbWVudHMK PiAKPiB2MzogSW1yZSdzIGNvbW1lbnRzIGFkZHJlc3NlZAo+IAktIFJlbW92ZSBQcm9wX2NvZWZm LCBpbnRfY29lZmYsIHRkY3RhcmdldGNudCwgZGNvYW1wb3ZyX2VuLCBnYWluX2N0bCwKPiAJZGNv YW1wb3ZyX2VuX2ggZnJvbSBieHRfY2xrX2RpdiBhbmQgbWFrZSB0aGVtIGxvY2FsIHZhcmlhYmxl cy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWYW5kYW5hIEthbm5hbiA8dmFuZGFuYS5rYW5uYW5AaW50 ZWwuY29tPgo+IFJldmlld2VkLWJ5OiBTaXZha3VtYXIgVGh1bGFzaW1hbmkgPHNpdmFrdW1hci50 aHVsYXNpbWFuaUBpbnRlbC5jb20+IFt2MV0KPiBDYzogU2l2YWt1bWFyIFRodWxhc2ltYW5pIDxz aXZha3VtYXIudGh1bGFzaW1hbmlAaW50ZWwuY29tPgoKTG9va3Mgb2s6ClJldmlld2VkLWJ5OiBJ bXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggIHwgIDYgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIHwgNzkgKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICAzIGZpbGVzIGNoYW5nZWQs IDYzIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IGluZGV4IDEzNmQ0MmEuLjA1YTRlMWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBAQCAtMzA0LDcgKzMwNCw3IEBAIHN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlIHsKPiAg CXVpbnQzMl90IGNmZ2NyMSwgY2ZnY3IyOwo+ICAKPiAgCS8qIGJ4dCAqLwo+IC0JdWludDMyX3Qg ZWJiMCwgcGxsMCwgcGxsMSwgcGxsMiwgcGxsMywgcGxsNiwgcGxsOCwgcGNzZHcxMjsKPiArCXVp bnQzMl90IGViYjAsIHBsbDAsIHBsbDEsIHBsbDIsIHBsbDMsIHBsbDYsIHBsbDgsIHBsbDEwLCBw Y3NkdzEyOwo+ICB9Owo+ICAKPiAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggMWIzMTIzOC4uYjA4NmQyNiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC0xMTg1LDYgKzExODUsMTIgQEAgZW51bSBza2xfZGlz cF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBQT1JUX1BMTF9HQUlOX0NUTCh4KQkJKCh4KSAg PDwgMTYpCj4gIC8qIFBPUlRfUExMXzhfQSAqLwo+ICAjZGVmaW5lICAgUE9SVF9QTExfVEFSR0VU X0NOVF9NQVNLCTB4M0ZGCj4gKy8qIFBPUlRfUExMXzlfQSAqLwo+ICsjZGVmaW5lICBQT1JUX1BM TF9MT0NLX1RIUkVTSE9MRF9NQVNLCTB4ZQo+ICsvKiBQT1JUX1BMTF8xMF9BICovCj4gKyNkZWZp bmUgIFBPUlRfUExMX0RDT19BTVBfT1ZSX0VOX0gJKDE8PDI3KQo+ICsjZGVmaW5lICBQT1JUX1BM TF9EQ09fQU1QX01BU0sJCTB4M2MwMAo+ICsjZGVmaW5lICBQT1JUX1BMTF9EQ09fQU1QKHgpCQko eDw8MTApCj4gICNkZWZpbmUgX1BPUlRfUExMX0JBU0UocG9ydCkJCV9QT1JUMyhwb3J0LCBfUE9S VF9QTExfMF9BLAlcCj4gIAkJCQkJCV9QT1JUX1BMTF8wX0IsCQlcCj4gIAkJCQkJCV9QT1JUX1BM TF8wX0MpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCA5YzFlNzRhLi5hNTY2MTNj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMTMzMywyMiArMTMzMywxOCBA QCBzdHJ1Y3QgYnh0X2Nsa19kaXYgewo+ICAJdWludDMyX3QgbTJfZnJhYzsKPiAgCWJvb2wgbTJf ZnJhY19lbjsKPiAgCXVpbnQzMl90IG47Cj4gLQl1aW50MzJfdCBwcm9wX2NvZWY7Cj4gLQl1aW50 MzJfdCBpbnRfY29lZjsKPiAtCXVpbnQzMl90IGdhaW5fY3RsOwo+IC0JdWludDMyX3QgdGFyZ19j bnQ7Cj4gIAl1aW50MzJfdCBsYW5lc3RhZ2dlcjsKPiAgfTsKPiAgCj4gIC8qIHByZS1jYWxjdWxh dGVkIHZhbHVlcyBmb3IgRFAgbGlua3JhdGVzICovCj4gIHN0YXRpYyBzdHJ1Y3QgYnh0X2Nsa19k aXYgYnh0X2RwX2Nsa192YWxbN10gPSB7Cj4gLQkvKiAxNjIgKi8gezQsIDIsIDMyLCAxNjc3NzIy LCAxLCAxLCA1LCAxMSwgMiwgOSwgMHhkfSwKPiAtCS8qIDI3MCAqLyB7NCwgMSwgMjcsICAgICAg IDAsIDAsIDEsIDMsICA4LCAxLCA5LCAweGR9LAo+IC0JLyogNTQwICovIHsyLCAxLCAyNywgICAg ICAgMCwgMCwgMSwgMywgIDgsIDEsIDksIDB4MTh9LAo+IC0JLyogMjE2ICovIHszLCAyLCAzMiwg MTY3NzcyMiwgMSwgMSwgNSwgMTEsIDIsIDksIDB4ZH0sCj4gLQkvKiAyNDMgKi8gezQsIDEsIDI0 LCAxMjU4MjkxLCAxLCAxLCA1LCAxMSwgMiwgOSwgMHhkfSwKPiAtCS8qIDMyNCAqLyB7NCwgMSwg MzIsIDE2Nzc3MjIsIDEsIDEsIDUsIDExLCAyLCA5LCAweGR9LAo+IC0JLyogNDMyICovIHszLCAx LCAzMiwgMTY3NzcyMiwgMSwgMSwgNSwgMTEsIDIsIDksIDB4MTh9Cj4gKwkvKiAxNjIgKi8gezQs IDIsIDMyLCAxNjc3NzIyLCAxLCAxLCAweGR9LAo+ICsJLyogMjcwICovIHs0LCAxLCAyNywgICAg ICAgMCwgMCwgMSwgMHhkfSwKPiArCS8qIDU0MCAqLyB7MiwgMSwgMjcsICAgICAgIDAsIDAsIDEs IDB4MTh9LAo+ICsJLyogMjE2ICovIHszLCAyLCAzMiwgMTY3NzcyMiwgMSwgMSwgMHhkfSwKPiAr CS8qIDI0MyAqLyB7NCwgMSwgMjQsIDEyNTgyOTEsIDEsIDEsIDB4ZH0sCj4gKwkvKiAzMjQgKi8g ezQsIDEsIDMyLCAxNjc3NzIyLCAxLCAxLCAweDE4fSwKPiArCS8qIDQzMiAqLyB7MywgMSwgMzIs IDE2Nzc3MjIsIDEsIDEsIDB4MTh9Cj4gIH07Cj4gIAo+ICBzdGF0aWMgYm9vbAo+IEBAIC0xMzU5 LDYgKzEzNTUsOSBAQCBieHRfZGRpX3BsbF9zZWxlY3Qoc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMsCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsOwo+ICAJc3RydWN0 IGJ4dF9jbGtfZGl2IGNsa19kaXYgPSB7MH07Cj4gKwlpbnQgdmNvID0gMDsKPiArCXVpbnQzMl90 IHByb3BfY29lZiwgaW50X2NvZWYsIGdhaW5fY3RsLCB0YXJnX2NudDsKPiArCXVpbnQzMl90IGRj b2FtcG92cl9lbl9oLCBkY29fYW1wOwo+ICAKPiAgCWlmIChpbnRlbF9lbmNvZGVyLT50eXBlID09 IElOVEVMX09VVFBVVF9IRE1JKSB7Cj4gIAkJaW50ZWxfY2xvY2tfdCBiZXN0X2Nsb2NrOwo+IEBA IC0xMzgyLDExICsxMzgxLDcgQEAgYnh0X2RkaV9wbGxfc2VsZWN0KHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjLAo+ICAJCWNsa19kaXYubTJfZnJhYyA9IGJlc3RfY2xvY2subTIgJiAoKDEg PDwgMjIpIC0gMSk7Cj4gIAkJY2xrX2Rpdi5tMl9mcmFjX2VuID0gY2xrX2Rpdi5tMl9mcmFjICE9 IDA7Cj4gIAo+IC0JCS8qIEZJWE1FOiBzZXQgY29lZiwgZ2FpbiwgdGFyZ2NudCBiYXNlZCBvbiBm cmVxIGJhbmQgKi8KPiAtCQljbGtfZGl2LnByb3BfY29lZiA9IDU7Cj4gLQkJY2xrX2Rpdi5pbnRf Y29lZiA9IDExOwo+IC0JCWNsa19kaXYuZ2Fpbl9jdGwgPSAyOwo+IC0JCWNsa19kaXYudGFyZ19j bnQgPSA5Owo+ICsJCXZjbyA9IGJlc3RfY2xvY2sudmNvOwo+ICAJCWlmIChjbG9jayA+IDI3MDAw MCkKPiAgCQkJY2xrX2Rpdi5sYW5lc3RhZ2dlciA9IDB4MTg7Cj4gIAkJZWxzZSBpZiAoY2xvY2sg PiAxMzUwMDApCj4gQEAgLTE0MTYsNiArMTQxMSwzMiBAQCBieHRfZGRpX3BsbF9zZWxlY3Qoc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gIAkJCWNsa19kaXYgPSBieHRfZHBfY2xrX3Zh bFswXTsKPiAgCQkJRFJNX0VSUk9SKCJVbmtub3duIGxpbmsgcmF0ZVxuIik7Cj4gIAkJfQo+ICsJ CXZjbyA9IGNsb2NrICogMTAgLyAyICogY2xrX2Rpdi5wMSAqIGNsa19kaXYucDI7Cj4gKwl9Cj4g Kwo+ICsJZGNvX2FtcCA9IDE1Owo+ICsJZGNvYW1wb3ZyX2VuX2ggPSAwOwo+ICsJaWYgKHZjbyA+ PSA2MjAwMDAwICYmIHZjbyA8PSA2NDgwMDAwKSB7Cj4gKwkJcHJvcF9jb2VmID0gNDsKPiArCQlp bnRfY29lZiA9IDk7Cj4gKwkJZ2Fpbl9jdGwgPSAzOwo+ICsJCXRhcmdfY250ID0gODsKPiArCX0g ZWxzZSBpZiAoKHZjbyA+IDU0MDAwMDAgJiYgdmNvIDwgNjIwMDAwMCkgfHwKPiArCQkJKHZjbyA+ PSA0ODAwMDAwICYmIHZjbyA8IDU0MDAwMDApKSB7Cj4gKwkJcHJvcF9jb2VmID0gNTsKPiArCQlp bnRfY29lZiA9IDExOwo+ICsJCWdhaW5fY3RsID0gMzsKPiArCQl0YXJnX2NudCA9IDk7Cj4gKwkJ aWYgKHZjbyA+PSA0ODAwMDAwICYmIHZjbyA8IDU0MDAwMDApCj4gKwkJCWRjb2FtcG92cl9lbl9o ID0gMTsKPiArCX0gZWxzZSBpZiAodmNvID09IDU0MDAwMDApIHsKPiArCQlwcm9wX2NvZWYgPSAz Owo+ICsJCWludF9jb2VmID0gODsKPiArCQlnYWluX2N0bCA9IDE7Cj4gKwkJdGFyZ19jbnQgPSA5 Owo+ICsJfSBlbHNlIHsKPiArCQlEUk1fRVJST1IoIkludmFsaWQgVkNPXG4iKTsKPiArCQlyZXR1 cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICAJY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZS5lYmIwID0K PiBAQCAtMTQyOSwxMSArMTQ1MCwxNiBAQCBieHRfZGRpX3BsbF9zZWxlY3Qoc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMsCj4gIAkJCVBPUlRfUExMX00yX0ZSQUNfRU5BQkxFOwo+ICAKPiAg CWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUucGxsNiA9Cj4gLQkJY2xrX2Rpdi5wcm9wX2NvZWYg fCBQT1JUX1BMTF9JTlRfQ09FRkYoY2xrX2Rpdi5pbnRfY29lZik7Cj4gKwkJcHJvcF9jb2VmIHwg UE9SVF9QTExfSU5UX0NPRUZGKGludF9jb2VmKTsKPiAgCWNydGNfc3RhdGUtPmRwbGxfaHdfc3Rh dGUucGxsNiB8PQo+IC0JCVBPUlRfUExMX0dBSU5fQ1RMKGNsa19kaXYuZ2Fpbl9jdGwpOwo+ICsJ CVBPUlRfUExMX0dBSU5fQ1RMKGdhaW5fY3RsKTsKPiArCj4gKwljcnRjX3N0YXRlLT5kcGxsX2h3 X3N0YXRlLnBsbDggPSB0YXJnX2NudDsKPiAgCj4gLQljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRl LnBsbDggPSBjbGtfZGl2LnRhcmdfY250Owo+ICsJaWYgKGRjb2FtcG92cl9lbl9oKQo+ICsJCWNy dGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUucGxsMTAgPSBQT1JUX1BMTF9EQ09fQU1QX09WUl9FTl9I Owo+ICsKPiArCWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUucGxsMTAgfD0gUE9SVF9QTExfRENP X0FNUChkY29fYW1wKTsKPiAgCj4gIAljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLnBjc2R3MTIg PQo+ICAJCUxBTkVTVEFHR0VSX1NUUkFQX09WUkQgfCBjbGtfZGl2LmxhbmVzdGFnZ2VyOwo+IEBA IC0yMzY2LDEwICsyMzkyLDE2IEBAIHN0YXRpYyB2b2lkIGJ4dF9kZGlfcGxsX2VuYWJsZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAl0ZW1wIHw9IHBsbC0+Y29uZmlnLmh3 X3N0YXRlLnBsbDg7Cj4gIAlJOTE1X1dSSVRFKEJYVF9QT1JUX1BMTChwb3J0LCA4KSwgdGVtcCk7 Cj4gIAo+IC0JLyoKPiAtCSAqIEZJWE1FOiBwcm9ncmFtIFBPUlRfUExMXzkvaV9sb2NrdGhyZXNo IGFjY29yZGluZyB0byB0aGUgbGF0ZXN0Cj4gLQkgKiBzcGVjaWZpY2F0aW9uIHVwZGF0ZS4KPiAt CSAqLwo+ICsJdGVtcCA9IEk5MTVfUkVBRChCWFRfUE9SVF9QTEwocG9ydCwgOSkpOwo+ICsJdGVt cCAmPSB+UE9SVF9QTExfTE9DS19USFJFU0hPTERfTUFTSzsKPiArCXRlbXAgfD0gKDUgPDwgMSk7 Cj4gKwlJOTE1X1dSSVRFKEJYVF9QT1JUX1BMTChwb3J0LCA5KSwgdGVtcCk7Cj4gKwo+ICsJdGVt cCA9IEk5MTVfUkVBRChCWFRfUE9SVF9QTEwocG9ydCwgMTApKTsKPiArCXRlbXAgJj0gflBPUlRf UExMX0RDT19BTVBfT1ZSX0VOX0g7Cj4gKwl0ZW1wICY9IH5QT1JUX1BMTF9EQ09fQU1QX01BU0s7 Cj4gKwl0ZW1wIHw9IHBsbC0+Y29uZmlnLmh3X3N0YXRlLnBsbDEwOwo+ICsJSTkxNV9XUklURShC WFRfUE9SVF9QTEwocG9ydCwgMTApLCB0ZW1wKTsKPiAgCj4gIAkvKiBSZWNhbGlicmF0ZSB3aXRo IG5ldyBzZXR0aW5ncyAqLwo+ICAJdGVtcCA9IEk5MTVfUkVBRChCWFRfUE9SVF9QTExfRUJCXzQo cG9ydCkpOwo+IEBAIC0yNDMzLDYgKzI0NjUsNyBAQCBzdGF0aWMgYm9vbCBieHRfZGRpX3BsbF9n ZXRfaHdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJaHdfc3Rh dGUtPnBsbDMgPSBJOTE1X1JFQUQoQlhUX1BPUlRfUExMKHBvcnQsIDMpKTsKPiAgCWh3X3N0YXRl LT5wbGw2ID0gSTkxNV9SRUFEKEJYVF9QT1JUX1BMTChwb3J0LCA2KSk7Cj4gIAlod19zdGF0ZS0+ cGxsOCA9IEk5MTVfUkVBRChCWFRfUE9SVF9QTEwocG9ydCwgOCkpOwo+ICsJaHdfc3RhdGUtPnBs bDEwID0gSTkxNV9SRUFEKEJYVF9QT1JUX1BMTChwb3J0LCAxMCkpOwo+ICAJLyoKPiAgCSAqIFdo aWxlIHdlIHdyaXRlIHRvIHRoZSBncm91cCByZWdpc3RlciB0byBwcm9ncmFtIGFsbCBsYW5lcyBh dCBvbmNlIHdlCj4gIAkgKiBjYW4gcmVhZCBvbmx5IGxhbmUgcmVnaXN0ZXJzLiBXZSBjb25maWd1 cmUgYWxsIGxhbmVzIHRoZSBzYW1lIHdheSwgc28KCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=