From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [PATCH 01/53] drm/i915: Remove ironlake rc6 support Date: Tue, 10 Mar 2015 23:02:54 +0000 Message-ID: <54FF781E.8030206@intel.com> References: <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1425564183-22296-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 16C7D6E0DF for ; Tue, 10 Mar 2015 16:02:57 -0700 (PDT) In-Reply-To: <1425564183-22296-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: John.C.Harrison@Intel.com, Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMDUvMDMvMjAxNSAxNDowMywgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90ZToKPiBG cm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Cj4gQXBwYXJl bnRseSwgdGhpcyBoYXMgbmV2ZXIgd29ya2VkIHJlbGlhYmx5IGFuZCBpcyBjdXJyZW50bHkgZGlz YWJsZWQuIEFsc28sIHRoZQo+IGdhaW5zIGFyZSBub3QgcGFydGljdWxhcmx5IGltcHJlc3NpdmUu IFRodXMgcmF0aGVyIHRoYW4gdHJ5IHRvIGtlZXAgdW51c2VkIGNvZGUKPiBmcm9tIGRlY2F5aW5n IGFuZCBoYXZpbmcgdG8gdXBkYXRlIGl0IGZvciBvdGhlciBkcml2ZXIgY2hhbmdlcywgaXQgd2Fz IGRlY2lkZWQKPiB0byBzaW1wbHkgcmVtb3ZlIGl0Lgo+Cj4gRm9yOiBWSVotNTExNQo+IFNpZ25l ZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4gLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgfCAgIDEyIC0tLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgICAgMyAtCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgICAyIC0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgIDEgLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYyAgICAgIHwgIDE1NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gICA1IGZpbGVzIGNoYW5nZWQsIDE3MyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggNjhhMWU2ZS4uMThlNDkwMCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTE4NDYsMTggKzE4NDYsNiBAQCBzdGF0aWMgaW50 IGk5MTVfY29udGV4dF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4g ICAJaWYgKHJldCkKPiAgIAkJcmV0dXJuIHJldDsKPgo+IC0JaWYgKGRldl9wcml2LT5pcHMucHdy Y3R4KSB7Cj4gLQkJc2VxX3B1dHMobSwgInBvd2VyIGNvbnRleHQgIik7Cj4gLQkJZGVzY3JpYmVf b2JqKG0sIGRldl9wcml2LT5pcHMucHdyY3R4KTsKPiAtCQlzZXFfcHV0YyhtLCAnXG4nKTsKPiAt CX0KPiAtCj4gLQlpZiAoZGV2X3ByaXYtPmlwcy5yZW5kZXJjdHgpIHsKPiAtCQlzZXFfcHV0cyht LCAicmVuZGVyIGNvbnRleHQgIik7Cj4gLQkJZGVzY3JpYmVfb2JqKG0sIGRldl9wcml2LT5pcHMu cmVuZGVyY3R4KTsKPiAtCQlzZXFfcHV0YyhtLCAnXG4nKTsKPiAtCX0KPiAtCj4gICAJbGlzdF9m b3JfZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4dF9saXN0LCBsaW5rKSB7Cj4gICAJ CWlmICghaTkxNS5lbmFibGVfZXhlY2xpc3RzICYmCj4gICAJCSAgICBjdHgtPmxlZ2FjeV9od19j dHgucmNzX3N0YXRlID09IE5VTEwpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggNzk4 ZmE4OC4uMDVmMTA2ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0xMDUzLDkg KzEwNTMsNiBAQCBzdHJ1Y3QgaW50ZWxfaWxrX3Bvd2VyX21nbXQgewo+Cj4gICAJaW50IGNfbTsK PiAgIAlpbnQgcl90Owo+IC0KPiAtCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpwd3JjdHg7 Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqcmVuZGVyY3R4Owo+ICAgfTsKPgo+ICAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+IGluZGV4IDVjMzUwOTguLjUxZjdlZDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gQEAgLTEzOTA0LDggKzEzOTA0LDYgQEAgdm9pZCBpbnRlbF9tb2Rlc2V0X2Ns ZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPgo+ICAgCWludGVsX2ZiY19kaXNhYmxlKGRl dik7Cj4KPiAtCWlyb25sYWtlX3RlYXJkb3duX3JjNihkZXYpOwo+IC0KPiAgIAltdXRleF91bmxv Y2soJmRldi0+c3RydWN0X211dGV4KTsKPgo+ICAgCS8qIGZsdXNoIGFueSBkZWxheWVkIHRhc2tz IG9yIHBlbmRpbmcgd29yayAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggZjQz MDViZS4uYjc5MzU1OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTEyMjks NyArMTIyOSw2IEBAIHZvaWQgaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKPiAgIHZvaWQgaW50ZWxfZGlzYWJsZV9ndF9wb3dlcnNhdmUoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7Cj4gICB2b2lkIGludGVsX3N1c3BlbmRfZ3RfcG93ZXJzYXZlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwo+ICAgdm9pZCBpbnRlbF9yZXNldF9ndF9wb3dlcnNhdmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gLXZvaWQgaXJvbmxha2VfdGVhcmRvd25fcmM2KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwo+ICAgdm9pZCBnZW42X3VwZGF0ZV9yaW5nX2ZyZXEoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Cj4gICB2b2lkIGdlbjZfcnBzX2lkbGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgIHZvaWQgZ2VuNl9ycHNfYm9vc3Qoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRleCA1 NDJjZjY4Li4wNzYyNTcyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTM1Mzks NDEgKzM1MzksNiBAQCB2b2lkIGludGVsX3VwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJrcyhzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPiAgIAkJCQkJCSAgIHBpeGVsX3NpemUsIGVuYWJsZWQsIHNjYWxl ZCk7Cj4gICB9Cj4KPiAtc3RhdGljIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKPiAtaW50 ZWxfYWxsb2NfY29udGV4dF9wYWdlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gLXsKPiAtCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHg7Cj4gLQlpbnQgcmV0Owo+IC0KPiAtCVdBUk5f T04oIW11dGV4X2lzX2xvY2tlZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKPiAtCj4gLQljdHggPSBp OTE1X2dlbV9hbGxvY19vYmplY3QoZGV2LCA0MDk2KTsKPiAtCWlmICghY3R4KSB7Cj4gLQkJRFJN X0RFQlVHKCJmYWlsZWQgdG8gYWxsb2MgcG93ZXIgY29udGV4dCwgUkM2IGRpc2FibGVkXG4iKTsK PiAtCQlyZXR1cm4gTlVMTDsKPiAtCX0KPiAtCj4gLQlyZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9w aW4oY3R4LCA0MDk2LCAwKTsKPiAtCWlmIChyZXQpIHsKPiAtCQlEUk1fRVJST1IoImZhaWxlZCB0 byBwaW4gcG93ZXIgY29udGV4dDogJWRcbiIsIHJldCk7Cj4gLQkJZ290byBlcnJfdW5yZWY7Cj4g LQl9Cj4gLQo+IC0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKGN0eCwg MSk7Cj4gLQlpZiAocmV0KSB7Cj4gLQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0LWRvbWFpbiBv biBwb3dlciBjb250ZXh0OiAlZFxuIiwgcmV0KTsKPiAtCQlnb3RvIGVycl91bnBpbjsKPiAtCX0K PiAtCj4gLQlyZXR1cm4gY3R4Owo+IC0KPiAtZXJyX3VucGluOgo+IC0JaTkxNV9nZW1fb2JqZWN0 X2dndHRfdW5waW4oY3R4KTsKPiAtZXJyX3VucmVmOgo+IC0JZHJtX2dlbV9vYmplY3RfdW5yZWZl cmVuY2UoJmN0eC0+YmFzZSk7Cj4gLQlyZXR1cm4gTlVMTDsKPiAtfQo+IC0KPiAgIC8qKgo+ICAg ICogTG9jayBwcm90ZWN0aW5nIElQUyByZWxhdGVkIGRhdGEgc3RydWN0dXJlcwo+ICAgICovCj4g QEAgLTQ5OTAsMTI0ICs0OTU1LDYgQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19lbmFibGVfcnBz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQo ZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwo+ICAgfQo+Cj4gLXZvaWQgaXJvbmxha2VfdGVhcmRv d25fcmM2KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gLXsKPiAtCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQo+IC0JaWYgKGRldl9wcml2 LT5pcHMucmVuZGVyY3R4KSB7Cj4gLQkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oZGV2X3By aXYtPmlwcy5yZW5kZXJjdHgpOwo+IC0JCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZkZXZf cHJpdi0+aXBzLnJlbmRlcmN0eC0+YmFzZSk7Cj4gLQkJZGV2X3ByaXYtPmlwcy5yZW5kZXJjdHgg PSBOVUxMOwo+IC0JfQo+IC0KPiAtCWlmIChkZXZfcHJpdi0+aXBzLnB3cmN0eCkgewo+IC0JCWk5 MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGRldl9wcml2LT5pcHMucHdyY3R4KTsKPiAtCQlkcm1f Z2VtX29iamVjdF91bnJlZmVyZW5jZSgmZGV2X3ByaXYtPmlwcy5wd3JjdHgtPmJhc2UpOwo+IC0J CWRldl9wcml2LT5pcHMucHdyY3R4ID0gTlVMTDsKPiAtCX0KPiAtfQo+IC0KPiAtc3RhdGljIHZv aWQgaXJvbmxha2VfZGlzYWJsZV9yYzYoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAtewo+IC0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAt Cj4gLQlpZiAoSTkxNV9SRUFEKFBXUkNUWEEpKSB7Cj4gLQkJLyogV2FrZSB0aGUgR1BVLCBwcmV2 ZW50IFJDNiwgdGhlbiByZXN0b3JlIFJTVERCWUNUTCAqLwo+IC0JCUk5MTVfV1JJVEUoUlNUREJZ Q1RMLCBJOTE1X1JFQUQoUlNUREJZQ1RMKSB8IFJDWF9TV19FWElUKTsKPiAtCQl3YWl0X2Zvcigo KEk5MTVfUkVBRChSU1REQllDVEwpICYgUlNYX1NUQVRVU19NQVNLKSA9PSBSU1hfU1RBVFVTX09O KSwKPiAtCQkJIDUwKTsKPiAtCj4gLQkJSTkxNV9XUklURShQV1JDVFhBLCAwKTsKPiAtCQlQT1NU SU5HX1JFQUQoUFdSQ1RYQSk7Cj4gLQo+IC0JCUk5MTVfV1JJVEUoUlNUREJZQ1RMLCBJOTE1X1JF QUQoUlNUREJZQ1RMKSAmIH5SQ1hfU1dfRVhJVCk7Cj4gLQkJUE9TVElOR19SRUFEKFJTVERCWUNU TCk7Cj4gLQl9Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbnQgaXJvbmxha2Vfc2V0dXBfcmM2KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gLXsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQo+IC0JaWYgKGRldl9wcml2LT5pcHMucmVuZGVy Y3R4ID09IE5VTEwpCj4gLQkJZGV2X3ByaXYtPmlwcy5yZW5kZXJjdHggPSBpbnRlbF9hbGxvY19j b250ZXh0X3BhZ2UoZGV2KTsKPiAtCWlmICghZGV2X3ByaXYtPmlwcy5yZW5kZXJjdHgpCj4gLQkJ cmV0dXJuIC1FTk9NRU07Cj4gLQo+IC0JaWYgKGRldl9wcml2LT5pcHMucHdyY3R4ID09IE5VTEwp Cj4gLQkJZGV2X3ByaXYtPmlwcy5wd3JjdHggPSBpbnRlbF9hbGxvY19jb250ZXh0X3BhZ2UoZGV2 KTsKPiAtCWlmICghZGV2X3ByaXYtPmlwcy5wd3JjdHgpIHsKPiAtCQlpcm9ubGFrZV90ZWFyZG93 bl9yYzYoZGV2KTsKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiAtCX0KPiAtCj4gLQlyZXR1cm4gMDsK PiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgaXJvbmxha2VfZW5hYmxlX3JjNihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+IC0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9ICZkZXZf cHJpdi0+cmluZ1tSQ1NdOwo+IC0JYm9vbCB3YXNfaW50ZXJydXB0aWJsZTsKPiAtCWludCByZXQ7 Cj4gLQo+IC0JLyogcmM2IGRpc2FibGVkIGJ5IGRlZmF1bHQgZHVlIHRvIHJlcGVhdGVkIHJlcG9y dHMgb2YgaGFuZ2luZyBkdXJpbmcKPiAtCSAqIGJvb3QgYW5kIHJlc3VtZS4KPiAtCSAqLwo+IC0J aWYgKCFpbnRlbF9lbmFibGVfcmM2KGRldikpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCVdBUk5fT04o IW11dGV4X2lzX2xvY2tlZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKPiAtCj4gLQlyZXQgPSBpcm9u bGFrZV9zZXR1cF9yYzYoZGV2KTsKPiAtCWlmIChyZXQpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCXdh c19pbnRlcnJ1cHRpYmxlID0gZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGU7Cj4gLQlkZXZfcHJp di0+bW0uaW50ZXJydXB0aWJsZSA9IGZhbHNlOwo+IC0KPiAtCS8qCj4gLQkgKiBHUFUgY2FuIGF1 dG9tYXRpY2FsbHkgcG93ZXIgZG93biB0aGUgcmVuZGVyIHVuaXQgaWYgZ2l2ZW4gYSBwYWdlCj4g LQkgKiB0byBzYXZlIHN0YXRlLgo+IC0JICovCj4gLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJp bmcsIDYpOwo+IC0JaWYgKHJldCkgewo+IC0JCWlyb25sYWtlX3RlYXJkb3duX3JjNihkZXYpOwo+ IC0JCWRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlID0gd2FzX2ludGVycnVwdGlibGU7Cj4gLQkJ cmV0dXJuOwo+IC0JfQo+IC0KPiAtCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9TVVNQRU5EX0ZM VVNIIHwgTUlfU1VTUEVORF9GTFVTSF9FTik7Cj4gLQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlf U0VUX0NPTlRFWFQpOwo+IC0JaW50ZWxfcmluZ19lbWl0KHJpbmcsIGk5MTVfZ2VtX29ial9nZ3R0 X29mZnNldChkZXZfcHJpdi0+aXBzLnJlbmRlcmN0eCkgfAo+IC0JCQlNSV9NTV9TUEFDRV9HVFQg fAo+IC0JCQlNSV9TQVZFX0VYVF9TVEFURV9FTiB8Cj4gLQkJCU1JX1JFU1RPUkVfRVhUX1NUQVRF X0VOIHwKPiAtCQkJTUlfUkVTVE9SRV9JTkhJQklUKTsKPiAtCWludGVsX3JpbmdfZW1pdChyaW5n LCBNSV9TVVNQRU5EX0ZMVVNIKTsKPiAtCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsK PiAtCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9GTFVTSCk7Cj4gLQlpbnRlbF9yaW5nX2FkdmFu Y2UocmluZyk7Cj4gLQo+IC0JLyoKPiAtCSAqIFdhaXQgZm9yIHRoZSBjb21tYW5kIHBhcnNlciB0 byBhZHZhbmNlIHBhc3QgTUlfU0VUX0NPTlRFWFQuIFRoZSBIVwo+IC0JICogZG9lcyBhbiBpbXBs aWNpdCBmbHVzaCwgY29tYmluZWQgd2l0aCBNSV9GTFVTSCBhYm92ZSwgaXQgc2hvdWxkIGJlCj4g LQkgKiBzYWZlIHRvIGFzc3VtZSB0aGF0IHJlbmRlcmN0eCBpcyB2YWxpZAo+IC0JICovCj4gLQly ZXQgPSBpbnRlbF9yaW5nX2lkbGUocmluZyk7Cj4gLQlkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJs ZSA9IHdhc19pbnRlcnJ1cHRpYmxlOwo+IC0JaWYgKHJldCkgewo+IC0JCURSTV9FUlJPUigiZmFp bGVkIHRvIGVuYWJsZSBpcm9ubGFrZSBwb3dlciBzYXZpbmdzXG4iKTsKPiAtCQlpcm9ubGFrZV90 ZWFyZG93bl9yYzYoZGV2KTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JSTkxNV9XUklURShQ V1JDVFhBLCBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQoZGV2X3ByaXYtPmlwcy5wd3JjdHgpIHwg UFdSQ1RYX0VOKTsKPiAtCUk5MTVfV1JJVEUoUlNUREJZQ1RMLCBJOTE1X1JFQUQoUlNUREJZQ1RM KSAmIH5SQ1hfU1dfRVhJVCk7Cj4gLQo+IC0JaW50ZWxfcHJpbnRfcmM2X2luZm8oZGV2LCBHRU42 X1JDX0NUTF9SQzZfRU5BQkxFKTsKPiAtfQo+IC0KPiAgIHN0YXRpYyB1bnNpZ25lZCBsb25nIGlu dGVsX3B4ZnJlcSh1MzIgdmlkZnJlcSkKPiAgIHsKPiAgIAl1bnNpZ25lZCBsb25nIGZyZXE7Cj4g QEAgLTU2NTUsNyArNTUwMiw2IEBAIHZvaWQgaW50ZWxfZGlzYWJsZV9ndF9wb3dlcnNhdmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPgo+ICAgCWlmIChJU19JUk9OTEFLRV9NKGRldikpIHsKPiAg IAkJaXJvbmxha2VfZGlzYWJsZV9kcnBzKGRldik7Cj4gLQkJaXJvbmxha2VfZGlzYWJsZV9yYzYo ZGV2KTsKPiAgIAl9IGVsc2UgaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDYpIHsKPiAgIAkJ aW50ZWxfc3VzcGVuZF9ndF9wb3dlcnNhdmUoZGV2KTsKPgo+IEBAIC01NzI2LDcgKzU1NzIsNiBA QCB2b2lkIGludGVsX2VuYWJsZV9ndF9wb3dlcnNhdmUoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgIAlpZiAoSVNfSVJPTkxBS0VfTShkZXYpKSB7Cj4gICAJCW11dGV4X2xvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKPiAgIAkJaXJvbmxha2VfZW5hYmxlX2RycHMoZGV2KTsKPiAtCQlpcm9ubGFr ZV9lbmFibGVfcmM2KGRldik7Cj4gICAJCWludGVsX2luaXRfZW1vbihkZXYpOwo+ICAgCQltdXRl eF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgIAl9IGVsc2UgaWYgKElOVEVMX0lORk8o ZGV2KS0+Z2VuID49IDYpIHsKPgogPgoKUmV2aWV3ZWQtYnk6IFRvbWFzIEVsZiA8dG9tYXMuZWxm QGludGVsLmNvbT4KClRoYW5rcywKVG9tYXMKCihJIGtub3cgdGhpcyBvbmUgaGFzIGFscmVhZHkg YmVlbiBxdWV1ZWQgZm9yIG1lcmdlLi4uIEknbSBnb2luZyB0aHJvdWdoIAp0aGVzZSBwYXRjaGVz IHJlZ2FyZGxlc3MsIGZvciBteSBvd24gYm9va2tlZXBpbmcpCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==