From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 3/6] drm/amdgpu: move sdma definitions into amdgpu_sdma header Date: Thu, 2 Aug 2018 19:08:12 +0800 Message-ID: <1533208095-15055-3-git-send-email-ray.huang@amd.com> References: <1533208095-15055-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1533208095-15055-1-git-send-email-ray.huang-5C7GfCeVMHo@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 Cc: Huang Rui RGVtYW5nbGUgYW1kZ3B1LmguCkZ1cnRoZXJtb3JlLCBTRE1BIGlzIHVzZWQgZm9yIG1vdmluZyBh bmQgY2xlYXJpbmcgdGhlIGRhdGEgYnVmZmVyLCBzbyB0aGUgaGVhZGVyCmFsc28gbmVlZCBiZSBp bmNsdWRlZCBpbiB0dG0uCgpTaWduZWQtb2ZmLWJ5OiBIdWFuZyBSdWkgPHJheS5odWFuZ0BhbWQu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L01ha2VmaWxlICAgICAgfCAgIDEg KwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICB8ICA4NyArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Nk bWEuYyB8ICA0NCArKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3NkbWEuaCB8IDEwMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgIHwgICAxICsKIDUgZmlsZXMgY2hhbmdl ZCwgMTQ4IGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zZG1hLmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfc2RtYS5oCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9NYWtlZmlsZQppbmRleCBiZmQzMzJjLi5lNjEwNjU2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9NYWtlZmlsZQpAQCAtMTA4LDYgKzEwOCw3IEBAIGFtZGdwdS15ICs9IFwKIAog IyBhZGQgYXN5bmMgRE1BIGJsb2NrCiBhbWRncHUteSArPSBcCisJYW1kZ3B1X3NkbWEubyBcCiAJ c2RtYV92Ml80Lm8gXAogCXNkbWFfdjNfMC5vIFwKIAlzZG1hX3Y0XzAubwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHUuaAppbmRleCA5MDcxN2JkLi40MGY1MDJjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHUuaApAQCAtNzAsNiArNzAsNyBAQAogI2luY2x1ZGUgImFtZGdwdV9tbi5o IgogI2luY2x1ZGUgImFtZGdwdV9nbWMuaCIKICNpbmNsdWRlICJhbWRncHVfZ2Z4LmgiCisjaW5j bHVkZSAiYW1kZ3B1X3NkbWEuaCIKICNpbmNsdWRlICJhbWRncHVfZG0uaCIKICNpbmNsdWRlICJh bWRncHVfdmlydC5oIgogI2luY2x1ZGUgImFtZGdwdV9nYXJ0LmgiCkBAIC0xNDksOSArMTUwLDYg QEAgZXh0ZXJuIGludCBhbWRncHVfY2lrX3N1cHBvcnQ7CiAjZGVmaW5lIEFNREdQVUZCX0NPTk5f TElNSVQJCQk0CiAjZGVmaW5lIEFNREdQVV9CSU9TX05VTV9TQ1JBVENICQkJMTYKIAotLyogbWF4 IG51bWJlciBvZiBJUCBpbnN0YW5jZXMgKi8KLSNkZWZpbmUgQU1ER1BVX01BWF9TRE1BX0lOU1RB TkNFUwkJMgotCiAvKiBoYXJkIHJlc2V0IGRhdGEgKi8KICNkZWZpbmUgQU1ER1BVX0FTSUNfUkVT RVRfREFUQSAgICAgICAgICAgICAgICAgIDB4MzlkNWU4NmIKIApAQCAtMTk5LDEzICsxOTcsNiBA QCBlbnVtIGFtZGdwdV9jcF9pcnEgewogCUFNREdQVV9DUF9JUlFfTEFTVAogfTsKIAotZW51bSBh bWRncHVfc2RtYV9pcnEgewotCUFNREdQVV9TRE1BX0lSUV9UUkFQMCA9IDAsCi0JQU1ER1BVX1NE TUFfSVJRX1RSQVAxLAotCi0JQU1ER1BVX1NETUFfSVJRX0xBU1QKLX07Ci0KIGVudW0gYW1kZ3B1 X3RoZXJtYWxfaXJxIHsKIAlBTURHUFVfVEhFUk1BTF9JUlFfTE9XX1RPX0hJR0ggPSAwLAogCUFN REdQVV9USEVSTUFMX0lSUV9ISUdIX1RPX0xPVywKQEAgLTI2NSwzOSArMjU2LDYgQEAgYW1kZ3B1 X2RldmljZV9pcF9nZXRfaXBfYmxvY2soc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiBpbnQg YW1kZ3B1X2RldmljZV9pcF9ibG9ja19hZGQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJ CQkgICAgICAgY29uc3Qgc3RydWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uICppcF9ibG9ja192 ZXJzaW9uKTsKIAotLyogcHJvdmlkZWQgYnkgaHcgYmxvY2tzIHRoYXQgY2FuIG1vdmUvY2xlYXIg ZGF0YS4gIGUuZy4sIGdmeCBvciBzZG1hICovCi1zdHJ1Y3QgYW1kZ3B1X2J1ZmZlcl9mdW5jcyB7 Ci0JLyogbWF4aW11bSBieXRlcyBpbiBhIHNpbmdsZSBvcGVyYXRpb24gKi8KLQl1aW50MzJfdAlj b3B5X21heF9ieXRlczsKLQotCS8qIG51bWJlciBvZiBkdyB0byByZXNlcnZlIHBlciBvcGVyYXRp b24gKi8KLQl1bnNpZ25lZAljb3B5X251bV9kdzsKLQotCS8qIHVzZWQgZm9yIGJ1ZmZlciBtaWdy YXRpb24gKi8KLQl2b2lkICgqZW1pdF9jb3B5X2J1ZmZlcikoc3RydWN0IGFtZGdwdV9pYiAqaWIs Ci0JCQkJIC8qIHNyYyBhZGRyIGluIGJ5dGVzICovCi0JCQkJIHVpbnQ2NF90IHNyY19vZmZzZXQs Ci0JCQkJIC8qIGRzdCBhZGRyIGluIGJ5dGVzICovCi0JCQkJIHVpbnQ2NF90IGRzdF9vZmZzZXQs Ci0JCQkJIC8qIG51bWJlciBvZiBieXRlIHRvIHRyYW5zZmVyICovCi0JCQkJIHVpbnQzMl90IGJ5 dGVfY291bnQpOwotCi0JLyogbWF4aW11bSBieXRlcyBpbiBhIHNpbmdsZSBvcGVyYXRpb24gKi8K LQl1aW50MzJfdAlmaWxsX21heF9ieXRlczsKLQotCS8qIG51bWJlciBvZiBkdyB0byByZXNlcnZl IHBlciBvcGVyYXRpb24gKi8KLQl1bnNpZ25lZAlmaWxsX251bV9kdzsKLQotCS8qIHVzZWQgZm9y IGJ1ZmZlciBjbGVhcmluZyAqLwotCXZvaWQgKCplbWl0X2ZpbGxfYnVmZmVyKShzdHJ1Y3QgYW1k Z3B1X2liICppYiwKLQkJCQkgLyogdmFsdWUgdG8gd3JpdGUgdG8gbWVtb3J5ICovCi0JCQkJIHVp bnQzMl90IHNyY19kYXRhLAotCQkJCSAvKiBkc3QgYWRkciBpbiBieXRlcyAqLwotCQkJCSB1aW50 NjRfdCBkc3Rfb2Zmc2V0LAotCQkJCSAvKiBudW1iZXIgb2YgYnl0ZSB0byBmaWxsICovCi0JCQkJ IHVpbnQzMl90IGJ5dGVfY291bnQpOwotfTsKLQogLyogcHJvdmlkZWQgYnkgaHcgYmxvY2tzIHRo YXQgY2FuIHdyaXRlIHB0ZXMsIGUuZy4sIHNkbWEgKi8KIHN0cnVjdCBhbWRncHVfdm1fcHRlX2Z1 bmNzIHsKIAkvKiBudW1iZXIgb2YgZHcgdG8gcmVzZXJ2ZSBwZXIgb3BlcmF0aW9uICovCkBAIC03 NTcsMzEgKzcxNSw2IEBAIGludCBhbWRncHVfZGV2aWNlX3diX2dldChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiwgdTMyICp3Yik7CiB2b2lkIGFtZGdwdV9kZXZpY2Vfd2JfZnJlZShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwgdTMyIHdiKTsKIAogLyoKLSAqIFNETUEKLSAqLwotc3RydWN0 IGFtZGdwdV9zZG1hX2luc3RhbmNlIHsKLQkvKiBTRE1BIGZpcm13YXJlICovCi0JY29uc3Qgc3Ry dWN0IGZpcm13YXJlCSpmdzsKLQl1aW50MzJfdAkJZndfdmVyc2lvbjsKLQl1aW50MzJfdAkJZmVh dHVyZV92ZXJzaW9uOwotCi0Jc3RydWN0IGFtZGdwdV9yaW5nCXJpbmc7Ci0JYm9vbAkJCWJ1cnN0 X25vcDsKLX07Ci0KLXN0cnVjdCBhbWRncHVfc2RtYSB7Ci0Jc3RydWN0IGFtZGdwdV9zZG1hX2lu c3RhbmNlIGluc3RhbmNlW0FNREdQVV9NQVhfU0RNQV9JTlNUQU5DRVNdOwotI2lmZGVmIENPTkZJ R19EUk1fQU1ER1BVX1NJCi0JLy9TSSBETUEgaGFzIGEgZGlmZmVyZW5jZSB0cmFwIGlycSBudW1i ZXIgZm9yIHRoZSBzZWNvbmQgZW5naW5lCi0Jc3RydWN0IGFtZGdwdV9pcnFfc3JjCXRyYXBfaXJx XzE7Ci0jZW5kaWYKLQlzdHJ1Y3QgYW1kZ3B1X2lycV9zcmMJdHJhcF9pcnE7Ci0Jc3RydWN0IGFt ZGdwdV9pcnFfc3JjCWlsbGVnYWxfaW5zdF9pcnE7Ci0JaW50CQkJbnVtX2luc3RhbmNlczsKLQl1 aW50MzJfdCAgICAgICAgICAgICAgICAgICAgc3JibV9zb2Z0X3Jlc2V0OwotfTsKLQotLyoKICAq IEZpcm13YXJlCiAgKi8KIGVudW0gYW1kZ3B1X2Zpcm13YXJlX2xvYWRfdHlwZSB7CkBAIC0xMzg4 LDIyICsxMzIxLDYgQEAgaW50IGVtdV9zb2NfYXNpY19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KTsKICNkZWZpbmUgUkJJT1MxNihpKSAoUkJJT1M4KGkpIHwgKFJCSU9TOCgoaSkrMSkg PDwgOCkpCiAjZGVmaW5lIFJCSU9TMzIoaSkgKChSQklPUzE2KGkpKSB8IChSQklPUzE2KChpKSsy KSA8PCAxNikpCiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGFtZGdwdV9zZG1hX2luc3RhbmNlICoK LWFtZGdwdV9nZXRfc2RtYV9pbnN0YW5jZShzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCi17Ci0J c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSByaW5nLT5hZGV2OwotCWludCBpOwotCi0JZm9y IChpID0gMDsgaSA8IGFkZXYtPnNkbWEubnVtX2luc3RhbmNlczsgaSsrKQotCQlpZiAoJmFkZXYt PnNkbWEuaW5zdGFuY2VbaV0ucmluZyA9PSByaW5nKQotCQkJYnJlYWs7Ci0KLQlpZiAoaSA8IEFN REdQVV9NQVhfU0RNQV9JTlNUQU5DRVMpCi0JCXJldHVybiAmYWRldi0+c2RtYS5pbnN0YW5jZVtp XTsKLQllbHNlCi0JCXJldHVybiBOVUxMOwotfQotCiAvKgogICogQVNJQ3MgbWFjcm8uCiAgKi8K QEAgLTE0NjUsOCArMTM4Miw2IEBAIGFtZGdwdV9nZXRfc2RtYV9pbnN0YW5jZShzdHJ1Y3QgYW1k Z3B1X3JpbmcgKnJpbmcpCiAjZGVmaW5lIGFtZGdwdV9kaXNwbGF5X3BhZ2VfZmxpcF9nZXRfc2Nh bm91dHBvcyhhZGV2LCBjcnRjLCB2YmwsIHBvcykgKGFkZXYpLT5tb2RlX2luZm8uZnVuY3MtPnBh Z2VfZmxpcF9nZXRfc2Nhbm91dHBvcygoYWRldiksIChjcnRjKSwgKHZibCksIChwb3MpKQogI2Rl ZmluZSBhbWRncHVfZGlzcGxheV9hZGRfZW5jb2RlcihhZGV2LCBlLCBzLCBjKSAoYWRldiktPm1v ZGVfaW5mby5mdW5jcy0+YWRkX2VuY29kZXIoKGFkZXYpLCAoZSksIChzKSwgKGMpKQogI2RlZmlu ZSBhbWRncHVfZGlzcGxheV9hZGRfY29ubmVjdG9yKGFkZXYsIGNpLCBzZCwgY3QsIGliLCBjb2ks IGgsIHIpIChhZGV2KS0+bW9kZV9pbmZvLmZ1bmNzLT5hZGRfY29ubmVjdG9yKChhZGV2KSwgKGNp KSwgKHNkKSwgKGN0KSwgKGliKSwgKGNvaSksIChoKSwgKHIpKQotI2RlZmluZSBhbWRncHVfZW1p dF9jb3B5X2J1ZmZlcihhZGV2LCBpYiwgcywgZCwgYikgKGFkZXYpLT5tbWFuLmJ1ZmZlcl9mdW5j cy0+ZW1pdF9jb3B5X2J1ZmZlcigoaWIpLCAgKHMpLCAoZCksIChiKSkKLSNkZWZpbmUgYW1kZ3B1 X2VtaXRfZmlsbF9idWZmZXIoYWRldiwgaWIsIHMsIGQsIGIpIChhZGV2KS0+bW1hbi5idWZmZXJf ZnVuY3MtPmVtaXRfZmlsbF9idWZmZXIoKGliKSwgKHMpLCAoZCksIChiKSkKICNkZWZpbmUgYW1k Z3B1X2dkc19zd2l0Y2goYWRldiwgciwgdiwgZCwgdywgYSkgKGFkZXYpLT5nZHMuZnVuY3MtPnBh dGNoX2dkc19zd2l0Y2goKHIpLCAodiksIChkKSwgKHcpLCAoYSkpCiAjZGVmaW5lIGFtZGdwdV9w c3BfY2hlY2tfZndfbG9hZGluZ19zdGF0dXMoYWRldiwgaSkgKGFkZXYpLT5maXJtd2FyZS5mdW5j cy0+Y2hlY2tfZndfbG9hZGluZ19zdGF0dXMoKGFkZXYpLCAoaSkpCiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfc2RtYS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmJjOTI0NGIKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfc2RtYS5jCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxOCBB ZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkg Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNv cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0 aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3Ry aWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVz ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwK KyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVy c29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq ZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJp Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBp bgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUu CisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO VFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVW RU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lO RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisjaW5j bHVkZSA8ZHJtL2RybVAuaD4KKyNpbmNsdWRlICJhbWRncHUuaCIKKyNpbmNsdWRlICJhbWRncHVf c2RtYS5oIgorCisvKgorICogR1BVIFNETUEgSVAgYmxvY2sgaGVscGVycyBmdW5jdGlvbi4KKyAq LworCitzdHJ1Y3QgYW1kZ3B1X3NkbWFfaW5zdGFuY2UgKiBhbWRncHVfZ2V0X3NkbWFfaW5zdGFu Y2Uoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQoreworCXN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2ID0gcmluZy0+YWRldjsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1h Lm51bV9pbnN0YW5jZXM7IGkrKykKKwkJaWYgKCZhZGV2LT5zZG1hLmluc3RhbmNlW2ldLnJpbmcg PT0gcmluZykKKwkJCWJyZWFrOworCisJaWYgKGkgPCBBTURHUFVfTUFYX1NETUFfSU5TVEFOQ0VT KQorCQlyZXR1cm4gJmFkZXYtPnNkbWEuaW5zdGFuY2VbaV07CisJZWxzZQorCQlyZXR1cm4gTlVM TDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zZG1h LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfc2RtYS5oCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNzUwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfc2RtYS5oCkBAIC0wLDAgKzEsMTAxIEBACisv KgorICogQ29weXJpZ2h0IDIwMTggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICoKKyAq IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy c29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUg U29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv bgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRp c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3 YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1 cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisg KgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J TkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENPUFlSSUdIVCBIT0xERVIo UykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCisgKiBP VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9S IE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU SCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNP RlRXQVJFLgorICoKKyAqLworCisjaWZuZGVmIF9fQU1ER1BVX1NETUFfSF9fCisjZGVmaW5lIF9f QU1ER1BVX1NETUFfSF9fCisKKy8qIG1heCBudW1iZXIgb2YgSVAgaW5zdGFuY2VzICovCisjZGVm aW5lIEFNREdQVV9NQVhfU0RNQV9JTlNUQU5DRVMJCTIKKworZW51bSBhbWRncHVfc2RtYV9pcnEg eworCUFNREdQVV9TRE1BX0lSUV9UUkFQMCA9IDAsCisJQU1ER1BVX1NETUFfSVJRX1RSQVAxLAor CisJQU1ER1BVX1NETUFfSVJRX0xBU1QKK307CisKK3N0cnVjdCBhbWRncHVfc2RtYV9pbnN0YW5j ZSB7CisJLyogU0RNQSBmaXJtd2FyZSAqLworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZQkqZnc7CisJ dWludDMyX3QJCWZ3X3ZlcnNpb247CisJdWludDMyX3QJCWZlYXR1cmVfdmVyc2lvbjsKKworCXN0 cnVjdCBhbWRncHVfcmluZwlyaW5nOworCWJvb2wJCQlidXJzdF9ub3A7Cit9OworCitzdHJ1Y3Qg YW1kZ3B1X3NkbWEgeworCXN0cnVjdCBhbWRncHVfc2RtYV9pbnN0YW5jZSBpbnN0YW5jZVtBTURH UFVfTUFYX1NETUFfSU5TVEFOQ0VTXTsKKyNpZmRlZiBDT05GSUdfRFJNX0FNREdQVV9TSQorCS8v U0kgRE1BIGhhcyBhIGRpZmZlcmVuY2UgdHJhcCBpcnEgbnVtYmVyIGZvciB0aGUgc2Vjb25kIGVu Z2luZQorCXN0cnVjdCBhbWRncHVfaXJxX3NyYwl0cmFwX2lycV8xOworI2VuZGlmCisJc3RydWN0 IGFtZGdwdV9pcnFfc3JjCXRyYXBfaXJxOworCXN0cnVjdCBhbWRncHVfaXJxX3NyYwlpbGxlZ2Fs X2luc3RfaXJxOworCWludAkJCW51bV9pbnN0YW5jZXM7CisJdWludDMyX3QgICAgICAgICAgICAg ICAgICAgIHNyYm1fc29mdF9yZXNldDsKK307CisKKy8qCisgKiBQcm92aWRlZCBieSBodyBibG9j a3MgdGhhdCBjYW4gbW92ZS9jbGVhciBkYXRhLiAgZS5nLiwgZ2Z4IG9yIHNkbWEKKyAqIEJ1dCBj dXJyZW50bHksIHdlIHVzZSBzZG1hIHRvIG1vdmUgZGF0YS4KKyAqLworc3RydWN0IGFtZGdwdV9i dWZmZXJfZnVuY3MgeworCS8qIG1heGltdW0gYnl0ZXMgaW4gYSBzaW5nbGUgb3BlcmF0aW9uICov CisJdWludDMyX3QJY29weV9tYXhfYnl0ZXM7CisKKwkvKiBudW1iZXIgb2YgZHcgdG8gcmVzZXJ2 ZSBwZXIgb3BlcmF0aW9uICovCisJdW5zaWduZWQJY29weV9udW1fZHc7CisKKwkvKiB1c2VkIGZv ciBidWZmZXIgbWlncmF0aW9uICovCisJdm9pZCAoKmVtaXRfY29weV9idWZmZXIpKHN0cnVjdCBh bWRncHVfaWIgKmliLAorCQkJCSAvKiBzcmMgYWRkciBpbiBieXRlcyAqLworCQkJCSB1aW50NjRf dCBzcmNfb2Zmc2V0LAorCQkJCSAvKiBkc3QgYWRkciBpbiBieXRlcyAqLworCQkJCSB1aW50NjRf dCBkc3Rfb2Zmc2V0LAorCQkJCSAvKiBudW1iZXIgb2YgYnl0ZSB0byB0cmFuc2ZlciAqLworCQkJ CSB1aW50MzJfdCBieXRlX2NvdW50KTsKKworCS8qIG1heGltdW0gYnl0ZXMgaW4gYSBzaW5nbGUg b3BlcmF0aW9uICovCisJdWludDMyX3QJZmlsbF9tYXhfYnl0ZXM7CisKKwkvKiBudW1iZXIgb2Yg ZHcgdG8gcmVzZXJ2ZSBwZXIgb3BlcmF0aW9uICovCisJdW5zaWduZWQJZmlsbF9udW1fZHc7CisK KwkvKiB1c2VkIGZvciBidWZmZXIgY2xlYXJpbmcgKi8KKwl2b2lkICgqZW1pdF9maWxsX2J1ZmZl cikoc3RydWN0IGFtZGdwdV9pYiAqaWIsCisJCQkJIC8qIHZhbHVlIHRvIHdyaXRlIHRvIG1lbW9y eSAqLworCQkJCSB1aW50MzJfdCBzcmNfZGF0YSwKKwkJCQkgLyogZHN0IGFkZHIgaW4gYnl0ZXMg Ki8KKwkJCQkgdWludDY0X3QgZHN0X29mZnNldCwKKwkJCQkgLyogbnVtYmVyIG9mIGJ5dGUgdG8g ZmlsbCAqLworCQkJCSB1aW50MzJfdCBieXRlX2NvdW50KTsKK307CisKKyNkZWZpbmUgYW1kZ3B1 X2VtaXRfY29weV9idWZmZXIoYWRldiwgaWIsIHMsIGQsIGIpIChhZGV2KS0+bW1hbi5idWZmZXJf ZnVuY3MtPmVtaXRfY29weV9idWZmZXIoKGliKSwgIChzKSwgKGQpLCAoYikpCisjZGVmaW5lIGFt ZGdwdV9lbWl0X2ZpbGxfYnVmZmVyKGFkZXYsIGliLCBzLCBkLCBiKSAoYWRldiktPm1tYW4uYnVm ZmVyX2Z1bmNzLT5lbWl0X2ZpbGxfYnVmZmVyKChpYiksIChzKSwgKGQpLCAoYikpCisKK3N0cnVj dCBhbWRncHVfc2RtYV9pbnN0YW5jZSAqCithbWRncHVfZ2V0X3NkbWFfaW5zdGFuY2Uoc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdHRtLmMKaW5kZXggZmNmNDIxMi4uYzY2MTFjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV90dG0uYwpAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgImFtZGdwdV9v YmplY3QuaCIKICNpbmNsdWRlICJhbWRncHVfdHJhY2UuaCIKICNpbmNsdWRlICJhbWRncHVfYW1k a2ZkLmgiCisjaW5jbHVkZSAiYW1kZ3B1X3NkbWEuaCIKICNpbmNsdWRlICJiaWYvYmlmXzRfMV9k LmgiCiAKICNkZWZpbmUgRFJNX0ZJTEVfUEFHRV9PRkZTRVQgKDB4MTAwMDAwMDAwVUxMID4+IFBB R0VfU0hJRlQpCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==