From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BCF96C43603 for ; Sat, 7 Dec 2019 17:01:26 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9EBAE20637 for ; Sat, 7 Dec 2019 17:01:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9EBAE20637 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 44C456E1EC; Sat, 7 Dec 2019 17:01:26 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4E17C6E1EC for ; Sat, 7 Dec 2019 17:01:24 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 19496905-1500050 for multiple; Sat, 07 Dec 2019 17:01:11 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Sat, 7 Dec 2019 17:01:04 +0000 Message-Id: <20191207170110.2200142-2-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191207170110.2200142-1-chris@chris-wilson.co.uk> References: <20191207170110.2200142-1-chris@chris-wilson.co.uk> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 2/8] drm/i915: Remove redundant parameters from intel_engine_cmd_parser X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RGVjbHV0dGVyIHRoZSBjYWxsaW5nIGludGVyZmFjZSBieSByZWR1Y2luZyB0aGUgcGFyYW1ldGVy cyB0byB0aGUKaTkxNV92bWEgYW5kIGFzc29jaWF0ZWQgb2Zmc2V0cy4KClNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIC4uLi9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyAgICB8ICAzMyArLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2dwdV9jb21tYW5kcy5oICB8ICAyMSArKysrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2NtZF9wYXJzZXIuYyAgICAgICAgfCAxMDQgKysrKysrKysrLS0t LS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgfCAg MTAgKy0KIDQgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgODcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZm ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5k ZXggMzQwNDRjNjIwM2E1Li5hY2Y3MTQ2NmY4ZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMjc2LDI1ICsyNzYsNiBAQCBzdHJ1Y3Qg aTkxNV9leGVjYnVmZmVyIHsKIAogI2RlZmluZSBleGVjX2VudHJ5KEVCLCBWTUEpICgmKEVCKS0+ ZXhlY1soVk1BKS0+ZXhlY19mbGFncyAtIChFQiktPmZsYWdzXSkKIAotLyoKLSAqIFVzZWQgdG8g Y29udmVydCBhbnkgYWRkcmVzcyB0byBjYW5vbmljYWwgZm9ybS4KLSAqIFN0YXJ0aW5nIGZyb20g Z2VuOCwgc29tZSBjb21tYW5kcyAoZS5nLiBTVEFURV9CQVNFX0FERFJFU1MsCi0gKiBNSV9MT0FE X1JFR0lTVEVSX01FTSBhbmQgb3RoZXJzLCBzZWUgQnJvYWR3ZWxsIFBSTSBWb2wyYSkgcmVxdWly ZSB0aGUKLSAqIGFkZHJlc3NlcyB0byBiZSBpbiBhIGNhbm9uaWNhbCBmb3JtOgotICogIkdyYXBo aWNzQWRkcmVzc1s2Mzo0OF0gYXJlIGlnbm9yZWQgYnkgdGhlIEhXIGFuZCBhc3N1bWVkIHRvIGJl IGluIGNvcnJlY3QKLSAqIGNhbm9uaWNhbCBmb3JtIFs2Mzo0OF0gPT0gWzQ3XS4iCi0gKi8KLSNk ZWZpbmUgR0VOOF9ISUdIX0FERFJFU1NfQklUIDQ3Ci1zdGF0aWMgaW5saW5lIHU2NCBnZW44X2Nh bm9uaWNhbF9hZGRyKHU2NCBhZGRyZXNzKQotewotCXJldHVybiBzaWduX2V4dGVuZDY0KGFkZHJl c3MsIEdFTjhfSElHSF9BRERSRVNTX0JJVCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdTY0IGdlbjhf bm9uY2Fub25pY2FsX2FkZHIodTY0IGFkZHJlc3MpCi17Ci0JcmV0dXJuIGFkZHJlc3MgJiBHRU5N QVNLX1VMTChHRU44X0hJR0hfQUREUkVTU19CSVQsIDApOwotfQotCiBzdGF0aWMgaW5saW5lIGJv b2wgZWJfdXNlX2NtZHBhcnNlcihjb25zdCBzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIHsK IAlyZXR1cm4gaW50ZWxfZW5naW5lX3JlcXVpcmVzX2NtZF9wYXJzZXIoZWItPmVuZ2luZSkgfHwK QEAgLTIwMDUsOCArMTk4Niw2IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKmViX3BhcnNlKHN0 cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViKQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfcG9vbF9u b2RlICpwb29sOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwotCXU2NCBiYXRjaF9zdGFydDsKLQl1 NjQgc2hhZG93X2JhdGNoX3N0YXJ0OwogCWludCBlcnI7CiAKIAlwb29sID0gaW50ZWxfZW5naW5l X2dldF9wb29sKGViLT5lbmdpbmUsIGViLT5iYXRjaF9sZW4pOwpAQCAtMjAxNywxOSArMTk5Niwx MSBAQCBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICplYl9wYXJzZShzdHJ1Y3QgaTkxNV9leGVjYnVm ZmVyICplYikKIAlpZiAoSVNfRVJSKHZtYSkpCiAJCWdvdG8gZXJyOwogCi0JYmF0Y2hfc3RhcnQg PSBnZW44X2Nhbm9uaWNhbF9hZGRyKGViLT5iYXRjaC0+bm9kZS5zdGFydCkgKwotCQkgICAgICBl Yi0+YmF0Y2hfc3RhcnRfb2Zmc2V0OwotCi0Jc2hhZG93X2JhdGNoX3N0YXJ0ID0gZ2VuOF9jYW5v bmljYWxfYWRkcih2bWEtPm5vZGUuc3RhcnQpOwotCiAJZXJyID0gaW50ZWxfZW5naW5lX2NtZF9w YXJzZXIoZWItPmVuZ2luZSwKLQkJCQkgICAgICBlYi0+YmF0Y2gtPm9iaiwKLQkJCQkgICAgICBi YXRjaF9zdGFydCwKKwkJCQkgICAgICBlYi0+YmF0Y2gsCiAJCQkJICAgICAgZWItPmJhdGNoX3N0 YXJ0X29mZnNldCwKIAkJCQkgICAgICBlYi0+YmF0Y2hfbGVuLAotCQkJCSAgICAgIHBvb2wtPm9i aiwKLQkJCQkgICAgICBzaGFkb3dfYmF0Y2hfc3RhcnQpOwotCisJCQkJICAgICAgdm1hKTsKIAlp ZiAoZXJyKSB7CiAJCWk5MTVfdm1hX3VucGluKHZtYSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2dwdV9jb21tYW5kcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ3B1X2NvbW1hbmRzLmgKaW5kZXggNDI5NGYxNDZmMTNjLi5jNjhjMGUwMzNm MzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2dwdV9jb21tYW5k cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2dwdV9jb21tYW5kcy5oCkBA IC03LDYgKzcsOCBAQAogI2lmbmRlZiBfSU5URUxfR1BVX0NPTU1BTkRTX0hfCiAjZGVmaW5lIF9J TlRFTF9HUFVfQ09NTUFORFNfSF8KIAorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorCiAvKgog ICogVGFyZ2V0IGFkZHJlc3MgYWxpZ25tZW50cyByZXF1aXJlZCBmb3IgR1BVIGFjY2VzcyBlLmcu CiAgKiBNSV9TVE9SRV9EV09SRF9JTU0uCkBAIC0zMTksNCArMzIxLDIzIEBACiAjZGVmaW5lIENP TE9SX0JMVCAgICAgKCgweDI8PDI5KXwoMHg0MDw8MjIpKQogI2RlZmluZSBTUkNfQ09QWV9CTFQg ICgoMHgyPDwyOSl8KDB4NDM8PDIyKSkKIAorLyoKKyAqIFVzZWQgdG8gY29udmVydCBhbnkgYWRk cmVzcyB0byBjYW5vbmljYWwgZm9ybS4KKyAqIFN0YXJ0aW5nIGZyb20gZ2VuOCwgc29tZSBjb21t YW5kcyAoZS5nLiBTVEFURV9CQVNFX0FERFJFU1MsCisgKiBNSV9MT0FEX1JFR0lTVEVSX01FTSBh bmQgb3RoZXJzLCBzZWUgQnJvYWR3ZWxsIFBSTSBWb2wyYSkgcmVxdWlyZSB0aGUKKyAqIGFkZHJl c3NlcyB0byBiZSBpbiBhIGNhbm9uaWNhbCBmb3JtOgorICogIkdyYXBoaWNzQWRkcmVzc1s2Mzo0 OF0gYXJlIGlnbm9yZWQgYnkgdGhlIEhXIGFuZCBhc3N1bWVkIHRvIGJlIGluIGNvcnJlY3QKKyAq IGNhbm9uaWNhbCBmb3JtIFs2Mzo0OF0gPT0gWzQ3XS4iCisgKi8KKyNkZWZpbmUgR0VOOF9ISUdI X0FERFJFU1NfQklUIDQ3CitzdGF0aWMgaW5saW5lIHU2NCBnZW44X2Nhbm9uaWNhbF9hZGRyKHU2 NCBhZGRyZXNzKQoreworCXJldHVybiBzaWduX2V4dGVuZDY0KGFkZHJlc3MsIEdFTjhfSElHSF9B RERSRVNTX0JJVCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTY0IGdlbjhfbm9uY2Fub25pY2FsX2Fk ZHIodTY0IGFkZHJlc3MpCit7CisJcmV0dXJuIGFkZHJlc3MgJiBHRU5NQVNLX1VMTChHRU44X0hJ R0hfQUREUkVTU19CSVQsIDApOworfQorCiAjZW5kaWYgLyogX0lOVEVMX0dQVV9DT01NQU5EU19I XyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2NtZF9wYXJzZXIuYwppbmRleCA3YjcwNjE5NzNj NWUuLjc0ZmQwZWEwNWYwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9j bWRfcGFyc2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMK QEAgLTExMjcsOCArMTEyNyw3IEBAIGZpbmRfcmVnKGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSwgdTMyIGFkZHIpCiAvKiBSZXR1cm5zIGEgdm1hcCdkIHBvaW50ZXIgdG8gZHN0 X29iaiwgd2hpY2ggdGhlIGNhbGxlciBtdXN0IHVubWFwICovCiBzdGF0aWMgdTMyICpjb3B5X2Jh dGNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpkc3Rfb2JqLAogCQkgICAgICAgc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKnNyY19vYmosCi0JCSAgICAgICB1MzIgYmF0Y2hfc3RhcnRf b2Zmc2V0LAotCQkgICAgICAgdTMyIGJhdGNoX2xlbiwKKwkJICAgICAgIHUzMiBvZmZzZXQsIHUz MiBsZW5ndGgsCiAJCSAgICAgICBib29sICpuZWVkc19jbGZsdXNoX2FmdGVyKQogewogCXVuc2ln bmVkIGludCBzcmNfbmVlZHNfY2xmbHVzaDsKQEAgLTExNTMsMjIgKzExNTIsMjEgQEAgc3RhdGlj IHUzMiAqY29weV9iYXRjaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqZHN0X29iaiwKIAog CXNyYyA9IEVSUl9QVFIoLUVOT0RFVik7CiAJaWYgKHNyY19uZWVkc19jbGZsdXNoICYmCi0JICAg IGk5MTVfY2FuX21lbWNweV9mcm9tX3djKE5VTEwsIGJhdGNoX3N0YXJ0X29mZnNldCwgMCkpIHsK KwkgICAgaTkxNV9jYW5fbWVtY3B5X2Zyb21fd2MoTlVMTCwgb2Zmc2V0LCAwKSkgewogCQlzcmMg PSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChzcmNfb2JqLCBJOTE1X01BUF9XQyk7CiAJCWlmICgh SVNfRVJSKHNyYykpIHsKIAkJCWk5MTVfbWVtY3B5X2Zyb21fd2MoZHN0LAotCQkJCQkgICAgc3Jj ICsgYmF0Y2hfc3RhcnRfb2Zmc2V0LAotCQkJCQkgICAgQUxJR04oYmF0Y2hfbGVuLCAxNikpOwor CQkJCQkgICAgc3JjICsgb2Zmc2V0LAorCQkJCQkgICAgQUxJR04obGVuZ3RoLCAxNikpOwogCQkJ aTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChzcmNfb2JqKTsKIAkJfQogCX0KIAlpZiAoSVNfRVJS KHNyYykpIHsKIAkJdm9pZCAqcHRyOwotCQlpbnQgb2Zmc2V0LCBuOworCQlpbnQgeCwgbjsKIAot CQlvZmZzZXQgPSBvZmZzZXRfaW5fcGFnZShiYXRjaF9zdGFydF9vZmZzZXQpOwotCi0JCS8qIFdl IGNhbiBhdm9pZCBjbGZsdXNoaW5nIHBhcnRpYWwgY2FjaGVsaW5lcyBiZWZvcmUgdGhlIHdyaXRl CisJCS8qCisJCSAqIFdlIGNhbiBhdm9pZCBjbGZsdXNoaW5nIHBhcnRpYWwgY2FjaGVsaW5lcyBi ZWZvcmUgdGhlIHdyaXRlCiAJCSAqIGlmIHdlIG9ubHkgZXZlcnkgd3JpdGUgZnVsbCBjYWNoZS1s aW5lcy4gU2luY2Ugd2Uga25vdyB0aGF0CiAJCSAqIGJvdGggdGhlIHNvdXJjZSBhbmQgZGVzdGlu YXRpb24gYXJlIGluIG11bHRpcGxlcyBvZgogCQkgKiBQQUdFX1NJWkUsIHdlIGNhbiBzaW1wbHkg cm91bmQgdXAgdG8gdGhlIG5leHQgY2FjaGVsaW5lLgpAQCAtMTE3NiwyMiArMTE3NCwyMyBAQCBz dGF0aWMgdTMyICpjb3B5X2JhdGNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpkc3Rfb2Jq LAogCQkgKiB2YWxpZGF0ZSB1cCB0byB0aGUgZW5kIG9mIHRoZSBiYXRjaC4KIAkJICovCiAJCWlm IChkc3RfbmVlZHNfY2xmbHVzaCAmIENMRkxVU0hfQkVGT1JFKQotCQkJYmF0Y2hfbGVuID0gcm91 bmR1cChiYXRjaF9sZW4sCi0JCQkJCSAgICBib290X2NwdV9kYXRhLng4Nl9jbGZsdXNoX3NpemUp OworCQkJbGVuZ3RoID0gcm91bmRfdXAobGVuZ3RoLAorCQkJCQkgIGJvb3RfY3B1X2RhdGEueDg2 X2NsZmx1c2hfc2l6ZSk7CiAKIAkJcHRyID0gZHN0OwotCQlmb3IgKG4gPSBiYXRjaF9zdGFydF9v ZmZzZXQgPj4gUEFHRV9TSElGVDsgYmF0Y2hfbGVuOyBuKyspIHsKLQkJCWludCBsZW4gPSBtaW5f dChpbnQsIGJhdGNoX2xlbiwgUEFHRV9TSVpFIC0gb2Zmc2V0KTsKKwkJeCA9IG9mZnNldF9pbl9w YWdlKG9mZnNldCk7CisJCWZvciAobiA9IG9mZnNldCA+PiBQQUdFX1NISUZUOyBsZW5ndGg7IG4r KykgeworCQkJaW50IGxlbiA9IG1pbl90KGludCwgbGVuZ3RoLCBQQUdFX1NJWkUgLSB4KTsKIAog CQkJc3JjID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKHNyY19vYmosIG4p KTsKIAkJCWlmIChzcmNfbmVlZHNfY2xmbHVzaCkKLQkJCQlkcm1fY2xmbHVzaF92aXJ0X3Jhbmdl KHNyYyArIG9mZnNldCwgbGVuKTsKLQkJCW1lbWNweShwdHIsIHNyYyArIG9mZnNldCwgbGVuKTsK KwkJCQlkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKHNyYyArIHgsIGxlbik7CisJCQltZW1jcHkocHRy LCBzcmMgKyB4LCBsZW4pOwogCQkJa3VubWFwX2F0b21pYyhzcmMpOwogCiAJCQlwdHIgKz0gbGVu OwotCQkJYmF0Y2hfbGVuIC09IGxlbjsKLQkJCW9mZnNldCA9IDA7CisJCQlsZW5ndGggLT0gbGVu OworCQkJeCA9IDA7CiAJCX0KIAl9CiAKQEAgLTEzMDcsOSArMTMwNiw5IEBAIHN0YXRpYyBib29s IGNoZWNrX2NtZChjb25zdCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiB9CiAKIHN0 YXRpYyBpbnQgY2hlY2tfYmJzdGFydCh1MzIgKmNtZCwgdTMyIG9mZnNldCwgdTMyIGxlbmd0aCwK LQkJCSB1MzIgYmF0Y2hfbGVuLAotCQkJIHU2NCBiYXRjaF9zdGFydCwKLQkJCSB1NjQgc2hhZG93 X2JhdGNoX3N0YXJ0LAorCQkJIHUzMiBiYXRjaF9sZW5ndGgsCisJCQkgdTY0IGJhdGNoX2FkZHIs CisJCQkgdTY0IHNoYWRvd19hZGRyLAogCQkJIGNvbnN0IHVuc2lnbmVkIGxvbmcgKmp1bXBfd2hp dGVsaXN0KQogewogCXU2NCBqdW1wX29mZnNldCwganVtcF90YXJnZXQ7CkBAIC0xMzI4LDEzICsx MzI3LDEzIEBAIHN0YXRpYyBpbnQgY2hlY2tfYmJzdGFydCh1MzIgKmNtZCwgdTMyIG9mZnNldCwg dTMyIGxlbmd0aCwKIAl9CiAKIAlqdW1wX3RhcmdldCA9ICoodTY0KikoY21kKzEpOwotCWp1bXBf b2Zmc2V0ID0ganVtcF90YXJnZXQgLSBiYXRjaF9zdGFydDsKKwlqdW1wX29mZnNldCA9IGp1bXBf dGFyZ2V0IC0gYmF0Y2hfYWRkcjsKIAogCS8qCiAJICogQW55IHVuZGVyZmxvdyBvZiBqdW1wX3Rh cmdldCBpcyBndWFyYW50ZWVkIHRvIGJlIG91dHNpZGUgdGhlIHJhbmdlCiAJICogb2YgYSB1MzIs IHNvID49IHRlc3QgY2F0Y2hlcyBib3RoIHRvbyBsYXJnZSBhbmQgdG9vIHNtYWxsCiAJICovCi0J aWYgKGp1bXBfb2Zmc2V0ID49IGJhdGNoX2xlbikgeworCWlmIChqdW1wX29mZnNldCA+PSBiYXRj aF9sZW5ndGgpIHsKIAkJRFJNX0RFQlVHKCJDTUQ6IEJCX1NUQVJUIHRvIDB4JWxseCBqdW1wcyBv dXQgb2YgQkJcbiIsCiAJCQkgIGp1bXBfdGFyZ2V0KTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0x MzQyLDEyICsxMzQxLDEyIEBAIHN0YXRpYyBpbnQgY2hlY2tfYmJzdGFydCh1MzIgKmNtZCwgdTMy IG9mZnNldCwgdTMyIGxlbmd0aCwKIAogCS8qCiAJICogVGhpcyBjYW5ub3Qgb3ZlcmZsb3cgYSB1 MzIgYmVjYXVzZSB3ZSBhbHJlYWR5IGNoZWNrZWQganVtcF9vZmZzZXQKLQkgKiBpcyB3aXRoaW4g dGhlIEJCLCBhbmQgdGhlIGJhdGNoX2xlbiBpcyBhIHUzMgorCSAqIGlzIHdpdGhpbiB0aGUgQkIs IGFuZCB0aGUgYmF0Y2hfbGVuZ3RoIGlzIGEgdTMyCiAJICovCiAJdGFyZ2V0X2NtZF9vZmZzZXQg PSBsb3dlcl8zMl9iaXRzKGp1bXBfb2Zmc2V0KTsKIAl0YXJnZXRfY21kX2luZGV4ID0gdGFyZ2V0 X2NtZF9vZmZzZXQgLyBzaXplb2YodTMyKTsKIAotCSoodTY0KikoY21kICsgMSkgPSBzaGFkb3df YmF0Y2hfc3RhcnQgKyB0YXJnZXRfY21kX29mZnNldDsKKwkqKHU2NCopKGNtZCArIDEpID0gc2hh ZG93X2FkZHIgKyB0YXJnZXRfY21kX29mZnNldDsKIAogCWlmICh0YXJnZXRfY21kX2luZGV4ID09 IG9mZnNldCkKIAkJcmV0dXJuIDA7CkBAIC0xMzY1LDEyICsxMzY0LDEyIEBAIHN0YXRpYyBpbnQg Y2hlY2tfYmJzdGFydCh1MzIgKmNtZCwgdTMyIG9mZnNldCwgdTMyIGxlbmd0aCwKIH0KIAogc3Rh dGljIHVuc2lnbmVkIGxvbmcgKgotYWxsb2Nfd2hpdGVsaXN0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LCB1MzIgYmF0Y2hfbGVuKQorYWxsb2Nfd2hpdGVsaXN0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LCB1MzIgYmF0Y2hfbGVuZ3RoKQogewogCXVuc2lnbmVkIGxvbmcgKmpt cDsKIAogCS8qCi0JICogV2UgZXhwZWN0IGJhdGNoX2xlbiB0byBiZSBsZXNzIHRoYW4gMjU2S2lC IGZvciBrbm93biB1c2VycywKKwkgKiBXZSBleHBlY3QgYmF0Y2hfbGVuZ3RoIHRvIGJlIGxlc3Mg dGhhbiAyNTZLaUIgZm9yIGtub3duIHVzZXJzLAogCSAqIGkuZS4gd2UgbmVlZCBhdCBtb3N0IGFu IDhLaUIgYml0bWFwIGFsbG9jYXRpb24gd2hpY2ggc2hvdWxkIGJlCiAJICogcmVhc29uYWJseSBj aGVhcCBkdWUgdG8ga21hbGxvYyBjYWNoZXMuCiAJICovCkBAIC0xMzc5LDcgKzEzNzgsNyBAQCBh bGxvY193aGl0ZWxpc3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHUzMiBiYXRjaF9s ZW4pCiAJCXJldHVybiBOVUxMOwogCiAJLyogUHJlZmVyIHRvIHJlcG9ydCB0cmFuc2llbnQgYWxs b2NhdGlvbiBmYWlsdXJlIHJhdGhlciB0aGFuIGhpdCBvb20gKi8KLQlqbXAgPSBiaXRtYXBfemFs bG9jKERJVl9ST1VORF9VUChiYXRjaF9sZW4sIHNpemVvZih1MzIpKSwKKwlqbXAgPSBiaXRtYXBf emFsbG9jKERJVl9ST1VORF9VUChiYXRjaF9sZW5ndGgsIHNpemVvZih1MzIpKSwKIAkJCSAgICBH RlBfS0VSTkVMIHwgX19HRlBfUkVUUllfTUFZRkFJTCB8IF9fR0ZQX05PV0FSTik7CiAJaWYgKCFq bXApCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwpAQCAtMTM5MCwxNCArMTM4OSwxMiBAQCBh bGxvY193aGl0ZWxpc3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHUzMiBiYXRjaF9s ZW4pCiAjZGVmaW5lIExFTkdUSF9CSUFTIDIKIAogLyoqCi0gKiBpOTE1X3BhcnNlX2NtZHMoKSAt IHBhcnNlIGEgc3VibWl0dGVkIGJhdGNoIGJ1ZmZlciBmb3IgcHJpdmlsZWdlIHZpb2xhdGlvbnMK KyAqIGludGVsX2VuZ2luZV9jbWRfcGFyc2VyKCkgLSBwYXJzZSBhIHN1Ym1pdHRlZCBiYXRjaCBi dWZmZXIgZm9yIHByaXZpbGVnZSB2aW9sYXRpb25zCiAgKiBAZW5naW5lOiB0aGUgZW5naW5lIG9u IHdoaWNoIHRoZSBiYXRjaCBpcyB0byBleGVjdXRlCi0gKiBAYmF0Y2hfb2JqOiB0aGUgYmF0Y2gg YnVmZmVyIGluIHF1ZXN0aW9uCi0gKiBAYmF0Y2hfc3RhcnQ6IENhbm9uaWNhbCBiYXNlIGFkZHJl c3Mgb2YgYmF0Y2gKLSAqIEBiYXRjaF9zdGFydF9vZmZzZXQ6IGJ5dGUgb2Zmc2V0IGluIHRoZSBi YXRjaCBhdCB3aGljaCBleGVjdXRpb24gc3RhcnRzCi0gKiBAYmF0Y2hfbGVuOiBsZW5ndGggb2Yg dGhlIGNvbW1hbmRzIGluIGJhdGNoX29iagotICogQHNoYWRvd19iYXRjaF9vYmo6IGNvcHkgb2Yg dGhlIGJhdGNoIGJ1ZmZlciBpbiBxdWVzdGlvbgotICogQHNoYWRvd19iYXRjaF9zdGFydDogQ2Fu b25pY2FsIGJhc2UgYWRkcmVzcyBvZiBzaGFkb3dfYmF0Y2hfb2JqCisgKiBAYmF0Y2g6IHRoZSBi YXRjaCBidWZmZXIgaW4gcXVlc3Rpb24KKyAqIEBiYXRjaF9vZmZzZXQ6IGJ5dGUgb2Zmc2V0IGlu IHRoZSBiYXRjaCBhdCB3aGljaCBleGVjdXRpb24gc3RhcnRzCisgKiBAYmF0Y2hfbGVuZ3RoOiBs ZW5ndGggb2YgdGhlIGNvbW1hbmRzIGluIGJhdGNoX29iagorICogQHNoYWRvdzogdmFsaWRhdGVk IGNvcHkgb2YgdGhlIGJhdGNoIGJ1ZmZlciBpbiBxdWVzdGlvbgogICoKICAqIFBhcnNlcyB0aGUg c3BlY2lmaWVkIGJhdGNoIGJ1ZmZlciBsb29raW5nIGZvciBwcml2aWxlZ2UgdmlvbGF0aW9ucyBh cwogICogZGVzY3JpYmVkIGluIHRoZSBvdmVydmlldy4KQEAgLTE0MDcsMjIgKzE0MDQsMjcgQEAg YWxsb2Nfd2hpdGVsaXN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1MzIgYmF0Y2hf bGVuKQogICovCiAKIGludCBpbnRlbF9lbmdpbmVfY21kX3BhcnNlcihzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsCi0JCQkgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJhdGNo X29iaiwKLQkJCSAgICB1NjQgYmF0Y2hfc3RhcnQsCi0JCQkgICAgdTMyIGJhdGNoX3N0YXJ0X29m ZnNldCwKLQkJCSAgICB1MzIgYmF0Y2hfbGVuLAotCQkJICAgIHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpzaGFkb3dfYmF0Y2hfb2JqLAotCQkJICAgIHU2NCBzaGFkb3dfYmF0Y2hfc3RhcnQp CisJCQkgICAgc3RydWN0IGk5MTVfdm1hICpiYXRjaCwKKwkJCSAgICB1MzIgYmF0Y2hfb2Zmc2V0 LAorCQkJICAgIHUzMiBiYXRjaF9sZW5ndGgsCisJCQkgICAgc3RydWN0IGk5MTVfdm1hICpzaGFk b3cpCiB7CiAJdTMyICpjbWQsICpiYXRjaF9lbmQsIG9mZnNldCA9IDA7CiAJc3RydWN0IGRybV9p OTE1X2NtZF9kZXNjcmlwdG9yIGRlZmF1bHRfZGVzYyA9IG5vb3BfZGVzYzsKIAljb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfY21kX2Rlc2NyaXB0b3IgKmRlc2MgPSAmZGVmYXVsdF9kZXNjOwogCWJvb2wg bmVlZHNfY2xmbHVzaF9hZnRlciA9IGZhbHNlOwogCXVuc2lnbmVkIGxvbmcgKmp1bXBfd2hpdGVs aXN0OworCXU2NCBiYXRjaF9hZGRyLCBzaGFkb3dfYWRkcjsKIAlpbnQgcmV0ID0gMDsKIAotCWNt ZCA9IGNvcHlfYmF0Y2goc2hhZG93X2JhdGNoX29iaiwgYmF0Y2hfb2JqLAotCQkJIGJhdGNoX3N0 YXJ0X29mZnNldCwgYmF0Y2hfbGVuLAorCUdFTV9CVUdfT04oIUlTX0FMSUdORUQoYmF0Y2hfb2Zm c2V0LCBzaXplb2YoKmNtZCkpKTsKKwlHRU1fQlVHX09OKCFJU19BTElHTkVEKGJhdGNoX2xlbmd0 aCwgc2l6ZW9mKCpjbWQpKSk7CisJR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3NfdCh1NjQsIGJh dGNoX29mZnNldCwgYmF0Y2hfbGVuZ3RoLAorCQkJCSAgICAgYmF0Y2gtPnNpemUpKTsKKwlHRU1f QlVHX09OKCFiYXRjaF9sZW5ndGgpOworCisJY21kID0gY29weV9iYXRjaChzaGFkb3ctPm9iaiwg YmF0Y2gtPm9iaiwKKwkJCSBiYXRjaF9vZmZzZXQsIGJhdGNoX2xlbmd0aCwKIAkJCSAmbmVlZHNf Y2xmbHVzaF9hZnRlcik7CiAJaWYgKElTX0VSUihjbWQpKSB7CiAJCURSTV9ERUJVRygiQ01EOiBG YWlsZWQgdG8gY29weSBiYXRjaFxuIik7CkBAIC0xNDMwLDE0ICsxNDMyLDE3IEBAIGludCBpbnRl bF9lbmdpbmVfY21kX3BhcnNlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJfQog CiAJLyogRGVmZXIgZmFpbHVyZSB1bnRpbCBhdHRlbXB0ZWQgdXNlICovCi0JanVtcF93aGl0ZWxp c3QgPSBhbGxvY193aGl0ZWxpc3QoZW5naW5lLT5pOTE1LCBiYXRjaF9sZW4pOworCWp1bXBfd2hp dGVsaXN0ID0gYWxsb2Nfd2hpdGVsaXN0KGVuZ2luZS0+aTkxNSwgYmF0Y2hfbGVuZ3RoKTsKKwor CXNoYWRvd19hZGRyID0gZ2VuOF9jYW5vbmljYWxfYWRkcihzaGFkb3ctPm5vZGUuc3RhcnQpOwor CWJhdGNoX2FkZHIgPSBnZW44X2Nhbm9uaWNhbF9hZGRyKGJhdGNoLT5ub2RlLnN0YXJ0ICsgYmF0 Y2hfb2Zmc2V0KTsKIAogCS8qCiAJICogV2UgdXNlIHRoZSBiYXRjaCBsZW5ndGggYXMgc2l6ZSBi ZWNhdXNlIHRoZSBzaGFkb3cgb2JqZWN0IGlzIGFzCiAJICogbGFyZ2Ugb3IgbGFyZ2VyIGFuZCBj b3B5X2JhdGNoKCkgd2lsbCB3cml0ZSBNSV9OT1BzIHRvIHRoZSBleHRyYQogCSAqIHNwYWNlLiBQ YXJzaW5nIHNob3VsZCBiZSBmYXN0ZXIgaW4gc29tZSBjYXNlcyB0aGlzIHdheS4KIAkgKi8KLQli YXRjaF9lbmQgPSBjbWQgKyAoYmF0Y2hfbGVuIC8gc2l6ZW9mKCpiYXRjaF9lbmQpKTsKKwliYXRj aF9lbmQgPSBjbWQgKyBiYXRjaF9sZW5ndGggLyBzaXplb2YoKmJhdGNoX2VuZCk7CiAJZG8gewog CQl1MzIgbGVuZ3RoOwogCkBAIC0xNDU0LDcgKzE0NTksNyBAQCBpbnQgaW50ZWxfZW5naW5lX2Nt ZF9wYXJzZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQlpZiAoZGVzYy0+Zmxh Z3MgJiBDTURfREVTQ19GSVhFRCkKIAkJCWxlbmd0aCA9IGRlc2MtPmxlbmd0aC5maXhlZDsKIAkJ ZWxzZQotCQkJbGVuZ3RoID0gKCgqY21kICYgZGVzYy0+bGVuZ3RoLm1hc2spICsgTEVOR1RIX0JJ QVMpOworCQkJbGVuZ3RoID0gKCpjbWQgJiBkZXNjLT5sZW5ndGgubWFzaykgKyBMRU5HVEhfQklB UzsKIAogCQlpZiAoKGJhdGNoX2VuZCAtIGNtZCkgPCBsZW5ndGgpIHsKIAkJCURSTV9ERUJVRygi Q01EOiBDb21tYW5kIGxlbmd0aCBleGNlZWRzIGJhdGNoIGxlbmd0aDogMHglMDhYIGxlbmd0aD0l dSBiYXRjaGxlbj0ldGRcbiIsCkBAIC0xNDcxLDkgKzE0NzYsOCBAQCBpbnQgaW50ZWxfZW5naW5l X2NtZF9wYXJzZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQl9CiAKIAkJaWYg KGRlc2MtPmNtZC52YWx1ZSA9PSBNSV9CQVRDSF9CVUZGRVJfU1RBUlQpIHsKLQkJCXJldCA9IGNo ZWNrX2Jic3RhcnQoY21kLCBvZmZzZXQsIGxlbmd0aCwKLQkJCQkJICAgIGJhdGNoX2xlbiwgYmF0 Y2hfc3RhcnQsCi0JCQkJCSAgICBzaGFkb3dfYmF0Y2hfc3RhcnQsCisJCQlyZXQgPSBjaGVja19i YnN0YXJ0KGNtZCwgb2Zmc2V0LCBsZW5ndGgsIGJhdGNoX2xlbmd0aCwKKwkJCQkJICAgIGJhdGNo X2FkZHIsIHNoYWRvd19hZGRyLAogCQkJCQkgICAganVtcF93aGl0ZWxpc3QpOwogCiAJCQlpZiAo cmV0KQpAQCAtMTQ5NCw3ICsxNDk4LDcgQEAgaW50IGludGVsX2VuZ2luZV9jbWRfcGFyc2VyKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAl9IHdoaWxlICgxKTsKIAogCWlmIChuZWVk c19jbGZsdXNoX2FmdGVyKSB7Ci0JCXZvaWQgKnB0ciA9IHBhZ2VfbWFza19iaXRzKHNoYWRvd19i YXRjaF9vYmotPm1tLm1hcHBpbmcpOworCQl2b2lkICpwdHIgPSBwYWdlX21hc2tfYml0cyhzaGFk b3ctPm9iai0+bW0ubWFwcGluZyk7CiAKIAkJZHJtX2NsZmx1c2hfdmlydF9yYW5nZShwdHIsICh2 b2lkICopKGNtZCArIDEpIC0gcHRyKTsKIAl9CkBAIC0xNTAyLDcgKzE1MDYsNyBAQCBpbnQgaW50 ZWxfZW5naW5lX2NtZF9wYXJzZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogZXJy OgogCWlmICghSVNfRVJSX09SX05VTEwoanVtcF93aGl0ZWxpc3QpKQogCQlrZnJlZShqdW1wX3do aXRlbGlzdCk7Ci0JaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChzaGFkb3dfYmF0Y2hfb2JqKTsK KwlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKHNoYWRvdy0+b2JqKTsKIAlyZXR1cm4gcmV0Owog fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBjM2Q4YWYyOGJmYzEuLjk4MDViYzQzNGQy NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xOTQ4LDEyICsxOTQ4LDEwIEBAIGludCBp OTE1X2NtZF9wYXJzZXJfZ2V0X3ZlcnNpb24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KTsKIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfY21kX3BhcnNlcihzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpOwogdm9pZCBpbnRlbF9lbmdpbmVfY2xlYW51cF9jbWRfcGFyc2VyKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiBpbnQgaW50ZWxfZW5naW5lX2NtZF9wYXJz ZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAotCQkJICAgIHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCi0JCQkgICAgdTY0IHVzZXJfYmF0Y2hfc3RhcnQsCi0J CQkgICAgdTMyIGJhdGNoX3N0YXJ0X29mZnNldCwKLQkJCSAgICB1MzIgYmF0Y2hfbGVuLAotCQkJ ICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpzaGFkb3dfYmF0Y2hfb2JqLAotCQkJICAg IHU2NCBzaGFkb3dfYmF0Y2hfc3RhcnQpOworCQkJICAgIHN0cnVjdCBpOTE1X3ZtYSAqYmF0Y2gs CisJCQkgICAgdTMyIGJhdGNoX29mZnNldCwKKwkJCSAgICB1MzIgYmF0Y2hfbGVuZ3RoLAorCQkJ ICAgIHN0cnVjdCBpOTE1X3ZtYSAqc2hhZG93KTsKIAogLyogaW50ZWxfZGV2aWNlX2luZm8uYyAq Lwogc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKgotLSAKMi4yNC4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=