From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: [PATCH v3 1/6] drm/i915/gen8: Add infrastructure to initialize WA batch buffers Date: Fri, 5 Jun 2015 11:34:01 +0100 Message-ID: <1433500446-26929-2-git-send-email-arun.siluvery@linux.intel.com> References: <1433500446-26929-1-git-send-email-arun.siluvery@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 0C7936E121 for ; Fri, 5 Jun 2015 03:34:23 -0700 (PDT) In-Reply-To: <1433500446-26929-1-git-send-email-arun.siluvery@linux.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 U29tZSBvZiB0aGUgV0EgYXJlIHRvIGJlIGFwcGxpZWQgZHVyaW5nIGNvbnRleHQgc2F2ZSBidXQg YmVmb3JlIHJlc3RvcmUgYW5kCnNvbWUgYXQgdGhlIGVuZCBvZiBjb250ZXh0IHNhdmUvcmVzdG9y ZSBidXQgYmVmb3JlIGV4ZWN1dGluZyB0aGUgaW5zdHJ1Y3Rpb25zCmluIHRoZSByaW5nLCBXQSBi YXRjaCBidWZmZXJzIGFyZSBjcmVhdGVkIGZvciB0aGlzIHB1cnBvc2UgYW5kIHRoZXNlIFdBIGNh bm5vdApiZSBhcHBsaWVkIHVzaW5nIG5vcm1hbCBtZWFucy4gRWFjaCBjb250ZXh0IGhhcyB0d28g cmVnaXN0ZXJzIHRvIGxvYWQgdGhlCm9mZnNldHMgb2YgdGhlc2UgYmF0Y2ggYnVmZmVycy4gSWYg dGhleSBhcmUgbm9uLXplcm8sIEhXIHVuZGVyc3RhbmRzIHRoYXQgaXQKbmVlZCB0byBleGVjdXRl IHRoZXNlIGJhdGNoZXMuCgp2MTogSW4gdGhpcyB2ZXJzaW9uIHR3byBzZXBhcmF0ZSByaW5nX2J1 ZmZlciBvYmplY3RzIHdlcmUgdXNlZCB0byBsb2FkIFdBCmluc3RydWN0aW9ucyBmb3IgaW5kaXJl Y3QgYW5kIHBlciBjb250ZXh0IGJhdGNoIGJ1ZmZlcnMgYW5kIHRoZXkgd2VyZSBwYXJ0Cm9mIGV2 ZXJ5IGNvbnRleHQuCgp2MjogQ2hyaXMgc3VnZ2VzdGVkIHRvIGluY2x1ZGUgYWRkaXRpb25hbCBw YWdlIGluIGNvbnRleHQgYW5kIHVzZSBpdCB0byBsb2FkCnRoZXNlIFdBIGluc3RlYWQgb2YgY3Jl YXRpbmcgc2VwYXJhdGUgb2JqZWN0cy4gVGhpcyB3aWxsIHNpbXBsaWZ5IGxvdCBvZiB0aGluZ3MK YXMgd2UgbmVlZCBub3QgZXhwbGljaXR5IHBpbi91bnBpbiB0aGVtLiBUaG9tYXMgRGFuaWVsIGZ1 cnRoZXIgcG9pbnRlZCB0aGF0IEd1QwppcyBwbGFubmluZyB0byB1c2UgYSBzaW1pbGFyIHNldHVw IHRvIHNoYXJlIGRhdGEgYmV0d2VlbiBHdUMgYW5kIGRyaXZlciBhbmQKV0EgYmF0Y2ggYnVmZmVy cyBjYW4gcHJvYmFibHkgc2hhcmUgdGhhdCBwYWdlLiBIb3dldmVyIGFmdGVyIGRpc2N1c3Npb25z IHdpdGgKRGF2ZSB3aG8gaXMgaW1wbGVtZW50aW5nIEd1QyBjaGFuZ2VzLCBoZSBzdWdnZXN0ZWQg dG8gdXNlIGFuIGluZGVwZW5kZW50IHBhZ2UKZm9yIHRoZSByZWFzb25zIC0gR3VDIGFyZWEgbWln aHQgZ3JvdyBhbmQgdGhlc2UgV0EgYXJlIGluaXRpYWxpemVkIG9ubHkgb25jZSBhbmQKYXJlIG5v dCBjaGFuZ2VkIGFmdGVyd2FyZHMgc28gd2UgY2FuIHNoYXJlIHRoZW0gc2hhcmUgYWNyb3NzIGFs bCBjb250ZXh0cy4KVGhpcyB2ZXJzaW9uIHVzZXMgdGhpcyBhcHByb2FjaC4KKFRoYW5rcyB0byBD aHJpcywgRGF2ZSBhbmQgVGhvbWFzIGZvciB0aGVpciBpbnB1dHMpCgpTaWduZWQtb2ZmLWJ5OiBS YWZhZWwgQmFyYmFsaG8gPHJhZmFlbC5iYXJiYWxob0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IEFydW4gU2lsdXZlcnkgPGFydW4uc2lsdXZlcnlAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8IDE2OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o IHwgICA5ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDE3NCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMDQxM2I4Zi4uMGIzNDIyYSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTIxMSw5ICsyMTEsMTEgQEAgZW51bSB7CiAJRkFV TFRfQU5EX0NPTlRJTlVFIC8qIFVuc3VwcG9ydGVkICovCiB9OwogI2RlZmluZSBHRU44X0NUWF9J RF9TSElGVCAzMgorI2RlZmluZSBDVFhfUkNTX0lORElSRUNUX0NUWF9PRkZTRVRfREVGQVVMVCAg MHgxNwogCiBzdGF0aWMgaW50IGludGVsX2xyX2NvbnRleHRfcGluKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsCiAJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpOworc3RhdGljIHZvaWQg bHJjX2Rlc3Ryb3lfY3R4X3dhX29iaihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKIAog LyoqCiAgKiBpbnRlbF9zYW5pdGl6ZV9lbmFibGVfZXhlY2xpc3RzKCkgLSBzYW5pdGl6ZSBpOTE1 LmVuYWJsZV9leGVjbGlzdHMKQEAgLTEwNzcsNiArMTA3OSw5NiBAQCBzdGF0aWMgaW50IGludGVs X2xvZ2ljYWxfcmluZ193b3JrYXJvdW5kc19lbWl0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgZ2VuOF9pbml0X2luZGlyZWN0Y3R4X2Ji KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCit7CisJaW50IGluZGV4OworCWludCBlbmQ7 CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJdWludDMyX3QgKnJlZ19zdGF0ZTsKKworCXBhZ2UgPSBp OTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UocmluZy0+Y3R4X3dhLm9iaiwgMCk7CisJcmVnX3N0YXRl ID0ga21hcF9hdG9taWMocGFnZSk7CisKKwlpbmRleCA9IHJpbmctPmN0eF93YS5pbmRjdHhfYmF0 Y2hfb2Zmc2V0IC8gc2l6ZW9mKHVpbnQzMl90KTsKKwllbmQgPSBpbmRleCArIChyaW5nLT5jdHhf d2EuaW5kY3R4X2JhdGNoX3NpemUgKgorCQkgICAgICAgQ0FDSEVMSU5FX0JZVEVTKSAvIHNpemVv Zih1aW50MzJfdCk7CisKKwlpZiAoKGVuZCAqIHNpemVvZih1aW50MzJfdCkpID4gUEFHRV9TSVpF KSB7CisJCURSTV9FUlJPUigiY29udGV4dCBXQSBpbnN0cnVjdGlvbiBleGNlZWRpbmcgYWxsb3Rl ZCBzaXplXG4iKTsKKwkJa3VubWFwX2F0b21pYyhyZWdfc3RhdGUpOworCQlyZXR1cm4gLUVJTlZB TDsKKwl9CisKKwkvKiBGSVhNRTogZmlsbCB1bnVzZWQgbG9jYXRpb25zIHdpdGggTk9PUHMuCisJ ICogUmVwbGFjZSB0aGVzZSBpbnN0cnVjdGlvbnMgd2l0aCBXQQorCSAqLworICAgICAgICB3aGls ZSAoaW5kZXggPCBlbmQpCisJCXJlZ19zdGF0ZVtpbmRleCsrXSA9IE1JX05PT1A7CisKKwkvKgor CSAqIE1JX0JBVENIX0JVRkZFUl9FTkQgaXMgbm90IHJlcXVpcmVkIGluIEluZGlyZWN0IGN0eCBC QiBiZWNhdXNlCisJICogZXhlY3V0aW9uIGRlcGVuZHMgb24gdGhlIGxlbmd0aCBzcGVjaWZpZWQg aW4gdGVybXMgb2YgY2FjaGUgbGluZXMKKwkgKiBpbiB0aGUgcmVnaXN0ZXIgQ1RYX1JDU19JTkRJ UkVDVF9DVFgKKwkgKi8KKworCWt1bm1hcF9hdG9taWMocmVnX3N0YXRlKTsKKworCXJldHVybiAw OworfQorCitzdGF0aWMgaW50IGdlbjhfaW5pdF9wZXJjdHhfYmIoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZykKK3sKKwlpbnQgaW5kZXg7CisJaW50IGVuZDsKKwlzdHJ1Y3QgcGFnZSAqcGFn ZTsKKwl1aW50MzJfdCAqcmVnX3N0YXRlOworCisJcGFnZSA9IGk5MTVfZ2VtX29iamVjdF9nZXRf cGFnZShyaW5nLT5jdHhfd2Eub2JqLCAwKTsKKwlyZWdfc3RhdGUgPSBrbWFwX2F0b21pYyhwYWdl KTsKKworCWluZGV4ID0gcmluZy0+Y3R4X3dhLnBlcmN0eF9iYXRjaF9vZmZzZXQgLyBzaXplb2Yo dWludDMyX3QpOworCWVuZCA9IGluZGV4ICsgKHJpbmctPmN0eF93YS5wZXJjdHhfYmF0Y2hfc2l6 ZSAqCisJCSAgICAgICBDQUNIRUxJTkVfQllURVMpIC8gc2l6ZW9mKHVpbnQzMl90KTsKKworCWlm ICgoZW5kICogc2l6ZW9mKHVpbnQzMl90KSkgPiBQQUdFX1NJWkUpIHsKKwkJRFJNX0VSUk9SKCJj b250ZXh0IFdBIGluc3RydWN0aW9uIGV4Y2VlZGluZyBhbGxvdGVkIHNpemVcbiIpOworCQlrdW5t YXBfYXRvbWljKHJlZ19zdGF0ZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIEZJWE1F OiBmaWxsIHVudXNlZCBsb2NhdGlvbnMgd2l0aCBOT09Qcy4KKwkgKiBSZXBsYWNlIHRoZXNlIGlu c3RydWN0aW9ucyB3aXRoIFdBCisJICovCisgICAgICAgIHdoaWxlIChpbmRleCA8IGVuZCkKKwkJ cmVnX3N0YXRlW2luZGV4KytdID0gTUlfTk9PUDsKKworCXJlZ19zdGF0ZVtpbmRleCAtIDFdID0g TUlfQkFUQ0hfQlVGRkVSX0VORDsKKwlrdW5tYXBfYXRvbWljKHJlZ19zdGF0ZSk7CisKKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIGludCBpbnRlbF9pbml0X3dvcmthcm91bmRfYmIoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZykKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSByaW5nLT5kZXY7CisKKwlpZiAoSVNfR0VOOChkZXYpKSB7CisJCXJldCA9IGdlbjhfaW5p dF9pbmRpcmVjdGN0eF9iYihyaW5nKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisKKwkJ cmV0ID0gZ2VuOF9pbml0X3BlcmN0eF9iYihyaW5nKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiBy ZXQ7CisJfSBlbHNlIHsKKwkJV0FSTl9PTkNFKElOVEVMX0lORk8ocmluZy0+ZGV2KS0+Z2VuID49 IDksCisJCQkiV0EgYmF0Y2ggYnVmZmVyIGlzIG5vdCBpbml0aWFsaXplZFxuIik7CisJfQorCisJ cmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZ2VuOF9pbml0X2NvbW1vbl9yaW5nKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJpbmct PmRldjsKQEAgLTE3NTQsMTUgKzE4NDYsMjUgQEAgcG9wdWxhdGVfbHJfY29udGV4dChzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4LCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X28KIAly ZWdfc3RhdGVbQ1RYX1NFQ09ORF9CQl9TVEFURV0gPSByaW5nLT5tbWlvX2Jhc2UgKyAweDExODsK IAlyZWdfc3RhdGVbQ1RYX1NFQ09ORF9CQl9TVEFURSsxXSA9IDA7CiAJaWYgKHJpbmctPmlkID09 IFJDUykgewotCQkvKiBUT0RPOiBhY2NvcmRpbmcgdG8gQlNwZWMsIHRoZSByZWdpc3RlciBzdGF0 ZSBjb250ZXh0Ci0JCSAqIGZvciBDSFYgZG9lcyBub3QgaGF2ZSB0aGVzZS4gT1RPSCwgdGhlc2Ug cmVnaXN0ZXJzIGRvCi0JCSAqIGV4aXN0IGluIENIVi4gSSdtIHdhaXRpbmcgZm9yIGEgY2xhcmlm aWNhdGlvbiAqLwogCQlyZWdfc3RhdGVbQ1RYX0JCX1BFUl9DVFhfUFRSXSA9IHJpbmctPm1taW9f YmFzZSArIDB4MWMwOwogCQlyZWdfc3RhdGVbQ1RYX0JCX1BFUl9DVFhfUFRSKzFdID0gMDsKIAkJ cmVnX3N0YXRlW0NUWF9SQ1NfSU5ESVJFQ1RfQ1RYXSA9IHJpbmctPm1taW9fYmFzZSArIDB4MWM0 OwogCQlyZWdfc3RhdGVbQ1RYX1JDU19JTkRJUkVDVF9DVFgrMV0gPSAwOwogCQlyZWdfc3RhdGVb Q1RYX1JDU19JTkRJUkVDVF9DVFhfT0ZGU0VUXSA9IHJpbmctPm1taW9fYmFzZSArIDB4MWM4Owog CQlyZWdfc3RhdGVbQ1RYX1JDU19JTkRJUkVDVF9DVFhfT0ZGU0VUKzFdID0gMDsKKwkJaWYgKHJp bmctPmN0eF93YS5vYmopIHsKKwkJCXJlZ19zdGF0ZVtDVFhfUkNTX0lORElSRUNUX0NUWCsxXSA9 CisJCQkJKGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChyaW5nLT5jdHhfd2Eub2JqKSArCisJCQkJ IHJpbmctPmN0eF93YS5pbmRjdHhfYmF0Y2hfb2Zmc2V0KSB8CisJCQkJcmluZy0+Y3R4X3dhLmlu ZGN0eF9iYXRjaF9zaXplOworCisJCQlyZWdfc3RhdGVbQ1RYX1JDU19JTkRJUkVDVF9DVFhfT0ZG U0VUKzFdID0KKwkJCQlDVFhfUkNTX0lORElSRUNUX0NUWF9PRkZTRVRfREVGQVVMVCA8PCA2Owor CisJCQlyZWdfc3RhdGVbQ1RYX0JCX1BFUl9DVFhfUFRSKzFdID0KKwkJCQkoaTkxNV9nZW1fb2Jq X2dndHRfb2Zmc2V0KHJpbmctPmN0eF93YS5vYmopICsKKwkJCQkgcmluZy0+Y3R4X3dhLnBlcmN0 eF9iYXRjaF9vZmZzZXQpIHwgMHgwMTsKKwkJfQogCX0KIAlyZWdfc3RhdGVbQ1RYX0xSSV9IRUFE RVJfMV0gPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSg5KTsKIAlyZWdfc3RhdGVbQ1RYX0xSSV9IRUFE RVJfMV0gfD0gTUlfTFJJX0ZPUkNFX1BPU1RFRDsKQEAgLTE4MjIsNiArMTkyNCw4IEBAIHZvaWQg aW50ZWxfbHJfY29udGV4dF9mcmVlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCiAJCQlpZiAo Y3R4ID09IHJpbmctPmRlZmF1bHRfY29udGV4dCkgewogCQkJCWludGVsX3VucGluX3JpbmdidWZm ZXJfb2JqKHJpbmdidWYpOwogCQkJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmop OworCQkJCWlmIChyaW5nLT5pZCA9PSBSQ1MpCisJCQkJCWxyY19kZXN0cm95X2N0eF93YV9vYmoo cmluZyk7CiAJCQl9CiAJCQlXQVJOX09OKGN0eC0+ZW5naW5lW3JpbmctPmlkXS5waW5fY291bnQp OwogCQkJaW50ZWxfZGVzdHJveV9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKQEAgLTE4NzIsNiAr MTk3Niw0NiBAQCBzdGF0aWMgdm9pZCBscmNfc2V0dXBfaGFyZHdhcmVfc3RhdHVzX3BhZ2Uoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAlQT1NUSU5HX1JFQUQoUklOR19IV1NfUEdBKHJp bmctPm1taW9fYmFzZSkpOwogfQogCitzdGF0aWMgaW50IGxyY19zZXR1cF9jdHhfd2Ffb2JqKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIHUzMiBzaXplKQoreworCWludCByZXQ7CisJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IHJpbmctPmRldjsKKworCVdBUk5fT04ocmluZy0+aWQgIT0g UkNTKTsKKworCXNpemUgPSByb3VuZHVwKHNpemUsIFBBR0VfU0laRSk7CisJcmluZy0+Y3R4X3dh Lm9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChkZXYsIHNpemUpOworCWlmICghcmluZy0+Y3R4 X3dhLm9iaikgeworCQlEUk1fREVCVUdfRFJJVkVSKCJBbGxvYyBMUkMgQ3R4IFdBIGJhY2tpbmcg b2JqIGZhaWxlZC5cbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyZXQgPSBpOTE1X2dl bV9vYmpfZ2d0dF9waW4ocmluZy0+Y3R4X3dhLm9iaiwgR0VOOF9MUl9DT05URVhUX0FMSUdOLCAw KTsKKwlpZiAocmV0KSB7CisJCURSTV9ERUJVR19EUklWRVIoIlBpbiBMUkMgQ3R4IFdBIGJhY2tp bmcgb2JqIGZhaWxlZDogJWRcbiIsCisJCQkJIHJldCk7CisJCWRybV9nZW1fb2JqZWN0X3VucmVm ZXJlbmNlKCZyaW5nLT5jdHhfd2Eub2JqLT5iYXNlKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwly aW5nLT5jdHhfd2EuaW5kY3R4X2JhdGNoX29mZnNldCA9IDA7CisJcmluZy0+Y3R4X3dhLmluZGN0 eF9iYXRjaF9zaXplID0gNDsgLyogaW4gY2FjaGUgbGluZXMgKi8KKwlyaW5nLT5jdHhfd2EucGVy Y3R4X2JhdGNoX29mZnNldCA9CisJCXJpbmctPmN0eF93YS5pbmRjdHhfYmF0Y2hfc2l6ZSAqIENB Q0hFTElORV9CWVRFUzsKKwlyaW5nLT5jdHhfd2EucGVyY3R4X2JhdGNoX3NpemUgPSAyOworCisJ cmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGxyY19kZXN0cm95X2N0eF93YV9vYmooc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZykKK3sKKwlXQVJOX09OKHJpbmctPmlkICE9IFJDUyk7CisK KwlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihyaW5nLT5jdHhfd2Eub2JqKTsKKwlkcm1fZ2Vt X29iamVjdF91bnJlZmVyZW5jZSgmcmluZy0+Y3R4X3dhLm9iai0+YmFzZSk7CisJcmluZy0+Y3R4 X3dhLm9iaiA9IE5VTEw7Cit9CisKIC8qKgogICogaW50ZWxfbHJfY29udGV4dF9kZWZlcnJlZF9j cmVhdGUoKSAtIGNyZWF0ZSB0aGUgTFJDIHNwZWNpZmljIGJpdHMgb2YgYSBjb250ZXh0CiAgKiBA Y3R4OiBMUiBjb250ZXh0IHRvIGNyZWF0ZS4KQEAgLTE5NTQsNiArMjA5OCwyMiBAQCBpbnQgaW50 ZWxfbHJfY29udGV4dF9kZWZlcnJlZF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwK IAogCX0KIAorCWlmIChyaW5nLT5pZCA9PSBSQ1MgJiYgaXNfZ2xvYmFsX2RlZmF1bHRfY3R4KSB7 CisJCXJldCA9IGxyY19zZXR1cF9jdHhfd2Ffb2JqKHJpbmcsIFBBR0VfU0laRSk7CisJCWlmIChy ZXQpIHsKKwkJCURSTV9ERUJVR19EUklWRVIoCisJCQkJIkZhaWxlZCB0byBzZXR1cCBjb250ZXh0 IFdBIHBhZ2U6ICVkXG4iLCByZXQpOworCQkJZ290byBlcnJvcjsKKwkJfQorCisJCXJldCA9IGlu dGVsX2luaXRfd29ya2Fyb3VuZF9iYihyaW5nKTsKKwkJaWYgKHJldCkgeworCQkJbHJjX2Rlc3Ry b3lfY3R4X3dhX29iaihyaW5nKTsKKwkJCURSTV9FUlJPUigiV0EgYmF0Y2ggYnVmZmVycyBhcmUg bm90IGluaXRpYWxpemVkOiAlZFxuIiwKKwkJCQkgIHJldCk7CisJCX0KKwl9CisKIAlyZXQgPSBw b3B1bGF0ZV9scl9jb250ZXh0KGN0eCwgY3R4X29iaiwgcmluZywgcmluZ2J1Zik7CiAJaWYgKHJl dCkgewogCQlEUk1fREVCVUdfRFJJVkVSKCJGYWlsZWQgdG8gcG9wdWxhdGUgTFJDOiAlZFxuIiwg cmV0KTsKQEAgLTE5ODIsNiArMjE0Miw4IEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVk X2NyZWF0ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAogCXJldHVybiAwOwogCiBlcnJvcjoK KwlpZiAocmluZy0+aWQgPT0gUkNTICYmIGlzX2dsb2JhbF9kZWZhdWx0X2N0eCkKKwkJbHJjX2Rl c3Ryb3lfY3R4X3dhX29iaihyaW5nKTsKIAlpZiAoaXNfZ2xvYmFsX2RlZmF1bHRfY3R4KQogCQlp bnRlbF91bnBpbl9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKIGVycm9yX2Rlc3Ryb3lfcmJ1ZjoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCAzOWY2ZGZjLi42MWMx NDAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0xMTksNiAr MTE5LDE0IEBAIHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyIHsKIAogc3RydWN0CWludGVsX2NvbnRl eHQ7CiAKK3N0cnVjdCAgaTkxNV9jdHhfd29ya2Fyb3VuZHMgeworCXUzMiBpbmRjdHhfYmF0Y2hf b2Zmc2V0OworCXUzMiBpbmRjdHhfYmF0Y2hfc2l6ZTsKKwl1MzIgcGVyY3R4X2JhdGNoX29mZnNl dDsKKwl1MzIgcGVyY3R4X2JhdGNoX3NpemU7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iajsKK307CisKIHN0cnVjdCAgaW50ZWxfZW5naW5lX2NzIHsKIAljb25zdCBjaGFyCSpuYW1l OwogCWVudW0gaW50ZWxfcmluZ19pZCB7CkBAIC0xNDIsNiArMTUwLDcgQEAgc3RydWN0ICBpbnRl bF9lbmdpbmVfY3MgewogCXN0cnVjdCBpOTE1X2dlbV9iYXRjaF9wb29sIGJhdGNoX3Bvb2w7CiAK IAlzdHJ1Y3QgaW50ZWxfaHdfc3RhdHVzX3BhZ2Ugc3RhdHVzX3BhZ2U7CisJc3RydWN0IGk5MTVf Y3R4X3dvcmthcm91bmRzIGN0eF93YTsKIAogCXVuc2lnbmVkIGlycV9yZWZjb3VudDsgLyogcHJv dGVjdGVkIGJ5IGRldl9wcml2LT5pcnFfbG9jayAqLwogCXUzMgkJaXJxX2VuYWJsZV9tYXNrOwkv KiBiaXRtYXNrIHRvIGVuYWJsZSByaW5nIGludGVycnVwdCAqLwotLSAKMi4zLjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==