From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 1/3] drm/i915/guc: Add non blocking CTB send function Date: Wed, 20 Nov 2019 15:56:02 -0800 Message-ID: <20191120235604.29047-2-John.C.Harrison@Intel.com> References: <20191120235604.29047-1-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 566696EA7E for ; Wed, 20 Nov 2019 23:56:06 +0000 (UTC) In-Reply-To: <20191120235604.29047-1-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWF0dGhldyBCcm9zdCA8bWF0dGhldy5icm9zdEBpbnRlbC5jb20+CgpBZGQgbm9uIGJs b2NraW5nIENUQiBzZW5kIGZ1Y3Rpb24sIGludGVsX2d1Y19zZW5kX25iLiBJbiBvcmRlciB0bwpz dXBwb3J0IGEgbm9uIGJsb2NraW5nIENUQiBzZW5kIGZ1Y3Rpb24gYSBzcGluIGxvY2sgaXMgbmVl ZGVkIHRvCnByb3RlY3QgdGhlIENUQiBkZXNjcmlwdG9ycyBmaWVsZHMuIEFsc28gdGhlIG5vbiBi bG9ja2luZyBjYWxsIG11c3Qgbm90CnVwZGF0ZSB0aGUgZmVuY2UgdmFsdWUgYXMgdGhpcyB2YWx1 ZSBpcyBvd25lZCBieSB0aGUgYmxvY2tpbmcgY2FsbAooaW50ZWxfZ3VjX3NlbmQpLgoKVGhlIGJs b2NraW5nIENUQiBub3cgbXVzdCBoYXZlIGEgZmxvdyBjb250cm9sIG1lY2hhbmlzbSB0byBlbnN1 cmUgdGhlCmJ1ZmZlciBpc24ndCBvdmVycnVuLiBBIGxhenkgc3BpbiB3YWl0IGlzIHVzZWQgYXMg d2UgYmVsaWV2ZSB0aGUgZmxvdwpjb250cm9sIGNvbmRpdGlvbiBzaG91bGQgYmUgcmFyZSB3aXRo IHByb3Blcmx5IHNpemVkIGJ1ZmZlci4gQSByZXRyeQpjb3VudGVyIGlzIGFsc28gaW1wbGVtZW50 ZWQgd2hpY2ggZmFpbHMgSDJHIENUQnMgb25jZSBhIGxpbWl0IGlzCnJlYWNoZWQgdG8gcHJldmVu dCBkZWFkbG9jay4KClRoZSBmdW5jdGlvbiwgaW50ZWxfZ3VjX3NlbmRfbmIsIGlzIGV4cG9ydGVk IGluIHRoaXMgcGF0Y2ggYnV0IHVudXNlZC4KU2V2ZXJhbCBwYXRjaGVzIGxhdGVyIGluIHRoZSBz ZXJpZXMgbWFrZSB1c2Ugb2YgdGhpcyBmdW5jdGlvbi4KCkNjOiBKb2huIEhhcnJpc29uIDxqb2hu LmMuaGFycmlzb25AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEJyb3N0IDxtYXR0 aGV3LmJyb3N0QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRl bF9ndWMuaCAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19j dC5jIHwgOTcgKysrKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3VjL2ludGVsX2d1Y19jdC5oIHwgMTAgKystCiAzIGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlv bnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3VjL2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3Vj LmgKaW5kZXggZTY0MDAyMDRhMmJkLi43N2M1YWY5MTlhY2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3VjL2ludGVsX2d1Yy5oCkBAIC05NCw2ICs5NCw4IEBAIGludGVsX2d1Y19zZW5kX2FuZF9y ZWNlaXZlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4s CiAJcmV0dXJuIGd1Yy0+c2VuZChndWMsIGFjdGlvbiwgbGVuLCByZXNwb25zZV9idWYsIHJlc3Bv bnNlX2J1Zl9zaXplKTsKIH0KIAoraW50IGludGVsX2d1Y19zZW5kX25iKHN0cnVjdCBpbnRlbF9n dWNfY3QgKmN0LCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbik7CisKIHN0YXRpYyBpbmxpbmUg dm9pZCBpbnRlbF9ndWNfbm90aWZ5KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIHsKIAlndWMtPm5v dGlmeShndWMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxf Z3VjX2N0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuYwppbmRl eCBiNDkxMTU1MTc1MTAuLmU1MGQ5NjhiMTVkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv dWMvaW50ZWxfZ3VjX2N0LmMKQEAgLTMsNiArMyw4IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAxNi0y MDE5IEludGVsIENvcnBvcmF0aW9uCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2NpcmNfYnVmLmg+ CisKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImludGVsX2d1Y19jdC5oIgogCkBA IC0xMiw2ICsxNCw4IEBACiAjZGVmaW5lIENUX0RFQlVHX0RSSVZFUiguLi4pCWRvIHsgfSB3aGls ZSAoMCkKICNlbmRpZgogCisjZGVmaW5lIE1BWF9SRVRSWQkJMHgxMDAwMDAwCisKIHN0cnVjdCBj dF9yZXF1ZXN0IHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CiAJdTMyIGZlbmNlOwpAQCAtNDAs NyArNDQsOCBAQCB2b2lkIGludGVsX2d1Y19jdF9pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWNf Y3QgKmN0KQogCS8qIHdlJ3JlIHVzaW5nIHN0YXRpYyBjaGFubmVsIG93bmVycyAqLwogCWN0LT5o b3N0X2NoYW5uZWwub3duZXIgPSBDVEJfT1dORVJfSE9TVDsKIAotCXNwaW5fbG9ja19pbml0KCZj dC0+bG9jayk7CisJc3Bpbl9sb2NrX2luaXQoJmN0LT5yZXF1ZXN0X2xvY2spOworCXNwaW5fbG9j a19pbml0KCZjdC0+c2VuZF9sb2NrKTsKIAlJTklUX0xJU1RfSEVBRCgmY3QtPnBlbmRpbmdfcmVx dWVzdHMpOwogCUlOSVRfTElTVF9IRUFEKCZjdC0+aW5jb21pbmdfcmVxdWVzdHMpOwogCUlOSVRf V09SSygmY3QtPndvcmtlciwgY3RfaW5jb21pbmdfcmVxdWVzdF93b3JrZXJfZnVuYyk7CkBAIC0y OTEsNyArMjk2LDggQEAgc3RhdGljIHUzMiBjdGNoX2dldF9uZXh0X2ZlbmNlKHN0cnVjdCBpbnRl bF9ndWNfY3RfY2hhbm5lbCAqY3RjaCkKIHN0YXRpYyBpbnQgY3RiX3dyaXRlKHN0cnVjdCBpbnRl bF9ndWNfY3RfYnVmZmVyICpjdGIsCiAJCSAgICAgY29uc3QgdTMyICphY3Rpb24sCiAJCSAgICAg dTMyIGxlbiAvKiBpbiBkd29yZHMgKi8sCi0JCSAgICAgdTMyIGZlbmNlLAorCQkgICAgIHUzMiBm ZW5jZV92YWx1ZSwKKwkJICAgICBib29sIGVuYWJsZV9mZW5jZSwKIAkJICAgICBib29sIHdhbnRf cmVzcG9uc2UpCiB7CiAJc3RydWN0IGd1Y19jdF9idWZmZXJfZGVzYyAqZGVzYyA9IGN0Yi0+ZGVz YzsKQEAgLTMyOCwxOCArMzM0LDE4IEBAIHN0YXRpYyBpbnQgY3RiX3dyaXRlKHN0cnVjdCBpbnRl bF9ndWNfY3RfYnVmZmVyICpjdGIsCiAJICogRFcyKzogYWN0aW9uIGRhdGEKIAkgKi8KIAloZWFk ZXIgPSAobGVuIDw8IEdVQ19DVF9NU0dfTEVOX1NISUZUKSB8Ci0JCSAoR1VDX0NUX01TR19XUklU RV9GRU5DRV9UT19ERVNDKSB8CisJCSAoZW5hYmxlX2ZlbmNlID8gR1VDX0NUX01TR19XUklURV9G RU5DRV9UT19ERVNDIDogMCkgfAogCQkgKHdhbnRfcmVzcG9uc2UgPyBHVUNfQ1RfTVNHX1NFTkRf U1RBVFVTIDogMCkgfAogCQkgKGFjdGlvblswXSA8PCBHVUNfQ1RfTVNHX0FDVElPTl9TSElGVCk7 CiAKIAlDVF9ERUJVR19EUklWRVIoIkNUOiB3cml0aW5nICUqcGggJSpwaCAlKnBoXG4iLAotCQkJ NCwgJmhlYWRlciwgNCwgJmZlbmNlLAorCQkJNCwgJmhlYWRlciwgNCwgJmZlbmNlX3ZhbHVlLAog CQkJNCAqIChsZW4gLSAxKSwgJmFjdGlvblsxXSk7CiAKIAljbWRzW3RhaWxdID0gaGVhZGVyOwog CXRhaWwgPSAodGFpbCArIDEpICUgc2l6ZTsKIAotCWNtZHNbdGFpbF0gPSBmZW5jZTsKKwljbWRz W3RhaWxdID0gZmVuY2VfdmFsdWU7CiAJdGFpbCA9ICh0YWlsICsgMSkgJSBzaXplOwogCiAJZm9y IChpID0gMTsgaSA8IGxlbjsgaSsrKSB7CkBAIC00NDAsNiArNDQ2LDQ3IEBAIHN0YXRpYyBpbnQg d2FpdF9mb3JfY3RfcmVxdWVzdF91cGRhdGUoc3RydWN0IGN0X3JlcXVlc3QgKnJlcSwgdTMyICpz dGF0dXMpCiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGN0Yl9oYXNfcm9v bShzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjLCB1MzIgbGVuKQoreworCXUzMiBoZWFk ID0gUkVBRF9PTkNFKGRlc2MtPmhlYWQpOworCXUzMiBzcGFjZTsKKworCXNwYWNlID0gQ0lSQ19T UEFDRShkZXNjLT50YWlsLCBoZWFkLCBkZXNjLT5zaXplKTsKKworCXJldHVybiBzcGFjZSA+PSBs ZW47Cit9CisKK2ludCBpbnRlbF9ndWNfc2VuZF9uYihzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwK KwkJICAgICAgY29uc3QgdTMyICphY3Rpb24sCisJCSAgICAgIHUzMiBsZW4pCit7CisJc3RydWN0 IGludGVsX2d1Y19jdF9jaGFubmVsICpjdGNoID0gJmN0LT5ob3N0X2NoYW5uZWw7CisJc3RydWN0 IGludGVsX2d1Y19jdF9idWZmZXIgKmN0YiA9ICZjdGNoLT5jdGJzW0NUQl9TRU5EXTsKKwlzdHJ1 Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOworCWludCBlcnI7CisKKwlH RU1fQlVHX09OKCFjdGNoLT5lbmFibGVkKTsKKwlHRU1fQlVHX09OKCFsZW4pOworCUdFTV9CVUdf T04obGVuICYgfkdVQ19DVF9NU0dfTEVOX01BU0spOworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmN0 LT5zZW5kX2xvY2spOworCisJaWYgKHVubGlrZWx5KCFjdGJfaGFzX3Jvb20oZGVzYywgKGxlbiAr IDEpICogNCkpKSB7CisJCWN0LT5yZXRyeSsrOworCQlpZiAoY3QtPnJldHJ5ID49IE1BWF9SRVRS WSkKKwkJCXJldHVybiAtRURFQURMSzsKKwkJZWxzZQorCQkJcmV0dXJuIC1FQlVTWTsKKwl9CisK KwljdC0+cmV0cnkgPSAwOworCWVyciA9IGN0Yl93cml0ZShjdGIsIGFjdGlvbiwgbGVuLCAwLCBm YWxzZSwgZmFsc2UpOworCWlmICh1bmxpa2VseShlcnIpKQorCQlyZXR1cm4gZXJyOworCisJaW50 ZWxfZ3VjX25vdGlmeShjdF90b19ndWMoY3QpKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlu dCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJCSAgICAgc3RydWN0IGludGVs X2d1Y19jdF9jaGFubmVsICpjdGNoLAogCQkgICAgIGNvbnN0IHUzMiAqYWN0aW9uLApAQCAtNDYw LDE3ICs1MDcsMzUgQEAgc3RhdGljIGludCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAq Y3QsCiAJR0VNX0JVR19PTihsZW4gJiB+R1VDX0NUX01TR19MRU5fTUFTSyk7CiAJR0VNX0JVR19P TighcmVzcG9uc2VfYnVmICYmIHJlc3BvbnNlX2J1Zl9zaXplKTsKIAorCS8qCisJICogV2UgdXNl IGEgbGF6eSBzcGluIHdhaXQgbG9vcCBoZXJlIGFzIHdlIGJlbGlldmUgdGhhdCBpZiB0aGUgQ1QK KwkgKiBidWZmZXJzIGFyZSBzaXplZCBjb3JyZWN0bHkgdGhlIGZsb3cgY29udHJvbCBjb25kaXRp b24gc2hvdWxkIGJlCisJICogcmFyZS4KKwkgKi8KK3JldHJ5OgorCXNwaW5fbG9ja19pcnFzYXZl KCZjdC0+c2VuZF9sb2NrLCBmbGFncyk7CisJaWYgKHVubGlrZWx5KCFjdGJfaGFzX3Jvb20oZGVz YywgKGxlbiArIDEpICogNCkpKSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5zZW5k X2xvY2ssIGZsYWdzKTsKKwkJY3QtPnJldHJ5Kys7CisJCWlmIChjdC0+cmV0cnkgPj0gTUFYX1JF VFJZKQorCQkJcmV0dXJuIC1FREVBRExLOworCQljcHVfcmVsYXgoKTsKKwkJZ290byByZXRyeTsK Kwl9CisKKwljdC0+cmV0cnkgPSAwOwogCWZlbmNlID0gY3RjaF9nZXRfbmV4dF9mZW5jZShjdGNo KTsKIAlyZXF1ZXN0LmZlbmNlID0gZmVuY2U7CiAJcmVxdWVzdC5zdGF0dXMgPSAwOwogCXJlcXVl c3QucmVzcG9uc2VfbGVuID0gcmVzcG9uc2VfYnVmX3NpemU7CiAJcmVxdWVzdC5yZXNwb25zZV9i dWYgPSByZXNwb25zZV9idWY7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY3QtPmxvY2ssIGZsYWdz KTsKKwlzcGluX2xvY2soJmN0LT5yZXF1ZXN0X2xvY2spOwogCWxpc3RfYWRkX3RhaWwoJnJlcXVl c3QubGluaywgJmN0LT5wZW5kaW5nX3JlcXVlc3RzKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZjdC0+bG9jaywgZmxhZ3MpOworCXNwaW5fdW5sb2NrKCZjdC0+cmVxdWVzdF9sb2NrKTsKIAot CWVyciA9IGN0Yl93cml0ZShjdGIsIGFjdGlvbiwgbGVuLCBmZW5jZSwgISFyZXNwb25zZV9idWYp OworCWVyciA9IGN0Yl93cml0ZShjdGIsIGFjdGlvbiwgbGVuLCBmZW5jZSwgdHJ1ZSwgISFyZXNw b25zZV9idWYpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5zZW5kX2xvY2ssIGZsYWdz KTsKIAlpZiAodW5saWtlbHkoZXJyKSkKIAkJZ290byB1bmxpbms7CiAKQEAgLTUwMSw5ICs1NjYs OSBAQCBzdGF0aWMgaW50IGN0Y2hfc2VuZChzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwKIAl9CiAK IHVubGluazoKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY3QtPmxvY2ssIGZsYWdzKTsKKwlzcGluX2xv Y2tfaXJxc2F2ZSgmY3QtPnJlcXVlc3RfbG9jaywgZmxhZ3MpOwogCWxpc3RfZGVsKCZyZXF1ZXN0 LmxpbmspOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5sb2NrLCBmbGFncyk7CisJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmY3QtPnJlcXVlc3RfbG9jaywgZmxhZ3MpOwogCiAJcmV0dXJu IGVycjsKIH0KQEAgLTY1Myw3ICs3MTgsNyBAQCBzdGF0aWMgaW50IGN0X2hhbmRsZV9yZXNwb25z ZShzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwgY29uc3QgdTMyICptc2cpCiAKIAlDVF9ERUJVR19E UklWRVIoIkNUOiByZXNwb25zZSBmZW5jZSAldSBzdGF0dXMgJSN4XG4iLCBmZW5jZSwgc3RhdHVz KTsKIAotCXNwaW5fbG9jaygmY3QtPmxvY2spOworCXNwaW5fbG9jaygmY3QtPnJlcXVlc3RfbG9j ayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShyZXEsICZjdC0+cGVuZGluZ19yZXF1ZXN0cywgbGlu aykgewogCQlpZiAodW5saWtlbHkoZmVuY2UgIT0gcmVxLT5mZW5jZSkpIHsKIAkJCUNUX0RFQlVH X0RSSVZFUigiQ1Q6IHJlcXVlc3QgJXUgYXdhaXRzIHJlc3BvbnNlXG4iLApAQCAtNjcyLDcgKzcz Nyw3IEBAIHN0YXRpYyBpbnQgY3RfaGFuZGxlX3Jlc3BvbnNlKHN0cnVjdCBpbnRlbF9ndWNfY3Qg KmN0LCBjb25zdCB1MzIgKm1zZykKIAkJZm91bmQgPSB0cnVlOwogCQlicmVhazsKIAl9Ci0Jc3Bp bl91bmxvY2soJmN0LT5sb2NrKTsKKwlzcGluX3VubG9jaygmY3QtPnJlcXVlc3RfbG9jayk7CiAK IAlpZiAoIWZvdW5kKQogCQlEUk1fRVJST1IoIkNUOiB1bnNvbGljaXRlZCByZXNwb25zZSAlKnBo XG4iLCA0ICogbXNnbGVuLCBtc2cpOwpAQCAtNzEwLDEzICs3NzUsMTMgQEAgc3RhdGljIGJvb2wg Y3RfcHJvY2Vzc19pbmNvbWluZ19yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCkKIAl1 MzIgKnBheWxvYWQ7CiAJYm9vbCBkb25lOwogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmN0LT5sb2Nr LCBmbGFncyk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmN0LT5yZXF1ZXN0X2xvY2ssIGZsYWdzKTsK IAlyZXF1ZXN0ID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZjdC0+aW5jb21pbmdfcmVxdWVz dHMsCiAJCQkJCSAgIHN0cnVjdCBjdF9pbmNvbWluZ19yZXF1ZXN0LCBsaW5rKTsKIAlpZiAocmVx dWVzdCkKIAkJbGlzdF9kZWwoJnJlcXVlc3QtPmxpbmspOwogCWRvbmUgPSAhIWxpc3RfZW1wdHko JmN0LT5pbmNvbWluZ19yZXF1ZXN0cyk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY3QtPmxv Y2ssIGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjdC0+cmVxdWVzdF9sb2NrLCBm bGFncyk7CiAKIAlpZiAoIXJlcXVlc3QpCiAJCXJldHVybiB0cnVlOwpAQCAtNzc3LDkgKzg0Miw5 IEBAIHN0YXRpYyBpbnQgY3RfaGFuZGxlX3JlcXVlc3Qoc3RydWN0IGludGVsX2d1Y19jdCAqY3Qs IGNvbnN0IHUzMiAqbXNnKQogCX0KIAltZW1jcHkocmVxdWVzdC0+bXNnLCBtc2csIDQgKiBtc2ds ZW4pOwogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmN0LT5sb2NrLCBmbGFncyk7CisJc3Bpbl9sb2Nr X2lycXNhdmUoJmN0LT5yZXF1ZXN0X2xvY2ssIGZsYWdzKTsKIAlsaXN0X2FkZF90YWlsKCZyZXF1 ZXN0LT5saW5rLCAmY3QtPmluY29taW5nX3JlcXVlc3RzKTsKLQlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZjdC0+bG9jaywgZmxhZ3MpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5yZXF1 ZXN0X2xvY2ssIGZsYWdzKTsKIAogCXF1ZXVlX3dvcmsoc3lzdGVtX3VuYm91bmRfd3EsICZjdC0+ d29ya2VyKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3VjL2ludGVsX2d1Y19jdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3Vj X2N0LmgKaW5kZXggN2MyNGQ4M2Y1YzI0Li5iYzY3MGE3OTZiZDggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCkBAIC02Miw4ICs2MiwxMSBAQCBzdHJ1Y3QgaW50 ZWxfZ3VjX2N0IHsKIAlzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2NoYW5uZWwgaG9zdF9jaGFubmVsOwog CS8qIG90aGVyIGNoYW5uZWxzIGFyZSB0YmQgKi8KIAotCS8qKiBAbG9jazogcHJvdGVjdHMgcGVu ZGluZyByZXF1ZXN0cyBsaXN0ICovCi0Jc3BpbmxvY2tfdCBsb2NrOworCS8qKiBAcmVxdWVzdF9s b2NrOiBwcm90ZWN0cyBwZW5kaW5nIHJlcXVlc3RzIGxpc3QgKi8KKwlzcGlubG9ja190IHJlcXVl c3RfbG9jazsKKworCS8qKiBAc2VuZF9sb2NrOiBwcm90ZWN0cyBoMmcgY2hhbm5lbCAqLworCXNw aW5sb2NrX3Qgc2VuZF9sb2NrOwogCiAJLyoqIEBwZW5kaW5nX3JlcXVlc3RzOiBsaXN0IG9mIHJl cXVlc3RzIHdhaXRpbmcgZm9yIHJlc3BvbnNlICovCiAJc3RydWN0IGxpc3RfaGVhZCBwZW5kaW5n X3JlcXVlc3RzOwpAQCAtNzMsNiArNzYsOSBAQCBzdHJ1Y3QgaW50ZWxfZ3VjX2N0IHsKIAogCS8q KiBAd29ya2VyOiB3b3JrZXIgZm9yIGhhbmRsaW5nIGluY29taW5nIHJlcXVlc3RzICovCiAJc3Ry dWN0IHdvcmtfc3RydWN0IHdvcmtlcjsKKworCS8qKiBAcmV0cnk6IHRoZSBudW1iZXIgb2YgdGlt ZXMgYSBIMkcgQ1RCIGhhcyBiZWVuIHJldHJpZWQgKi8KKwl1MzIgcmV0cnk7CiB9OwogCiB2b2lk IGludGVsX2d1Y19jdF9pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0KTsKLS0gCjIu MjEuMC41LmdhZWI1ODJhOTgzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZng= 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 6496EC432C3 for ; Wed, 20 Nov 2019 23:56:09 +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 450182070C for ; Wed, 20 Nov 2019 23:56:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 450182070C 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 6ABBC6EA97; Wed, 20 Nov 2019 23:56:07 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 566696EA7E for ; Wed, 20 Nov 2019 23:56:06 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Nov 2019 15:56:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,223,1571727600"; d="scan'208";a="237955284" Received: from relo-linux-5.jf.intel.com ([10.165.21.134]) by fmsmga002.fm.intel.com with ESMTP; 20 Nov 2019 15:56:05 -0800 From: John.C.Harrison@Intel.com To: Intel-GFX@Lists.FreeDesktop.Org Date: Wed, 20 Nov 2019 15:56:02 -0800 Message-Id: <20191120235604.29047-2-John.C.Harrison@Intel.com> X-Mailer: git-send-email 2.21.0.5.gaeb582a983 In-Reply-To: <20191120235604.29047-1-John.C.Harrison@Intel.com> References: <20191120235604.29047-1-John.C.Harrison@Intel.com> MIME-Version: 1.0 Organization: Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ Subject: [Intel-gfx] [PATCH 1/3] drm/i915/guc: Add non blocking CTB send function 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" Message-ID: <20191120235602.seFLRo9w63xDWCRqfIoYS5Bh13HKu1avcYXzKIInjSY@z> RnJvbTogTWF0dGhldyBCcm9zdCA8bWF0dGhldy5icm9zdEBpbnRlbC5jb20+CgpBZGQgbm9uIGJs b2NraW5nIENUQiBzZW5kIGZ1Y3Rpb24sIGludGVsX2d1Y19zZW5kX25iLiBJbiBvcmRlciB0bwpz dXBwb3J0IGEgbm9uIGJsb2NraW5nIENUQiBzZW5kIGZ1Y3Rpb24gYSBzcGluIGxvY2sgaXMgbmVl ZGVkIHRvCnByb3RlY3QgdGhlIENUQiBkZXNjcmlwdG9ycyBmaWVsZHMuIEFsc28gdGhlIG5vbiBi bG9ja2luZyBjYWxsIG11c3Qgbm90CnVwZGF0ZSB0aGUgZmVuY2UgdmFsdWUgYXMgdGhpcyB2YWx1 ZSBpcyBvd25lZCBieSB0aGUgYmxvY2tpbmcgY2FsbAooaW50ZWxfZ3VjX3NlbmQpLgoKVGhlIGJs b2NraW5nIENUQiBub3cgbXVzdCBoYXZlIGEgZmxvdyBjb250cm9sIG1lY2hhbmlzbSB0byBlbnN1 cmUgdGhlCmJ1ZmZlciBpc24ndCBvdmVycnVuLiBBIGxhenkgc3BpbiB3YWl0IGlzIHVzZWQgYXMg d2UgYmVsaWV2ZSB0aGUgZmxvdwpjb250cm9sIGNvbmRpdGlvbiBzaG91bGQgYmUgcmFyZSB3aXRo IHByb3Blcmx5IHNpemVkIGJ1ZmZlci4gQSByZXRyeQpjb3VudGVyIGlzIGFsc28gaW1wbGVtZW50 ZWQgd2hpY2ggZmFpbHMgSDJHIENUQnMgb25jZSBhIGxpbWl0IGlzCnJlYWNoZWQgdG8gcHJldmVu dCBkZWFkbG9jay4KClRoZSBmdW5jdGlvbiwgaW50ZWxfZ3VjX3NlbmRfbmIsIGlzIGV4cG9ydGVk IGluIHRoaXMgcGF0Y2ggYnV0IHVudXNlZC4KU2V2ZXJhbCBwYXRjaGVzIGxhdGVyIGluIHRoZSBz ZXJpZXMgbWFrZSB1c2Ugb2YgdGhpcyBmdW5jdGlvbi4KCkNjOiBKb2huIEhhcnJpc29uIDxqb2hu LmMuaGFycmlzb25AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEJyb3N0IDxtYXR0 aGV3LmJyb3N0QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRl bF9ndWMuaCAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19j dC5jIHwgOTcgKysrKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3VjL2ludGVsX2d1Y19jdC5oIHwgMTAgKystCiAzIGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlv bnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3VjL2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3Vj LmgKaW5kZXggZTY0MDAyMDRhMmJkLi43N2M1YWY5MTlhY2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3VjL2ludGVsX2d1Yy5oCkBAIC05NCw2ICs5NCw4IEBAIGludGVsX2d1Y19zZW5kX2FuZF9y ZWNlaXZlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4s CiAJcmV0dXJuIGd1Yy0+c2VuZChndWMsIGFjdGlvbiwgbGVuLCByZXNwb25zZV9idWYsIHJlc3Bv bnNlX2J1Zl9zaXplKTsKIH0KIAoraW50IGludGVsX2d1Y19zZW5kX25iKHN0cnVjdCBpbnRlbF9n dWNfY3QgKmN0LCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbik7CisKIHN0YXRpYyBpbmxpbmUg dm9pZCBpbnRlbF9ndWNfbm90aWZ5KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIHsKIAlndWMtPm5v dGlmeShndWMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxf Z3VjX2N0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuYwppbmRl eCBiNDkxMTU1MTc1MTAuLmU1MGQ5NjhiMTVkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv dWMvaW50ZWxfZ3VjX2N0LmMKQEAgLTMsNiArMyw4IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAxNi0y MDE5IEludGVsIENvcnBvcmF0aW9uCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2NpcmNfYnVmLmg+ CisKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImludGVsX2d1Y19jdC5oIgogCkBA IC0xMiw2ICsxNCw4IEBACiAjZGVmaW5lIENUX0RFQlVHX0RSSVZFUiguLi4pCWRvIHsgfSB3aGls ZSAoMCkKICNlbmRpZgogCisjZGVmaW5lIE1BWF9SRVRSWQkJMHgxMDAwMDAwCisKIHN0cnVjdCBj dF9yZXF1ZXN0IHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CiAJdTMyIGZlbmNlOwpAQCAtNDAs NyArNDQsOCBAQCB2b2lkIGludGVsX2d1Y19jdF9pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWNf Y3QgKmN0KQogCS8qIHdlJ3JlIHVzaW5nIHN0YXRpYyBjaGFubmVsIG93bmVycyAqLwogCWN0LT5o b3N0X2NoYW5uZWwub3duZXIgPSBDVEJfT1dORVJfSE9TVDsKIAotCXNwaW5fbG9ja19pbml0KCZj dC0+bG9jayk7CisJc3Bpbl9sb2NrX2luaXQoJmN0LT5yZXF1ZXN0X2xvY2spOworCXNwaW5fbG9j a19pbml0KCZjdC0+c2VuZF9sb2NrKTsKIAlJTklUX0xJU1RfSEVBRCgmY3QtPnBlbmRpbmdfcmVx dWVzdHMpOwogCUlOSVRfTElTVF9IRUFEKCZjdC0+aW5jb21pbmdfcmVxdWVzdHMpOwogCUlOSVRf V09SSygmY3QtPndvcmtlciwgY3RfaW5jb21pbmdfcmVxdWVzdF93b3JrZXJfZnVuYyk7CkBAIC0y OTEsNyArMjk2LDggQEAgc3RhdGljIHUzMiBjdGNoX2dldF9uZXh0X2ZlbmNlKHN0cnVjdCBpbnRl bF9ndWNfY3RfY2hhbm5lbCAqY3RjaCkKIHN0YXRpYyBpbnQgY3RiX3dyaXRlKHN0cnVjdCBpbnRl bF9ndWNfY3RfYnVmZmVyICpjdGIsCiAJCSAgICAgY29uc3QgdTMyICphY3Rpb24sCiAJCSAgICAg dTMyIGxlbiAvKiBpbiBkd29yZHMgKi8sCi0JCSAgICAgdTMyIGZlbmNlLAorCQkgICAgIHUzMiBm ZW5jZV92YWx1ZSwKKwkJICAgICBib29sIGVuYWJsZV9mZW5jZSwKIAkJICAgICBib29sIHdhbnRf cmVzcG9uc2UpCiB7CiAJc3RydWN0IGd1Y19jdF9idWZmZXJfZGVzYyAqZGVzYyA9IGN0Yi0+ZGVz YzsKQEAgLTMyOCwxOCArMzM0LDE4IEBAIHN0YXRpYyBpbnQgY3RiX3dyaXRlKHN0cnVjdCBpbnRl bF9ndWNfY3RfYnVmZmVyICpjdGIsCiAJICogRFcyKzogYWN0aW9uIGRhdGEKIAkgKi8KIAloZWFk ZXIgPSAobGVuIDw8IEdVQ19DVF9NU0dfTEVOX1NISUZUKSB8Ci0JCSAoR1VDX0NUX01TR19XUklU RV9GRU5DRV9UT19ERVNDKSB8CisJCSAoZW5hYmxlX2ZlbmNlID8gR1VDX0NUX01TR19XUklURV9G RU5DRV9UT19ERVNDIDogMCkgfAogCQkgKHdhbnRfcmVzcG9uc2UgPyBHVUNfQ1RfTVNHX1NFTkRf U1RBVFVTIDogMCkgfAogCQkgKGFjdGlvblswXSA8PCBHVUNfQ1RfTVNHX0FDVElPTl9TSElGVCk7 CiAKIAlDVF9ERUJVR19EUklWRVIoIkNUOiB3cml0aW5nICUqcGggJSpwaCAlKnBoXG4iLAotCQkJ NCwgJmhlYWRlciwgNCwgJmZlbmNlLAorCQkJNCwgJmhlYWRlciwgNCwgJmZlbmNlX3ZhbHVlLAog CQkJNCAqIChsZW4gLSAxKSwgJmFjdGlvblsxXSk7CiAKIAljbWRzW3RhaWxdID0gaGVhZGVyOwog CXRhaWwgPSAodGFpbCArIDEpICUgc2l6ZTsKIAotCWNtZHNbdGFpbF0gPSBmZW5jZTsKKwljbWRz W3RhaWxdID0gZmVuY2VfdmFsdWU7CiAJdGFpbCA9ICh0YWlsICsgMSkgJSBzaXplOwogCiAJZm9y IChpID0gMTsgaSA8IGxlbjsgaSsrKSB7CkBAIC00NDAsNiArNDQ2LDQ3IEBAIHN0YXRpYyBpbnQg d2FpdF9mb3JfY3RfcmVxdWVzdF91cGRhdGUoc3RydWN0IGN0X3JlcXVlc3QgKnJlcSwgdTMyICpz dGF0dXMpCiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGN0Yl9oYXNfcm9v bShzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjLCB1MzIgbGVuKQoreworCXUzMiBoZWFk ID0gUkVBRF9PTkNFKGRlc2MtPmhlYWQpOworCXUzMiBzcGFjZTsKKworCXNwYWNlID0gQ0lSQ19T UEFDRShkZXNjLT50YWlsLCBoZWFkLCBkZXNjLT5zaXplKTsKKworCXJldHVybiBzcGFjZSA+PSBs ZW47Cit9CisKK2ludCBpbnRlbF9ndWNfc2VuZF9uYihzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwK KwkJICAgICAgY29uc3QgdTMyICphY3Rpb24sCisJCSAgICAgIHUzMiBsZW4pCit7CisJc3RydWN0 IGludGVsX2d1Y19jdF9jaGFubmVsICpjdGNoID0gJmN0LT5ob3N0X2NoYW5uZWw7CisJc3RydWN0 IGludGVsX2d1Y19jdF9idWZmZXIgKmN0YiA9ICZjdGNoLT5jdGJzW0NUQl9TRU5EXTsKKwlzdHJ1 Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOworCWludCBlcnI7CisKKwlH RU1fQlVHX09OKCFjdGNoLT5lbmFibGVkKTsKKwlHRU1fQlVHX09OKCFsZW4pOworCUdFTV9CVUdf T04obGVuICYgfkdVQ19DVF9NU0dfTEVOX01BU0spOworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmN0 LT5zZW5kX2xvY2spOworCisJaWYgKHVubGlrZWx5KCFjdGJfaGFzX3Jvb20oZGVzYywgKGxlbiAr IDEpICogNCkpKSB7CisJCWN0LT5yZXRyeSsrOworCQlpZiAoY3QtPnJldHJ5ID49IE1BWF9SRVRS WSkKKwkJCXJldHVybiAtRURFQURMSzsKKwkJZWxzZQorCQkJcmV0dXJuIC1FQlVTWTsKKwl9CisK KwljdC0+cmV0cnkgPSAwOworCWVyciA9IGN0Yl93cml0ZShjdGIsIGFjdGlvbiwgbGVuLCAwLCBm YWxzZSwgZmFsc2UpOworCWlmICh1bmxpa2VseShlcnIpKQorCQlyZXR1cm4gZXJyOworCisJaW50 ZWxfZ3VjX25vdGlmeShjdF90b19ndWMoY3QpKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlu dCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJCSAgICAgc3RydWN0IGludGVs X2d1Y19jdF9jaGFubmVsICpjdGNoLAogCQkgICAgIGNvbnN0IHUzMiAqYWN0aW9uLApAQCAtNDYw LDE3ICs1MDcsMzUgQEAgc3RhdGljIGludCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAq Y3QsCiAJR0VNX0JVR19PTihsZW4gJiB+R1VDX0NUX01TR19MRU5fTUFTSyk7CiAJR0VNX0JVR19P TighcmVzcG9uc2VfYnVmICYmIHJlc3BvbnNlX2J1Zl9zaXplKTsKIAorCS8qCisJICogV2UgdXNl IGEgbGF6eSBzcGluIHdhaXQgbG9vcCBoZXJlIGFzIHdlIGJlbGlldmUgdGhhdCBpZiB0aGUgQ1QK KwkgKiBidWZmZXJzIGFyZSBzaXplZCBjb3JyZWN0bHkgdGhlIGZsb3cgY29udHJvbCBjb25kaXRp b24gc2hvdWxkIGJlCisJICogcmFyZS4KKwkgKi8KK3JldHJ5OgorCXNwaW5fbG9ja19pcnFzYXZl KCZjdC0+c2VuZF9sb2NrLCBmbGFncyk7CisJaWYgKHVubGlrZWx5KCFjdGJfaGFzX3Jvb20oZGVz YywgKGxlbiArIDEpICogNCkpKSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5zZW5k X2xvY2ssIGZsYWdzKTsKKwkJY3QtPnJldHJ5Kys7CisJCWlmIChjdC0+cmV0cnkgPj0gTUFYX1JF VFJZKQorCQkJcmV0dXJuIC1FREVBRExLOworCQljcHVfcmVsYXgoKTsKKwkJZ290byByZXRyeTsK Kwl9CisKKwljdC0+cmV0cnkgPSAwOwogCWZlbmNlID0gY3RjaF9nZXRfbmV4dF9mZW5jZShjdGNo KTsKIAlyZXF1ZXN0LmZlbmNlID0gZmVuY2U7CiAJcmVxdWVzdC5zdGF0dXMgPSAwOwogCXJlcXVl c3QucmVzcG9uc2VfbGVuID0gcmVzcG9uc2VfYnVmX3NpemU7CiAJcmVxdWVzdC5yZXNwb25zZV9i dWYgPSByZXNwb25zZV9idWY7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY3QtPmxvY2ssIGZsYWdz KTsKKwlzcGluX2xvY2soJmN0LT5yZXF1ZXN0X2xvY2spOwogCWxpc3RfYWRkX3RhaWwoJnJlcXVl c3QubGluaywgJmN0LT5wZW5kaW5nX3JlcXVlc3RzKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZjdC0+bG9jaywgZmxhZ3MpOworCXNwaW5fdW5sb2NrKCZjdC0+cmVxdWVzdF9sb2NrKTsKIAot CWVyciA9IGN0Yl93cml0ZShjdGIsIGFjdGlvbiwgbGVuLCBmZW5jZSwgISFyZXNwb25zZV9idWYp OworCWVyciA9IGN0Yl93cml0ZShjdGIsIGFjdGlvbiwgbGVuLCBmZW5jZSwgdHJ1ZSwgISFyZXNw b25zZV9idWYpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5zZW5kX2xvY2ssIGZsYWdz KTsKIAlpZiAodW5saWtlbHkoZXJyKSkKIAkJZ290byB1bmxpbms7CiAKQEAgLTUwMSw5ICs1NjYs OSBAQCBzdGF0aWMgaW50IGN0Y2hfc2VuZChzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwKIAl9CiAK IHVubGluazoKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY3QtPmxvY2ssIGZsYWdzKTsKKwlzcGluX2xv Y2tfaXJxc2F2ZSgmY3QtPnJlcXVlc3RfbG9jaywgZmxhZ3MpOwogCWxpc3RfZGVsKCZyZXF1ZXN0 LmxpbmspOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5sb2NrLCBmbGFncyk7CisJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmY3QtPnJlcXVlc3RfbG9jaywgZmxhZ3MpOwogCiAJcmV0dXJu IGVycjsKIH0KQEAgLTY1Myw3ICs3MTgsNyBAQCBzdGF0aWMgaW50IGN0X2hhbmRsZV9yZXNwb25z ZShzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCwgY29uc3QgdTMyICptc2cpCiAKIAlDVF9ERUJVR19E UklWRVIoIkNUOiByZXNwb25zZSBmZW5jZSAldSBzdGF0dXMgJSN4XG4iLCBmZW5jZSwgc3RhdHVz KTsKIAotCXNwaW5fbG9jaygmY3QtPmxvY2spOworCXNwaW5fbG9jaygmY3QtPnJlcXVlc3RfbG9j ayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShyZXEsICZjdC0+cGVuZGluZ19yZXF1ZXN0cywgbGlu aykgewogCQlpZiAodW5saWtlbHkoZmVuY2UgIT0gcmVxLT5mZW5jZSkpIHsKIAkJCUNUX0RFQlVH X0RSSVZFUigiQ1Q6IHJlcXVlc3QgJXUgYXdhaXRzIHJlc3BvbnNlXG4iLApAQCAtNjcyLDcgKzcz Nyw3IEBAIHN0YXRpYyBpbnQgY3RfaGFuZGxlX3Jlc3BvbnNlKHN0cnVjdCBpbnRlbF9ndWNfY3Qg KmN0LCBjb25zdCB1MzIgKm1zZykKIAkJZm91bmQgPSB0cnVlOwogCQlicmVhazsKIAl9Ci0Jc3Bp bl91bmxvY2soJmN0LT5sb2NrKTsKKwlzcGluX3VubG9jaygmY3QtPnJlcXVlc3RfbG9jayk7CiAK IAlpZiAoIWZvdW5kKQogCQlEUk1fRVJST1IoIkNUOiB1bnNvbGljaXRlZCByZXNwb25zZSAlKnBo XG4iLCA0ICogbXNnbGVuLCBtc2cpOwpAQCAtNzEwLDEzICs3NzUsMTMgQEAgc3RhdGljIGJvb2wg Y3RfcHJvY2Vzc19pbmNvbWluZ19yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZ3VjX2N0ICpjdCkKIAl1 MzIgKnBheWxvYWQ7CiAJYm9vbCBkb25lOwogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmN0LT5sb2Nr LCBmbGFncyk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmN0LT5yZXF1ZXN0X2xvY2ssIGZsYWdzKTsK IAlyZXF1ZXN0ID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZjdC0+aW5jb21pbmdfcmVxdWVz dHMsCiAJCQkJCSAgIHN0cnVjdCBjdF9pbmNvbWluZ19yZXF1ZXN0LCBsaW5rKTsKIAlpZiAocmVx dWVzdCkKIAkJbGlzdF9kZWwoJnJlcXVlc3QtPmxpbmspOwogCWRvbmUgPSAhIWxpc3RfZW1wdHko JmN0LT5pbmNvbWluZ19yZXF1ZXN0cyk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY3QtPmxv Y2ssIGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjdC0+cmVxdWVzdF9sb2NrLCBm bGFncyk7CiAKIAlpZiAoIXJlcXVlc3QpCiAJCXJldHVybiB0cnVlOwpAQCAtNzc3LDkgKzg0Miw5 IEBAIHN0YXRpYyBpbnQgY3RfaGFuZGxlX3JlcXVlc3Qoc3RydWN0IGludGVsX2d1Y19jdCAqY3Qs IGNvbnN0IHUzMiAqbXNnKQogCX0KIAltZW1jcHkocmVxdWVzdC0+bXNnLCBtc2csIDQgKiBtc2ds ZW4pOwogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmN0LT5sb2NrLCBmbGFncyk7CisJc3Bpbl9sb2Nr X2lycXNhdmUoJmN0LT5yZXF1ZXN0X2xvY2ssIGZsYWdzKTsKIAlsaXN0X2FkZF90YWlsKCZyZXF1 ZXN0LT5saW5rLCAmY3QtPmluY29taW5nX3JlcXVlc3RzKTsKLQlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZjdC0+bG9jaywgZmxhZ3MpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0LT5yZXF1 ZXN0X2xvY2ssIGZsYWdzKTsKIAogCXF1ZXVlX3dvcmsoc3lzdGVtX3VuYm91bmRfd3EsICZjdC0+ d29ya2VyKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3VjL2ludGVsX2d1Y19jdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3Vj X2N0LmgKaW5kZXggN2MyNGQ4M2Y1YzI0Li5iYzY3MGE3OTZiZDggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCkBAIC02Miw4ICs2MiwxMSBAQCBzdHJ1Y3QgaW50 ZWxfZ3VjX2N0IHsKIAlzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2NoYW5uZWwgaG9zdF9jaGFubmVsOwog CS8qIG90aGVyIGNoYW5uZWxzIGFyZSB0YmQgKi8KIAotCS8qKiBAbG9jazogcHJvdGVjdHMgcGVu ZGluZyByZXF1ZXN0cyBsaXN0ICovCi0Jc3BpbmxvY2tfdCBsb2NrOworCS8qKiBAcmVxdWVzdF9s b2NrOiBwcm90ZWN0cyBwZW5kaW5nIHJlcXVlc3RzIGxpc3QgKi8KKwlzcGlubG9ja190IHJlcXVl c3RfbG9jazsKKworCS8qKiBAc2VuZF9sb2NrOiBwcm90ZWN0cyBoMmcgY2hhbm5lbCAqLworCXNw aW5sb2NrX3Qgc2VuZF9sb2NrOwogCiAJLyoqIEBwZW5kaW5nX3JlcXVlc3RzOiBsaXN0IG9mIHJl cXVlc3RzIHdhaXRpbmcgZm9yIHJlc3BvbnNlICovCiAJc3RydWN0IGxpc3RfaGVhZCBwZW5kaW5n X3JlcXVlc3RzOwpAQCAtNzMsNiArNzYsOSBAQCBzdHJ1Y3QgaW50ZWxfZ3VjX2N0IHsKIAogCS8q KiBAd29ya2VyOiB3b3JrZXIgZm9yIGhhbmRsaW5nIGluY29taW5nIHJlcXVlc3RzICovCiAJc3Ry dWN0IHdvcmtfc3RydWN0IHdvcmtlcjsKKworCS8qKiBAcmV0cnk6IHRoZSBudW1iZXIgb2YgdGlt ZXMgYSBIMkcgQ1RCIGhhcyBiZWVuIHJldHJpZWQgKi8KKwl1MzIgcmV0cnk7CiB9OwogCiB2b2lk IGludGVsX2d1Y19jdF9pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0KTsKLS0gCjIu MjEuMC41LmdhZWI1ODJhOTgzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZng=