From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 2/3] drm/i915/guc: Optimized CTB writes and reads Date: Wed, 20 Nov 2019 15:56:03 -0800 Message-ID: <20191120235604.29047-3-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 81D556EA56 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+CgpDVEIgd3JpdGVz IGFyZSBub3cgaW4gdGhlIHBhdGggb2YgY29tbWFuZCBzdWJtaXNzaW9uIGFuZCBzaG91bGQgYmUK b3B0aW1pemVkIGZvciBwZXJmb3JtYW5jZS4gUmF0aGVyIHRoYW4gcmVhZGluZyBDVEIgZGVzY3Jp cHRvciB2YWx1ZXMKKGUuZy4gaGVhZCwgdGFpbCwgc2l6ZSkgd2hpY2ggY291bGQgcmVzdWx0IGlu IGFjY2Vzc2VzIGFjcm9zcyB0aGUgUENJZQpidXMsIHN0b3JlIHNoYWRvdyBsb2NhbCBjb3BpZXMg YW5kIG9ubHkgcmVhZC93cml0ZSB0aGUgZGVzY3JpcHRvcgp2YWx1ZXMgd2hlbiBhYnNvbHV0ZWx5 IG5lY2Vzc2FyeS4KCkNjOiBKb2huIEhhcnJpc29uIDxqb2huLmMuaGFycmlzb25AaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEJyb3N0IDxtYXR0aGV3LmJyb3N0QGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuYyB8IDc5ICsrKysr KysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNf Y3QuaCB8ICA4ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA0MiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9n dWNfY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jCmluZGV4 IGU1MGQ5NjhiMTVkNS4uNGQ4YTRjNmFmZDcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9ndWNfY3QuYwpAQCAtNjgsMjMgKzY4LDI5IEBAIHN0YXRpYyBpbmxpbmUgY29uc3Qg Y2hhciAqZ3VjX2N0X2J1ZmZlcl90eXBlX3RvX3N0cih1MzIgdHlwZSkKIAl9CiB9CiAKLXN0YXRp YyB2b2lkIGd1Y19jdF9idWZmZXJfZGVzY19pbml0KHN0cnVjdCBndWNfY3RfYnVmZmVyX2Rlc2Mg KmRlc2MsCitzdGF0aWMgdm9pZCBndWNfY3RfYnVmZmVyX2Rlc2NfaW5pdChzdHJ1Y3QgaW50ZWxf Z3VjX2N0X2J1ZmZlciAqY3RiLAogCQkJCSAgICB1MzIgY21kc19hZGRyLCB1MzIgc2l6ZSwgdTMy IG93bmVyKQogeworCXN0cnVjdCBndWNfY3RfYnVmZmVyX2Rlc2MgKmRlc2MgPSBjdGItPmRlc2M7 CiAJQ1RfREVCVUdfRFJJVkVSKCJDVDogZGVzYyAlcCBpbml0IGFkZHI9JSN4IHNpemU9JXUgb3du ZXI9JXVcbiIsCiAJCQlkZXNjLCBjbWRzX2FkZHIsIHNpemUsIG93bmVyKTsKIAltZW1zZXQoZGVz YywgMCwgc2l6ZW9mKCpkZXNjKSk7CiAJZGVzYy0+YWRkciA9IGNtZHNfYWRkcjsKLQlkZXNjLT5z aXplID0gc2l6ZTsKKwljdGItPnNpemUgPSBkZXNjLT5zaXplID0gc2l6ZTsKIAlkZXNjLT5vd25l ciA9IG93bmVyOworCWN0Yi0+dGFpbCA9IDA7CisJY3RiLT5oZWFkID0gMDsKKwljdGItPnNwYWNl ID0gQ0lSQ19TUEFDRShjdGItPnRhaWwsIGN0Yi0+aGVhZCwgY3RiLT5zaXplKTsKIH0KIAotc3Rh dGljIHZvaWQgZ3VjX2N0X2J1ZmZlcl9kZXNjX3Jlc2V0KHN0cnVjdCBndWNfY3RfYnVmZmVyX2Rl c2MgKmRlc2MpCitzdGF0aWMgdm9pZCBndWNfY3RfYnVmZmVyX2Rlc2NfcmVzZXQoc3RydWN0IGlu dGVsX2d1Y19jdF9idWZmZXIgKmN0YikKIHsKKwlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpk ZXNjID0gY3RiLT5kZXNjOwogCUNUX0RFQlVHX0RSSVZFUigiQ1Q6IGRlc2MgJXAgcmVzZXQgaGVh ZD0ldSB0YWlsPSV1XG4iLAogCQkJZGVzYywgZGVzYy0+aGVhZCwgZGVzYy0+dGFpbCk7Ci0JZGVz Yy0+aGVhZCA9IDA7Ci0JZGVzYy0+dGFpbCA9IDA7CisJY3RiLT5oZWFkID0gZGVzYy0+aGVhZCA9 IDA7CisJY3RiLT50YWlsID0gZGVzYy0+dGFpbCA9IDA7CisJY3RiLT5zcGFjZSA9IENJUkNfU1BB Q0UoY3RiLT50YWlsLCBjdGItPmhlYWQsIGN0Yi0+c2l6ZSk7CiAJZGVzYy0+aXNfaW5fZXJyb3Ig PSAwOwogfQogCkBAIC0yMjAsNyArMjI2LDcgQEAgc3RhdGljIGludCBjdGNoX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMsCiAJICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY3Rj aC0+Y3Ricyk7IGkrKykgewogCQlHRU1fQlVHX09OKChpICE9IENUQl9TRU5EKSAmJiAoaSAhPSBD VEJfUkVDVikpOwotCQlndWNfY3RfYnVmZmVyX2Rlc2NfaW5pdChjdGNoLT5jdGJzW2ldLmRlc2Ms CisJCWd1Y19jdF9idWZmZXJfZGVzY19pbml0KCZjdGNoLT5jdGJzW2ldLAogCQkJCQliYXNlICsg UEFHRV9TSVpFLzQgKiBpICsgUEFHRV9TSVpFLzIsCiAJCQkJCVBBR0VfU0laRS80LAogCQkJCQlj dGNoLT5vd25lcik7CkBAIC0zMDEsMzIgKzMwNywxNiBAQCBzdGF0aWMgaW50IGN0Yl93cml0ZShz dHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAqY3RiLAogCQkgICAgIGJvb2wgd2FudF9yZXNwb25z ZSkKIHsKIAlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwotCXUz MiBoZWFkID0gZGVzYy0+aGVhZCAvIDQ7CS8qIGluIGR3b3JkcyAqLwotCXUzMiB0YWlsID0gZGVz Yy0+dGFpbCAvIDQ7CS8qIGluIGR3b3JkcyAqLwotCXUzMiBzaXplID0gZGVzYy0+c2l6ZSAvIDQ7 CS8qIGluIGR3b3JkcyAqLwotCXUzMiB1c2VkOwkJCS8qIGluIGR3b3JkcyAqLworCXUzMiB0YWls ID0gY3RiLT50YWlsIC8gNDsJLyogaW4gZHdvcmRzICovCisJdTMyIHNpemUgPSBjdGItPnNpemUg LyA0OwkvKiBpbiBkd29yZHMgKi8KIAl1MzIgaGVhZGVyOwogCXUzMiAqY21kcyA9IGN0Yi0+Y21k czsKIAl1bnNpZ25lZCBpbnQgaTsKIAotCUdFTV9CVUdfT04oZGVzYy0+c2l6ZSAlIDQpOwotCUdF TV9CVUdfT04oZGVzYy0+aGVhZCAlIDQpOwotCUdFTV9CVUdfT04oZGVzYy0+dGFpbCAlIDQpOwor CUdFTV9CVUdfT04oY3RiLT5zaXplICUgNCk7CisJR0VNX0JVR19PTihjdGItPnRhaWwgJSA0KTsK IAlHRU1fQlVHX09OKHRhaWwgPj0gc2l6ZSk7CiAKLQkvKgotCSAqIHRhaWwgPT0gaGVhZCBjb25k aXRpb24gaW5kaWNhdGVzIGVtcHR5LiBHdUMgRlcgZG9lcyBub3Qgc3VwcG9ydAotCSAqIHVzaW5n IHVwIHRoZSBlbnRpcmUgYnVmZmVyIHRvIGdldCB0YWlsID09IGhlYWQgbWVhbmluZyBmdWxsLgot CSAqLwotCWlmICh0YWlsIDwgaGVhZCkKLQkJdXNlZCA9IChzaXplIC0gaGVhZCkgKyB0YWlsOwot CWVsc2UKLQkJdXNlZCA9IHRhaWwgLSBoZWFkOwotCi0JLyogbWFrZSBzdXJlIHRoZXJlIGlzIGEg c3BhY2UgaW5jbHVkaW5nIGV4dHJhIGR3IGZvciB0aGUgZmVuY2UgKi8KLQlpZiAodW5saWtlbHko dXNlZCArIGxlbiArIDEgPj0gc2l6ZSkpCi0JCXJldHVybiAtRU5PU1BDOwotCiAJLyoKIAkgKiBX cml0ZSB0aGUgbWVzc2FnZS4gVGhlIGZvcm1hdCBpcyB0aGUgZm9sbG93aW5nOgogCSAqIERXMDog aGVhZGVyIChpbmNsdWRpbmcgYWN0aW9uIGNvZGUpCkBAIC0zNTQsMTUgKzM0NCwxNiBAQCBzdGF0 aWMgaW50IGN0Yl93cml0ZShzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAqY3RiLAogCX0KIAog CS8qIG5vdyB1cGRhdGUgZGVzYyB0YWlsIChiYWNrIGluIGJ5dGVzKSAqLwotCWRlc2MtPnRhaWwg PSB0YWlsICogNDsKLQlHRU1fQlVHX09OKGRlc2MtPnRhaWwgPiBkZXNjLT5zaXplKTsKKwljdGIt PnRhaWwgPSBkZXNjLT50YWlsID0gdGFpbCAqIDQ7CisJY3RiLT5zcGFjZSAtPSAobGVuICsgMSkg KiA0OworCUdFTV9CVUdfT04oY3RiLT50YWlsID4gY3RiLT5zaXplKTsKIAogCXJldHVybiAwOwog fQogCiAvKioKICAqIHdhaXRfZm9yX2N0Yl9kZXNjX3VwZGF0ZSAtIFdhaXQgZm9yIHRoZSBDVCBi dWZmZXIgZGVzY3JpcHRvciB1cGRhdGUuCi0gKiBAZGVzYzoJYnVmZmVyIGRlc2NyaXB0b3IKKyAq IEBjdGI6CWN0YiBidWZmZXIKICAqIEBmZW5jZToJcmVzcG9uc2UgZmVuY2UKICAqIEBzdGF0dXM6 CXBsYWNlaG9sZGVyIGZvciBzdGF0dXMKICAqCkBAIC0zNzYsMTEgKzM2NywxMiBAQCBzdGF0aWMg aW50IGN0Yl93cml0ZShzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAqY3RiLAogICogKgktRVRJ TUVET1VUIG5vIHJlc3BvbnNlIHdpdGhpbiBoYXJkY29kZWQgdGltZW91dAogICogKgktRVBST1RP IG5vIHJlc3BvbnNlLCBDVCBidWZmZXIgaXMgaW4gZXJyb3IKICAqLwotc3RhdGljIGludCB3YWl0 X2Zvcl9jdGJfZGVzY191cGRhdGUoc3RydWN0IGd1Y19jdF9idWZmZXJfZGVzYyAqZGVzYywKK3N0 YXRpYyBpbnQgd2FpdF9mb3JfY3RiX2Rlc2NfdXBkYXRlKHN0cnVjdCBpbnRlbF9ndWNfY3RfYnVm ZmVyICpjdGIsCiAJCQkJICAgIHUzMiBmZW5jZSwKIAkJCQkgICAgdTMyICpzdGF0dXMpCiB7CiAJ aW50IGVycjsKKwlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwog CiAJLyoKIAkgKiBGYXN0IGNvbW1hbmRzIHNob3VsZCBjb21wbGV0ZSBpbiBsZXNzIHRoYW4gMTB1 cywgc28gc2FtcGxlIHF1aWNrbHkKQEAgLTQwMSw3ICszOTMsNyBAQCBzdGF0aWMgaW50IHdhaXRf Zm9yX2N0Yl9kZXNjX3VwZGF0ZShzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjLAogCQkJ LyogU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2l0aCB0aGUgbWVzc2FnaW5nLCB0cnkgdG8gcmVzZXQK IAkJCSAqIHRoZSBidWZmZXIgYW5kIGhvcGUgZm9yIHRoZSBiZXN0CiAJCQkgKi8KLQkJCWd1Y19j dF9idWZmZXJfZGVzY19yZXNldChkZXNjKTsKKwkJCWd1Y19jdF9idWZmZXJfZGVzY19yZXNldChj dGIpOwogCQkJZXJyID0gLUVQUk9UTzsKIAkJfQogCX0KQEAgLTQ0NiwxMiArNDM4LDE3IEBAIHN0 YXRpYyBpbnQgd2FpdF9mb3JfY3RfcmVxdWVzdF91cGRhdGUoc3RydWN0IGN0X3JlcXVlc3QgKnJl cSwgdTMyICpzdGF0dXMpCiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGN0 Yl9oYXNfcm9vbShzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjLCB1MzIgbGVuKQorc3Rh dGljIGlubGluZSBib29sIGN0Yl9oYXNfcm9vbShzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAq Y3RiLCB1MzIgbGVuKQogewotCXUzMiBoZWFkID0gUkVBRF9PTkNFKGRlc2MtPmhlYWQpOworCXUz MiBoZWFkOwogCXUzMiBzcGFjZTsKIAotCXNwYWNlID0gQ0lSQ19TUEFDRShkZXNjLT50YWlsLCBo ZWFkLCBkZXNjLT5zaXplKTsKKwlpZiAoY3RiLT5zcGFjZSA+PSBsZW4pCisJCXJldHVybiB0cnVl OworCisJaGVhZCA9IFJFQURfT05DRShjdGItPmRlc2MtPmhlYWQpOworCXNwYWNlID0gQ0lSQ19T UEFDRShjdGItPnRhaWwsIGhlYWQsIGN0Yi0+c2l6ZSk7CisJY3RiLT5zcGFjZSA9IHNwYWNlOwog CiAJcmV0dXJuIHNwYWNlID49IGxlbjsKIH0KQEAgLTQ2Miw3ICs0NTksNiBAQCBpbnQgaW50ZWxf Z3VjX3NlbmRfbmIoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiB7CiAJc3RydWN0IGludGVsX2d1 Y19jdF9jaGFubmVsICpjdGNoID0gJmN0LT5ob3N0X2NoYW5uZWw7CiAJc3RydWN0IGludGVsX2d1 Y19jdF9idWZmZXIgKmN0YiA9ICZjdGNoLT5jdGJzW0NUQl9TRU5EXTsKLQlzdHJ1Y3QgZ3VjX2N0 X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwogCWludCBlcnI7CiAKIAlHRU1fQlVHX09O KCFjdGNoLT5lbmFibGVkKTsKQEAgLTQ3MCw3ICs0NjYsNyBAQCBpbnQgaW50ZWxfZ3VjX3NlbmRf bmIoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJR0VNX0JVR19PTihsZW4gJiB+R1VDX0NUX01T R19MRU5fTUFTSyk7CiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmY3QtPnNlbmRfbG9jayk7CiAKLQlp ZiAodW5saWtlbHkoIWN0Yl9oYXNfcm9vbShkZXNjLCAobGVuICsgMSkgKiA0KSkpIHsKKwlpZiAo dW5saWtlbHkoIWN0Yl9oYXNfcm9vbShjdGIsIChsZW4gKyAxKSAqIDQpKSkgewogCQljdC0+cmV0 cnkrKzsKIAkJaWYgKGN0LT5yZXRyeSA+PSBNQVhfUkVUUlkpCiAJCQlyZXR1cm4gLUVERUFETEs7 CkBAIC00OTYsNyArNDkyLDYgQEAgc3RhdGljIGludCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1 Y19jdCAqY3QsCiAJCSAgICAgdTMyICpzdGF0dXMpCiB7CiAJc3RydWN0IGludGVsX2d1Y19jdF9i dWZmZXIgKmN0YiA9ICZjdGNoLT5jdGJzW0NUQl9TRU5EXTsKLQlzdHJ1Y3QgZ3VjX2N0X2J1ZmZl cl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwogCXN0cnVjdCBjdF9yZXF1ZXN0IHJlcXVlc3Q7CiAJ dW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MzIgZmVuY2U7CkBAIC01MTQsNyArNTA5LDcgQEAgc3Rh dGljIGludCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJICovCiByZXRyeToK IAlzcGluX2xvY2tfaXJxc2F2ZSgmY3QtPnNlbmRfbG9jaywgZmxhZ3MpOwotCWlmICh1bmxpa2Vs eSghY3RiX2hhc19yb29tKGRlc2MsIChsZW4gKyAxKSAqIDQpKSkgeworCWlmICh1bmxpa2VseSgh Y3RiX2hhc19yb29tKGN0YiwgKGxlbiArIDEpICogNCkpKSB7CiAJCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmN0LT5zZW5kX2xvY2ssIGZsYWdzKTsKIAkJY3QtPnJldHJ5Kys7CiAJCWlmIChjdC0+ cmV0cnkgPj0gTUFYX1JFVFJZKQpAQCAtNTQ0LDcgKzUzOSw3IEBAIHN0YXRpYyBpbnQgY3RjaF9z ZW5kKHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0LAogCWlmIChyZXNwb25zZV9idWYpCiAJCWVyciA9 IHdhaXRfZm9yX2N0X3JlcXVlc3RfdXBkYXRlKCZyZXF1ZXN0LCBzdGF0dXMpOwogCWVsc2UKLQkJ ZXJyID0gd2FpdF9mb3JfY3RiX2Rlc2NfdXBkYXRlKGRlc2MsIGZlbmNlLCBzdGF0dXMpOworCQll cnIgPSB3YWl0X2Zvcl9jdGJfZGVzY191cGRhdGUoY3RiLCBmZW5jZSwgc3RhdHVzKTsKIAlpZiAo dW5saWtlbHkoZXJyKSkKIAkJZ290byB1bmxpbms7CiAKQEAgLTYxOCw5ICs2MTMsOSBAQCBzdGF0 aWMgaW5saW5lIGJvb2wgY3RfaGVhZGVyX2lzX3Jlc3BvbnNlKHUzMiBoZWFkZXIpCiBzdGF0aWMg aW50IGN0Yl9yZWFkKHN0cnVjdCBpbnRlbF9ndWNfY3RfYnVmZmVyICpjdGIsIHUzMiAqZGF0YSkK IHsKIAlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwotCXUzMiBo ZWFkID0gZGVzYy0+aGVhZCAvIDQ7CS8qIGluIGR3b3JkcyAqLworCXUzMiBoZWFkID0gY3RiLT5o ZWFkIC8gNDsJLyogaW4gZHdvcmRzICovCiAJdTMyIHRhaWwgPSBkZXNjLT50YWlsIC8gNDsJLyog aW4gZHdvcmRzICovCi0JdTMyIHNpemUgPSBkZXNjLT5zaXplIC8gNDsJLyogaW4gZHdvcmRzICov CisJdTMyIHNpemUgPSBjdGItPnNpemUgLyA0OwkvKiBpbiBkd29yZHMgKi8KIAl1MzIgKmNtZHMg PSBjdGItPmNtZHM7CiAJczMyIGF2YWlsYWJsZTsJCQkvKiBpbiBkd29yZHMgKi8KIAl1bnNpZ25l ZCBpbnQgbGVuOwpAQCAtNjY0LDcgKzY1OSw3IEBAIHN0YXRpYyBpbnQgY3RiX3JlYWQoc3RydWN0 IGludGVsX2d1Y19jdF9idWZmZXIgKmN0YiwgdTMyICpkYXRhKQogCX0KIAlDVF9ERUJVR19EUklW RVIoIkNUOiByZWNlaXZlZCAlKnBoXG4iLCA0ICogbGVuLCBkYXRhKTsKIAotCWRlc2MtPmhlYWQg PSBoZWFkICogNDsKKwljdGItPmhlYWQgPSBkZXNjLT5oZWFkID0gaGVhZCAqIDQ7CiAJcmV0dXJu IDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1 Y19jdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmgKaW5kZXgg YmM2NzBhNzk2YmQ4Li4xYmZmNGYwYjkxZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Vj L2ludGVsX2d1Y19jdC5oCkBAIC0yOSwxMCArMjksMTggQEAgc3RydWN0IGludGVsX2d1YzsKICAq CiAgKiBAZGVzYzogcG9pbnRlciB0byB0aGUgYnVmZmVyIGRlc2NyaXB0b3IKICAqIEBjbWRzOiBw b2ludGVyIHRvIHRoZSBjb21tYW5kcyBidWZmZXIKKyAqIEBzaXplOiBsb2NhbCBzaGFkb3cgY29w eSBvZiBzaXplCisgKiBAaGVhZDogbG9jYWwgc2hhZG93IGNvcHkgb2YgaGVhZAorICogQHRhaWw6 IGxvY2FsIHNoYWRvdyBjb3B5IG9mIHRhaWwKKyAqIEBzcGFjZTogbG9jYWwgc2hhZG93IGNvcHkg b2Ygc3BhY2UKICAqLwogc3RydWN0IGludGVsX2d1Y19jdF9idWZmZXIgewogCXN0cnVjdCBndWNf Y3RfYnVmZmVyX2Rlc2MgKmRlc2M7CiAJdTMyICpjbWRzOworCXUzMiBzaXplOworCXUzMiB0YWls OworCXUzMiBoZWFkOworCXUzMiBzcGFjZTsKIH07CiAKIC8qKiBSZXByZXNlbnRzIHBhaXIgb2Yg Y29tbWFuZCB0cmFuc3BvcnQgYnVmZmVycy4KLS0gCjIuMjEuMC41LmdhZWI1ODJhOTgzCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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 63AF4C432C3 for ; Wed, 20 Nov 2019 23:56:10 +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 43C572070C for ; Wed, 20 Nov 2019 23:56:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 43C572070C 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 078656EA9B; Wed, 20 Nov 2019 23:56:08 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 81D556EA56 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="237955288" 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:03 -0800 Message-Id: <20191120235604.29047-3-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 2/3] drm/i915/guc: Optimized CTB writes and reads 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: <20191120235603.KxHJopHaoQnVk_atYzMUL8-woICb6Z0gyN7ul5UMCW0@z> RnJvbTogTWF0dGhldyBCcm9zdCA8bWF0dGhldy5icm9zdEBpbnRlbC5jb20+CgpDVEIgd3JpdGVz IGFyZSBub3cgaW4gdGhlIHBhdGggb2YgY29tbWFuZCBzdWJtaXNzaW9uIGFuZCBzaG91bGQgYmUK b3B0aW1pemVkIGZvciBwZXJmb3JtYW5jZS4gUmF0aGVyIHRoYW4gcmVhZGluZyBDVEIgZGVzY3Jp cHRvciB2YWx1ZXMKKGUuZy4gaGVhZCwgdGFpbCwgc2l6ZSkgd2hpY2ggY291bGQgcmVzdWx0IGlu IGFjY2Vzc2VzIGFjcm9zcyB0aGUgUENJZQpidXMsIHN0b3JlIHNoYWRvdyBsb2NhbCBjb3BpZXMg YW5kIG9ubHkgcmVhZC93cml0ZSB0aGUgZGVzY3JpcHRvcgp2YWx1ZXMgd2hlbiBhYnNvbHV0ZWx5 IG5lY2Vzc2FyeS4KCkNjOiBKb2huIEhhcnJpc29uIDxqb2huLmMuaGFycmlzb25AaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEJyb3N0IDxtYXR0aGV3LmJyb3N0QGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuYyB8IDc5ICsrKysr KysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNf Y3QuaCB8ICA4ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA0MiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9n dWNfY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jCmluZGV4 IGU1MGQ5NjhiMTVkNS4uNGQ4YTRjNmFmZDcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9ndWNfY3QuYwpAQCAtNjgsMjMgKzY4LDI5IEBAIHN0YXRpYyBpbmxpbmUgY29uc3Qg Y2hhciAqZ3VjX2N0X2J1ZmZlcl90eXBlX3RvX3N0cih1MzIgdHlwZSkKIAl9CiB9CiAKLXN0YXRp YyB2b2lkIGd1Y19jdF9idWZmZXJfZGVzY19pbml0KHN0cnVjdCBndWNfY3RfYnVmZmVyX2Rlc2Mg KmRlc2MsCitzdGF0aWMgdm9pZCBndWNfY3RfYnVmZmVyX2Rlc2NfaW5pdChzdHJ1Y3QgaW50ZWxf Z3VjX2N0X2J1ZmZlciAqY3RiLAogCQkJCSAgICB1MzIgY21kc19hZGRyLCB1MzIgc2l6ZSwgdTMy IG93bmVyKQogeworCXN0cnVjdCBndWNfY3RfYnVmZmVyX2Rlc2MgKmRlc2MgPSBjdGItPmRlc2M7 CiAJQ1RfREVCVUdfRFJJVkVSKCJDVDogZGVzYyAlcCBpbml0IGFkZHI9JSN4IHNpemU9JXUgb3du ZXI9JXVcbiIsCiAJCQlkZXNjLCBjbWRzX2FkZHIsIHNpemUsIG93bmVyKTsKIAltZW1zZXQoZGVz YywgMCwgc2l6ZW9mKCpkZXNjKSk7CiAJZGVzYy0+YWRkciA9IGNtZHNfYWRkcjsKLQlkZXNjLT5z aXplID0gc2l6ZTsKKwljdGItPnNpemUgPSBkZXNjLT5zaXplID0gc2l6ZTsKIAlkZXNjLT5vd25l ciA9IG93bmVyOworCWN0Yi0+dGFpbCA9IDA7CisJY3RiLT5oZWFkID0gMDsKKwljdGItPnNwYWNl ID0gQ0lSQ19TUEFDRShjdGItPnRhaWwsIGN0Yi0+aGVhZCwgY3RiLT5zaXplKTsKIH0KIAotc3Rh dGljIHZvaWQgZ3VjX2N0X2J1ZmZlcl9kZXNjX3Jlc2V0KHN0cnVjdCBndWNfY3RfYnVmZmVyX2Rl c2MgKmRlc2MpCitzdGF0aWMgdm9pZCBndWNfY3RfYnVmZmVyX2Rlc2NfcmVzZXQoc3RydWN0IGlu dGVsX2d1Y19jdF9idWZmZXIgKmN0YikKIHsKKwlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpk ZXNjID0gY3RiLT5kZXNjOwogCUNUX0RFQlVHX0RSSVZFUigiQ1Q6IGRlc2MgJXAgcmVzZXQgaGVh ZD0ldSB0YWlsPSV1XG4iLAogCQkJZGVzYywgZGVzYy0+aGVhZCwgZGVzYy0+dGFpbCk7Ci0JZGVz Yy0+aGVhZCA9IDA7Ci0JZGVzYy0+dGFpbCA9IDA7CisJY3RiLT5oZWFkID0gZGVzYy0+aGVhZCA9 IDA7CisJY3RiLT50YWlsID0gZGVzYy0+dGFpbCA9IDA7CisJY3RiLT5zcGFjZSA9IENJUkNfU1BB Q0UoY3RiLT50YWlsLCBjdGItPmhlYWQsIGN0Yi0+c2l6ZSk7CiAJZGVzYy0+aXNfaW5fZXJyb3Ig PSAwOwogfQogCkBAIC0yMjAsNyArMjI2LDcgQEAgc3RhdGljIGludCBjdGNoX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMsCiAJICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY3Rj aC0+Y3Ricyk7IGkrKykgewogCQlHRU1fQlVHX09OKChpICE9IENUQl9TRU5EKSAmJiAoaSAhPSBD VEJfUkVDVikpOwotCQlndWNfY3RfYnVmZmVyX2Rlc2NfaW5pdChjdGNoLT5jdGJzW2ldLmRlc2Ms CisJCWd1Y19jdF9idWZmZXJfZGVzY19pbml0KCZjdGNoLT5jdGJzW2ldLAogCQkJCQliYXNlICsg UEFHRV9TSVpFLzQgKiBpICsgUEFHRV9TSVpFLzIsCiAJCQkJCVBBR0VfU0laRS80LAogCQkJCQlj dGNoLT5vd25lcik7CkBAIC0zMDEsMzIgKzMwNywxNiBAQCBzdGF0aWMgaW50IGN0Yl93cml0ZShz dHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAqY3RiLAogCQkgICAgIGJvb2wgd2FudF9yZXNwb25z ZSkKIHsKIAlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwotCXUz MiBoZWFkID0gZGVzYy0+aGVhZCAvIDQ7CS8qIGluIGR3b3JkcyAqLwotCXUzMiB0YWlsID0gZGVz Yy0+dGFpbCAvIDQ7CS8qIGluIGR3b3JkcyAqLwotCXUzMiBzaXplID0gZGVzYy0+c2l6ZSAvIDQ7 CS8qIGluIGR3b3JkcyAqLwotCXUzMiB1c2VkOwkJCS8qIGluIGR3b3JkcyAqLworCXUzMiB0YWls ID0gY3RiLT50YWlsIC8gNDsJLyogaW4gZHdvcmRzICovCisJdTMyIHNpemUgPSBjdGItPnNpemUg LyA0OwkvKiBpbiBkd29yZHMgKi8KIAl1MzIgaGVhZGVyOwogCXUzMiAqY21kcyA9IGN0Yi0+Y21k czsKIAl1bnNpZ25lZCBpbnQgaTsKIAotCUdFTV9CVUdfT04oZGVzYy0+c2l6ZSAlIDQpOwotCUdF TV9CVUdfT04oZGVzYy0+aGVhZCAlIDQpOwotCUdFTV9CVUdfT04oZGVzYy0+dGFpbCAlIDQpOwor CUdFTV9CVUdfT04oY3RiLT5zaXplICUgNCk7CisJR0VNX0JVR19PTihjdGItPnRhaWwgJSA0KTsK IAlHRU1fQlVHX09OKHRhaWwgPj0gc2l6ZSk7CiAKLQkvKgotCSAqIHRhaWwgPT0gaGVhZCBjb25k aXRpb24gaW5kaWNhdGVzIGVtcHR5LiBHdUMgRlcgZG9lcyBub3Qgc3VwcG9ydAotCSAqIHVzaW5n IHVwIHRoZSBlbnRpcmUgYnVmZmVyIHRvIGdldCB0YWlsID09IGhlYWQgbWVhbmluZyBmdWxsLgot CSAqLwotCWlmICh0YWlsIDwgaGVhZCkKLQkJdXNlZCA9IChzaXplIC0gaGVhZCkgKyB0YWlsOwot CWVsc2UKLQkJdXNlZCA9IHRhaWwgLSBoZWFkOwotCi0JLyogbWFrZSBzdXJlIHRoZXJlIGlzIGEg c3BhY2UgaW5jbHVkaW5nIGV4dHJhIGR3IGZvciB0aGUgZmVuY2UgKi8KLQlpZiAodW5saWtlbHko dXNlZCArIGxlbiArIDEgPj0gc2l6ZSkpCi0JCXJldHVybiAtRU5PU1BDOwotCiAJLyoKIAkgKiBX cml0ZSB0aGUgbWVzc2FnZS4gVGhlIGZvcm1hdCBpcyB0aGUgZm9sbG93aW5nOgogCSAqIERXMDog aGVhZGVyIChpbmNsdWRpbmcgYWN0aW9uIGNvZGUpCkBAIC0zNTQsMTUgKzM0NCwxNiBAQCBzdGF0 aWMgaW50IGN0Yl93cml0ZShzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAqY3RiLAogCX0KIAog CS8qIG5vdyB1cGRhdGUgZGVzYyB0YWlsIChiYWNrIGluIGJ5dGVzKSAqLwotCWRlc2MtPnRhaWwg PSB0YWlsICogNDsKLQlHRU1fQlVHX09OKGRlc2MtPnRhaWwgPiBkZXNjLT5zaXplKTsKKwljdGIt PnRhaWwgPSBkZXNjLT50YWlsID0gdGFpbCAqIDQ7CisJY3RiLT5zcGFjZSAtPSAobGVuICsgMSkg KiA0OworCUdFTV9CVUdfT04oY3RiLT50YWlsID4gY3RiLT5zaXplKTsKIAogCXJldHVybiAwOwog fQogCiAvKioKICAqIHdhaXRfZm9yX2N0Yl9kZXNjX3VwZGF0ZSAtIFdhaXQgZm9yIHRoZSBDVCBi dWZmZXIgZGVzY3JpcHRvciB1cGRhdGUuCi0gKiBAZGVzYzoJYnVmZmVyIGRlc2NyaXB0b3IKKyAq IEBjdGI6CWN0YiBidWZmZXIKICAqIEBmZW5jZToJcmVzcG9uc2UgZmVuY2UKICAqIEBzdGF0dXM6 CXBsYWNlaG9sZGVyIGZvciBzdGF0dXMKICAqCkBAIC0zNzYsMTEgKzM2NywxMiBAQCBzdGF0aWMg aW50IGN0Yl93cml0ZShzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAqY3RiLAogICogKgktRVRJ TUVET1VUIG5vIHJlc3BvbnNlIHdpdGhpbiBoYXJkY29kZWQgdGltZW91dAogICogKgktRVBST1RP IG5vIHJlc3BvbnNlLCBDVCBidWZmZXIgaXMgaW4gZXJyb3IKICAqLwotc3RhdGljIGludCB3YWl0 X2Zvcl9jdGJfZGVzY191cGRhdGUoc3RydWN0IGd1Y19jdF9idWZmZXJfZGVzYyAqZGVzYywKK3N0 YXRpYyBpbnQgd2FpdF9mb3JfY3RiX2Rlc2NfdXBkYXRlKHN0cnVjdCBpbnRlbF9ndWNfY3RfYnVm ZmVyICpjdGIsCiAJCQkJICAgIHUzMiBmZW5jZSwKIAkJCQkgICAgdTMyICpzdGF0dXMpCiB7CiAJ aW50IGVycjsKKwlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwog CiAJLyoKIAkgKiBGYXN0IGNvbW1hbmRzIHNob3VsZCBjb21wbGV0ZSBpbiBsZXNzIHRoYW4gMTB1 cywgc28gc2FtcGxlIHF1aWNrbHkKQEAgLTQwMSw3ICszOTMsNyBAQCBzdGF0aWMgaW50IHdhaXRf Zm9yX2N0Yl9kZXNjX3VwZGF0ZShzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjLAogCQkJ LyogU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2l0aCB0aGUgbWVzc2FnaW5nLCB0cnkgdG8gcmVzZXQK IAkJCSAqIHRoZSBidWZmZXIgYW5kIGhvcGUgZm9yIHRoZSBiZXN0CiAJCQkgKi8KLQkJCWd1Y19j dF9idWZmZXJfZGVzY19yZXNldChkZXNjKTsKKwkJCWd1Y19jdF9idWZmZXJfZGVzY19yZXNldChj dGIpOwogCQkJZXJyID0gLUVQUk9UTzsKIAkJfQogCX0KQEAgLTQ0NiwxMiArNDM4LDE3IEBAIHN0 YXRpYyBpbnQgd2FpdF9mb3JfY3RfcmVxdWVzdF91cGRhdGUoc3RydWN0IGN0X3JlcXVlc3QgKnJl cSwgdTMyICpzdGF0dXMpCiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGN0 Yl9oYXNfcm9vbShzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjLCB1MzIgbGVuKQorc3Rh dGljIGlubGluZSBib29sIGN0Yl9oYXNfcm9vbShzdHJ1Y3QgaW50ZWxfZ3VjX2N0X2J1ZmZlciAq Y3RiLCB1MzIgbGVuKQogewotCXUzMiBoZWFkID0gUkVBRF9PTkNFKGRlc2MtPmhlYWQpOworCXUz MiBoZWFkOwogCXUzMiBzcGFjZTsKIAotCXNwYWNlID0gQ0lSQ19TUEFDRShkZXNjLT50YWlsLCBo ZWFkLCBkZXNjLT5zaXplKTsKKwlpZiAoY3RiLT5zcGFjZSA+PSBsZW4pCisJCXJldHVybiB0cnVl OworCisJaGVhZCA9IFJFQURfT05DRShjdGItPmRlc2MtPmhlYWQpOworCXNwYWNlID0gQ0lSQ19T UEFDRShjdGItPnRhaWwsIGhlYWQsIGN0Yi0+c2l6ZSk7CisJY3RiLT5zcGFjZSA9IHNwYWNlOwog CiAJcmV0dXJuIHNwYWNlID49IGxlbjsKIH0KQEAgLTQ2Miw3ICs0NTksNiBAQCBpbnQgaW50ZWxf Z3VjX3NlbmRfbmIoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiB7CiAJc3RydWN0IGludGVsX2d1 Y19jdF9jaGFubmVsICpjdGNoID0gJmN0LT5ob3N0X2NoYW5uZWw7CiAJc3RydWN0IGludGVsX2d1 Y19jdF9idWZmZXIgKmN0YiA9ICZjdGNoLT5jdGJzW0NUQl9TRU5EXTsKLQlzdHJ1Y3QgZ3VjX2N0 X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwogCWludCBlcnI7CiAKIAlHRU1fQlVHX09O KCFjdGNoLT5lbmFibGVkKTsKQEAgLTQ3MCw3ICs0NjYsNyBAQCBpbnQgaW50ZWxfZ3VjX3NlbmRf bmIoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJR0VNX0JVR19PTihsZW4gJiB+R1VDX0NUX01T R19MRU5fTUFTSyk7CiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmY3QtPnNlbmRfbG9jayk7CiAKLQlp ZiAodW5saWtlbHkoIWN0Yl9oYXNfcm9vbShkZXNjLCAobGVuICsgMSkgKiA0KSkpIHsKKwlpZiAo dW5saWtlbHkoIWN0Yl9oYXNfcm9vbShjdGIsIChsZW4gKyAxKSAqIDQpKSkgewogCQljdC0+cmV0 cnkrKzsKIAkJaWYgKGN0LT5yZXRyeSA+PSBNQVhfUkVUUlkpCiAJCQlyZXR1cm4gLUVERUFETEs7 CkBAIC00OTYsNyArNDkyLDYgQEAgc3RhdGljIGludCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1 Y19jdCAqY3QsCiAJCSAgICAgdTMyICpzdGF0dXMpCiB7CiAJc3RydWN0IGludGVsX2d1Y19jdF9i dWZmZXIgKmN0YiA9ICZjdGNoLT5jdGJzW0NUQl9TRU5EXTsKLQlzdHJ1Y3QgZ3VjX2N0X2J1ZmZl cl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwogCXN0cnVjdCBjdF9yZXF1ZXN0IHJlcXVlc3Q7CiAJ dW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MzIgZmVuY2U7CkBAIC01MTQsNyArNTA5LDcgQEAgc3Rh dGljIGludCBjdGNoX3NlbmQoc3RydWN0IGludGVsX2d1Y19jdCAqY3QsCiAJICovCiByZXRyeToK IAlzcGluX2xvY2tfaXJxc2F2ZSgmY3QtPnNlbmRfbG9jaywgZmxhZ3MpOwotCWlmICh1bmxpa2Vs eSghY3RiX2hhc19yb29tKGRlc2MsIChsZW4gKyAxKSAqIDQpKSkgeworCWlmICh1bmxpa2VseSgh Y3RiX2hhc19yb29tKGN0YiwgKGxlbiArIDEpICogNCkpKSB7CiAJCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmN0LT5zZW5kX2xvY2ssIGZsYWdzKTsKIAkJY3QtPnJldHJ5Kys7CiAJCWlmIChjdC0+ cmV0cnkgPj0gTUFYX1JFVFJZKQpAQCAtNTQ0LDcgKzUzOSw3IEBAIHN0YXRpYyBpbnQgY3RjaF9z ZW5kKHN0cnVjdCBpbnRlbF9ndWNfY3QgKmN0LAogCWlmIChyZXNwb25zZV9idWYpCiAJCWVyciA9 IHdhaXRfZm9yX2N0X3JlcXVlc3RfdXBkYXRlKCZyZXF1ZXN0LCBzdGF0dXMpOwogCWVsc2UKLQkJ ZXJyID0gd2FpdF9mb3JfY3RiX2Rlc2NfdXBkYXRlKGRlc2MsIGZlbmNlLCBzdGF0dXMpOworCQll cnIgPSB3YWl0X2Zvcl9jdGJfZGVzY191cGRhdGUoY3RiLCBmZW5jZSwgc3RhdHVzKTsKIAlpZiAo dW5saWtlbHkoZXJyKSkKIAkJZ290byB1bmxpbms7CiAKQEAgLTYxOCw5ICs2MTMsOSBAQCBzdGF0 aWMgaW5saW5lIGJvb2wgY3RfaGVhZGVyX2lzX3Jlc3BvbnNlKHUzMiBoZWFkZXIpCiBzdGF0aWMg aW50IGN0Yl9yZWFkKHN0cnVjdCBpbnRlbF9ndWNfY3RfYnVmZmVyICpjdGIsIHUzMiAqZGF0YSkK IHsKIAlzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjID0gY3RiLT5kZXNjOwotCXUzMiBo ZWFkID0gZGVzYy0+aGVhZCAvIDQ7CS8qIGluIGR3b3JkcyAqLworCXUzMiBoZWFkID0gY3RiLT5o ZWFkIC8gNDsJLyogaW4gZHdvcmRzICovCiAJdTMyIHRhaWwgPSBkZXNjLT50YWlsIC8gNDsJLyog aW4gZHdvcmRzICovCi0JdTMyIHNpemUgPSBkZXNjLT5zaXplIC8gNDsJLyogaW4gZHdvcmRzICov CisJdTMyIHNpemUgPSBjdGItPnNpemUgLyA0OwkvKiBpbiBkd29yZHMgKi8KIAl1MzIgKmNtZHMg PSBjdGItPmNtZHM7CiAJczMyIGF2YWlsYWJsZTsJCQkvKiBpbiBkd29yZHMgKi8KIAl1bnNpZ25l ZCBpbnQgbGVuOwpAQCAtNjY0LDcgKzY1OSw3IEBAIHN0YXRpYyBpbnQgY3RiX3JlYWQoc3RydWN0 IGludGVsX2d1Y19jdF9idWZmZXIgKmN0YiwgdTMyICpkYXRhKQogCX0KIAlDVF9ERUJVR19EUklW RVIoIkNUOiByZWNlaXZlZCAlKnBoXG4iLCA0ICogbGVuLCBkYXRhKTsKIAotCWRlc2MtPmhlYWQg PSBoZWFkICogNDsKKwljdGItPmhlYWQgPSBkZXNjLT5oZWFkID0gaGVhZCAqIDQ7CiAJcmV0dXJu IDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1 Y19jdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmgKaW5kZXgg YmM2NzBhNzk2YmQ4Li4xYmZmNGYwYjkxZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3VjL2ludGVsX2d1Y19jdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Vj L2ludGVsX2d1Y19jdC5oCkBAIC0yOSwxMCArMjksMTggQEAgc3RydWN0IGludGVsX2d1YzsKICAq CiAgKiBAZGVzYzogcG9pbnRlciB0byB0aGUgYnVmZmVyIGRlc2NyaXB0b3IKICAqIEBjbWRzOiBw b2ludGVyIHRvIHRoZSBjb21tYW5kcyBidWZmZXIKKyAqIEBzaXplOiBsb2NhbCBzaGFkb3cgY29w eSBvZiBzaXplCisgKiBAaGVhZDogbG9jYWwgc2hhZG93IGNvcHkgb2YgaGVhZAorICogQHRhaWw6 IGxvY2FsIHNoYWRvdyBjb3B5IG9mIHRhaWwKKyAqIEBzcGFjZTogbG9jYWwgc2hhZG93IGNvcHkg b2Ygc3BhY2UKICAqLwogc3RydWN0IGludGVsX2d1Y19jdF9idWZmZXIgewogCXN0cnVjdCBndWNf Y3RfYnVmZmVyX2Rlc2MgKmRlc2M7CiAJdTMyICpjbWRzOworCXUzMiBzaXplOworCXUzMiB0YWls OworCXUzMiBoZWFkOworCXUzMiBzcGFjZTsKIH07CiAKIC8qKiBSZXByZXNlbnRzIHBhaXIgb2Yg Y29tbWFuZCB0cmFuc3BvcnQgYnVmZmVycy4KLS0gCjIuMjEuMC41LmdhZWI1ODJhOTgzCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=