From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 02BF3892D2 for ; Tue, 14 May 2019 08:06:18 +0000 (UTC) From: Simon Ser Date: Tue, 14 May 2019 11:06:12 +0300 Message-Id: <20190514080612.15393-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] lib/igt_alsa: remove input support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: martin.peres@intel.com List-ID: VGhpcyBpcyBub3QgdXNlZCBhbnltb3JlIGJlY2F1c2UgdGhlIG9sZCBhdWRpbyB0ZXN0cyBoYXZl IGJlZW4gcmVtb3ZlZC4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIFNlciA8c2ltb24uc2VyQGludGVs LmNvbT4KLS0tCiBsaWIvaWd0X2Fsc2EuYyB8IDE5MiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWIvaWd0X2Fsc2EuaCB8ICAgOSAtLS0KIDIgZmls ZXMgY2hhbmdlZCwgMjAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfYWxzYS5j IGIvbGliL2lndF9hbHNhLmMKaW5kZXggYTQ3ODY4NmEzZmQ3Li4yOGE4NjZlMGVlNzQgMTAwNjQ0 Ci0tLSBhL2xpYi9pZ3RfYWxzYS5jCisrKyBiL2xpYi9pZ3RfYWxzYS5jCkBAIC01MywxNCArNTMs NiBAQCBzdHJ1Y3QgYWxzYSB7CiAJaW50ICgqb3V0cHV0X2NhbGxiYWNrKSh2b2lkICpkYXRhLCBz aG9ydCAqYnVmZmVyLCBpbnQgc2FtcGxlcyk7CiAJdm9pZCAqb3V0cHV0X2NhbGxiYWNrX2RhdGE7 CiAJaW50IG91dHB1dF9zYW1wbGVzX3RyaWdnZXI7Ci0KLQlzbmRfcGNtX3QgKmlucHV0X2hhbmRs ZTsKLQlpbnQgaW5wdXRfc2FtcGxpbmdfcmF0ZTsKLQlpbnQgaW5wdXRfY2hhbm5lbHM7Ci0KLQlp bnQgKCppbnB1dF9jYWxsYmFjaykodm9pZCAqZGF0YSwgc2hvcnQgKmJ1ZmZlciwgaW50IHNhbXBs ZXMpOwotCXZvaWQgKmlucHV0X2NhbGxiYWNrX2RhdGE7Ci0JaW50IGlucHV0X3NhbXBsZXNfdHJp Z2dlcjsKIH07CgogLyoqCkBAIC0yNDksNDAgKzI0MSw2IEBAIGludCBhbHNhX29wZW5fb3V0cHV0 KHN0cnVjdCBhbHNhICphbHNhLCBjb25zdCBjaGFyICpkZXZpY2VfbmFtZSkKIAlyZXR1cm4gMDsK IH0KCi0vKioKLSAqIGFsc2Ffb3Blbl9pbnB1dDoKLSAqIEBhbHNhOiBUaGUgdGFyZ2V0IGFsc2Eg c3RydWN0dXJlCi0gKiBAZGV2aWNlX25hbWU6IFRoZSBuYW1lIG9mIHRoZSBpbnB1dCBkZXZpY2Ug dG8gb3BlbgotICoKLSAqIE9wZW4gdGhlIEFMU0EgaW5wdXQgZGV2aWNlIHdob3NlIG5hbWUgbWF0 Y2hlcyB0aGUgcHJvdmlkZWQgbmFtZSBwcmVmaXguCi0gKgotICogUmV0dXJuczogQW4gaW50ZWdl ciBlcXVhbCB0byB6ZXJvIGZvciBzdWNjZXNzIGFuZCBuZWdhdGl2ZSBmb3IgZmFpbHVyZQotICov Ci1pbnQgYWxzYV9vcGVuX2lucHV0KHN0cnVjdCBhbHNhICphbHNhLCBjb25zdCBjaGFyICpkZXZp Y2VfbmFtZSkKLXsKLQlzbmRfcGNtX3QgKmhhbmRsZTsKLQljaGFyICppZGVudGlmaWVyOwotCWlu dCByZXQ7Ci0KLQlpZGVudGlmaWVyID0gYWxzYV9yZXNvbHZlX2luZGVudGlmaWVyKGRldmljZV9u YW1lLCAwKTsKLQotCXJldCA9IHNuZF9wY21fb3BlbigmaGFuZGxlLCBkZXZpY2VfbmFtZSwgU05E X1BDTV9TVFJFQU1fQ0FQVFVSRSwKLQkJCSAgIFNORF9QQ01fTk9OQkxPQ0spOwotCWlmIChyZXQg PCAwKQotCQlnb3RvIGNvbXBsZXRlOwotCi0JaWd0X2RlYnVnKCJPcGVuZWQgaW5wdXQgJXNcbiIs IGlkZW50aWZpZXIpOwotCi0JYWxzYS0+aW5wdXRfaGFuZGxlID0gaGFuZGxlOwotCi0JcmV0ID0g MDsKLQotY29tcGxldGU6Ci0JZnJlZShpZGVudGlmaWVyKTsKLQotCXJldHVybiByZXQ7Ci19Ci0K IC8qKgogICogYWxzYV9jbG9zZV9vdXRwdXQ6CiAgKiBAYWxzYTogVGhlIHRhcmdldCBhbHNhIHN0 cnVjdHVyZQpAQCAtMzA4LDI0ICsyNjYsNiBAQCB2b2lkIGFsc2FfY2xvc2Vfb3V0cHV0KHN0cnVj dCBhbHNhICphbHNhKQogCWFsc2EtPm91dHB1dF9jYWxsYmFjayA9IE5VTEw7CiB9CgotLyoqCi0g KiBhbHNhX2Nsb3NlX291dHB1dDoKLSAqIEBhbHNhOiBUaGUgdGFyZ2V0IGFsc2Egc3RydWN0dXJl Ci0gKgotICogQ2xvc2UgdGhlIG9wZW4gQUxTQSBpbnB1dC4KLSAqLwotdm9pZCBhbHNhX2Nsb3Nl X2lucHV0KHN0cnVjdCBhbHNhICphbHNhKQotewotCXNuZF9wY21fdCAqaGFuZGxlID0gYWxzYS0+ aW5wdXRfaGFuZGxlOwotCWlmICghaGFuZGxlKQotCQlyZXR1cm47Ci0KLQlzbmRfcGNtX2Nsb3Nl KGhhbmRsZSk7Ci0JYWxzYS0+aW5wdXRfaGFuZGxlID0gTlVMTDsKLQotCWFsc2EtPmlucHV0X2Nh bGxiYWNrID0gTlVMTDsKLX0KLQogc3RhdGljIGJvb2wgYWxzYV90ZXN0X2NvbmZpZ3VyYXRpb24o c25kX3BjbV90ICpoYW5kbGUsIGludCBjaGFubmVscywKIAkJCSAgICAgaW50IHNhbXBsaW5nX3Jh dGUpCiB7CkBAIC0zOTMsMjQgKzMzMyw2IEBAIGJvb2wgYWxzYV90ZXN0X291dHB1dF9jb25maWd1 cmF0aW9uKHN0cnVjdCBhbHNhICphbHNhLCBpbnQgY2hhbm5lbHMsCiAJcmV0dXJuIHRydWU7CiB9 CgotLyoqCi0gKiBhbHNhX3Rlc3RfaW5wdXRfY29uZmlndXJhdGlvbjoKLSAqIEBhbHNhOiBUaGUg dGFyZ2V0IGFsc2Egc3RydWN0dXJlCi0gKiBAY2hhbm5lbHM6IFRoZSBudW1iZXIgb2YgY2hhbm5l bHMgdG8gdGVzdAotICogQHNhbXBsaW5nX3JhdGU6IFRoZSBzYW1wbGluZyByYXRlIHRvIHRlc3QK LSAqCi0gKiBUZXN0IHRoZSBpbnB1dCBjb25maWd1cmF0aW9uIHNwZWNpZmllZCBieSBAY2hhbm5l bHMgYW5kIEBzYW1wbGluZ19yYXRlCi0gKiBmb3IgdGhlIGlucHV0IGRldmljZS4KLSAqCi0gKiBS ZXR1cm5zOiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSB0ZXN0IHN1Y2NlZWRlZAot ICovCi1ib29sIGFsc2FfdGVzdF9pbnB1dF9jb25maWd1cmF0aW9uKHN0cnVjdCBhbHNhICphbHNh LCBpbnQgY2hhbm5lbHMsCi0JCQkJICAgaW50IHNhbXBsaW5nX3JhdGUpCi17Ci0JcmV0dXJuIGFs c2FfdGVzdF9jb25maWd1cmF0aW9uKGFsc2EtPmlucHV0X2hhbmRsZSwgY2hhbm5lbHMsCi0JCQkJ ICAgICAgIHNhbXBsaW5nX3JhdGUpOwotfQotCiAvKioKICAqIGFsc2FfY29uZmlndXJlX291dHB1 dDoKICAqIEBhbHNhOiBUaGUgdGFyZ2V0IGFsc2Egc3RydWN0dXJlCkBAIC00NDMsMzMgKzM2NSw2 IEBAIHZvaWQgYWxzYV9jb25maWd1cmVfb3V0cHV0KHN0cnVjdCBhbHNhICphbHNhLCBpbnQgY2hh bm5lbHMsCiAJYWxzYS0+b3V0cHV0X3NhbXBsaW5nX3JhdGUgPSBzYW1wbGluZ19yYXRlOwogfQoK LS8qKgotICogYWxzYV9jb25maWd1cmVfaW5wdXQ6Ci0gKiBAYWxzYTogVGhlIHRhcmdldCBhbHNh IHN0cnVjdHVyZQotICogQGNoYW5uZWxzOiBUaGUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIHRlc3QK LSAqIEBzYW1wbGluZ19yYXRlOiBUaGUgc2FtcGxpbmcgcmF0ZSB0byB0ZXN0Ci0gKgotICogQ29u ZmlndXJlIHRoZSBpbnB1dCBkZXZpY2Ugd2l0aCB0aGUgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQg YnkgQGNoYW5uZWxzCi0gKiBhbmQgQHNhbXBsaW5nX3JhdGUuCi0gKi8KLXZvaWQgYWxzYV9jb25m aWd1cmVfaW5wdXQoc3RydWN0IGFsc2EgKmFsc2EsIGludCBjaGFubmVscywKLQkJCSAgaW50IHNh bXBsaW5nX3JhdGUpCi17Ci0Jc25kX3BjbV90ICpoYW5kbGU7Ci0JaW50IHJldDsKLQotCWhhbmRs ZSA9IGFsc2EtPmlucHV0X2hhbmRsZTsKLQotCXJldCA9IHNuZF9wY21fc2V0X3BhcmFtcyhoYW5k bGUsIFNORF9QQ01fRk9STUFUX1MxNl9MRSwKLQkJCQkgU05EX1BDTV9BQ0NFU1NfUldfSU5URVJM RUFWRUQsIGNoYW5uZWxzLAotCQkJCSBzYW1wbGluZ19yYXRlLCAwLCAwKTsKLQlpZ3RfYXNzZXJ0 KHJldCA+PSAwKTsKLQotCWFsc2EtPmlucHV0X2NoYW5uZWxzID0gY2hhbm5lbHM7Ci0JYWxzYS0+ aW5wdXRfc2FtcGxpbmdfcmF0ZSA9IHNhbXBsaW5nX3JhdGU7Ci0KLX0KLQogLyoqCiAgKiBhbHNh X3JlZ2lzdGVyX291dHB1dF9jYWxsYmFjazoKICAqIEBhbHNhOiBUaGUgdGFyZ2V0IGFsc2Egc3Ry dWN0dXJlCkBAIC00OTIsMjggKzM4Nyw2IEBAIHZvaWQgYWxzYV9yZWdpc3Rlcl9vdXRwdXRfY2Fs bGJhY2soc3RydWN0IGFsc2EgKmFsc2EsCiAJYWxzYS0+b3V0cHV0X3NhbXBsZXNfdHJpZ2dlciA9 IHNhbXBsZXNfdHJpZ2dlcjsKIH0KCi0vKioKLSAqIGFsc2FfcmVnaXN0ZXJfaW5wdXRfY2FsbGJh Y2s6Ci0gKiBAYWxzYTogVGhlIHRhcmdldCBhbHNhIHN0cnVjdHVyZQotICogQGNhbGxiYWNrOiBU aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIGlucHV0IGRhdGEgaXMgYXZhaWxhYmxl Ci0gKiBAY2FsbGJhY2tfZGF0YTogVGhlIGRhdGEgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBjYWxs YmFjayBmdW5jdGlvbgotICogQHNhbXBsZXNfdHJpZ2dlcjogVGhlIHJlcXVpcmVkIG51bWJlciBv ZiBzYW1wbGVzIHRvIHRyaWdnZXIgdGhlIGNhbGxiYWNrCi0gKgotICogUmVnaXN0ZXIgYSBjYWxs YmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiBpbnB1dCBkYXRhIGlzIGF2YWlsYWJsZSBk dXJpbmcKLSAqIGEgcnVuLiBUaGUgY2FsbGJhY2sgaXMgY2FsbGVkIHdoZW4gQHNhbXBsZXNfdHJp Z2dlciBzYW1wbGVzIGFyZSBhdmFpbGFibGUuCi0gKgotICogVGhlIGNhbGxiYWNrIHNob3VsZCBy ZXR1cm4gYW4gaW50ZWdlciBlcXVhbCB0byB6ZXJvIGZvciBzdWNjZXNzLCBuZWdhdGl2ZSBmb3IK LSAqIGZhaWx1cmUgYW5kIHBvc2l0aXZlIHRvIGluZGljYXRlIHRoYXQgdGhlIHJ1biBzaG91bGQg c3RvcC4KLSAqLwotdm9pZCBhbHNhX3JlZ2lzdGVyX2lucHV0X2NhbGxiYWNrKHN0cnVjdCBhbHNh ICphbHNhLAotCQkJCSAgaW50ICgqY2FsbGJhY2spKHZvaWQgKmRhdGEsIHNob3J0ICpidWZmZXIs IGludCBzYW1wbGVzKSwKLQkJCQkgIHZvaWQgKmNhbGxiYWNrX2RhdGEsIGludCBzYW1wbGVzX3Ry aWdnZXIpCi17Ci0JYWxzYS0+aW5wdXRfY2FsbGJhY2sgPSBjYWxsYmFjazsKLQlhbHNhLT5pbnB1 dF9jYWxsYmFja19kYXRhID0gY2FsbGJhY2tfZGF0YTsKLQlhbHNhLT5pbnB1dF9zYW1wbGVzX3Ry aWdnZXIgPSBzYW1wbGVzX3RyaWdnZXI7Ci19Ci0KIC8qKgogICogYWxzYV9ydW46CiAgKiBAYWxz YTogVGhlIHRhcmdldCBhbHNhIHN0cnVjdHVyZQpAQCAtNTMwLDE4ICs0MDMsMTIgQEAgaW50IGFs c2FfcnVuKHN0cnVjdCBhbHNhICphbHNhLCBpbnQgZHVyYXRpb25fbXMpCiB7CiAJc25kX3BjbV90 ICpoYW5kbGU7CiAJc2hvcnQgKm91dHB1dF9idWZmZXIgPSBOVUxMOwotCXNob3J0ICppbnB1dF9i dWZmZXIgPSBOVUxMOwogCWludCBvdXRwdXRfbGltaXQ7CiAJaW50IG91dHB1dF90b3RhbCA9IDA7 CiAJaW50IG91dHB1dF9jb3VudHNbYWxzYS0+b3V0cHV0X2hhbmRsZXNfY291bnRdOwogCWJvb2wg b3V0cHV0X3JlYWR5ID0gZmFsc2U7CiAJaW50IG91dHB1dF9jaGFubmVsczsKIAlpbnQgb3V0cHV0 X3RyaWdnZXI7Ci0JaW50IGlucHV0X2xpbWl0OwotCWludCBpbnB1dF90b3RhbCA9IDA7Ci0JaW50 IGlucHV0X2NvdW50ID0gMDsKLQlpbnQgaW5wdXRfY2hhbm5lbHM7Ci0JaW50IGlucHV0X3RyaWdn ZXI7CiAJYm9vbCByZWFjaGVkOwogCWludCBpbmRleDsKIAlpbnQgY291bnQ7CkBAIC01NTUsMTQg KzQyMiw2IEBAIGludCBhbHNhX3J1bihzdHJ1Y3QgYWxzYSAqYWxzYSwgaW50IGR1cmF0aW9uX21z KQogCW91dHB1dF9idWZmZXIgPSBtYWxsb2Moc2l6ZW9mKHNob3J0KSAqIG91dHB1dF9jaGFubmVs cyAqCiAJCQkgICAgICAgb3V0cHV0X3RyaWdnZXIpOwoKLQlpZiAoYWxzYS0+aW5wdXRfY2FsbGJh Y2spIHsKLQkJaW5wdXRfbGltaXQgPSBhbHNhLT5pbnB1dF9zYW1wbGluZ19yYXRlICogZHVyYXRp b25fbXMgLyAxMDAwOwotCQlpbnB1dF90cmlnZ2VyID0gYWxzYS0+aW5wdXRfc2FtcGxlc190cmln Z2VyOwotCQlpbnB1dF9jaGFubmVscyA9IGFsc2EtPmlucHV0X2NoYW5uZWxzOwotCQlpbnB1dF9i dWZmZXIgPSBtYWxsb2Moc2l6ZW9mKHNob3J0KSAqIGlucHV0X2NoYW5uZWxzICoKLQkJCQkgICAg ICBpbnB1dF90cmlnZ2VyKTsKLQl9Ci0KIAlkbyB7CiAJCXJlYWNoZWQgPSB0cnVlOwoKQEAgLTYy Nyw2MyArNDg2LDEyIEBAIGludCBhbHNhX3J1bihzdHJ1Y3QgYWxzYSAqYWxzYSwgaW50IGR1cmF0 aW9uX21zKQogCQkJCW91dHB1dF90b3RhbCArPSBvdXRwdXRfdHJpZ2dlcjsKCiAJCX0KLQotCQlp ZiAoYWxzYS0+aW5wdXRfY2FsbGJhY2sgJiYKLQkJICAgIChpbnB1dF9saW1pdCA8IDAgfHwgaW5w dXRfdG90YWwgPCBpbnB1dF9saW1pdCkpIHsKLQkJCXJlYWNoZWQgPSBmYWxzZTsKLQotCQkJaWYg KGlucHV0X2NvdW50ID09IGlucHV0X3RyaWdnZXIpIHsKLQkJCQlpbnB1dF9jb3VudCA9IDA7Ci0K LQkJCQlyZXQgPSBhbHNhLT5pbnB1dF9jYWxsYmFjayhhbHNhLT5pbnB1dF9jYWxsYmFja19kYXRh LAotCQkJCQkJCSAgIGlucHV0X2J1ZmZlciwKLQkJCQkJCQkgICBpbnB1dF90cmlnZ2VyKTsKLQkJ CQlpZiAocmV0ICE9IDApCi0JCQkJCWdvdG8gY29tcGxldGU7Ci0JCQl9Ci0KLQkJCWhhbmRsZSA9 IGFsc2EtPmlucHV0X2hhbmRsZTsKLQotCQkJcmV0ID0gc25kX3BjbV9hdmFpbChoYW5kbGUpOwot CQkJaWYgKGlucHV0X2NvdW50IDwgaW5wdXRfdHJpZ2dlciAmJgotCQkJICAgIChyZXQgPiAwIHx8 IGlucHV0X3RvdGFsID09IDApKSB7Ci0JCQkJaW5kZXggPSBpbnB1dF9jb3VudCAqIGlucHV0X2No YW5uZWxzOwotCQkJCWNvdW50ID0gaW5wdXRfdHJpZ2dlciAtIGlucHV0X2NvdW50OwotCQkJCWF2 YWlsID0gc25kX3BjbV9hdmFpbChoYW5kbGUpOwotCi0JCQkJY291bnQgPSBhdmFpbCA+IDAgJiYg YXZhaWwgPCBjb3VudCA/IGF2YWlsIDoKLQkJCQkJY291bnQ7Ci0KLQkJCQlyZXQgPSBzbmRfcGNt X3JlYWRpKGhhbmRsZSwKLQkJCQkJCSAgICAmaW5wdXRfYnVmZmVyW2luZGV4XSwKLQkJCQkJCSAg ICBjb3VudCk7Ci0JCQkJaWYgKHJldCA9PSAtRUFHQUlOKSB7Ci0JCQkJCXJldCA9IDA7Ci0JCQkJ fSBlbHNlIGlmIChyZXQgPCAwKSB7Ci0JCQkJCXJldCA9IHNuZF9wY21fcmVjb3ZlcihoYW5kbGUs IHJldCwgMCk7Ci0JCQkJCWlmIChyZXQgPCAwKSB7Ci0JCQkJCQlpZ3RfZGVidWcoInNuZF9wY21f cmVjb3ZlciBhZnRlciBzbmRfcGNtX3JlYWRpIGZhaWxlZCIpOwotCQkJCQkJZ290byBjb21wbGV0 ZTsKLQkJCQkJfQotCQkJCX0KLQotCQkJCWlucHV0X2NvdW50ICs9IHJldDsKLQkJCQlpbnB1dF90 b3RhbCArPSByZXQ7Ci0JCQl9IGVsc2UgaWYgKGlucHV0X2NvdW50IDwgaW5wdXRfdHJpZ2dlciAm JiByZXQgPCAwKSB7Ci0JCQkJcmV0ID0gc25kX3BjbV9yZWNvdmVyKGhhbmRsZSwgcmV0LCAwKTsK LQkJCQlpZiAocmV0IDwgMCkgewotCQkJCQlpZ3RfZGVidWcoInNuZF9wY21fcmVjb3ZlciBmYWls ZWQiKTsKLQkJCQkJZ290byBjb21wbGV0ZTsKLQkJCQl9Ci0JCQl9Ci0JCX0KIAl9IHdoaWxlICgh cmVhY2hlZCk7CgogCXJldCA9IDA7CgogY29tcGxldGU6CiAJZnJlZShvdXRwdXRfYnVmZmVyKTsK LQlmcmVlKGlucHV0X2J1ZmZlcik7CgogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9saWIv aWd0X2Fsc2EuaCBiL2xpYi9pZ3RfYWxzYS5oCmluZGV4IDVjODA0YjQ2YWNlNC4uYTEwOTg1ZmY3 NzdmIDEwMDY0NAotLS0gYS9saWIvaWd0X2Fsc2EuaAorKysgYi9saWIvaWd0X2Fsc2EuaApAQCAt MzYsMjMgKzM2LDE0IEBAIHN0cnVjdCBhbHNhOwogYm9vbCBhbHNhX2hhc19leGNsdXNpdmVfYWNj ZXNzKHZvaWQpOwogc3RydWN0IGFsc2EgKmFsc2FfaW5pdCh2b2lkKTsKIGludCBhbHNhX29wZW5f b3V0cHV0KHN0cnVjdCBhbHNhICphbHNhLCBjb25zdCBjaGFyICpkZXZpY2VfbmFtZSk7Ci1pbnQg YWxzYV9vcGVuX2lucHV0KHN0cnVjdCBhbHNhICphbHNhLCBjb25zdCBjaGFyICpkZXZpY2VfbmFt ZSk7CiB2b2lkIGFsc2FfY2xvc2Vfb3V0cHV0KHN0cnVjdCBhbHNhICphbHNhKTsKLXZvaWQgYWxz YV9jbG9zZV9pbnB1dChzdHJ1Y3QgYWxzYSAqYWxzYSk7CiBib29sIGFsc2FfdGVzdF9vdXRwdXRf Y29uZmlndXJhdGlvbihzdHJ1Y3QgYWxzYSAqYWxzYSwgaW50IGNoYW5uZWxzLAogCQkJCSAgICBp bnQgc2FtcGxpbmdfcmF0ZSk7Ci1ib29sIGFsc2FfdGVzdF9pbnB1dF9jb25maWd1cmF0aW9uKHN0 cnVjdCBhbHNhICphbHNhLCBpbnQgY2hhbm5lbHMsCi0JCQkJICAgaW50IHNhbXBsaW5nX3JhdGUp Owogdm9pZCBhbHNhX2NvbmZpZ3VyZV9vdXRwdXQoc3RydWN0IGFsc2EgKmFsc2EsIGludCBjaGFu bmVscywKIAkJCSAgIGludCBzYW1wbGluZ19yYXRlKTsKLXZvaWQgYWxzYV9jb25maWd1cmVfaW5w dXQoc3RydWN0IGFsc2EgKmFsc2EsIGludCBjaGFubmVscywKLQkJCSAgaW50IHNhbXBsaW5nX3Jh dGUpOwogdm9pZCBhbHNhX3JlZ2lzdGVyX291dHB1dF9jYWxsYmFjayhzdHJ1Y3QgYWxzYSAqYWxz YSwKIAkJCQkgICBpbnQgKCpjYWxsYmFjaykodm9pZCAqZGF0YSwgc2hvcnQgKmJ1ZmZlciwgaW50 IHNhbXBsZXMpLAogCQkJCSAgIHZvaWQgKmNhbGxiYWNrX2RhdGEsIGludCBzYW1wbGVzX3RyaWdn ZXIpOwotdm9pZCBhbHNhX3JlZ2lzdGVyX2lucHV0X2NhbGxiYWNrKHN0cnVjdCBhbHNhICphbHNh LAotCQkJCSAgaW50ICgqY2FsbGJhY2spKHZvaWQgKmRhdGEsIHNob3J0ICpidWZmZXIsIGludCBz YW1wbGVzKSwKLQkJCQkgIHZvaWQgKmNhbGxiYWNrX2RhdGEsIGludCBzYW1wbGVzX3RyaWdnZXIp OwogaW50IGFsc2FfcnVuKHN0cnVjdCBhbHNhICphbHNhLCBpbnQgZHVyYXRpb25fbXMpOwoKICNl bmRpZgotLQoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==