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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 82FC0C433B4 for ; Thu, 6 May 2021 19:00:18 +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 3025561001 for ; Thu, 6 May 2021 19:00:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3025561001 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com 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 8E9AF6EDFF; Thu, 6 May 2021 18:57:49 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 450C16ED0A; Thu, 6 May 2021 18:57:13 +0000 (UTC) IronPort-SDR: gDE2c1iGvtZhMkuRkN59teQhnJdXFtNagd3vMdki9sHqOXOOIDUizwe9GwDKZcf6T4cxbwFxgn L/gUx5OJv4Rg== X-IronPort-AV: E=McAfee;i="6200,9189,9976"; a="198195444" X-IronPort-AV: E=Sophos;i="5.82,278,1613462400"; d="scan'208";a="198195444" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2021 11:57:11 -0700 IronPort-SDR: mGwEqCVNmFR4kStcr1nFJOwj5GJFT0fdrgUHq1NW1TLWQT6VQWA/twta/bxCzBvx/e44PWUBdB vt36T619XcoQ== X-IronPort-AV: E=Sophos;i="5.82,278,1613462400"; d="scan'208";a="469583469" Received: from dhiatt-server.jf.intel.com ([10.54.81.3]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2021 11:57:10 -0700 From: Matthew Brost To: , Date: Thu, 6 May 2021 12:13:50 -0700 Message-Id: <20210506191451.77768-37-matthew.brost@intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20210506191451.77768-1-matthew.brost@intel.com> References: <20210506191451.77768-1-matthew.brost@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [RFC PATCH 36/97] drm/i915/guc: Add non blocking CTB send function X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jason.ekstrand@intel.com, daniel.vetter@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" QWRkIG5vbiBibG9ja2luZyBDVEIgc2VuZCBmdW5jdGlvbiwgaW50ZWxfZ3VjX3NlbmRfbmIuIElu IG9yZGVyIHRvCnN1cHBvcnQgYSBub24gYmxvY2tpbmcgQ1RCIHNlbmQgZnVuY3Rpb24gYSBzcGlu IGxvY2sgaXMgbmVlZGVkIHRvCnByb3RlY3QgdGhlIENUQiBkZXNjcmlwdG9ycyBmaWVsZHMuIEFs c28gdGhlIG5vbiBibG9ja2luZyBjYWxsIG11c3Qgbm90CnVwZGF0ZSB0aGUgZmVuY2UgdmFsdWUg YXMgdGhpcyB2YWx1ZSBpcyBvd25lZCBieSB0aGUgYmxvY2tpbmcgY2FsbAooaW50ZWxfZ3VjX3Nl bmQpLgoKVGhlIGJsb2NraW5nIENUQiBub3cgbXVzdCBoYXZlIGEgZmxvdyBjb250cm9sIG1lY2hh bmlzbSB0byBlbnN1cmUgdGhlCmJ1ZmZlciBpc24ndCBvdmVycnVuLiBBIGxhenkgc3BpbiB3YWl0 IGlzIHVzZWQgYXMgd2UgYmVsaWV2ZSB0aGUgZmxvdwpjb250cm9sIGNvbmRpdGlvbiBzaG91bGQg YmUgcmFyZSB3aXRoIHByb3Blcmx5IHNpemVkIGJ1ZmZlci4KClRoZSBmdW5jdGlvbiwgaW50ZWxf Z3VjX3NlbmRfbmIsIGlzIGV4cG9ydGVkIGluIHRoaXMgcGF0Y2ggYnV0IHVudXNlZC4KU2V2ZXJh bCBwYXRjaGVzIGxhdGVyIGluIHRoZSBzZXJpZXMgbWFrZSB1c2Ugb2YgdGhpcyBmdW5jdGlvbi4K ClNpZ25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+ ClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQnJvc3QgPG1hdHRoZXcuYnJvc3RAaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oICAgIHwgMTIgKystCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuYyB8IDk2ICsrKysrKysrKysr KysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuaCB8 ICA3ICstCiAzIGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oCmluZGV4IGMyMGYzODM5ZGUx Mi4uNGMwYTM2N2U0MWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9p bnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuaApA QCAtNzUsNyArNzUsMTUgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfZ3VjICpsb2dfdG9f Z3VjKHN0cnVjdCBpbnRlbF9ndWNfbG9nICpsb2cpCiBzdGF0aWMKIGlubGluZSBpbnQgaW50ZWxf Z3VjX3NlbmQoc3RydWN0IGludGVsX2d1YyAqZ3VjLCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxl bikKIHsKLQlyZXR1cm4gaW50ZWxfZ3VjX2N0X3NlbmQoJmd1Yy0+Y3QsIGFjdGlvbiwgbGVuLCBO VUxMLCAwKTsKKwlyZXR1cm4gaW50ZWxfZ3VjX2N0X3NlbmQoJmd1Yy0+Y3QsIGFjdGlvbiwgbGVu LCBOVUxMLCAwLCAwKTsKK30KKworI2RlZmluZSBJTlRFTF9HVUNfU0VORF9OQgkJQklUKDMxKQor c3RhdGljCitpbmxpbmUgaW50IGludGVsX2d1Y19zZW5kX25iKHN0cnVjdCBpbnRlbF9ndWMgKmd1 YywgY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4pCit7CisJcmV0dXJuIGludGVsX2d1Y19jdF9z ZW5kKCZndWMtPmN0LCBhY3Rpb24sIGxlbiwgTlVMTCwgMCwKKwkJCQkgSU5URUxfR1VDX1NFTkRf TkIpOwogfQogCiBzdGF0aWMgaW5saW5lIGludApAQCAtODMsNyArOTEsNyBAQCBpbnRlbF9ndWNf c2VuZF9hbmRfcmVjZWl2ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIGNvbnN0IHUzMiAqYWN0aW9u LCB1MzIgbGVuLAogCQkJICAgdTMyICpyZXNwb25zZV9idWYsIHUzMiByZXNwb25zZV9idWZfc2l6 ZSkKIHsKIAlyZXR1cm4gaW50ZWxfZ3VjX2N0X3NlbmQoJmd1Yy0+Y3QsIGFjdGlvbiwgbGVuLAot CQkJCSByZXNwb25zZV9idWYsIHJlc3BvbnNlX2J1Zl9zaXplKTsKKwkJCQkgcmVzcG9uc2VfYnVm LCByZXNwb25zZV9idWZfc2l6ZSwgMCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9n dWNfdG9faG9zdF9ldmVudF9oYW5kbGVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKaW5kZXggYTc2NjAzNTM3ZmE4Li5hZjcz MTRkNDVhNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1 Y19jdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jCkBA IC0zLDYgKzMsMTEgQEAKICAqIENvcHlyaWdodCDCqSAyMDE2LTIwMTkgSW50ZWwgQ29ycG9yYXRp b24KICAqLwogCisjaW5jbHVkZSA8bGludXgvY2lyY19idWYuaD4KKyNpbmNsdWRlIDxsaW51eC9r dGltZS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWU2NC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVr ZWVwaW5nLmg+CisKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImludGVsX2d1Y19j dC5oIgogI2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCkBAIC0zMDgsNiArMzEzLDcgQEAgaW50IGlu dGVsX2d1Y19jdF9lbmFibGUoc3RydWN0IGludGVsX2d1Y19jdCAqY3QpCiAJaWYgKHVubGlrZWx5 KGVycikpCiAJCWdvdG8gZXJyX2RlcmVnaXN0ZXI7CiAKKwljdC0+cmVxdWVzdHMubGFzdF9mZW5j ZSA9IDE7CiAJY3QtPmVuYWJsZWQgPSB0cnVlOwogCiAJcmV0dXJuIDA7CkBAIC0zNDMsMTAgKzM0 OSwyMiBAQCBzdGF0aWMgdTMyIGN0X2dldF9uZXh0X2ZlbmNlKHN0cnVjdCBpbnRlbF9ndWNfY3Qg KmN0KQogCXJldHVybiArK2N0LT5yZXF1ZXN0cy5sYXN0X2ZlbmNlOwogfQogCitzdGF0aWMgdm9p ZCB3cml0ZV9iYXJyaWVyKHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0KSB7CisJc3RydWN0IGludGVs X2d1YyAqZ3VjID0gY3RfdG9fZ3VjKGN0KTsKKwlzdHJ1Y3QgaW50ZWxfZ3QgKmd0ID0gZ3VjX3Rv X2d0KGd1Yyk7CisKKwlpZiAoaTkxNV9nZW1fb2JqZWN0X2lzX2xtZW0oZ3VjLT5jdC52bWEtPm9i aikpIHsKKwkJR0VNX0JVR19PTihndWMtPnNlbmRfcmVncy5md19kb21haW5zKTsKKwkJaW50ZWxf dW5jb3JlX3dyaXRlX2Z3KGd0LT51bmNvcmUsIEdFTjExX1NPRlRfU0NSQVRDSCgwKSwgMCk7CisJ fSBlbHNlIHsKKwkJd21iKCk7CisJfQorfQorCiBzdGF0aWMgaW50IGN0X3dyaXRlKHN0cnVjdCBp bnRlbF9ndWNfY3QgKmN0LAogCQkgICAgY29uc3QgdTMyICphY3Rpb24sCiAJCSAgICB1MzIgbGVu IC8qIGluIGR3b3JkcyAqLywKLQkJICAgIHUzMiBmZW5jZSkKKwkJICAgIHUzMiBmZW5jZSwgdTMy IGZsYWdzKQogewogCXN0cnVjdCBpbnRlbF9ndWNfY3RfYnVmZmVyICpjdGIgPSAmY3QtPmN0YnMu c2VuZDsKIAlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwpAQCAt MzkzLDkgKzQxMSwxMyBAQCBzdGF0aWMgaW50IGN0X3dyaXRlKHN0cnVjdCBpbnRlbF9ndWNfY3Qg KmN0LAogCQkgRklFTERfUFJFUChHVUNfQ1RCX01TR18wX05VTV9EV09SRFMsIGxlbikgfAogCQkg RklFTERfUFJFUChHVUNfQ1RCX01TR18wX0ZFTkNFLCBmZW5jZSk7CiAKLQloeGcgPSBGSUVMRF9Q UkVQKEdVQ19IWEdfTVNHXzBfVFlQRSwgR1VDX0hYR19UWVBFX1JFUVVFU1QpIHwKLQkgICAgICBG SUVMRF9QUkVQKEdVQ19IWEdfUkVRVUVTVF9NU0dfMF9BQ1RJT04gfAotCQkJIEdVQ19IWEdfUkVR VUVTVF9NU0dfMF9EQVRBMCwgYWN0aW9uWzBdKTsKKwloeGcgPSAoZmxhZ3MgJiBJTlRFTF9HVUNf U0VORF9OQikgPworCQkoRklFTERfUFJFUChHVUNfSFhHX01TR18wX1RZUEUsIEdVQ19IWEdfVFlQ RV9FVkVOVCkgfAorCQkgRklFTERfUFJFUChHVUNfSFhHX0VWRU5UX01TR18wX0FDVElPTiB8CisJ CQkgICAgR1VDX0hYR19FVkVOVF9NU0dfMF9EQVRBMCwgYWN0aW9uWzBdKSkgOgorCQkoRklFTERf UFJFUChHVUNfSFhHX01TR18wX1RZUEUsIEdVQ19IWEdfVFlQRV9SRVFVRVNUKSB8CisJCSBGSUVM RF9QUkVQKEdVQ19IWEdfUkVRVUVTVF9NU0dfMF9BQ1RJT04gfAorCQkJICAgIEdVQ19IWEdfUkVR VUVTVF9NU0dfMF9EQVRBMCwgYWN0aW9uWzBdKSk7CiAKIAlDVF9ERUJVRyhjdCwgIndyaXRpbmcg KHRhaWwgJXUpICUqcGggJSpwaCAlKnBoXG4iLAogCQkgdGFpbCwgNCwgJmhlYWRlciwgNCwgJmh4 ZywgNCAqIChsZW4gLSAxKSwgJmFjdGlvblsxXSk7CkBAIC00MTIsNiArNDM0LDEyIEBAIHN0YXRp YyBpbnQgY3Rfd3JpdGUoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJfQogCUdFTV9CVUdfT04o dGFpbCA+IHNpemUpOwogCisJLyoKKwkgKiBtYWtlIHN1cmUgSDJHIGJ1ZmZlciB1cGRhdGUgYW5k IExSQyB0YWlsIHVwZGF0ZSAoaWYgdGhpcyB0cmlnZ2VyaW5nIGEKKwkgKiBzdWJtaXNzaW9uKSBh cmUgdmlzYWJsZSBiZWZvcmUgdXBkYXRpbmcgdGhlIGRlc2NyaXB0b3IgdGFpbAorCSAqLworCXdy aXRlX2JhcnJpZXIoY3QpOworCiAJLyogbm93IHVwZGF0ZSBkZXNjcmlwdG9yICovCiAJV1JJVEVf T05DRShkZXNjLT50YWlsLCB0YWlsKTsKIApAQCAtNDY2LDYgKzQ5NCw0NiBAQCBzdGF0aWMgaW50 IHdhaXRfZm9yX2N0X3JlcXVlc3RfdXBkYXRlKHN0cnVjdCBjdF9yZXF1ZXN0ICpyZXEsIHUzMiAq c3RhdHVzKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBjdGJfaGFzX3Jv b20oc3RydWN0IGludGVsX2d1Y19jdF9idWZmZXIgKmN0YiwgdTMyIGxlbl9kdykKK3sKKwlzdHJ1 Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOworCXUzMiBoZWFkID0gUkVB RF9PTkNFKGRlc2MtPmhlYWQpOworCXUzMiBzcGFjZTsKKworCXNwYWNlID0gQ0lSQ19TUEFDRShk ZXNjLT50YWlsLCBoZWFkLCBjdGItPnNpemUpOworCisJcmV0dXJuIHNwYWNlID49IGxlbl9kdzsK K30KKworc3RhdGljIGludCBjdF9zZW5kX25iKHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0LAorCQkg ICAgICBjb25zdCB1MzIgKmFjdGlvbiwKKwkJICAgICAgdTMyIGxlbiwKKwkJICAgICAgdTMyIGZs YWdzKQoreworCXN0cnVjdCBpbnRlbF9ndWNfY3RfYnVmZmVyICpjdGIgPSAmY3QtPmN0YnMuc2Vu ZDsKKwl1bnNpZ25lZCBsb25nIHNwaW5fZmxhZ3M7CisJdTMyIGZlbmNlOworCWludCByZXQ7CisK KwlzcGluX2xvY2tfaXJxc2F2ZSgmY3RiLT5sb2NrLCBzcGluX2ZsYWdzKTsKKworCXJldCA9IGN0 Yl9oYXNfcm9vbShjdGIsIGxlbiArIDEpOworCWlmICh1bmxpa2VseShyZXQpKQorCQlnb3RvIG91 dDsKKworCWZlbmNlID0gY3RfZ2V0X25leHRfZmVuY2UoY3QpOworCXJldCA9IGN0X3dyaXRlKGN0 LCBhY3Rpb24sIGxlbiwgZmVuY2UsIGZsYWdzKTsKKwlpZiAodW5saWtlbHkocmV0KSkKKwkJZ290 byBvdXQ7CisKKwlpbnRlbF9ndWNfbm90aWZ5KGN0X3RvX2d1YyhjdCkpOworCitvdXQ6CisJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmY3RiLT5sb2NrLCBzcGluX2ZsYWdzKTsKKworCXJldHVybiBy ZXQ7Cit9CisKIHN0YXRpYyBpbnQgY3Rfc2VuZChzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwKIAkJ ICAgY29uc3QgdTMyICphY3Rpb24sCiAJCSAgIHUzMiBsZW4sCkBAIC00NzMsNiArNTQxLDcgQEAg c3RhdGljIGludCBjdF9zZW5kKHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0LAogCQkgICB1MzIgcmVz cG9uc2VfYnVmX3NpemUsCiAJCSAgIHUzMiAqc3RhdHVzKQogeworCXN0cnVjdCBpbnRlbF9ndWNf Y3RfYnVmZmVyICpjdGIgPSAmY3QtPmN0YnMuc2VuZDsKIAlzdHJ1Y3QgY3RfcmVxdWVzdCByZXF1 ZXN0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdTMyIGZlbmNlOwpAQCAtNDgyLDggKzU1MSwy MCBAQCBzdGF0aWMgaW50IGN0X3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJR0VNX0JV R19PTighbGVuKTsKIAlHRU1fQlVHX09OKGxlbiAmIH5HVUNfQ1RfTVNHX0xFTl9NQVNLKTsKIAlH RU1fQlVHX09OKCFyZXNwb25zZV9idWYgJiYgcmVzcG9uc2VfYnVmX3NpemUpOworCW1pZ2h0X3Ns ZWVwKCk7CiAKKwkvKgorCSAqIFdlIHVzZSBhIGxhenkgc3BpbiB3YWl0IGxvb3AgaGVyZSBhcyB3 ZSBiZWxpZXZlIHRoYXQgaWYgdGhlIENUCisJICogYnVmZmVycyBhcmUgc2l6ZWQgY29ycmVjdGx5 IHRoZSBmbG93IGNvbnRyb2wgY29uZGl0aW9uIHNob3VsZCBiZQorCSAqIHJhcmUuCisJICovCity ZXRyeToKIAlzcGluX2xvY2tfaXJxc2F2ZSgmY3QtPmN0YnMuc2VuZC5sb2NrLCBmbGFncyk7CisJ aWYgKHVubGlrZWx5KCFjdGJfaGFzX3Jvb20oY3RiLCBsZW4gKyAxKSkpIHsKKwkJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmY3QtPmN0YnMuc2VuZC5sb2NrLCBmbGFncyk7CisJCWNvbmRfcmVzY2hl ZCgpOworCQlnb3RvIHJldHJ5OworCX0KIAogCWZlbmNlID0gY3RfZ2V0X25leHRfZmVuY2UoY3Qp OwogCXJlcXVlc3QuZmVuY2UgPSBmZW5jZTsKQEAgLTQ5NSw3ICs1NzYsNyBAQCBzdGF0aWMgaW50 IGN0X3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJbGlzdF9hZGRfdGFpbCgmcmVxdWVz dC5saW5rLCAmY3QtPnJlcXVlc3RzLnBlbmRpbmcpOwogCXNwaW5fdW5sb2NrKCZjdC0+cmVxdWVz dHMubG9jayk7CiAKLQllcnIgPSBjdF93cml0ZShjdCwgYWN0aW9uLCBsZW4sIGZlbmNlKTsKKwll cnIgPSBjdF93cml0ZShjdCwgYWN0aW9uLCBsZW4sIGZlbmNlLCAwKTsKIAogCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJmN0LT5jdGJzLnNlbmQubG9jaywgZmxhZ3MpOwogCkBAIC01MzcsNyArNjE4 LDcgQEAgc3RhdGljIGludCBjdF9zZW5kKHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0LAogICogQ29t bWFuZCBUcmFuc3BvcnQgKENUKSBidWZmZXIgYmFzZWQgR3VDIHNlbmQgZnVuY3Rpb24uCiAgKi8K IGludCBpbnRlbF9ndWNfY3Rfc2VuZChzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwgY29uc3QgdTMy ICphY3Rpb24sIHUzMiBsZW4sCi0JCSAgICAgIHUzMiAqcmVzcG9uc2VfYnVmLCB1MzIgcmVzcG9u c2VfYnVmX3NpemUpCisJCSAgICAgIHUzMiAqcmVzcG9uc2VfYnVmLCB1MzIgcmVzcG9uc2VfYnVm X3NpemUsIHUzMiBmbGFncykKIHsKIAl1MzIgc3RhdHVzID0gfjA7IC8qIHVuZGVmaW5lZCAqLwog CWludCByZXQ7CkBAIC01NDcsNiArNjI4LDkgQEAgaW50IGludGVsX2d1Y19jdF9zZW5kKHN0cnVj dCBpbnRlbF9ndWNfY3QgKmN0LCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbiwKIAkJcmV0dXJu IC1FTk9ERVY7CiAJfQogCisJaWYgKGZsYWdzICYgSU5URUxfR1VDX1NFTkRfTkIpCisJCXJldHVy biBjdF9zZW5kX25iKGN0LCBhY3Rpb24sIGxlbiwgZmxhZ3MpOworCiAJcmV0ID0gY3Rfc2VuZChj dCwgYWN0aW9uLCBsZW4sIHJlc3BvbnNlX2J1ZiwgcmVzcG9uc2VfYnVmX3NpemUsICZzdGF0dXMp OwogCWlmICh1bmxpa2VseShyZXQgPCAwKSkgewogCQlDVF9FUlJPUihjdCwgIlNlbmRpbmcgYWN0 aW9uICUjeCBmYWlsZWQgKGVycj0lZCBzdGF0dXM9JSNYKVxuIiwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmgKaW5kZXggMWFlMmRkZTZkYjkzLi41NWVmN2M1MjQ3MmYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCkBAIC05LDYgKzks NyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5s b2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisjaW5jbHVkZSA8bGludXgva3Rp bWUuaD4KIAogI2luY2x1ZGUgImludGVsX2d1Y19md2lmLmgiCiAKQEAgLTQyLDcgKzQzLDYgQEAg c3RydWN0IGludGVsX2d1Y19jdF9idWZmZXIgewogCWJvb2wgYnJva2VuOwogfTsKIAotCiAvKiog VG9wLWxldmVsIHN0cnVjdHVyZSBmb3IgQ29tbWFuZCBUcmFuc3BvcnQgcmVsYXRlZCBkYXRhCiAg KgogICogSW5jbHVkZXMgYSBwYWlyIG9mIENUIGJ1ZmZlcnMgZm9yIGJpLWRpcmVjdGlvbmFsIGNv bW11bmljYXRpb24gYW5kIHRyYWNraW5nCkBAIC02OSw2ICs2OSw5IEBAIHN0cnVjdCBpbnRlbF9n dWNfY3QgewogCQlzdHJ1Y3QgbGlzdF9oZWFkIGluY29taW5nOyAvKiBpbmNvbWluZyByZXF1ZXN0 cyAqLwogCQlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29ya2VyOyAvKiBoYW5kbGVyIGZvciBpbmNvbWlu ZyByZXF1ZXN0cyAqLwogCX0gcmVxdWVzdHM7CisKKwkvKiogQHN0YWxsX3RpbWU6IHRpbWUgb2Yg Zmlyc3QgdGltZSBhIENUQiBzdWJtaXNzaW9uIGlzIHN0YWxsZWQgKi8KKwlrdGltZV90IHN0YWxs X3RpbWU7CiB9OwogCiB2b2lkIGludGVsX2d1Y19jdF9pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9n dWNfY3QgKmN0KTsKQEAgLTg4LDcgKzkxLDcgQEAgc3RhdGljIGlubGluZSBib29sIGludGVsX2d1 Y19jdF9lbmFibGVkKHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0KQogfQogCiBpbnQgaW50ZWxfZ3Vj X2N0X3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsIGNvbnN0IHUzMiAqYWN0aW9uLCB1MzIg bGVuLAotCQkgICAgICB1MzIgKnJlc3BvbnNlX2J1ZiwgdTMyIHJlc3BvbnNlX2J1Zl9zaXplKTsK KwkJICAgICAgdTMyICpyZXNwb25zZV9idWYsIHUzMiByZXNwb25zZV9idWZfc2l6ZSwgdTMyIGZs YWdzKTsKIHZvaWQgaW50ZWxfZ3VjX2N0X2V2ZW50X2hhbmRsZXIoc3RydWN0IGludGVsX2d1Y19j dCAqY3QpOwogCiAjZW5kaWYgLyogX0lOVEVMX0dVQ19DVF9IXyAqLwotLSAKMi4yOC4wCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK