From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 10/14] drm/i915: Track which port is using which pipe's power sequencer Date: Mon, 18 Aug 2014 22:16:05 +0300 Message-ID: <1408389369-22898-11-git-send-email-ville.syrjala@linux.intel.com> References: <1408389369-22898-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 136696E1CF for ; Mon, 18 Aug 2014 12:21:11 -0700 (PDT) In-Reply-To: <1408389369-22898-1-git-send-email-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClZM Vi9DSFYgaGF2ZSBhIHBlci1waXBlIHBhbmVsIHBvd2VyIHNlcXVlbmNlciB3aGljaCBsb2NrcyBv bnRvIHRoZQpwb3J0IG9uY2UgdXNlZC4gV2UgbmVlZCB0byBrZWVwIHRyYWNrIHdpY2ggcG93ZXIg c2VxdWVuY2VycyBhcmUKbG9ja2VkIHRvIHdoaWNoIHBvcnRzLgoKU2lnbmVkLW9mZi1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICB8IDE4NSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgICA2ICsr CiAyIGZpbGVzIGNoYW5nZWQsIDE2OCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCA1NTZlNGRlLi40NjE0ZTZlIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKQEAgLTI5NCwyOCArMjk0LDk5IEBAIHN0YXRpYyBlbnVtIHBpcGUKIHZsdl9w b3dlcl9zZXF1ZW5jZXJfcGlwZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewogCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50 ZWxfZHApOwotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJh c2UuY3J0YzsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2Uu YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0OwotCWVudW0g cGlwZSBwaXBlOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOworCXVuc2lnbmVkIGlu dCBwaXBlcyA9ICgxIDw8IFBJUEVfQSkgfCAoMSA8PCBQSVBFX0IpOworCXN0cnVjdCBlZHBfcG93 ZXJfc2VxIHBvd2VyX3NlcTsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNf bXV0ZXgpOwogCi0JLyogbW9kZXNldCBzaG91bGQgaGF2ZSBwaXBlICovCi0JaWYgKGNydGMpCi0J CXJldHVybiB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOworCWlmIChpbnRlbF9kcC0+cHBzX3Bp cGUgIT0gSU5WQUxJRF9QSVBFKQorCQlyZXR1cm4gaW50ZWxfZHAtPnBwc19waXBlOworCisJLyoK KwkgKiBXZSBkb24ndCBoYXZlIHBvd2VyIHNlcXVlbmNlciBjdXJyZW50bHkuCisJICogUGljayBv bmUgdGhhdCdzIG5vdCB1c2VkIGJ5IG90aGVyIHBvcnRzLgorCSAqLworCWxpc3RfZm9yX2VhY2hf ZW50cnkoZW5jb2RlciwgJmRldi0+bW9kZV9jb25maWcuZW5jb2Rlcl9saXN0LCBiYXNlLmhlYWQp IHsKKwkJc3RydWN0IGludGVsX2RwICp0bXA7CisKKwkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5U RUxfT1VUUFVUX0VEUCkKKwkJCWNvbnRpbnVlOworCisJCXRtcCA9IGVuY190b19pbnRlbF9kcCgm ZW5jb2Rlci0+YmFzZSk7CisKKwkJaWYgKHRtcC0+cHBzX3BpcGUgIT0gSU5WQUxJRF9QSVBFKQor CQkJcGlwZXMgJj0gfigxIDw8IHRtcC0+cHBzX3BpcGUpOworCX0KKworCS8qCisJICogRGlkbid0 IGZpbmQgb25lLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuIHNpbmNlIHRoZXJlCisJICogYXJlIHR3 byBwb3dlciBzZXF1ZW5jZXJzIGFuZCB1cCB0byB0d28gZURQIHBvcnRzLgorCSAqLworCWlmIChX QVJOX09OKHBpcGVzID09IDApKQorCQlyZXR1cm4gUElQRV9BOworCisJaW50ZWxfZHAtPnBwc19w aXBlID0gZmZzKHBpcGVzKSAtIDE7CisKKwlEUk1fREVCVUdfS01TKCJwaWNrZWQgcGlwZSAlYyBw b3dlciBzZXF1ZW5jZXIgZm9yIHBvcnQgJWNcbiIsCisJCSAgICAgIHBpcGVfbmFtZShpbnRlbF9k cC0+cHBzX3BpcGUpLCBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQtPnBvcnQpKTsKKworCS8qIGlu aXQgcG93ZXIgc2VxdWVuY2VyIG9uIHRoaXMgcGlwZSBhbmQgcG9ydCAqLworCWludGVsX2RwX2lu aXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKGRldiwgaW50ZWxfZHAsICZwb3dlcl9zZXEpOworCWlu dGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhkZXYsIGludGVsX2Rw LAorCQkJCQkJICAgICAgJnBvd2VyX3NlcSk7CisKKwlyZXR1cm4gaW50ZWxfZHAtPnBwc19waXBl OworfQorCitzdGF0aWMgZW51bSBwaXBlCit2bHZfaW5pdGlhbF9wb3dlcl9zZXF1ZW5jZXJfcGlw ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJIGVudW0gcG9ydCBwb3J0 KQoreworCWVudW0gcGlwZSBwaXBlOwogCi0JLyogaW5pdCB0aW1lLCB0cnkgdG8gZmluZCBhIHBp cGUgd2l0aCB0aGlzIHBvcnQgc2VsZWN0ZWQgKi8KIAlmb3IgKHBpcGUgPSBQSVBFX0E7IHBpcGUg PD0gUElQRV9COyBwaXBlKyspIHsKIAkJdTMyIHBvcnRfc2VsID0gSTkxNV9SRUFEKFZMVl9QSVBF X1BQX09OX0RFTEFZUyhwaXBlKSkgJgogCQkJUEFORUxfUE9SVF9TRUxFQ1RfTUFTSzsKLQkJaWYg KHBvcnRfc2VsID09IFBBTkVMX1BPUlRfU0VMRUNUX1ZMVihwb3J0KSkKLQkJCXJldHVybiBwaXBl OworCisJCWlmIChwb3J0X3NlbCAhPSBQQU5FTF9QT1JUX1NFTEVDVF9WTFYocG9ydCkpCisJCQlj b250aW51ZTsKKworCQlyZXR1cm4gcGlwZTsKKwl9CisKKwlyZXR1cm4gSU5WQUxJRF9QSVBFOwor fQorCitzdGF0aWMgdm9pZAordmx2X2luaXRpYWxfcG93ZXJfc2VxdWVuY2VyX3NldHVwKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCit7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CisJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2OworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGVkcF9wb3dl cl9zZXEgcG93ZXJfc2VxOworCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7 CisKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKKworCS8qIHRy eSB0byBmaW5kIGEgcGlwZSB3aXRoIHRoaXMgcG9ydCBzZWxlY3RlZCAqLworCWludGVsX2RwLT5w cHNfcGlwZSA9IHZsdl9pbml0aWFsX3Bvd2VyX3NlcXVlbmNlcl9waXBlKGRldl9wcml2LCBwb3J0 KTsKKworCS8qIGRpZG4ndCBmaW5kIG9uZT8ganVzdCBsZXQgdmx2X3Bvd2VyX3NlcXVlbmNlcl9w aXBlKCkgcGljayBvbmUgd2hlbiBuZWVkZWQgKi8KKwlpZiAoaW50ZWxfZHAtPnBwc19waXBlID09 IElOVkFMSURfUElQRSkgeworCQlEUk1fREVCVUdfS01TKCJubyBpbml0aWFsIHBvd2VyIHNlcXVl bmNlciBmb3IgcG9ydCAlY1xuIiwKKwkJCSAgICAgIHBvcnRfbmFtZShwb3J0KSk7CisJCXJldHVy bjsKIAl9CiAKLQkvKiBzaHJ1ZyAqLwotCXJldHVybiBQSVBFX0E7CisJRFJNX0RFQlVHX0tNUygi aW5pdGlhbCBwb3dlciBzZXF1ZW5jZXIgZm9yIHBvcnQgJWM6IHBpcGUgJWNcbiIsCisJCSAgICAg IHBvcnRfbmFtZShwb3J0KSwgcGlwZV9uYW1lKGludGVsX2RwLT5wcHNfcGlwZSkpOworCisJaW50 ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoZGV2LCBpbnRlbF9kcCwgJnBvd2VyX3Nl cSk7CisJaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKGRldiwg aW50ZWxfZHAsCisJCQkJCQkgICAgICAmcG93ZXJfc2VxKTsKIH0KIAogc3RhdGljIHUzMiBfcHBf Y3RybF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKQEAgLTIyMDksNiArMjI4MCw3NiBA QCBzdGF0aWMgdm9pZCBnNHhfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKIAl9CiB9CiAKK3N0YXRpYyB2b2lkIHZsdl9zdGVhbF9wb3dlcl9zZXF1ZW5jZXIoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkgICAgICBlbnVtIHBpcGUgcGlwZSkKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOworCisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3By aXYtPnBwc19tdXRleCk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVuY29kZXIsICZkZXYtPm1v ZGVfY29uZmlnLmVuY29kZXJfbGlzdCwgYmFzZS5oZWFkKSB7CisJCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHA7CisKKwkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0VEUCkKKwkJ CWNvbnRpbnVlOworCisJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNl KTsKKworCQlpZiAoaW50ZWxfZHAtPnBwc19waXBlICE9IHBpcGUpCisJCQljb250aW51ZTsKKwor CQlEUk1fREVCVUdfS01TKCJzdGVhbGluZyBwaXBlICVjIHBvd2VyIHNlcXVlbmNlciBmcm9tIHBv cnQgJWNcbiIsCisJCQkgICAgICBwaXBlX25hbWUocGlwZSksCisJCQkgICAgICBwb3J0X25hbWUo ZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0KSk7CisKKwkJLyogbWFrZSBzdXJlIHZkZCBp cyBvZmYgYmVmb3JlIHdlIHN0ZWFsIGl0ICovCisJCWVkcF9wYW5lbF92ZGRfb2ZmX3N5bmMoaW50 ZWxfZHApOworCisJCWludGVsX2RwLT5wcHNfcGlwZSA9IElOVkFMSURfUElQRTsKKwl9Cit9CisK K3N0YXRpYyB2b2lkIHZsdl9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQoreworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBlbmNvZGVyLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOworCXN0cnVjdCBlZHBfcG93ZXJfc2VxIHBvd2VyX3Nl cTsKKworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOworCisJaWYg KGludGVsX2RwLT5wcHNfcGlwZSA9PSBjcnRjLT5waXBlKQorCQlyZXR1cm47CisKKwkvKgorCSAq IElmIGFub3RoZXIgcG93ZXIgc2VxdWVuY2VyIHdhcyBiZWluZyB1c2VkIG9uIHRoaXMKKwkgKiBw b3J0IHByZXZpb3VzbHkgbWFrZSBzdXJlIHRvIHR1cm4gb2ZmIHZkZCB0aGVyZSB3aGlsZQorCSAq IHdlIHN0aWxsIGhhdmUgY29udHJvbCBvZiBpdC4KKwkgKi8KKwlpZiAoaW50ZWxfZHAtPnBwc19w aXBlICE9IElOVkFMSURfUElQRSkKKwkJZWRwX3BhbmVsX3ZkZF9vZmZfc3luYyhpbnRlbF9kcCk7 CisKKwkvKgorCSAqIFdlIG1heSBiZSBzdGVhbGluZyB0aGUgcG93ZXIKKwkgKiBzZXF1ZW5jZXIg ZnJvbSBhbm90aGVyIHBvcnQuCisJICovCisJdmx2X3N0ZWFsX3Bvd2VyX3NlcXVlbmNlcihkZXYs IGNydGMtPnBpcGUpOworCisJLyogbm93IGl0J3MgYWxsIG91cnMgKi8KKwlpbnRlbF9kcC0+cHBz X3BpcGUgPSBjcnRjLT5waXBlOworCisJRFJNX0RFQlVHX0tNUygiaW5pdGlhbGl6aW5nIHBpcGUg JWMgcG93ZXIgc2VxdWVuY2VyIGZvciBwb3J0ICVjXG4iLAorCQkgICAgICBwaXBlX25hbWUoaW50 ZWxfZHAtPnBwc19waXBlKSwgcG9ydF9uYW1lKGludGVsX2RpZ19wb3J0LT5wb3J0KSk7CisKKwkv KiBpbml0IHBvd2VyIHNlcXVlbmNlciBvbiB0aGlzIHBpcGUgYW5kIHBvcnQgKi8KKwlpbnRlbF9k cF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihkZXYsIGludGVsX2RwLCAmcG93ZXJfc2VxKTsK KwlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoZGV2LCBpbnRl bF9kcCwKKwkJCQkJCSAgICAgICZwb3dlcl9zZXEpOworfQorCiBzdGF0aWMgdm9pZCB2bHZfcHJl X2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKQEAgLTIy MTgsNyArMjM1OSw2IEBAIHN0YXRpYyB2b2lkIHZsdl9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9f aW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwogCWVudW0gZHBpb19jaGFubmVsIHBvcnQg PSB2bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9ydCk7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5w aXBlOwotCXN0cnVjdCBlZHBfcG93ZXJfc2VxIHBvd2VyX3NlcTsKIAl1MzIgdmFsOwogCiAJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPmRwaW9fbG9jayk7CkBAIC0yMjM3LDExICsyMzc3LDggQEAgc3Rh dGljIHZvaWQgdmx2X3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHBpb19sb2NrKTsKIAogCWlmIChpc19lZHAoaW50 ZWxfZHApKSB7Ci0JCS8qIGluaXQgcG93ZXIgc2VxdWVuY2VyIG9uIHRoaXMgcGlwZSBhbmQgcG9y dCAqLwogCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKLQkJaW50ZWxfZHBfaW5p dF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoZGV2LCBpbnRlbF9kcCwgJnBvd2VyX3NlcSk7Ci0JCWlu dGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhkZXYsIGludGVsX2Rw LAotCQkJCQkJCSAgICAgICZwb3dlcl9zZXEpOworCQl2bHZfaW5pdF9wYW5lbF9wb3dlcl9zZXF1 ZW5jZXIoaW50ZWxfZHApOwogCQltdXRleF91bmxvY2soJmRldl9wcml2LT5wcHNfbXV0ZXgpOwog CX0KIApAQCAtMjI4Niw3ICsyNDIzLDYgQEAgc3RhdGljIHZvaWQgY2h2X3ByZV9lbmFibGVfZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqZHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGVkcF9wb3dlcl9zZXEgcG93ZXJfc2Vx OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KIAkJdG9faW50ZWxfY3J0YyhlbmNv ZGVyLT5iYXNlLmNydGMpOwogCWVudW0gZHBpb19jaGFubmVsIGNoID0gdmx2X2Rwb3J0X3RvX2No YW5uZWwoZHBvcnQpOwpAQCAtMjM0MSwxMSArMjQ3Nyw4IEBAIHN0YXRpYyB2b2lkIGNodl9wcmVf ZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCW11dGV4X3VubG9jaygm ZGV2X3ByaXYtPmRwaW9fbG9jayk7CiAKIAlpZiAoaXNfZWRwKGludGVsX2RwKSkgewotCQkvKiBp bml0IHBvd2VyIHNlcXVlbmNlciBvbiB0aGlzIHBpcGUgYW5kIHBvcnQgKi8KIAkJbXV0ZXhfbG9j aygmZGV2X3ByaXYtPnBwc19tdXRleCk7Ci0JCWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2Vx dWVuY2VyKGRldiwgaW50ZWxfZHAsICZwb3dlcl9zZXEpOwotCQlpbnRlbF9kcF9pbml0X3BhbmVs X3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoZGV2LCBpbnRlbF9kcCwKLQkJCQkJCQkgICAgICAm cG93ZXJfc2VxKTsKKwkJdmx2X2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKGludGVsX2RwKTsK IAkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIAl9CiAKQEAgLTQ2OTEsNiAr NDgyNCw4IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0LAogCXN0cnVjdCBlZHBfcG93ZXJfc2VxIHBvd2VyX3NlcSA9IHsg MCB9OwogCWludCB0eXBlOwogCisJaW50ZWxfZHAtPnBwc19waXBlID0gSU5WQUxJRF9QSVBFOwor CiAJLyogaW50ZWxfZHAgdmZ1bmNzICovCiAJaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkKIAkJaW50 ZWxfZHAtPmdldF9hdXhfY2xvY2tfZGl2aWRlciA9IHZsdl9nZXRfYXV4X2Nsb2NrX2RpdmlkZXI7 CkBAIC00NzYyLDggKzQ4OTcsMTIgQEAgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAKIAlpZiAoaXNfZWRwKGludGVsX2Rw KSkgewogCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKLQkJaW50ZWxfZHBfaW5p dF9wYW5lbF9wb3dlcl90aW1lc3RhbXBzKGludGVsX2RwKTsKLQkJaW50ZWxfZHBfaW5pdF9wYW5l bF9wb3dlcl9zZXF1ZW5jZXIoZGV2LCBpbnRlbF9kcCwgJnBvd2VyX3NlcSk7CisJCWlmIChJU19W QUxMRVlWSUVXKGRldikpIHsKKwkJCXZsdl9pbml0aWFsX3Bvd2VyX3NlcXVlbmNlcl9zZXR1cChp bnRlbF9kcCk7CisJCX0gZWxzZSB7CisJCQlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3RpbWVz dGFtcHMoaW50ZWxfZHApOworCQkJaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIo ZGV2LCBpbnRlbF9kcCwgJnBvd2VyX3NlcSk7CisJCX0KIAkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJp di0+cHBzX211dGV4KTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggYWQ0ZTY5 Yi4uZDM2Mjk5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTU2MCw2ICs1NjAsMTIg QEAgc3RydWN0IGludGVsX2RwIHsKIAogCXN0cnVjdCBub3RpZmllcl9ibG9jayBlZHBfbm90aWZp ZXI7CiAKKwkvKgorCSAqIFBpcGUgd2hvc2UgcG93ZXIgc2VxdWVuY2VyIGlzIGN1cnJlbnRseSBs b2NrZWQgaW50bworCSAqIHRoaXMgcG9ydC4gT25seSByZWxldmFudCBvbiBWTFYvQ0hWLgorCSAq LworCWVudW0gcGlwZSBwcHNfcGlwZTsKKwogCWJvb2wgdXNlX3RwczM7CiAJYm9vbCBjYW5fbXN0 OyAvKiB0aGlzIHBvcnQgc3VwcG9ydHMgbXN0ICovCiAJYm9vbCBpc19tc3Q7Ci0tIAoxLjguNS41 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=