From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 03/10] amdgpu/dc: inline some of the bw_fixed code. Date: Fri, 29 Sep 2017 17:13:24 +1000 Message-ID: <20170929071331.18132-3-airlied@gmail.com> References: <20170929071331.18132-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170929071331.18132-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgcmVzdWx0cyBpbiBh IH40LjVrIGNvZGUgc2l6ZSByZWR1Y3Rpb24uCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8 YWlybGllZEByZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9j YWxjcy9id19maXhlZC5jIHwgIDkzIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2J3X2ZpeGVkLmggICB8IDExMSArKysrKysrKysrKysrKysr KysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygrKSwgMTA4IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jYWxjcy9i d19maXhlZC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NhbGNzL2J3X2ZpeGVk LmMKaW5kZXggZmJmMmFkYy4uMGRlNmZhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NhbGNzL2J3X2ZpeGVkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NhbGNzL2J3X2ZpeGVkLmMKQEAgLTU2LDE2ICs1Niw2IEBAIHN0YXRpYyB1aW50 NjRfdCBhYnNfaTY0KGludDY0X3QgYXJnKQogCQlyZXR1cm4gKHVpbnQ2NF90KSgtYXJnKTsKIH0K IAotc3RydWN0IGJ3X2ZpeGVkIGJ3X21pbjMoc3RydWN0IGJ3X2ZpeGVkIHYxLCBzdHJ1Y3QgYndf Zml4ZWQgdjIsIHN0cnVjdCBid19maXhlZCB2MykKLXsKLQlyZXR1cm4gYndfbWluMihid19taW4y KHYxLCB2MiksIHYzKTsKLX0KLQotc3RydWN0IGJ3X2ZpeGVkIGJ3X21heDMoc3RydWN0IGJ3X2Zp eGVkIHYxLCBzdHJ1Y3QgYndfZml4ZWQgdjIsIHN0cnVjdCBid19maXhlZCB2MykKLXsKLQlyZXR1 cm4gYndfbWF4Mihid19tYXgyKHYxLCB2MiksIHYzKTsKLX0KLQogc3RydWN0IGJ3X2ZpeGVkIGJ3 X2ludF90b19maXhlZChpbnQ2NF90IHZhbHVlKQogewogCXN0cnVjdCBid19maXhlZCByZXM7CkBA IC0xMzMsMTYgKzEyMyw2IEBAIHN0cnVjdCBid19maXhlZCBid19mcmNfdG9fZml4ZWQoaW50NjRf dCBudW1lcmF0b3IsIGludDY0X3QgZGVub21pbmF0b3IpCiAJcmV0dXJuIHJlczsKIH0KIAotc3Ry dWN0IGJ3X2ZpeGVkIGJ3X21pbjIoY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzEsIGNvbnN0IHN0 cnVjdCBid19maXhlZCBhcmcyKQotewotCXJldHVybiAoYXJnMS52YWx1ZSA8PSBhcmcyLnZhbHVl KSA/IGFyZzEgOiBhcmcyOwotfQotCi1zdHJ1Y3QgYndfZml4ZWQgYndfbWF4Mihjb25zdCBzdHJ1 Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCi17Ci0JcmV0dXJu IChhcmcyLnZhbHVlIDw9IGFyZzEudmFsdWUpID8gYXJnMSA6IGFyZzI7Ci19Ci0KIHN0cnVjdCBi d19maXhlZCBid19mbG9vcjIoCiAJY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZywKIAljb25zdCBz dHJ1Y3QgYndfZml4ZWQgc2lnbmlmaWNhbmNlKQpAQCAtMTc0LDI0ICsxNTQsNiBAQCBzdHJ1Y3Qg YndfZml4ZWQgYndfY2VpbDIoCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RydWN0IGJ3X2ZpeGVk IGJ3X2FkZChjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVk IGFyZzIpCi17Ci0Jc3RydWN0IGJ3X2ZpeGVkIHJlczsKLQotCXJlcy52YWx1ZSA9IGFyZzEudmFs dWUgKyBhcmcyLnZhbHVlOwotCi0JcmV0dXJuIHJlczsKLX0KLQotc3RydWN0IGJ3X2ZpeGVkIGJ3 X3N1Yihjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFy ZzIpCi17Ci0Jc3RydWN0IGJ3X2ZpeGVkIHJlczsKLQotCXJlcy52YWx1ZSA9IGFyZzEudmFsdWUg LSBhcmcyLnZhbHVlOwotCi0JcmV0dXJuIHJlczsKLX0KLQogc3RydWN0IGJ3X2ZpeGVkIGJ3X211 bChjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIp CiB7CiAJc3RydWN0IGJ3X2ZpeGVkIHJlczsKQEAgLTI0Miw1OCArMjA0LDMgQEAgc3RydWN0IGJ3 X2ZpeGVkIGJ3X211bChjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3 X2ZpeGVkIGFyZzIpCiAJcmV0dXJuIHJlczsKIH0KIAotc3RydWN0IGJ3X2ZpeGVkIGJ3X2Rpdihj b25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCi17 Ci0Jc3RydWN0IGJ3X2ZpeGVkIHJlcyA9IGJ3X2ZyY190b19maXhlZChhcmcxLnZhbHVlLCBhcmcy LnZhbHVlKTsKLQlyZXR1cm4gcmVzOwotfQotCi1zdHJ1Y3QgYndfZml4ZWQgYndfbW9kKGNvbnN0 IHN0cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMikKLXsKLQlz dHJ1Y3QgYndfZml4ZWQgcmVzOwotCWRpdjY0X3U2NF9yZW0oYXJnMS52YWx1ZSwgYXJnMi52YWx1 ZSwgJnJlcy52YWx1ZSk7Ci0JcmV0dXJuIHJlczsKLX0KLXN0cnVjdCBid19maXhlZCBmaXhlZDMx XzMyX3RvX2J3X2ZpeGVkKGludDY0X3QgcmF3KQotewotCXN0cnVjdCBid19maXhlZCByZXN1bHQg PSB7IDAgfTsKLQotCWlmIChyYXcgPCAwKSB7Ci0JCXJhdyA9IC1yYXc7Ci0JCXJlc3VsdC52YWx1 ZSA9IC0ocmF3ID4+ICgzMiAtIEJJVFNfUEVSX0ZSQUNUSU9OQUxfUEFSVCkpOwotCX0gZWxzZSB7 Ci0JCXJlc3VsdC52YWx1ZSA9IHJhdyA+PiAoMzIgLSBCSVRTX1BFUl9GUkFDVElPTkFMX1BBUlQp OwotCX0KLQotCXJldHVybiByZXN1bHQ7Ci19Ci0KLWJvb2wgYndfZXF1KGNvbnN0IHN0cnVjdCBi d19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMikKLXsKLQlyZXR1cm4gYXJn MS52YWx1ZSA9PSBhcmcyLnZhbHVlOwotfQotCi1ib29sIGJ3X25lcShjb25zdCBzdHJ1Y3QgYndf Zml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCi17Ci0JcmV0dXJuIGFyZzEu dmFsdWUgIT0gYXJnMi52YWx1ZTsKLX0KLQotYm9vbCBid19sZXEoY29uc3Qgc3RydWN0IGJ3X2Zp eGVkIGFyZzEsIGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcyKQotewotCXJldHVybiBhcmcxLnZh bHVlIDw9IGFyZzIudmFsdWU7Ci19Ci0KLWJvb2wgYndfbWVxKGNvbnN0IHN0cnVjdCBid19maXhl ZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMikKLXsKLQlyZXR1cm4gYXJnMS52YWx1 ZSA+PSBhcmcyLnZhbHVlOwotfQotCi1ib29sIGJ3X2x0bihjb25zdCBzdHJ1Y3QgYndfZml4ZWQg YXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCi17Ci0JcmV0dXJuIGFyZzEudmFsdWUg PCBhcmcyLnZhbHVlOwotfQotCi1ib29sIGJ3X210bihjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJn MSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCi17Ci0JcmV0dXJuIGFyZzEudmFsdWUgPiBh cmcyLnZhbHVlOwotfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2luYy9id19maXhlZC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9id19m aXhlZC5oCmluZGV4IGIzMWQwN2EuLjQ0NzdlNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pbmMvYndfZml4ZWQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaW5jL2J3X2ZpeGVkLmgKQEAgLTMwLDkgKzMwLDMxIEBAIHN0cnVjdCBid19m aXhlZCB7CiAJaW50NjRfdCB2YWx1ZTsKIH07CiAKLXN0cnVjdCBid19maXhlZCBid19taW4zKHN0 cnVjdCBid19maXhlZCB2MSwgc3RydWN0IGJ3X2ZpeGVkIHYyLCBzdHJ1Y3QgYndfZml4ZWQgdjMp Oworc3RhdGljIGlubGluZSBzdHJ1Y3QgYndfZml4ZWQgYndfbWluMihjb25zdCBzdHJ1Y3QgYndf Zml4ZWQgYXJnMSwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMikKK3sKKwly ZXR1cm4gKGFyZzEudmFsdWUgPD0gYXJnMi52YWx1ZSkgPyBhcmcxIDogYXJnMjsKK30KIAotc3Ry dWN0IGJ3X2ZpeGVkIGJ3X21heDMoc3RydWN0IGJ3X2ZpeGVkIHYxLCBzdHJ1Y3QgYndfZml4ZWQg djIsIHN0cnVjdCBid19maXhlZCB2Myk7CitzdGF0aWMgaW5saW5lIHN0cnVjdCBid19maXhlZCBi d19tYXgyKGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcxLAorCQkJCSAgICAgIGNvbnN0IHN0cnVj dCBid19maXhlZCBhcmcyKQoreworCXJldHVybiAoYXJnMi52YWx1ZSA8PSBhcmcxLnZhbHVlKSA/ IGFyZzEgOiBhcmcyOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBid19maXhlZCBid19taW4z KHN0cnVjdCBid19maXhlZCB2MSwKKwkJCQkgICAgICBzdHJ1Y3QgYndfZml4ZWQgdjIsCisJCQkJ ICAgICAgc3RydWN0IGJ3X2ZpeGVkIHYzKQoreworCXJldHVybiBid19taW4yKGJ3X21pbjIodjEs IHYyKSwgdjMpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBid19maXhlZCBid19tYXgzKHN0 cnVjdCBid19maXhlZCB2MSwKKwkJCQkgICAgICBzdHJ1Y3QgYndfZml4ZWQgdjIsCisJCQkJICAg ICAgc3RydWN0IGJ3X2ZpeGVkIHYzKQoreworCXJldHVybiBid19tYXgyKGJ3X21heDIodjEsIHYy KSwgdjMpOworfQogCiBzdHJ1Y3QgYndfZml4ZWQgYndfaW50X3RvX2ZpeGVkKGludDY0X3QgdmFs dWUpOwogCkBAIC00MCwyNCArNjIsODMgQEAgaW50MzJfdCBid19maXhlZF90b19pbnQoc3RydWN0 IGJ3X2ZpeGVkIHZhbHVlKTsKIAogc3RydWN0IGJ3X2ZpeGVkIGJ3X2ZyY190b19maXhlZChpbnQ2 NF90IG51bSwgaW50NjRfdCBkZW51bSk7CiAKLXN0cnVjdCBid19maXhlZCBmaXhlZDMxXzMyX3Rv X2J3X2ZpeGVkKGludDY0X3QgcmF3KTsKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGJ3X2ZpeGVkIGZp eGVkMzFfMzJfdG9fYndfZml4ZWQoaW50NjRfdCByYXcpCit7CisJc3RydWN0IGJ3X2ZpeGVkIHJl c3VsdCA9IHsgMCB9OworCisJaWYgKHJhdyA8IDApIHsKKwkJcmF3ID0gLXJhdzsKKwkJcmVzdWx0 LnZhbHVlID0gLShyYXcgPj4gKDMyIC0gQldfRklYRURfQklUU19QRVJfRlJBQ1RJT05BTF9QQVJU KSk7CisJfSBlbHNlIHsKKwkJcmVzdWx0LnZhbHVlID0gcmF3ID4+ICgzMiAtIEJXX0ZJWEVEX0JJ VFNfUEVSX0ZSQUNUSU9OQUxfUEFSVCk7CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3Rh dGljIGlubGluZSBzdHJ1Y3QgYndfZml4ZWQgYndfYWRkKGNvbnN0IHN0cnVjdCBid19maXhlZCBh cmcxLAorCQkJCSAgICAgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCit7CisJc3RydWN0IGJ3 X2ZpeGVkIHJlczsKKworCXJlcy52YWx1ZSA9IGFyZzEudmFsdWUgKyBhcmcyLnZhbHVlOworCisJ cmV0dXJuIHJlczsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYndfZml4ZWQgYndfc3ViKGNv bnN0IHN0cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMikKK3sK KwlzdHJ1Y3QgYndfZml4ZWQgcmVzOworCisJcmVzLnZhbHVlID0gYXJnMS52YWx1ZSAtIGFyZzIu dmFsdWU7CisKKwlyZXR1cm4gcmVzOworfQogCi1zdHJ1Y3QgYndfZml4ZWQgYndfYWRkKGNvbnN0 IHN0cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMik7Ci1zdHJ1 Y3QgYndfZml4ZWQgYndfc3ViKGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1 Y3QgYndfZml4ZWQgYXJnMik7CiBzdHJ1Y3QgYndfZml4ZWQgYndfbXVsKGNvbnN0IHN0cnVjdCBi d19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMik7Ci1zdHJ1Y3QgYndfZml4 ZWQgYndfZGl2KGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4 ZWQgYXJnMik7Ci1zdHJ1Y3QgYndfZml4ZWQgYndfbW9kKGNvbnN0IHN0cnVjdCBid19maXhlZCBh cmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMik7CitzdGF0aWMgaW5saW5lIHN0cnVjdCBi d19maXhlZCBid19kaXYoY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzEsIGNvbnN0IHN0cnVjdCBi d19maXhlZCBhcmcyKQoreworCXJldHVybiBid19mcmNfdG9fZml4ZWQoYXJnMS52YWx1ZSwgYXJn Mi52YWx1ZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGJ3X2ZpeGVkIGJ3X21vZChjb25z dCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCit7CisJ c3RydWN0IGJ3X2ZpeGVkIHJlczsKKwlkaXY2NF91NjRfcmVtKGFyZzEudmFsdWUsIGFyZzIudmFs dWUsICZyZXMudmFsdWUpOworCXJldHVybiByZXM7Cit9CiAKLXN0cnVjdCBid19maXhlZCBid19t aW4yKGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJn Mik7Ci1zdHJ1Y3QgYndfZml4ZWQgYndfbWF4Mihjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwg Y29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpOwogc3RydWN0IGJ3X2ZpeGVkIGJ3X2Zsb29yMihj b25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgc2lnbmlmaWNh bmNlKTsKIHN0cnVjdCBid19maXhlZCBid19jZWlsMihjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJn LCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgc2lnbmlmaWNhbmNlKTsKIAotYm9vbCBid19lcXUoY29u c3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzEsIGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcyKTsKLWJv b2wgYndfbmVxKGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4 ZWQgYXJnMik7Ci1ib29sIGJ3X2xlcShjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qg c3RydWN0IGJ3X2ZpeGVkIGFyZzIpOwotYm9vbCBid19tZXEoY29uc3Qgc3RydWN0IGJ3X2ZpeGVk IGFyZzEsIGNvbnN0IHN0cnVjdCBid19maXhlZCBhcmcyKTsKLWJvb2wgYndfbHRuKGNvbnN0IHN0 cnVjdCBid19maXhlZCBhcmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMik7Ci1ib29sIGJ3 X210bihjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFy ZzIpOworc3RhdGljIGlubGluZSBib29sIGJ3X2VxdShjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJn MSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCit7CisJcmV0dXJuIGFyZzEudmFsdWUgPT0g YXJnMi52YWx1ZTsKK30KKworc3RhdGljIGlubGluZSBib29sIGJ3X25lcShjb25zdCBzdHJ1Y3Qg YndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCit7CisJcmV0dXJuIGFy ZzEudmFsdWUgIT0gYXJnMi52YWx1ZTsKK30KKworc3RhdGljIGlubGluZSBib29sIGJ3X2xlcShj b25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2ZpeGVkIGFyZzIpCit7 CisJcmV0dXJuIGFyZzEudmFsdWUgPD0gYXJnMi52YWx1ZTsKK30KKworc3RhdGljIGlubGluZSBi b29sIGJ3X21lcShjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qgc3RydWN0IGJ3X2Zp eGVkIGFyZzIpCit7CisJcmV0dXJuIGFyZzEudmFsdWUgPj0gYXJnMi52YWx1ZTsKK30KKworc3Rh dGljIGlubGluZSBib29sIGJ3X2x0bihjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMSwgY29uc3Qg c3RydWN0IGJ3X2ZpeGVkIGFyZzIpCit7CisJcmV0dXJuIGFyZzEudmFsdWUgPCBhcmcyLnZhbHVl OworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgYndfbXRuKGNvbnN0IHN0cnVjdCBid19maXhlZCBh cmcxLCBjb25zdCBzdHJ1Y3QgYndfZml4ZWQgYXJnMikKK3sKKwlyZXR1cm4gYXJnMS52YWx1ZSA+ IGFyZzIudmFsdWU7Cit9CiAKICNlbmRpZiAvL0JXX0ZJWEVEX0hfCi0tIAoyLjkuNAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5n IGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==