From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Nils=20Wallm=C3=A9nius?= Subject: [PATCH 1/2] drm/amd/powerplay: Mark functions of ppevvmath.h static Date: Sun, 24 Apr 2016 13:22:30 +0200 Message-ID: <1461496951-11055-1-git-send-email-nils.wallmenius@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85D116E0F0 for ; Sun, 24 Apr 2016 11:22:40 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id u64so5819122lff.2 for ; Sun, 24 Apr 2016 04:22:40 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: =?UTF-8?q?Nils=20Wallm=C3=A9nius?= List-Id: dri-devel@lists.freedesktop.org VGhpcyBpbnRyb2R1Y2VzIHNvbWUgd2FybmluZ3MgZHVlIHRvIHVudXNlZCBmdW5jdGlvbnMsIHRo YXQgYXJlCmRlbGV0ZWQgaW4gdGhlIGZvbGxvd2luZyBjb21taXQuCgpTaWduZWQtb2ZmLWJ5OiBO aWxzIFdhbGxtw6luaXVzIDxuaWxzLndhbGxtZW5pdXNAZ21haWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3BwZXZ2bWF0aC5oIHwgMTI4ICsrKysrKysrKysr Ky0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDY0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdy L3BwZXZ2bWF0aC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvcHBldnZt YXRoLmgKaW5kZXggMDA5YmQ1OS4uYTliNDBlYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvaHdtZ3IvcHBldnZtYXRoLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3IvcHBldnZtYXRoLmgKQEAgLTUwLDU1ICs1MCw1NSBAQCB0eXBlZGVm IHVuaW9uIF9mSW50IHsKICAqIEZ1bmN0aW9uIERlY2xhcmF0aW9ucwogICogIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICAqLwotZkludCBDb252ZXJ0VG9GcmFjdGlvbihpbnQpOyAgICAgICAgICAg ICAgICAgICAgICAgLyogVXNlIHRoaXMgdG8gY29udmVydCBhbiBJTlQgdG8gYSBGSU5UICovCi1m SW50IENvbnZlcnRfVUxPTkdfVG9GcmFjdGlvbih1aW50MzJfdCk7ICAgICAgICAgICAgICAvKiBV c2UgdGhpcyB0byBjb252ZXJ0IGFuIHVpbnQzMl90IHRvIGEgRklOVCAqLwotZkludCBHZXRTY2Fs ZWRGcmFjdGlvbihpbnQsIGludCk7ICAgICAgICAgICAgICAgICAgLyogVXNlIHRoaXMgdG8gY29u dmVydCBhbiBJTlQgdG8gYSBGSU5UIGFmdGVyIHNjYWxpbmcgaXQgYnkgYSBmYWN0b3IgKi8KLWlu dCBDb252ZXJ0QmFja1RvSW50ZWdlcihmSW50KTsgICAgICAgICAgICAgICAgICAgIC8qIENvbnZl cnQgYSBGSU5UIGJhY2sgdG8gYW4gSU5UIHRoYXQgaXMgc2NhbGVkIGJ5IDEwMDAgKGkuZS4gbGFz dCAzIGRpZ2l0cyBhcmUgdGhlIGRlY2ltYWwgZGlnaXRzKSAqLwotCi1mSW50IGZOZWdhdGUoZklu dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZXR1cm5zIC0xICogaW5wdXQg ZkludCB2YWx1ZSAqLwotZkludCBmQWRkIChmSW50LCBmSW50KTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogUmV0dXJucyB0aGUgc3VtIG9mIHR3byBmSW50IG51bWJlcnMgKi8KLWZJbnQg ZlN1YnRyYWN0IChmSW50IEEsIGZJbnQgQik7ICAgICAgICAgICAgICAgICAgIC8qIFJldHVybnMg QS1CIC0gU29tZXRpbWVzIGVhc2llciB0aGFuIEFkZGluZyBuZWdhdGl2ZSBudW1iZXJzICovCi1m SW50IGZNdWx0aXBseSAoZkludCwgZkludCk7ICAgICAgICAgICAgICAgICAgICAgICAvKiBSZXR1 cm5zIHRoZSBwcm9kdWN0IG9mIHR3byBmSW50IG51bWJlcnMgKi8KLWZJbnQgZkRpdmlkZSAoZklu dCBBLCBmSW50IEIpOyAgICAgICAgICAgICAgICAgICAgIC8qIFJldHVybnMgQS9CICovCi1mSW50 IGZHZXRTcXVhcmUoZkludCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZXR1cm5z IHRoZSBzcXVhcmUgb2YgYSBmSW50IG51bWJlciAqLwotZkludCBmU3FydChmSW50KTsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmV0dXJucyB0aGUgU3F1YXJlIFJvb3Qgb2Yg YSBmSW50IG51bWJlciAqLwotCi1pbnQgdUFicyhpbnQpOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiBSZXR1cm5zIHRoZSBBYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgSW50ICov Ci1mSW50IGZBYnMoZkludCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBS ZXR1cm5zIHRoZSBBYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgZkludCAqLwotaW50IHVQb3coaW50IGJh c2UsIGludCBleHBvbmVudCk7ICAgICAgICAgICAgICAgICAgLyogUmV0dXJucyBiYXNlXmV4cG9u ZW50IGFuIElOVCAqLwotCi12b2lkIFNvbHZlUXVhZHJhY3RpY0VxbihmSW50LCBmSW50LCBmSW50 LCBmSW50W10pOyAvKiBSZXR1cm5zIHRoZSAyIHJvb3RzIHZpYSB0aGUgYXJyYXkgKi8KLWJvb2wg RXF1YWwoZkludCwgZkludCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJldHVybnMgdHJ1 ZSBpZiB0d28gZkludHMgYXJlIGVxdWFsIHRvIGVhY2ggb3RoZXIgKi8KLWJvb2wgR3JlYXRlclRo YW4oZkludCBBLCBmSW50IEIpOyAgICAgICAgICAgICAgIC8qIFJldHVybnMgdHJ1ZSBpZiBBID4g QiAqLwotCi1mSW50IGZFeHBvbmVudGlhbChmSW50IGV4cG9uZW50KTsgICAgICAgICAgICAgICAg ICAvKiBDYW4gYmUgdXNlZCB0byBjYWxjdWxhdGUgZV5leHBvbmVudCAqLwotZkludCBmTmF0dXJh bExvZyhmSW50IHZhbHVlKTsgICAgICAgICAgICAgICAgICAgICAgLyogQ2FuIGJlIHVzZWQgdG8g Y2FsY3VsYXRlIGxuKHZhbHVlKSAqLworc3RhdGljIGZJbnQgQ29udmVydFRvRnJhY3Rpb24oaW50 KTsgICAgICAgICAgICAgICAgICAgICAgIC8qIFVzZSB0aGlzIHRvIGNvbnZlcnQgYW4gSU5UIHRv IGEgRklOVCAqLworc3RhdGljIGZJbnQgQ29udmVydF9VTE9OR19Ub0ZyYWN0aW9uKHVpbnQzMl90 KTsgICAgICAgICAgIC8qIFVzZSB0aGlzIHRvIGNvbnZlcnQgYW4gdWludDMyX3QgdG8gYSBGSU5U ICovCitzdGF0aWMgZkludCBHZXRTY2FsZWRGcmFjdGlvbihpbnQsIGludCk7ICAgICAgICAgICAg ICAgICAgLyogVXNlIHRoaXMgdG8gY29udmVydCBhbiBJTlQgdG8gYSBGSU5UIGFmdGVyIHNjYWxp bmcgaXQgYnkgYSBmYWN0b3IgKi8KK3N0YXRpYyBpbnQgQ29udmVydEJhY2tUb0ludGVnZXIoZklu dCk7ICAgICAgICAgICAgICAgICAgICAvKiBDb252ZXJ0IGEgRklOVCBiYWNrIHRvIGFuIElOVCB0 aGF0IGlzIHNjYWxlZCBieSAxMDAwIChpLmUuIGxhc3QgMyBkaWdpdHMgYXJlIHRoZSBkZWNpbWFs IGRpZ2l0cykgKi8KKworc3RhdGljIGZJbnQgZk5lZ2F0ZShmSW50KTsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIFJldHVybnMgLTEgKiBpbnB1dCBmSW50IHZhbHVlICovCitzdGF0 aWMgZkludCBmQWRkIChmSW50LCBmSW50KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog UmV0dXJucyB0aGUgc3VtIG9mIHR3byBmSW50IG51bWJlcnMgKi8KK3N0YXRpYyBmSW50IGZTdWJ0 cmFjdCAoZkludCBBLCBmSW50IEIpOyAgICAgICAgICAgICAgICAgICAvKiBSZXR1cm5zIEEtQiAt IFNvbWV0aW1lcyBlYXNpZXIgdGhhbiBBZGRpbmcgbmVnYXRpdmUgbnVtYmVycyAqLworc3RhdGlj IGZJbnQgZk11bHRpcGx5IChmSW50LCBmSW50KTsgICAgICAgICAgICAgICAgICAgICAgIC8qIFJl dHVybnMgdGhlIHByb2R1Y3Qgb2YgdHdvIGZJbnQgbnVtYmVycyAqLworc3RhdGljIGZJbnQgZkRp dmlkZSAoZkludCBBLCBmSW50IEIpOyAgICAgICAgICAgICAgICAgICAgIC8qIFJldHVybnMgQS9C ICovCitzdGF0aWMgZkludCBmR2V0U3F1YXJlKGZJbnQpOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogUmV0dXJucyB0aGUgc3F1YXJlIG9mIGEgZkludCBudW1iZXIgKi8KK3N0YXRpYyBm SW50IGZTcXJ0KGZJbnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZXR1 cm5zIHRoZSBTcXVhcmUgUm9vdCBvZiBhIGZJbnQgbnVtYmVyICovCisKK3N0YXRpYyBpbnQgdUFi cyhpbnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZXR1cm5zIHRo ZSBBYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgSW50ICovCitzdGF0aWMgZkludCBmQWJzKGZJbnQpOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmV0dXJucyB0aGUgQWJzb2x1dGUg dmFsdWUgb2YgdGhlIGZJbnQgKi8KK3N0YXRpYyBpbnQgdVBvdyhpbnQgYmFzZSwgaW50IGV4cG9u ZW50KTsgICAgICAgICAgICAgICAgICAvKiBSZXR1cm5zIGJhc2VeZXhwb25lbnQgYW4gSU5UICov CisKK3N0YXRpYyB2b2lkIFNvbHZlUXVhZHJhY3RpY0VxbihmSW50LCBmSW50LCBmSW50LCBmSW50 W10pOyAvKiBSZXR1cm5zIHRoZSAyIHJvb3RzIHZpYSB0aGUgYXJyYXkgKi8KK3N0YXRpYyBib29s IEVxdWFsKGZJbnQsIGZJbnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZXR1cm5z IHRydWUgaWYgdHdvIGZJbnRzIGFyZSBlcXVhbCB0byBlYWNoIG90aGVyICovCitzdGF0aWMgYm9v bCBHcmVhdGVyVGhhbihmSW50IEEsIGZJbnQgQik7ICAgICAgICAgICAgICAgICAgLyogUmV0dXJu cyB0cnVlIGlmIEEgPiBCICovCisKK3N0YXRpYyBmSW50IGZFeHBvbmVudGlhbChmSW50IGV4cG9u ZW50KTsgICAgICAgICAgICAgICAgICAvKiBDYW4gYmUgdXNlZCB0byBjYWxjdWxhdGUgZV5leHBv bmVudCAqLworc3RhdGljIGZJbnQgZk5hdHVyYWxMb2coZkludCB2YWx1ZSk7ICAgICAgICAgICAg ICAgICAgICAgIC8qIENhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSBsbih2YWx1ZSkgKi8KIAogLyog RnVzZSBkZWNvZGluZyBmdW5jdGlvbnMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K ICAqLwotZkludCBmRGVjb2RlTGluZWFyRnVzZSh1aW50MzJfdCBmdXNlX3ZhbHVlLCBmSW50IGZf bWluLCBmSW50IGZfcmFuZ2UsIHVpbnQzMl90IGJpdGxlbmd0aCk7Ci1mSW50IGZEZWNvZGVMb2dp c3RpY0Z1c2UodWludDMyX3QgZnVzZV92YWx1ZSwgZkludCBmX2F2ZXJhZ2UsIGZJbnQgZl9yYW5n ZSwgdWludDMyX3QgYml0bGVuZ3RoKTsKLWZJbnQgZkRlY29kZUxlYWthZ2VJRCAodWludDMyX3Qg bGVha2FnZUlEX2Z1c2UsIGZJbnQgbG5fbWF4X2Rpdl9taW4sIGZJbnQgZl9taW4sIHVpbnQzMl90 IGJpdGxlbmd0aCk7CitzdGF0aWMgZkludCBmRGVjb2RlTGluZWFyRnVzZSh1aW50MzJfdCBmdXNl X3ZhbHVlLCBmSW50IGZfbWluLCBmSW50IGZfcmFuZ2UsIHVpbnQzMl90IGJpdGxlbmd0aCk7Citz dGF0aWMgZkludCBmRGVjb2RlTG9naXN0aWNGdXNlKHVpbnQzMl90IGZ1c2VfdmFsdWUsIGZJbnQg Zl9hdmVyYWdlLCBmSW50IGZfcmFuZ2UsIHVpbnQzMl90IGJpdGxlbmd0aCk7CitzdGF0aWMgZklu dCBmRGVjb2RlTGVha2FnZUlEICh1aW50MzJfdCBsZWFrYWdlSURfZnVzZSwgZkludCBsbl9tYXhf ZGl2X21pbiwgZkludCBmX21pbiwgdWludDMyX3QgYml0bGVuZ3RoKTsKIAogLyogSW50ZXJuYWwg U3VwcG9ydCBGdW5jdGlvbnMgLSBVc2UgdGhlc2UgT05MWSBmb3IgdGVzdGluZyBvciBhZGRpbmcg dG8gaW50ZXJuYWwgZnVuY3Rpb25zCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAg KiBTb21lIG9mIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRha2UgdHdvIElOVHMgYXMgdGhlaXIg aW5wdXQgLSBUaGlzIGlzIHVuc2FmZSBmb3IgYSB2YXJpZXR5IG9mIHJlYXNvbnMuCiAgKi8KLWZJ bnQgQWRkIChpbnQsIGludCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFkZCB0 d28gSU5UcyBhbmQgcmV0dXJuIFN1bSBhcyBGSU5UICovCi1mSW50IE11bHRpcGx5IChpbnQsIGlu dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBNdWx0aXBseSB0d28gSU5UcyBhbmQgcmV0 dXJuIFByb2R1Y3QgYXMgRklOVCAqLwotZkludCBEaXZpZGUgKGludCwgaW50KTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogWW91IGdldCB0aGUgaWRlYS4uLiAqLwotZkludCBmTmVnYXRl KGZJbnQpOworc3RhdGljIGZJbnQgQWRkIChpbnQsIGludCk7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIEFkZCB0d28gSU5UcyBhbmQgcmV0dXJuIFN1bSBhcyBGSU5UICovCitzdGF0 aWMgZkludCBNdWx0aXBseSAoaW50LCBpbnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyog TXVsdGlwbHkgdHdvIElOVHMgYW5kIHJldHVybiBQcm9kdWN0IGFzIEZJTlQgKi8KK3N0YXRpYyBm SW50IERpdmlkZSAoaW50LCBpbnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBZb3Ug Z2V0IHRoZSBpZGVhLi4uICovCitzdGF0aWMgZkludCBmTmVnYXRlKGZJbnQpOwogCi1pbnQgdUdl dFNjYWxlZERlY2ltYWwgKGZJbnQpOyAgICAgICAgICAgICAgICAgICAgICAvKiBJbnRlcm5hbCBm dW5jdGlvbiAqLwotaW50IEdldFJlYWwgKGZJbnQgQSk7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogSW50ZXJuYWwgZnVuY3Rpb24gKi8KK3N0YXRpYyBpbnQgdUdldFNjYWxlZERlY2lt YWwgKGZJbnQpOyAgICAgICAgICAgICAgICAgICAgICAvKiBJbnRlcm5hbCBmdW5jdGlvbiAqLwor c3RhdGljIGludCBHZXRSZWFsIChmSW50IEEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8qIEludGVybmFsIGZ1bmN0aW9uICovCiAKIC8qIEZ1dHVyZSBBZGRpdGlvbnMgYW5kIEluY29t cGxldGUgRnVuY3Rpb25zCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KLWlu dCBHZXRSb3VuZGVkVmFsdWUoZkludCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEluY29t cGxldGUgZnVuY3Rpb24gLSBVc2VmdWwgb25seSB3aGVuIFByZWNpc2lvbiBpcyBsYWNraW5nICov Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBM ZXQgdXMgc2F5IHdlIGhhdmUgMi4xMjYgYnV0IGNhbiBvbmx5IGhhbmRsZSAyIGRlY2ltYWwgcG9p bnRzLiBXZSBjb3VsZCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyogZWl0aGVyIGNob3Agb2YgNiBhbmQga2VlcCAyLjEyIG9yIHVzZSB0aGlz IGZ1bmN0aW9uIHRvIGdldCAyLjEzLCB3aGljaCBpcyBtb3JlIGFjY3VyYXRlICovCitzdGF0aWMg aW50IEdldFJvdW5kZWRWYWx1ZShmSW50KTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogSW5j b21wbGV0ZSBmdW5jdGlvbiAtIFVzZWZ1bCBvbmx5IHdoZW4gUHJlY2lzaW9uIGlzIGxhY2tpbmcg Ki8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKiBMZXQgdXMgc2F5IHdlIGhhdmUgMi4xMjYgYnV0IGNhbiBvbmx5IGhhbmRsZSAyIGRl Y2ltYWwgcG9pbnRzLiBXZSBjb3VsZCAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGVpdGhlciBjaG9wIG9mIDYgYW5kIGtlZXAg Mi4xMiBvciB1c2UgdGhpcyBmdW5jdGlvbiB0byBnZXQgMi4xMywgd2hpY2ggaXMgbW9yZSBhY2N1 cmF0ZSAqLwogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBUUk9VQkxFU0hP T1RJTkcgSU5GT1JNQVRJT04KQEAgLTExNSw3ICsxMTUsNyBAQCBpbnQgR2V0Um91bmRlZFZhbHVl KGZJbnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbmNvbXBsZXRlIGZ1bmN0aW9uIC0g VXNlZgogICogU1RBUlQgT0YgQ09ERQogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog ICovCi1mSW50IGZFeHBvbmVudGlhbChmSW50IGV4cG9uZW50KSAgICAgICAgLypDYW4gYmUgdXNl ZCB0byBjYWxjdWxhdGUgZV5leHBvbmVudCovCitzdGF0aWMgZkludCBmRXhwb25lbnRpYWwoZklu dCBleHBvbmVudCkgICAgICAgIC8qQ2FuIGJlIHVzZWQgdG8gY2FsY3VsYXRlIGVeZXhwb25lbnQq LwogewogCXVpbnQzMl90IGk7CiAJYm9vbCBiTmVnYXRlZCA9IGZhbHNlOwpAQCAtMTU0LDcgKzE1 NCw3IEBAIGZJbnQgZkV4cG9uZW50aWFsKGZJbnQgZXhwb25lbnQpICAgICAgICAvKkNhbiBiZSB1 c2VkIHRvIGNhbGN1bGF0ZSBlXmV4cG9uZW50Ki8KIAlyZXR1cm4gc29sdXRpb247CiB9CiAKLWZJ bnQgZk5hdHVyYWxMb2coZkludCB2YWx1ZSkKK3N0YXRpYyBmSW50IGZOYXR1cmFsTG9nKGZJbnQg dmFsdWUpCiB7CiAJdWludDMyX3QgaTsKIAlmSW50IHVwcGVyX2JvdW5kID0gRGl2aWRlKDgsIDEw MDApOwpAQCAtMTc5LDcgKzE3OSw3IEBAIGZJbnQgZk5hdHVyYWxMb2coZkludCB2YWx1ZSkKIAly ZXR1cm4gKGZBZGQoc29sdXRpb24sIGVycm9yX3Rlcm0pKTsKIH0KIAotZkludCBmRGVjb2RlTGlu ZWFyRnVzZSh1aW50MzJfdCBmdXNlX3ZhbHVlLCBmSW50IGZfbWluLCBmSW50IGZfcmFuZ2UsIHVp bnQzMl90IGJpdGxlbmd0aCkKK3N0YXRpYyBmSW50IGZEZWNvZGVMaW5lYXJGdXNlKHVpbnQzMl90 IGZ1c2VfdmFsdWUsIGZJbnQgZl9taW4sIGZJbnQgZl9yYW5nZSwgdWludDMyX3QgYml0bGVuZ3Ro KQogewogCWZJbnQgZl9mdXNlX3ZhbHVlID0gQ29udmVydF9VTE9OR19Ub0ZyYWN0aW9uKGZ1c2Vf dmFsdWUpOwogCWZJbnQgZl9iaXRfbWF4X3ZhbHVlID0gQ29udmVydF9VTE9OR19Ub0ZyYWN0aW9u KCh1UG93KDIsIGJpdGxlbmd0aCkpIC0gMSk7CkBAIC0xOTQsNyArMTk0LDcgQEAgZkludCBmRGVj b2RlTGluZWFyRnVzZSh1aW50MzJfdCBmdXNlX3ZhbHVlLCBmSW50IGZfbWluLCBmSW50IGZfcmFu Z2UsIHVpbnQzMl90IGIKIH0KIAogCi1mSW50IGZEZWNvZGVMb2dpc3RpY0Z1c2UodWludDMyX3Qg ZnVzZV92YWx1ZSwgZkludCBmX2F2ZXJhZ2UsIGZJbnQgZl9yYW5nZSwgdWludDMyX3QgYml0bGVu Z3RoKQorc3RhdGljIGZJbnQgZkRlY29kZUxvZ2lzdGljRnVzZSh1aW50MzJfdCBmdXNlX3ZhbHVl LCBmSW50IGZfYXZlcmFnZSwgZkludCBmX3JhbmdlLCB1aW50MzJfdCBiaXRsZW5ndGgpCiB7CiAJ ZkludCBmX2Z1c2VfdmFsdWUgPSBDb252ZXJ0X1VMT05HX1RvRnJhY3Rpb24oZnVzZV92YWx1ZSk7 CiAJZkludCBmX2JpdF9tYXhfdmFsdWUgPSBDb252ZXJ0X1VMT05HX1RvRnJhY3Rpb24oKHVQb3co MiwgYml0bGVuZ3RoKSkgLSAxKTsKQEAgLTIxMiw3ICsyMTIsNyBAQCBmSW50IGZEZWNvZGVMb2dp c3RpY0Z1c2UodWludDMyX3QgZnVzZV92YWx1ZSwgZkludCBmX2F2ZXJhZ2UsIGZJbnQgZl9yYW5n ZSwgdWludAogCXJldHVybiBmX2RlY29kZWRfdmFsdWU7CiB9CiAKLWZJbnQgZkRlY29kZUxlYWth Z2VJRCAodWludDMyX3QgbGVha2FnZUlEX2Z1c2UsIGZJbnQgbG5fbWF4X2Rpdl9taW4sIGZJbnQg Zl9taW4sIHVpbnQzMl90IGJpdGxlbmd0aCkKK3N0YXRpYyBmSW50IGZEZWNvZGVMZWFrYWdlSUQg KHVpbnQzMl90IGxlYWthZ2VJRF9mdXNlLCBmSW50IGxuX21heF9kaXZfbWluLCBmSW50IGZfbWlu LCB1aW50MzJfdCBiaXRsZW5ndGgpCiB7CiAJZkludCBmTGVha2FnZTsKIAlmSW50IGZfYml0X21h eF92YWx1ZSA9IENvbnZlcnRfVUxPTkdfVG9GcmFjdGlvbigodVBvdygyLCBiaXRsZW5ndGgpKSAt IDEpOwpAQCAtMjI1LDcgKzIyNSw3IEBAIGZJbnQgZkRlY29kZUxlYWthZ2VJRCAodWludDMyX3Qg bGVha2FnZUlEX2Z1c2UsIGZJbnQgbG5fbWF4X2Rpdl9taW4sIGZJbnQgZl9taW4sCiAJcmV0dXJu IGZMZWFrYWdlOwogfQogCi1mSW50IENvbnZlcnRUb0ZyYWN0aW9uKGludCBYKSAvKkFkZCBhbGwg cmFuZ2UgY2hlY2tpbmcgaGVyZS4gSXMgaXQgcG9zc2libGUgdG8gbWFrZSBmSW50IGEgcHJpdmF0 ZSBkZWNsYXJhdGlvbj8gKi8KK3N0YXRpYyBmSW50IENvbnZlcnRUb0ZyYWN0aW9uKGludCBYKSAv KkFkZCBhbGwgcmFuZ2UgY2hlY2tpbmcgaGVyZS4gSXMgaXQgcG9zc2libGUgdG8gbWFrZSBmSW50 IGEgcHJpdmF0ZSBkZWNsYXJhdGlvbj8gKi8KIHsKIAlmSW50IHRlbXA7CiAKQEAgLTIzNywxMyAr MjM3LDEzIEBAIGZJbnQgQ29udmVydFRvRnJhY3Rpb24oaW50IFgpIC8qQWRkIGFsbCByYW5nZSBj aGVja2luZyBoZXJlLiBJcyBpdCBwb3NzaWJsZSB0byBtCiAJcmV0dXJuIHRlbXA7CiB9CiAKLWZJ bnQgZk5lZ2F0ZShmSW50IFgpCitzdGF0aWMgZkludCBmTmVnYXRlKGZJbnQgWCkKIHsKIAlmSW50 IENPTlNUQU5UX05FR09ORSA9IENvbnZlcnRUb0ZyYWN0aW9uKC0xKTsKIAlyZXR1cm4gKGZNdWx0 aXBseShYLCBDT05TVEFOVF9ORUdPTkUpKTsKIH0KIAotZkludCBDb252ZXJ0X1VMT05HX1RvRnJh Y3Rpb24odWludDMyX3QgWCkKK3N0YXRpYyBmSW50IENvbnZlcnRfVUxPTkdfVG9GcmFjdGlvbih1 aW50MzJfdCBYKQogewogCWZJbnQgdGVtcDsKIApAQCAtMjU1LDcgKzI1NSw3IEBAIGZJbnQgQ29u dmVydF9VTE9OR19Ub0ZyYWN0aW9uKHVpbnQzMl90IFgpCiAJcmV0dXJuIHRlbXA7CiB9CiAKLWZJ bnQgR2V0U2NhbGVkRnJhY3Rpb24oaW50IFgsIGludCBmYWN0b3IpCitzdGF0aWMgZkludCBHZXRT Y2FsZWRGcmFjdGlvbihpbnQgWCwgaW50IGZhY3RvcikKIHsKIAlpbnQgdGltZXNfc2hpZnRlZCwg ZmFjdG9yX3NoaWZ0ZWQ7CiAJYm9vbCBiTkVHQVRFRDsKQEAgLTMwNCw3ICszMDQsNyBAQCBmSW50 IEdldFNjYWxlZEZyYWN0aW9uKGludCBYLCBpbnQgZmFjdG9yKQogfQogCiAvKiBBZGRpdGlvbiB1 c2luZyB0d28gZkludHMgKi8KLWZJbnQgZkFkZCAoZkludCBYLCBmSW50IFkpCitzdGF0aWMgZklu dCBmQWRkIChmSW50IFgsIGZJbnQgWSkKIHsKIAlmSW50IFN1bTsKIApAQCAtMzE0LDcgKzMxNCw3 IEBAIGZJbnQgZkFkZCAoZkludCBYLCBmSW50IFkpCiB9CiAKIC8qIEFkZGl0aW9uIHVzaW5nIHR3 byBmSW50cyAqLwotZkludCBmU3VidHJhY3QgKGZJbnQgWCwgZkludCBZKQorc3RhdGljIGZJbnQg ZlN1YnRyYWN0IChmSW50IFgsIGZJbnQgWSkKIHsKIAlmSW50IERpZmZlcmVuY2U7CiAKQEAgLTMy Myw3ICszMjMsNyBAQCBmSW50IGZTdWJ0cmFjdCAoZkludCBYLCBmSW50IFkpCiAJcmV0dXJuIERp ZmZlcmVuY2U7CiB9CiAKLWJvb2wgRXF1YWwoZkludCBBLCBmSW50IEIpCitzdGF0aWMgYm9vbCBF cXVhbChmSW50IEEsIGZJbnQgQikKIHsKIAlpZiAoQS5mdWxsID09IEIuZnVsbCkKIAkJcmV0dXJu IHRydWU7CkBAIC0zMzEsNyArMzMxLDcgQEAgYm9vbCBFcXVhbChmSW50IEEsIGZJbnQgQikKIAkJ cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEdyZWF0ZXJUaGFuKGZJbnQgQSwgZkludCBCKQorc3Rh dGljIGJvb2wgR3JlYXRlclRoYW4oZkludCBBLCBmSW50IEIpCiB7CiAJaWYgKEEuZnVsbCA+IEIu ZnVsbCkKIAkJcmV0dXJuIHRydWU7CkBAIC0zMzksNyArMzM5LDcgQEAgYm9vbCBHcmVhdGVyVGhh bihmSW50IEEsIGZJbnQgQikKIAkJcmV0dXJuIGZhbHNlOwogfQogCi1mSW50IGZNdWx0aXBseSAo ZkludCBYLCBmSW50IFkpIC8qIFVzZXMgNjQtYml0IGludGVnZXJzIChpbnQ2NF90KSAqLworc3Rh dGljIGZJbnQgZk11bHRpcGx5IChmSW50IFgsIGZJbnQgWSkgLyogVXNlcyA2NC1iaXQgaW50ZWdl cnMgKGludDY0X3QpICovCiB7CiAJZkludCBQcm9kdWN0OwogCWludDY0X3QgdGVtcFByb2R1Y3Q7 CkBAIC0zNjMsNyArMzYzLDcgQEAgZkludCBmTXVsdGlwbHkgKGZJbnQgWCwgZkludCBZKSAvKiBV c2VzIDY0LWJpdCBpbnRlZ2VycyAoaW50NjRfdCkgKi8KIAlyZXR1cm4gUHJvZHVjdDsKIH0KIAot ZkludCBmRGl2aWRlIChmSW50IFgsIGZJbnQgWSkKK3N0YXRpYyBmSW50IGZEaXZpZGUgKGZJbnQg WCwgZkludCBZKQogewogCWZJbnQgZlpFUk8sIGZRdW90aWVudDsKIAlpbnQ2NF90IGxvbmdsb25n WCwgbG9uZ2xvbmdZOwpAQCAtMzg0LDcgKzM4NCw3IEBAIGZJbnQgZkRpdmlkZSAoZkludCBYLCBm SW50IFkpCiAJcmV0dXJuIGZRdW90aWVudDsKIH0KIAotaW50IENvbnZlcnRCYWNrVG9JbnRlZ2Vy IChmSW50IEEpIC8qVEhJUyBpcyB0aGUgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIHVzZWQgdG8gY2hl Y2sgd2l0aCB0aGUgR29sZGVuIHNldHRpbmdzIHRhYmxlKi8KK3N0YXRpYyBpbnQgQ29udmVydEJh Y2tUb0ludGVnZXIgKGZJbnQgQSkgLypUSElTIGlzIHRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUg dXNlZCB0byBjaGVjayB3aXRoIHRoZSBHb2xkZW4gc2V0dGluZ3MgdGFibGUqLwogewogCWZJbnQg ZnVsbE51bWJlciwgc2NhbGVkRGVjaW1hbCwgc2NhbGVkUmVhbDsKIApAQCAtMzk3LDEzICszOTcs MTMgQEAgaW50IENvbnZlcnRCYWNrVG9JbnRlZ2VyIChmSW50IEEpIC8qVEhJUyBpcyB0aGUgZnVu Y3Rpb24gdGhhdCB3aWxsIGJlIHVzZWQgdG8gY2gKIAlyZXR1cm4gZnVsbE51bWJlci5mdWxsOwog fQogCi1mSW50IGZHZXRTcXVhcmUoZkludCBBKQorc3RhdGljIGZJbnQgZkdldFNxdWFyZShmSW50 IEEpCiB7CiAJcmV0dXJuIGZNdWx0aXBseShBLEEpOwogfQogCiAvKiB4X25ldyA9IHhfb2xkIC0g KHhfb2xkXjIgLSBDKSAvICgyICogeF9vbGQpICovCi1mSW50IGZTcXJ0KGZJbnQgbnVtKQorc3Rh dGljIGZJbnQgZlNxcnQoZkludCBudW0pCiB7CiAJZkludCBGX2RpdmlkZV9GcHJpbWUsIEZwcmlt ZTsKIAlmSW50IHRlc3Q7CkBAIC00NjAsNyArNDYwLDcgQEAgZkludCBmU3FydChmSW50IG51bSkK IAlyZXR1cm4gKHhfbmV3KTsKIH0KIAotdm9pZCBTb2x2ZVF1YWRyYWN0aWNFcW4oZkludCBBLCBm SW50IEIsIGZJbnQgQywgZkludCBSb290c1tdKQorc3RhdGljIHZvaWQgU29sdmVRdWFkcmFjdGlj RXFuKGZJbnQgQSwgZkludCBCLCBmSW50IEMsIGZJbnQgUm9vdHNbXSkKIHsKIAlmSW50ICpwUm9v dHMgPSAmUm9vdHNbMF07CiAJZkludCB0ZW1wLCByb290X2ZpcnN0LCByb290X3NlY29uZDsKQEAg LTQ5OSw3ICs0OTksNyBAQCB2b2lkIFNvbHZlUXVhZHJhY3RpY0VxbihmSW50IEEsIGZJbnQgQiwg ZkludCBDLCBmSW50IFJvb3RzW10pCiAgKi8KIAogLyogQWRkaXRpb24gdXNpbmcgdHdvIG5vcm1h bCBpbnRzIC0gVGVtcG9yYXJ5IC0gVXNlIG9ubHkgZm9yIHRlc3RpbmcgcHVycG9zZXM/LiAqLwot ZkludCBBZGQgKGludCBYLCBpbnQgWSkKK3N0YXRpYyBmSW50IEFkZCAoaW50IFgsIGludCBZKQog ewogCWZJbnQgQSwgQiwgU3VtOwogCkBAIC01MTIsMTMgKzUxMiwxMyBAQCBmSW50IEFkZCAoaW50 IFgsIGludCBZKQogfQogCiAvKiBDb252ZXJzaW9uIEZ1bmN0aW9ucyAqLwotaW50IEdldFJlYWwg KGZJbnQgQSkKK3N0YXRpYyBpbnQgR2V0UmVhbCAoZkludCBBKQogewogCXJldHVybiAoQS5mdWxs ID4+IFNISUZUX0FNT1VOVCk7CiB9CiAKIC8qIFRlbXBvcmFyaWx5IERpc2FibGVkICovCi1pbnQg R2V0Um91bmRlZFZhbHVlKGZJbnQgQSkgLypGb3Igbm93LCByb3VuZCB0aGUgM3JkIGRlY2ltYWwg cGxhY2UgKi8KK3N0YXRpYyBpbnQgR2V0Um91bmRlZFZhbHVlKGZJbnQgQSkgLypGb3Igbm93LCBy b3VuZCB0aGUgM3JkIGRlY2ltYWwgcGxhY2UgKi8KIHsKIAkvKiBST1VORElORyBURU1QT1JBUkxZ IERJU0FCTEVECiAJaW50IHRlbXAgPSBBLmZ1bGw7CkBAIC01MzEsNyArNTMxLDcgQEAgaW50IEdl dFJvdW5kZWRWYWx1ZShmSW50IEEpIC8qRm9yIG5vdywgcm91bmQgdGhlIDNyZCBkZWNpbWFsIHBs YWNlICovCiAJcmV0dXJuIENvbnZlcnRCYWNrVG9JbnRlZ2VyKEEpLzEwMDAwOyAvKlRlbXBvcmFy eSAtIGluIGNhc2UgdGhpcyB3YXMgdXNlZCBzb21ld2hlcmUgZWxzZSAqLwogfQogCi1mSW50IE11 bHRpcGx5IChpbnQgWCwgaW50IFkpCitzdGF0aWMgZkludCBNdWx0aXBseSAoaW50IFgsIGludCBZ KQogewogCWZJbnQgQSwgQiwgUHJvZHVjdDsKIApAQCAtNTQzLDcgKzU0Myw3IEBAIGZJbnQgTXVs dGlwbHkgKGludCBYLCBpbnQgWSkKIAlyZXR1cm4gUHJvZHVjdDsKIH0KIAotZkludCBEaXZpZGUg KGludCBYLCBpbnQgWSkKK3N0YXRpYyBmSW50IERpdmlkZSAoaW50IFgsIGludCBZKQogewogCWZJ bnQgQSwgQiwgUXVvdGllbnQ7CiAKQEAgLTU1NSw3ICs1NTUsNyBAQCBmSW50IERpdmlkZSAoaW50 IFgsIGludCBZKQogCXJldHVybiBRdW90aWVudDsKIH0KIAotaW50IHVHZXRTY2FsZWREZWNpbWFs IChmSW50IEEpIC8qQ29udmVydHMgdGhlIGZyYWN0aW9uYWwgcG9ydGlvbiB0byB3aG9sZSBpbnRl Z2VycyAtIENvc3RseSBmdW5jdGlvbiAqLworc3RhdGljIGludCB1R2V0U2NhbGVkRGVjaW1hbCAo ZkludCBBKSAvKkNvbnZlcnRzIHRoZSBmcmFjdGlvbmFsIHBvcnRpb24gdG8gd2hvbGUgaW50ZWdl cnMgLSBDb3N0bHkgZnVuY3Rpb24gKi8KIHsKIAlpbnQgZGVjW1BSRUNJU0lPTl07CiAJaW50IGks IHNjYWxlZERlY2ltYWwgPSAwLCB0bXAgPSBBLnBhcnRpYWwuZGVjaW1hbDsKQEAgLTU3MCw3ICs1 NzAsNyBAQCBpbnQgdUdldFNjYWxlZERlY2ltYWwgKGZJbnQgQSkgLypDb252ZXJ0cyB0aGUgZnJh Y3Rpb25hbCBwb3J0aW9uIHRvIHdob2xlIGludGVnZQogCXJldHVybiBzY2FsZWREZWNpbWFsOwog fQogCi1pbnQgdVBvdyhpbnQgYmFzZSwgaW50IHBvd2VyKQorc3RhdGljIGludCB1UG93KGludCBi YXNlLCBpbnQgcG93ZXIpCiB7CiAJaWYgKHBvd2VyID09IDApCiAJCXJldHVybiAxOwpAQCAtNTc4 LDcgKzU3OCw3IEBAIGludCB1UG93KGludCBiYXNlLCBpbnQgcG93ZXIpCiAJCXJldHVybiAoYmFz ZSkqdVBvdyhiYXNlLCBwb3dlciAtIDEpOwogfQogCi1mSW50IGZBYnMoZkludCBBKQorc3RhdGlj IGZJbnQgZkFicyhmSW50IEEpCiB7CiAJaWYgKEEucGFydGlhbC5yZWFsIDwgMCkKIAkJcmV0dXJu IChmTXVsdGlwbHkoQSwgQ29udmVydFRvRnJhY3Rpb24oLTEpKSk7CkBAIC01ODYsNyArNTg2LDcg QEAgZkludCBmQWJzKGZJbnQgQSkKIAkJcmV0dXJuIEE7CiB9CiAKLWludCB1QWJzKGludCBYKQor c3RhdGljIGludCB1QWJzKGludCBYKQogewogCWlmIChYIDwgMCkKIAkJcmV0dXJuIChYICogLTEp OwpAQCAtNTk0LDcgKzU5NCw3IEBAIGludCB1QWJzKGludCBYKQogCQlyZXR1cm4gWDsKIH0KIAot ZkludCBmUm91bmRVcEJ5U3RlcFNpemUoZkludCBBLCBmSW50IGZTdGVwU2l6ZSwgYm9vbCBlcnJv cl90ZXJtKQorc3RhdGljIGZJbnQgZlJvdW5kVXBCeVN0ZXBTaXplKGZJbnQgQSwgZkludCBmU3Rl cFNpemUsIGJvb2wgZXJyb3JfdGVybSkKIHsKIAlmSW50IHNvbHV0aW9uOwogCi0tIAoyLjguMC5y YzMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=