From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [RFC 2/2] drm/i915/audio: replace I915_*() calls with the new intel_de_*() calls Date: Tue, 29 Oct 2019 12:51:56 +0200 Message-ID: <20191029105156.21658-2-jani.nikula@intel.com> References: <20191029105156.21658-1-jani.nikula@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 AF6476E1D5 for ; Tue, 29 Oct 2019 10:52:09 +0000 (UTC) In-Reply-To: <20191029105156.21658-1-jani.nikula@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 Cc: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org Tm90IGZvciBtZXJnaW5nLCBmb3IgZGVtbyBvbmx5LgoKU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1 bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2F1ZGlvLmMgfCAxMTMgKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCmluZGV4IDg1ZTZiMmJiYjM0Zi4uNDZkN2JkOTc3 NTEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F1ZGlv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCkBAIC0z Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiaW50ZWxfYXVkaW8uaCIKICNpbmNsdWRlICJpbnRlbF9k aXNwbGF5X3R5cGVzLmgiCiAjaW5jbHVkZSAiaW50ZWxfbHBlX2F1ZGlvLmgiCisjaW5jbHVkZSAi aW50ZWxfZGlzcGxheV91bmNvcmUuaCIKIAogLyoqCiAgKiBET0M6IEhpZ2ggRGVmaW5pdGlvbiBB dWRpbyBvdmVyIEhETUkgYW5kIERpc3BsYXkgUG9ydApAQCAtMjkxLDE4ICsyOTIsMTggQEAgc3Rh dGljIGJvb2wgaW50ZWxfZWxkX3VwdG9kYXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCiAJdTMyIHRtcDsKIAlpbnQgaTsKIAotCXRtcCA9IEk5MTVfUkVBRChyZWdfZWxkdik7CisJ dG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgcmVnX2VsZHYpOwogCXRtcCAmPSBiaXRzX2Vs ZHY7CiAKIAlpZiAoIXRtcCkKIAkJcmV0dXJuIGZhbHNlOwogCi0JdG1wID0gSTkxNV9SRUFEKHJl Z19lbGRhKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCByZWdfZWxkYSk7CiAJdG1w ICY9IH5iaXRzX2VsZGE7Ci0JSTkxNV9XUklURShyZWdfZWxkYSwgdG1wKTsKKwlpbnRlbF9kZV93 cml0ZShkZXZfcHJpdiwgcmVnX2VsZGEsIHRtcCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZHJtX2Vs ZF9zaXplKGVsZCkgLyA0OyBpKyspCi0JCWlmIChJOTE1X1JFQUQocmVnX2VkaWQpICE9ICooKGNv bnN0IHUzMiAqKWVsZCArIGkpKQorCQlpZiAoaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgcmVnX2Vk aWQpICE9ICooKGNvbnN0IHUzMiAqKWVsZCArIGkpKQogCQkJcmV0dXJuIGZhbHNlOwogCiAJcmV0 dXJuIHRydWU7CkBAIC0zMTcsMTYgKzMxOCwxNiBAQCBzdGF0aWMgdm9pZCBnNHhfYXVkaW9fY29k ZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCURSTV9ERUJVR19L TVMoIkRpc2FibGUgYXVkaW8gY29kZWNcbiIpOwogCi0JdG1wID0gSTkxNV9SRUFEKEc0WF9BVURf VklEX0RJRCk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRzRYX0FVRF9WSURfRElE KTsKIAlpZiAodG1wID09IElOVEVMX0FVRElPX0RFVkJMQyB8fCB0bXAgPT0gSU5URUxfQVVESU9f REVWQ0wpCiAJCWVsZHYgPSBHNFhfRUxEVl9ERVZDTF9ERVZCTEM7CiAJZWxzZQogCQllbGR2ID0g RzRYX0VMRFZfREVWQ1RHOwogCiAJLyogSW52YWxpZGF0ZSBFTEQgKi8KLQl0bXAgPSBJOTE1X1JF QUQoRzRYX0FVRF9DTlRMX1NUKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBHNFhf QVVEX0NOVExfU1QpOwogCXRtcCAmPSB+ZWxkdjsKLQlJOTE1X1dSSVRFKEc0WF9BVURfQ05UTF9T VCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRzRYX0FVRF9DTlRMX1NULCB0bXAp OwogfQogCiBzdGF0aWMgdm9pZCBnNHhfYXVkaW9fY29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLApAQCAtMzQyLDcgKzM0Myw3IEBAIHN0YXRpYyB2b2lkIGc0eF9hdWRp b19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlEUk1fREVC VUdfS01TKCJFbmFibGUgYXVkaW8gY29kZWMsICV1IGJ5dGVzIEVMRFxuIiwgZHJtX2VsZF9zaXpl KGVsZCkpOwogCi0JdG1wID0gSTkxNV9SRUFEKEc0WF9BVURfVklEX0RJRCk7CisJdG1wID0gaW50 ZWxfZGVfcmVhZChkZXZfcHJpdiwgRzRYX0FVRF9WSURfRElEKTsKIAlpZiAodG1wID09IElOVEVM X0FVRElPX0RFVkJMQyB8fCB0bXAgPT0gSU5URUxfQVVESU9fREVWQ0wpCiAJCWVsZHYgPSBHNFhf RUxEVl9ERVZDTF9ERVZCTEM7CiAJZWxzZQpAQCAtMzU0LDE5ICszNTUsMjAgQEAgc3RhdGljIHZv aWQgZzR4X2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJCSAgICAgICBHNFhfSERNSVdfSERNSUVESUQpKQogCQlyZXR1cm47CiAKLQl0bXAgPSBJOTE1 X1JFQUQoRzRYX0FVRF9DTlRMX1NUKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBH NFhfQVVEX0NOVExfU1QpOwogCXRtcCAmPSB+KGVsZHYgfCBHNFhfRUxEX0FERFJfTUFTSyk7CiAJ bGVuID0gKHRtcCA+PiA5KSAmIDB4MWY7CQkvKiBFTEQgYnVmZmVyIHNpemUgKi8KLQlJOTE1X1dS SVRFKEc0WF9BVURfQ05UTF9TVCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRzRY X0FVRF9DTlRMX1NULCB0bXApOwogCiAJbGVuID0gbWluKGRybV9lbGRfc2l6ZShlbGQpIC8gNCwg bGVuKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJFTEQgc2l6ZSAlZFxuIiwgbGVuKTsKIAlmb3IgKGkg PSAwOyBpIDwgbGVuOyBpKyspCi0JCUk5MTVfV1JJVEUoRzRYX0hETUlXX0hETUlFRElELCAqKChj b25zdCB1MzIgKillbGQgKyBpKSk7CisJCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBHNFhfSERN SVdfSERNSUVESUQsCisJCQkgICAgICAgKigoY29uc3QgdTMyICopZWxkICsgaSkpOwogCi0JdG1w ID0gSTkxNV9SRUFEKEc0WF9BVURfQ05UTF9TVCk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZf cHJpdiwgRzRYX0FVRF9DTlRMX1NUKTsKIAl0bXAgfD0gZWxkdjsKLQlJOTE1X1dSSVRFKEc0WF9B VURfQ05UTF9TVCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRzRYX0FVRF9DTlRM X1NULCB0bXApOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMzg4LDcgKzM5MCw3IEBAIGhzd19kcF9h dWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWVsc2UK IAkJRFJNX0RFQlVHX0tNUygidXNpbmcgYXV0b21hdGljIE1hdWQsIE5hdWRcbiIpOwogCi0JdG1w ID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZHKGNwdV90cmFuc2NvZGVyKSk7CisJdG1wID0gaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwgSFNXX0FVRF9DRkcoY3B1X3RyYW5zY29kZXIpKTsKIAl0bXAgJj0g fkFVRF9DT05GSUdfTl9WQUxVRV9JTkRFWDsKIAl0bXAgJj0gfkFVRF9DT05GSUdfUElYRUxfQ0xP Q0tfSERNSV9NQVNLOwogCXRtcCAmPSB+QVVEX0NPTkZJR19OX1BST0dfRU5BQkxFOwpAQCAtNDAw LDkgKzQwMiw5IEBAIGhzd19kcF9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQl0bXAgfD0gQVVEX0NPTkZJR19OX1BST0dfRU5BQkxFOwogCX0KIAot CUk5MTVfV1JJVEUoSFNXX0FVRF9DRkcoY3B1X3RyYW5zY29kZXIpLCB0bXApOworCWludGVsX2Rl X3dyaXRlKGRldl9wcml2LCBIU1dfQVVEX0NGRyhjcHVfdHJhbnNjb2RlciksIHRtcCk7CiAKLQl0 bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9NX0NUU19FTkFCTEUoY3B1X3RyYW5zY29kZXIpKTsKKwl0 bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBIU1dfQVVEX01fQ1RTX0VOQUJMRShjcHVfdHJh bnNjb2RlcikpOwogCXRtcCAmPSB+QVVEX0NPTkZJR19NX01BU0s7CiAJdG1wICY9IH5BVURfTV9D VFNfTV9WQUxVRV9JTkRFWDsKIAl0bXAgJj0gfkFVRF9NX0NUU19NX1BST0dfRU5BQkxFOwpAQCAt NDEzLDcgKzQxNSw3IEBAIGhzd19kcF9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCQl0bXAgfD0gQVVEX01fQ1RTX01fUFJPR19FTkFCTEU7CiAJfQog Ci0JSTkxNV9XUklURShIU1dfQVVEX01fQ1RTX0VOQUJMRShjcHVfdHJhbnNjb2RlciksIHRtcCk7 CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfTV9DVFNfRU5BQkxFKGNwdV90cmFu c2NvZGVyKSwgdG1wKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTQyOSw3ICs0MzEsNyBAQCBoc3df aGRtaV9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAog CiAJcmF0ZSA9IGFjb21wID8gYWNvbXAtPmF1ZF9zYW1wbGVfcmF0ZVtwb3J0XSA6IDA7CiAKLQl0 bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9DRkcoY3B1X3RyYW5zY29kZXIpKTsKKwl0bXAgPSBpbnRl bF9kZV9yZWFkKGRldl9wcml2LCBIU1dfQVVEX0NGRyhjcHVfdHJhbnNjb2RlcikpOwogCXRtcCAm PSB+QVVEX0NPTkZJR19OX1ZBTFVFX0lOREVYOwogCXRtcCAmPSB+QVVEX0NPTkZJR19QSVhFTF9D TE9DS19IRE1JX01BU0s7CiAJdG1wICY9IH5BVURfQ09ORklHX05fUFJPR19FTkFCTEU7CkBAIC00 NDYsMTYgKzQ0OCwxNiBAQCBoc3dfaGRtaV9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQlEUk1fREVCVUdfS01TKCJ1c2luZyBhdXRvbWF0aWMgTlxu Iik7CiAJfQogCi0JSTkxNV9XUklURShIU1dfQVVEX0NGRyhjcHVfdHJhbnNjb2RlciksIHRtcCk7 CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfQ0ZHKGNwdV90cmFuc2NvZGVyKSwg dG1wKTsKIAogCS8qCiAJICogTGV0J3MgZGlzYWJsZSAiRW5hYmxlIENUUyBvciBNIFByb2cgYml0 IgogCSAqIGFuZCBsZXQgSFcgY2FsY3VsYXRlIHRoZSB2YWx1ZQogCSAqLwotCXRtcCA9IEk5MTVf UkVBRChIU1dfQVVEX01fQ1RTX0VOQUJMRShjcHVfdHJhbnNjb2RlcikpOworCXRtcCA9IGludGVs X2RlX3JlYWQoZGV2X3ByaXYsIEhTV19BVURfTV9DVFNfRU5BQkxFKGNwdV90cmFuc2NvZGVyKSk7 CiAJdG1wICY9IH5BVURfTV9DVFNfTV9QUk9HX0VOQUJMRTsKIAl0bXAgJj0gfkFVRF9NX0NUU19N X1ZBTFVFX0lOREVYOwotCUk5MTVfV1JJVEUoSFNXX0FVRF9NX0NUU19FTkFCTEUoY3B1X3RyYW5z Y29kZXIpLCB0bXApOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBIU1dfQVVEX01fQ1RTX0VO QUJMRShjcHVfdHJhbnNjb2RlciksIHRtcCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC00ODIsMjAg KzQ4NCwyMCBAQCBzdGF0aWMgdm9pZCBoc3dfYXVkaW9fY29kZWNfZGlzYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+YXZfbXV0ZXgpOwog CiAJLyogRGlzYWJsZSB0aW1lc3RhbXBzICovCi0JdG1wID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZH KGNwdV90cmFuc2NvZGVyKSk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgSFNXX0FV RF9DRkcoY3B1X3RyYW5zY29kZXIpKTsKIAl0bXAgJj0gfkFVRF9DT05GSUdfTl9WQUxVRV9JTkRF WDsKIAl0bXAgfD0gQVVEX0NPTkZJR19OX1BST0dfRU5BQkxFOwogCXRtcCAmPSB+QVVEX0NPTkZJ R19VUFBFUl9OX01BU0s7CiAJdG1wICY9IH5BVURfQ09ORklHX0xPV0VSX05fTUFTSzsKIAlpZiAo aW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihvbGRfY3J0Y19zdGF0ZSkpCiAJCXRtcCB8PSBBVURf Q09ORklHX05fVkFMVUVfSU5ERVg7Ci0JSTkxNV9XUklURShIU1dfQVVEX0NGRyhjcHVfdHJhbnNj b2RlciksIHRtcCk7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfQ0ZHKGNwdV90 cmFuc2NvZGVyKSwgdG1wKTsKIAogCS8qIEludmFsaWRhdGUgRUxEICovCi0JdG1wID0gSTkxNV9S RUFEKEhTV19BVURfUElOX0VMRF9DUF9WTEQpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3By aXYsIEhTV19BVURfUElOX0VMRF9DUF9WTEQpOwogCXRtcCAmPSB+QVVESU9fRUxEX1ZBTElEKGNw dV90cmFuc2NvZGVyKTsKIAl0bXAgJj0gfkFVRElPX09VVFBVVF9FTkFCTEUoY3B1X3RyYW5zY29k ZXIpOwotCUk5MTVfV1JJVEUoSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1wKTsKKwlpbnRlbF9k ZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1wKTsKIAogCW11dGV4 X3VubG9jaygmZGV2X3ByaXYtPmF2X211dGV4KTsKIH0KQEAgLTUxNywxMCArNTE5LDEwIEBAIHN0 YXRpYyB2b2lkIGhzd19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmF2X211dGV4KTsKIAogCS8qIEVuYWJsZSBh dWRpbyBwcmVzZW5jZSBkZXRlY3QsIGludmFsaWRhdGUgRUxEICovCi0JdG1wID0gSTkxNV9SRUFE KEhTV19BVURfUElOX0VMRF9DUF9WTEQpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYs IEhTV19BVURfUElOX0VMRF9DUF9WTEQpOwogCXRtcCB8PSBBVURJT19PVVRQVVRfRU5BQkxFKGNw dV90cmFuc2NvZGVyKTsKIAl0bXAgJj0gfkFVRElPX0VMRF9WQUxJRChjcHVfdHJhbnNjb2Rlcik7 Ci0JSTkxNV9XUklURShIU1dfQVVEX1BJTl9FTERfQ1BfVkxELCB0bXApOworCWludGVsX2RlX3dy aXRlKGRldl9wcml2LCBIU1dfQVVEX1BJTl9FTERfQ1BfVkxELCB0bXApOwogCiAJLyoKIAkgKiBG SVhNRTogV2UncmUgc3VwcG9zZWQgdG8gd2FpdCBmb3IgdmJsYW5rIGhlcmUsIGJ1dCB3ZSBoYXZl IHZibGFua3MKQEAgLTUzMCwxOSArNTMyLDIwIEBAIHN0YXRpYyB2b2lkIGhzd19hdWRpb19jb2Rl Y19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJICovCiAKIAkvKiBSZXNl dCBFTEQgd3JpdGUgYWRkcmVzcyAqLwotCXRtcCA9IEk5MTVfUkVBRChIU1dfQVVEX0RJUF9FTERf Q1RSTChjcHVfdHJhbnNjb2RlcikpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIEhT V19BVURfRElQX0VMRF9DVFJMKGNwdV90cmFuc2NvZGVyKSk7CiAJdG1wICY9IH5JQlhfRUxEX0FE RFJFU1NfTUFTSzsKLQlJOTE1X1dSSVRFKEhTV19BVURfRElQX0VMRF9DVFJMKGNwdV90cmFuc2Nv ZGVyKSwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9ESVBfRUxEX0NU UkwoY3B1X3RyYW5zY29kZXIpLCB0bXApOwogCiAJLyogVXAgdG8gODQgYnl0ZXMgb2YgaHcgRUxE IGJ1ZmZlciAqLwogCWxlbiA9IG1pbihkcm1fZWxkX3NpemUoZWxkKSwgODQpOwogCWZvciAoaSA9 IDA7IGkgPCBsZW4gLyA0OyBpKyspCi0JCUk5MTVfV1JJVEUoSFNXX0FVRF9FRElEX0RBVEEoY3B1 X3RyYW5zY29kZXIpLCAqKChjb25zdCB1MzIgKillbGQgKyBpKSk7CisJCWludGVsX2RlX3dyaXRl KGRldl9wcml2LCBIU1dfQVVEX0VESURfREFUQShjcHVfdHJhbnNjb2RlciksCisJCQkgICAgICAg KigoY29uc3QgdTMyICopZWxkICsgaSkpOwogCiAJLyogRUxEIHZhbGlkICovCi0JdG1wID0gSTkx NV9SRUFEKEhTV19BVURfUElOX0VMRF9DUF9WTEQpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2 X3ByaXYsIEhTV19BVURfUElOX0VMRF9DUF9WTEQpOwogCXRtcCB8PSBBVURJT19FTERfVkFMSUQo Y3B1X3RyYW5zY29kZXIpOwotCUk5MTVfV1JJVEUoSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1w KTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1w KTsKIAogCS8qIEVuYWJsZSB0aW1lc3RhbXBzICovCiAJaHN3X2F1ZGlvX2NvbmZpZ191cGRhdGUo ZW5jb2RlciwgY3J0Y19zdGF0ZSk7CkBAIC01ODAsMjEgKzU4MywyMSBAQCBzdGF0aWMgdm9pZCBp bGtfYXVkaW9fY29kZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9 CiAKIAkvKiBEaXNhYmxlIHRpbWVzdGFtcHMgKi8KLQl0bXAgPSBJOTE1X1JFQUQoYXVkX2NvbmZp Zyk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgYXVkX2NvbmZpZyk7CiAJdG1wICY9 IH5BVURfQ09ORklHX05fVkFMVUVfSU5ERVg7CiAJdG1wIHw9IEFVRF9DT05GSUdfTl9QUk9HX0VO QUJMRTsKIAl0bXAgJj0gfkFVRF9DT05GSUdfVVBQRVJfTl9NQVNLOwogCXRtcCAmPSB+QVVEX0NP TkZJR19MT1dFUl9OX01BU0s7CiAJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIob2xkX2Ny dGNfc3RhdGUpKQogCQl0bXAgfD0gQVVEX0NPTkZJR19OX1ZBTFVFX0lOREVYOwotCUk5MTVfV1JJ VEUoYXVkX2NvbmZpZywgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgYXVkX2NvbmZp ZywgdG1wKTsKIAogCWVsZHYgPSBJQlhfRUxEX1ZBTElEKHBvcnQpOwogCiAJLyogSW52YWxpZGF0 ZSBFTEQgKi8KLQl0bXAgPSBJOTE1X1JFQUQoYXVkX2NudHJsX3N0Mik7CisJdG1wID0gaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwgYXVkX2NudHJsX3N0Mik7CiAJdG1wICY9IH5lbGR2OwotCUk5MTVf V1JJVEUoYXVkX2NudHJsX3N0MiwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgYXVk X2NudHJsX3N0MiwgdG1wKTsKIH0KIAogc3RhdGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKQEAgLTY0NiwyNyArNjQ5LDI4IEBAIHN0 YXRpYyB2b2lkIGlsa19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJZWxkdiA9IElCWF9FTERfVkFMSUQocG9ydCk7CiAKIAkvKiBJbnZhbGlkYXRlIEVM RCAqLwotCXRtcCA9IEk5MTVfUkVBRChhdWRfY250cmxfc3QyKTsKKwl0bXAgPSBpbnRlbF9kZV9y ZWFkKGRldl9wcml2LCBhdWRfY250cmxfc3QyKTsKIAl0bXAgJj0gfmVsZHY7Ci0JSTkxNV9XUklU RShhdWRfY250cmxfc3QyLCB0bXApOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBhdWRfY250 cmxfc3QyLCB0bXApOwogCiAJLyogUmVzZXQgRUxEIHdyaXRlIGFkZHJlc3MgKi8KLQl0bXAgPSBJ OTE1X1JFQUQoYXVkX2NudGxfc3QpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIGF1 ZF9jbnRsX3N0KTsKIAl0bXAgJj0gfklCWF9FTERfQUREUkVTU19NQVNLOwotCUk5MTVfV1JJVEUo YXVkX2NudGxfc3QsIHRtcCk7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIGF1ZF9jbnRsX3N0 LCB0bXApOwogCiAJLyogVXAgdG8gODQgYnl0ZXMgb2YgaHcgRUxEIGJ1ZmZlciAqLwogCWxlbiA9 IG1pbihkcm1fZWxkX3NpemUoZWxkKSwgODQpOwogCWZvciAoaSA9IDA7IGkgPCBsZW4gLyA0OyBp KyspCi0JCUk5MTVfV1JJVEUoaGRtaXdfaGRtaWVkaWQsICooKGNvbnN0IHUzMiAqKWVsZCArIGkp KTsKKwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIGhkbWl3X2hkbWllZGlkLAorCQkJICAgICAg ICooKGNvbnN0IHUzMiAqKWVsZCArIGkpKTsKIAogCS8qIEVMRCB2YWxpZCAqLwotCXRtcCA9IEk5 MTVfUkVBRChhdWRfY250cmxfc3QyKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBh dWRfY250cmxfc3QyKTsKIAl0bXAgfD0gZWxkdjsKLQlJOTE1X1dSSVRFKGF1ZF9jbnRybF9zdDIs IHRtcCk7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIGF1ZF9jbnRybF9zdDIsIHRtcCk7CiAK IAkvKiBFbmFibGUgdGltZXN0YW1wcyAqLwotCXRtcCA9IEk5MTVfUkVBRChhdWRfY29uZmlnKTsK Kwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBhdWRfY29uZmlnKTsKIAl0bXAgJj0gfkFV RF9DT05GSUdfTl9WQUxVRV9JTkRFWDsKIAl0bXAgJj0gfkFVRF9DT05GSUdfTl9QUk9HX0VOQUJM RTsKIAl0bXAgJj0gfkFVRF9DT05GSUdfUElYRUxfQ0xPQ0tfSERNSV9NQVNLOwpAQCAtNjc0LDcg KzY3OCw3IEBAIHN0YXRpYyB2b2lkIGlsa19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCXRtcCB8PSBBVURfQ09ORklHX05fVkFMVUVfSU5ERVg7CiAJ ZWxzZQogCQl0bXAgfD0gYXVkaW9fY29uZmlnX2hkbWlfcGl4ZWxfY2xvY2soY3J0Y19zdGF0ZSk7 Ci0JSTkxNV9XUklURShhdWRfY29uZmlnLCB0bXApOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2 LCBhdWRfY29uZmlnLCB0bXApOwogfQogCiAvKioKQEAgLTg1MCw3ICs4NTQsOCBAQCBzdGF0aWMg dW5zaWduZWQgbG9uZyBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93ZXIoc3RydWN0IGRldmlj ZSAqa2RldikKIAogCWlmIChkZXZfcHJpdi0+YXVkaW9fcG93ZXJfcmVmY291bnQrKyA9PSAwKSB7 CiAJCWlmIChJU19USUdFUkxBS0UoZGV2X3ByaXYpIHx8IElTX0lDRUxBS0UoZGV2X3ByaXYpKSB7 Ci0JCQlJOTE1X1dSSVRFKEFVRF9GUkVRX0NOVFJMLCBkZXZfcHJpdi0+YXVkaW9fZnJlcV9jbnRy bCk7CisJCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgQVVEX0ZSRVFfQ05UUkwsCisJCQkJICAg ICAgIGRldl9wcml2LT5hdWRpb19mcmVxX2NudHJsKTsKIAkJCURSTV9ERUJVR19LTVMoInJlc3Rv cmVkIEFVRF9GUkVRX0NOVFJMIHRvIDB4JXhcbiIsCiAJCQkJICAgICAgZGV2X3ByaXYtPmF1ZGlv X2ZyZXFfY250cmwpOwogCQl9CkBAIC04NjAsOSArODY1LDggQEAgc3RhdGljIHVuc2lnbmVkIGxv bmcgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiAJ CQlnbGtfZm9yY2VfYXVkaW9fY2RjbGsoZGV2X3ByaXYsIHRydWUpOwogCiAJCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQotCQkJSTkxNV9X UklURShBVURfUElOX0JVRl9DVEwsCi0JCQkJICAgKEk5MTVfUkVBRChBVURfUElOX0JVRl9DVEwp IHwKLQkJCQkgICAgQVVEX1BJTl9CVUZfRU5BQkxFKSk7CisJCQlpbnRlbF9kZV93cml0ZShkZXZf cHJpdiwgQVVEX1BJTl9CVUZfQ1RMLAorCQkJCSAgICAgICAoaW50ZWxfZGVfcmVhZChkZXZfcHJp diwgQVVEX1BJTl9CVUZfQ1RMKSB8IEFVRF9QSU5fQlVGX0VOQUJMRSkpOwogCX0KIAogCXJldHVy biByZXQ7CkBAIC04OTcsMTUgKzkwMSwxNSBAQCBzdGF0aWMgdm9pZCBpOTE1X2F1ZGlvX2NvbXBv bmVudF9jb2RlY193YWtlX292ZXJyaWRlKHN0cnVjdCBkZXZpY2UgKmtkZXYsCiAJICogRW5hYmxl L2Rpc2FibGUgZ2VuZXJhdGluZyB0aGUgY29kZWMgd2FrZSBzaWduYWwsIG92ZXJyaWRpbmcgdGhl CiAJICogaW50ZXJuYWwgbG9naWMgdG8gZ2VuZXJhdGUgdGhlIGNvZGVjIHdha2UgdG8gY29udHJv bGxlci4KIAkgKi8KLQl0bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9DSElDS0VOQklUKTsKKwl0bXAg PSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBIU1dfQVVEX0NISUNLRU5CSVQpOwogCXRtcCAmPSB+ U0tMX0FVRF9DT0RFQ19XQUtFX1NJR05BTDsKLQlJOTE1X1dSSVRFKEhTV19BVURfQ0hJQ0tFTkJJ VCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9DSElDS0VOQklULCB0 bXApOwogCXVzbGVlcF9yYW5nZSgxMDAwLCAxNTAwKTsKIAogCWlmIChlbmFibGUpIHsKLQkJdG1w ID0gSTkxNV9SRUFEKEhTV19BVURfQ0hJQ0tFTkJJVCk7CisJCXRtcCA9IGludGVsX2RlX3JlYWQo ZGV2X3ByaXYsIEhTV19BVURfQ0hJQ0tFTkJJVCk7CiAJCXRtcCB8PSBTS0xfQVVEX0NPREVDX1dB S0VfU0lHTkFMOwotCQlJOTE1X1dSSVRFKEhTV19BVURfQ0hJQ0tFTkJJVCwgdG1wKTsKKwkJaW50 ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfQ0hJQ0tFTkJJVCwgdG1wKTsKIAkJdXNsZWVw X3JhbmdlKDEwMDAsIDE1MDApOwogCX0KIApAQCAtMTEyNSw3ICsxMTI5LDggQEAgc3RhdGljIHZv aWQgaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJfQogCiAJaWYgKElTX1RJR0VSTEFLRShkZXZfcHJpdikgfHwgSVNfSUNFTEFLRShk ZXZfcHJpdikpIHsKLQkJZGV2X3ByaXYtPmF1ZGlvX2ZyZXFfY250cmwgPSBJOTE1X1JFQUQoQVVE X0ZSRVFfQ05UUkwpOworCQlkZXZfcHJpdi0+YXVkaW9fZnJlcV9jbnRybCA9IGludGVsX2RlX3Jl YWQoZGV2X3ByaXYsCisJCQkJCQkJICAgQVVEX0ZSRVFfQ05UUkwpOwogCQlEUk1fREVCVUdfS01T KCJpbml0IHZhbHVlIG9mIEFVRF9GUkVRX0NOVFJMIG9mIDB4JXhcbiIsCiAJCQkgICAgICBkZXZf cHJpdi0+YXVkaW9fZnJlcV9jbnRybCk7CiAJfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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 1DDB6CA9EAE for ; Tue, 29 Oct 2019 10:52:12 +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 ED1FA205C9 for ; Tue, 29 Oct 2019 10:52:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED1FA205C9 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 767ED6E201; Tue, 29 Oct 2019 10:52:11 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id AF6476E1D5 for ; Tue, 29 Oct 2019 10:52:09 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Oct 2019 03:52:09 -0700 X-IronPort-AV: E=Sophos;i="5.68,243,1569308400"; d="scan'208";a="193567781" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Oct 2019 03:52:07 -0700 From: Jani Nikula To: intel-gfx@lists.freedesktop.org Date: Tue, 29 Oct 2019 12:51:56 +0200 Message-Id: <20191029105156.21658-2-jani.nikula@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191029105156.21658-1-jani.nikula@intel.com> References: <20191029105156.21658-1-jani.nikula@intel.com> MIME-Version: 1.0 Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Subject: [Intel-gfx] [RFC 2/2] drm/i915/audio: replace I915_*() calls with the new intel_de_*() calls 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: , Cc: Jani Nikula Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191029105156.qNLFHGWHD3al9eEQ-v6ftde8kGmxMwQ9OEig59lmN_Y@z> Tm90IGZvciBtZXJnaW5nLCBmb3IgZGVtbyBvbmx5LgoKU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1 bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2F1ZGlvLmMgfCAxMTMgKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCmluZGV4IDg1ZTZiMmJiYjM0Zi4uNDZkN2JkOTc3 NTEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F1ZGlv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCkBAIC0z Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiaW50ZWxfYXVkaW8uaCIKICNpbmNsdWRlICJpbnRlbF9k aXNwbGF5X3R5cGVzLmgiCiAjaW5jbHVkZSAiaW50ZWxfbHBlX2F1ZGlvLmgiCisjaW5jbHVkZSAi aW50ZWxfZGlzcGxheV91bmNvcmUuaCIKIAogLyoqCiAgKiBET0M6IEhpZ2ggRGVmaW5pdGlvbiBB dWRpbyBvdmVyIEhETUkgYW5kIERpc3BsYXkgUG9ydApAQCAtMjkxLDE4ICsyOTIsMTggQEAgc3Rh dGljIGJvb2wgaW50ZWxfZWxkX3VwdG9kYXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCiAJdTMyIHRtcDsKIAlpbnQgaTsKIAotCXRtcCA9IEk5MTVfUkVBRChyZWdfZWxkdik7CisJ dG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgcmVnX2VsZHYpOwogCXRtcCAmPSBiaXRzX2Vs ZHY7CiAKIAlpZiAoIXRtcCkKIAkJcmV0dXJuIGZhbHNlOwogCi0JdG1wID0gSTkxNV9SRUFEKHJl Z19lbGRhKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCByZWdfZWxkYSk7CiAJdG1w ICY9IH5iaXRzX2VsZGE7Ci0JSTkxNV9XUklURShyZWdfZWxkYSwgdG1wKTsKKwlpbnRlbF9kZV93 cml0ZShkZXZfcHJpdiwgcmVnX2VsZGEsIHRtcCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZHJtX2Vs ZF9zaXplKGVsZCkgLyA0OyBpKyspCi0JCWlmIChJOTE1X1JFQUQocmVnX2VkaWQpICE9ICooKGNv bnN0IHUzMiAqKWVsZCArIGkpKQorCQlpZiAoaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgcmVnX2Vk aWQpICE9ICooKGNvbnN0IHUzMiAqKWVsZCArIGkpKQogCQkJcmV0dXJuIGZhbHNlOwogCiAJcmV0 dXJuIHRydWU7CkBAIC0zMTcsMTYgKzMxOCwxNiBAQCBzdGF0aWMgdm9pZCBnNHhfYXVkaW9fY29k ZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCURSTV9ERUJVR19L TVMoIkRpc2FibGUgYXVkaW8gY29kZWNcbiIpOwogCi0JdG1wID0gSTkxNV9SRUFEKEc0WF9BVURf VklEX0RJRCk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRzRYX0FVRF9WSURfRElE KTsKIAlpZiAodG1wID09IElOVEVMX0FVRElPX0RFVkJMQyB8fCB0bXAgPT0gSU5URUxfQVVESU9f REVWQ0wpCiAJCWVsZHYgPSBHNFhfRUxEVl9ERVZDTF9ERVZCTEM7CiAJZWxzZQogCQllbGR2ID0g RzRYX0VMRFZfREVWQ1RHOwogCiAJLyogSW52YWxpZGF0ZSBFTEQgKi8KLQl0bXAgPSBJOTE1X1JF QUQoRzRYX0FVRF9DTlRMX1NUKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBHNFhf QVVEX0NOVExfU1QpOwogCXRtcCAmPSB+ZWxkdjsKLQlJOTE1X1dSSVRFKEc0WF9BVURfQ05UTF9T VCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRzRYX0FVRF9DTlRMX1NULCB0bXAp OwogfQogCiBzdGF0aWMgdm9pZCBnNHhfYXVkaW9fY29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLApAQCAtMzQyLDcgKzM0Myw3IEBAIHN0YXRpYyB2b2lkIGc0eF9hdWRp b19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlEUk1fREVC VUdfS01TKCJFbmFibGUgYXVkaW8gY29kZWMsICV1IGJ5dGVzIEVMRFxuIiwgZHJtX2VsZF9zaXpl KGVsZCkpOwogCi0JdG1wID0gSTkxNV9SRUFEKEc0WF9BVURfVklEX0RJRCk7CisJdG1wID0gaW50 ZWxfZGVfcmVhZChkZXZfcHJpdiwgRzRYX0FVRF9WSURfRElEKTsKIAlpZiAodG1wID09IElOVEVM X0FVRElPX0RFVkJMQyB8fCB0bXAgPT0gSU5URUxfQVVESU9fREVWQ0wpCiAJCWVsZHYgPSBHNFhf RUxEVl9ERVZDTF9ERVZCTEM7CiAJZWxzZQpAQCAtMzU0LDE5ICszNTUsMjAgQEAgc3RhdGljIHZv aWQgZzR4X2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJCSAgICAgICBHNFhfSERNSVdfSERNSUVESUQpKQogCQlyZXR1cm47CiAKLQl0bXAgPSBJOTE1 X1JFQUQoRzRYX0FVRF9DTlRMX1NUKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBH NFhfQVVEX0NOVExfU1QpOwogCXRtcCAmPSB+KGVsZHYgfCBHNFhfRUxEX0FERFJfTUFTSyk7CiAJ bGVuID0gKHRtcCA+PiA5KSAmIDB4MWY7CQkvKiBFTEQgYnVmZmVyIHNpemUgKi8KLQlJOTE1X1dS SVRFKEc0WF9BVURfQ05UTF9TVCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRzRY X0FVRF9DTlRMX1NULCB0bXApOwogCiAJbGVuID0gbWluKGRybV9lbGRfc2l6ZShlbGQpIC8gNCwg bGVuKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJFTEQgc2l6ZSAlZFxuIiwgbGVuKTsKIAlmb3IgKGkg PSAwOyBpIDwgbGVuOyBpKyspCi0JCUk5MTVfV1JJVEUoRzRYX0hETUlXX0hETUlFRElELCAqKChj b25zdCB1MzIgKillbGQgKyBpKSk7CisJCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBHNFhfSERN SVdfSERNSUVESUQsCisJCQkgICAgICAgKigoY29uc3QgdTMyICopZWxkICsgaSkpOwogCi0JdG1w ID0gSTkxNV9SRUFEKEc0WF9BVURfQ05UTF9TVCk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZf cHJpdiwgRzRYX0FVRF9DTlRMX1NUKTsKIAl0bXAgfD0gZWxkdjsKLQlJOTE1X1dSSVRFKEc0WF9B VURfQ05UTF9TVCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRzRYX0FVRF9DTlRM X1NULCB0bXApOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMzg4LDcgKzM5MCw3IEBAIGhzd19kcF9h dWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWVsc2UK IAkJRFJNX0RFQlVHX0tNUygidXNpbmcgYXV0b21hdGljIE1hdWQsIE5hdWRcbiIpOwogCi0JdG1w ID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZHKGNwdV90cmFuc2NvZGVyKSk7CisJdG1wID0gaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwgSFNXX0FVRF9DRkcoY3B1X3RyYW5zY29kZXIpKTsKIAl0bXAgJj0g fkFVRF9DT05GSUdfTl9WQUxVRV9JTkRFWDsKIAl0bXAgJj0gfkFVRF9DT05GSUdfUElYRUxfQ0xP Q0tfSERNSV9NQVNLOwogCXRtcCAmPSB+QVVEX0NPTkZJR19OX1BST0dfRU5BQkxFOwpAQCAtNDAw LDkgKzQwMiw5IEBAIGhzd19kcF9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQl0bXAgfD0gQVVEX0NPTkZJR19OX1BST0dfRU5BQkxFOwogCX0KIAot CUk5MTVfV1JJVEUoSFNXX0FVRF9DRkcoY3B1X3RyYW5zY29kZXIpLCB0bXApOworCWludGVsX2Rl X3dyaXRlKGRldl9wcml2LCBIU1dfQVVEX0NGRyhjcHVfdHJhbnNjb2RlciksIHRtcCk7CiAKLQl0 bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9NX0NUU19FTkFCTEUoY3B1X3RyYW5zY29kZXIpKTsKKwl0 bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBIU1dfQVVEX01fQ1RTX0VOQUJMRShjcHVfdHJh bnNjb2RlcikpOwogCXRtcCAmPSB+QVVEX0NPTkZJR19NX01BU0s7CiAJdG1wICY9IH5BVURfTV9D VFNfTV9WQUxVRV9JTkRFWDsKIAl0bXAgJj0gfkFVRF9NX0NUU19NX1BST0dfRU5BQkxFOwpAQCAt NDEzLDcgKzQxNSw3IEBAIGhzd19kcF9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCQl0bXAgfD0gQVVEX01fQ1RTX01fUFJPR19FTkFCTEU7CiAJfQog Ci0JSTkxNV9XUklURShIU1dfQVVEX01fQ1RTX0VOQUJMRShjcHVfdHJhbnNjb2RlciksIHRtcCk7 CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfTV9DVFNfRU5BQkxFKGNwdV90cmFu c2NvZGVyKSwgdG1wKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTQyOSw3ICs0MzEsNyBAQCBoc3df aGRtaV9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAog CiAJcmF0ZSA9IGFjb21wID8gYWNvbXAtPmF1ZF9zYW1wbGVfcmF0ZVtwb3J0XSA6IDA7CiAKLQl0 bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9DRkcoY3B1X3RyYW5zY29kZXIpKTsKKwl0bXAgPSBpbnRl bF9kZV9yZWFkKGRldl9wcml2LCBIU1dfQVVEX0NGRyhjcHVfdHJhbnNjb2RlcikpOwogCXRtcCAm PSB+QVVEX0NPTkZJR19OX1ZBTFVFX0lOREVYOwogCXRtcCAmPSB+QVVEX0NPTkZJR19QSVhFTF9D TE9DS19IRE1JX01BU0s7CiAJdG1wICY9IH5BVURfQ09ORklHX05fUFJPR19FTkFCTEU7CkBAIC00 NDYsMTYgKzQ0OCwxNiBAQCBoc3dfaGRtaV9hdWRpb19jb25maWdfdXBkYXRlKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQlEUk1fREVCVUdfS01TKCJ1c2luZyBhdXRvbWF0aWMgTlxu Iik7CiAJfQogCi0JSTkxNV9XUklURShIU1dfQVVEX0NGRyhjcHVfdHJhbnNjb2RlciksIHRtcCk7 CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfQ0ZHKGNwdV90cmFuc2NvZGVyKSwg dG1wKTsKIAogCS8qCiAJICogTGV0J3MgZGlzYWJsZSAiRW5hYmxlIENUUyBvciBNIFByb2cgYml0 IgogCSAqIGFuZCBsZXQgSFcgY2FsY3VsYXRlIHRoZSB2YWx1ZQogCSAqLwotCXRtcCA9IEk5MTVf UkVBRChIU1dfQVVEX01fQ1RTX0VOQUJMRShjcHVfdHJhbnNjb2RlcikpOworCXRtcCA9IGludGVs X2RlX3JlYWQoZGV2X3ByaXYsIEhTV19BVURfTV9DVFNfRU5BQkxFKGNwdV90cmFuc2NvZGVyKSk7 CiAJdG1wICY9IH5BVURfTV9DVFNfTV9QUk9HX0VOQUJMRTsKIAl0bXAgJj0gfkFVRF9NX0NUU19N X1ZBTFVFX0lOREVYOwotCUk5MTVfV1JJVEUoSFNXX0FVRF9NX0NUU19FTkFCTEUoY3B1X3RyYW5z Y29kZXIpLCB0bXApOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBIU1dfQVVEX01fQ1RTX0VO QUJMRShjcHVfdHJhbnNjb2RlciksIHRtcCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC00ODIsMjAg KzQ4NCwyMCBAQCBzdGF0aWMgdm9pZCBoc3dfYXVkaW9fY29kZWNfZGlzYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+YXZfbXV0ZXgpOwog CiAJLyogRGlzYWJsZSB0aW1lc3RhbXBzICovCi0JdG1wID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZH KGNwdV90cmFuc2NvZGVyKSk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgSFNXX0FV RF9DRkcoY3B1X3RyYW5zY29kZXIpKTsKIAl0bXAgJj0gfkFVRF9DT05GSUdfTl9WQUxVRV9JTkRF WDsKIAl0bXAgfD0gQVVEX0NPTkZJR19OX1BST0dfRU5BQkxFOwogCXRtcCAmPSB+QVVEX0NPTkZJ R19VUFBFUl9OX01BU0s7CiAJdG1wICY9IH5BVURfQ09ORklHX0xPV0VSX05fTUFTSzsKIAlpZiAo aW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihvbGRfY3J0Y19zdGF0ZSkpCiAJCXRtcCB8PSBBVURf Q09ORklHX05fVkFMVUVfSU5ERVg7Ci0JSTkxNV9XUklURShIU1dfQVVEX0NGRyhjcHVfdHJhbnNj b2RlciksIHRtcCk7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfQ0ZHKGNwdV90 cmFuc2NvZGVyKSwgdG1wKTsKIAogCS8qIEludmFsaWRhdGUgRUxEICovCi0JdG1wID0gSTkxNV9S RUFEKEhTV19BVURfUElOX0VMRF9DUF9WTEQpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3By aXYsIEhTV19BVURfUElOX0VMRF9DUF9WTEQpOwogCXRtcCAmPSB+QVVESU9fRUxEX1ZBTElEKGNw dV90cmFuc2NvZGVyKTsKIAl0bXAgJj0gfkFVRElPX09VVFBVVF9FTkFCTEUoY3B1X3RyYW5zY29k ZXIpOwotCUk5MTVfV1JJVEUoSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1wKTsKKwlpbnRlbF9k ZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1wKTsKIAogCW11dGV4 X3VubG9jaygmZGV2X3ByaXYtPmF2X211dGV4KTsKIH0KQEAgLTUxNywxMCArNTE5LDEwIEBAIHN0 YXRpYyB2b2lkIGhzd19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmF2X211dGV4KTsKIAogCS8qIEVuYWJsZSBh dWRpbyBwcmVzZW5jZSBkZXRlY3QsIGludmFsaWRhdGUgRUxEICovCi0JdG1wID0gSTkxNV9SRUFE KEhTV19BVURfUElOX0VMRF9DUF9WTEQpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYs IEhTV19BVURfUElOX0VMRF9DUF9WTEQpOwogCXRtcCB8PSBBVURJT19PVVRQVVRfRU5BQkxFKGNw dV90cmFuc2NvZGVyKTsKIAl0bXAgJj0gfkFVRElPX0VMRF9WQUxJRChjcHVfdHJhbnNjb2Rlcik7 Ci0JSTkxNV9XUklURShIU1dfQVVEX1BJTl9FTERfQ1BfVkxELCB0bXApOworCWludGVsX2RlX3dy aXRlKGRldl9wcml2LCBIU1dfQVVEX1BJTl9FTERfQ1BfVkxELCB0bXApOwogCiAJLyoKIAkgKiBG SVhNRTogV2UncmUgc3VwcG9zZWQgdG8gd2FpdCBmb3IgdmJsYW5rIGhlcmUsIGJ1dCB3ZSBoYXZl IHZibGFua3MKQEAgLTUzMCwxOSArNTMyLDIwIEBAIHN0YXRpYyB2b2lkIGhzd19hdWRpb19jb2Rl Y19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJICovCiAKIAkvKiBSZXNl dCBFTEQgd3JpdGUgYWRkcmVzcyAqLwotCXRtcCA9IEk5MTVfUkVBRChIU1dfQVVEX0RJUF9FTERf Q1RSTChjcHVfdHJhbnNjb2RlcikpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIEhT V19BVURfRElQX0VMRF9DVFJMKGNwdV90cmFuc2NvZGVyKSk7CiAJdG1wICY9IH5JQlhfRUxEX0FE RFJFU1NfTUFTSzsKLQlJOTE1X1dSSVRFKEhTV19BVURfRElQX0VMRF9DVFJMKGNwdV90cmFuc2Nv ZGVyKSwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9ESVBfRUxEX0NU UkwoY3B1X3RyYW5zY29kZXIpLCB0bXApOwogCiAJLyogVXAgdG8gODQgYnl0ZXMgb2YgaHcgRUxE IGJ1ZmZlciAqLwogCWxlbiA9IG1pbihkcm1fZWxkX3NpemUoZWxkKSwgODQpOwogCWZvciAoaSA9 IDA7IGkgPCBsZW4gLyA0OyBpKyspCi0JCUk5MTVfV1JJVEUoSFNXX0FVRF9FRElEX0RBVEEoY3B1 X3RyYW5zY29kZXIpLCAqKChjb25zdCB1MzIgKillbGQgKyBpKSk7CisJCWludGVsX2RlX3dyaXRl KGRldl9wcml2LCBIU1dfQVVEX0VESURfREFUQShjcHVfdHJhbnNjb2RlciksCisJCQkgICAgICAg KigoY29uc3QgdTMyICopZWxkICsgaSkpOwogCiAJLyogRUxEIHZhbGlkICovCi0JdG1wID0gSTkx NV9SRUFEKEhTV19BVURfUElOX0VMRF9DUF9WTEQpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2 X3ByaXYsIEhTV19BVURfUElOX0VMRF9DUF9WTEQpOwogCXRtcCB8PSBBVURJT19FTERfVkFMSUQo Y3B1X3RyYW5zY29kZXIpOwotCUk5MTVfV1JJVEUoSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1w KTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1w KTsKIAogCS8qIEVuYWJsZSB0aW1lc3RhbXBzICovCiAJaHN3X2F1ZGlvX2NvbmZpZ191cGRhdGUo ZW5jb2RlciwgY3J0Y19zdGF0ZSk7CkBAIC01ODAsMjEgKzU4MywyMSBAQCBzdGF0aWMgdm9pZCBp bGtfYXVkaW9fY29kZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9 CiAKIAkvKiBEaXNhYmxlIHRpbWVzdGFtcHMgKi8KLQl0bXAgPSBJOTE1X1JFQUQoYXVkX2NvbmZp Zyk7CisJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgYXVkX2NvbmZpZyk7CiAJdG1wICY9 IH5BVURfQ09ORklHX05fVkFMVUVfSU5ERVg7CiAJdG1wIHw9IEFVRF9DT05GSUdfTl9QUk9HX0VO QUJMRTsKIAl0bXAgJj0gfkFVRF9DT05GSUdfVVBQRVJfTl9NQVNLOwogCXRtcCAmPSB+QVVEX0NP TkZJR19MT1dFUl9OX01BU0s7CiAJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIob2xkX2Ny dGNfc3RhdGUpKQogCQl0bXAgfD0gQVVEX0NPTkZJR19OX1ZBTFVFX0lOREVYOwotCUk5MTVfV1JJ VEUoYXVkX2NvbmZpZywgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgYXVkX2NvbmZp ZywgdG1wKTsKIAogCWVsZHYgPSBJQlhfRUxEX1ZBTElEKHBvcnQpOwogCiAJLyogSW52YWxpZGF0 ZSBFTEQgKi8KLQl0bXAgPSBJOTE1X1JFQUQoYXVkX2NudHJsX3N0Mik7CisJdG1wID0gaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwgYXVkX2NudHJsX3N0Mik7CiAJdG1wICY9IH5lbGR2OwotCUk5MTVf V1JJVEUoYXVkX2NudHJsX3N0MiwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgYXVk X2NudHJsX3N0MiwgdG1wKTsKIH0KIAogc3RhdGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKQEAgLTY0NiwyNyArNjQ5LDI4IEBAIHN0 YXRpYyB2b2lkIGlsa19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJZWxkdiA9IElCWF9FTERfVkFMSUQocG9ydCk7CiAKIAkvKiBJbnZhbGlkYXRlIEVM RCAqLwotCXRtcCA9IEk5MTVfUkVBRChhdWRfY250cmxfc3QyKTsKKwl0bXAgPSBpbnRlbF9kZV9y ZWFkKGRldl9wcml2LCBhdWRfY250cmxfc3QyKTsKIAl0bXAgJj0gfmVsZHY7Ci0JSTkxNV9XUklU RShhdWRfY250cmxfc3QyLCB0bXApOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBhdWRfY250 cmxfc3QyLCB0bXApOwogCiAJLyogUmVzZXQgRUxEIHdyaXRlIGFkZHJlc3MgKi8KLQl0bXAgPSBJ OTE1X1JFQUQoYXVkX2NudGxfc3QpOworCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIGF1 ZF9jbnRsX3N0KTsKIAl0bXAgJj0gfklCWF9FTERfQUREUkVTU19NQVNLOwotCUk5MTVfV1JJVEUo YXVkX2NudGxfc3QsIHRtcCk7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIGF1ZF9jbnRsX3N0 LCB0bXApOwogCiAJLyogVXAgdG8gODQgYnl0ZXMgb2YgaHcgRUxEIGJ1ZmZlciAqLwogCWxlbiA9 IG1pbihkcm1fZWxkX3NpemUoZWxkKSwgODQpOwogCWZvciAoaSA9IDA7IGkgPCBsZW4gLyA0OyBp KyspCi0JCUk5MTVfV1JJVEUoaGRtaXdfaGRtaWVkaWQsICooKGNvbnN0IHUzMiAqKWVsZCArIGkp KTsKKwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIGhkbWl3X2hkbWllZGlkLAorCQkJICAgICAg ICooKGNvbnN0IHUzMiAqKWVsZCArIGkpKTsKIAogCS8qIEVMRCB2YWxpZCAqLwotCXRtcCA9IEk5 MTVfUkVBRChhdWRfY250cmxfc3QyKTsKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBh dWRfY250cmxfc3QyKTsKIAl0bXAgfD0gZWxkdjsKLQlJOTE1X1dSSVRFKGF1ZF9jbnRybF9zdDIs IHRtcCk7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIGF1ZF9jbnRybF9zdDIsIHRtcCk7CiAK IAkvKiBFbmFibGUgdGltZXN0YW1wcyAqLwotCXRtcCA9IEk5MTVfUkVBRChhdWRfY29uZmlnKTsK Kwl0bXAgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBhdWRfY29uZmlnKTsKIAl0bXAgJj0gfkFV RF9DT05GSUdfTl9WQUxVRV9JTkRFWDsKIAl0bXAgJj0gfkFVRF9DT05GSUdfTl9QUk9HX0VOQUJM RTsKIAl0bXAgJj0gfkFVRF9DT05GSUdfUElYRUxfQ0xPQ0tfSERNSV9NQVNLOwpAQCAtNjc0LDcg KzY3OCw3IEBAIHN0YXRpYyB2b2lkIGlsa19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCXRtcCB8PSBBVURfQ09ORklHX05fVkFMVUVfSU5ERVg7CiAJ ZWxzZQogCQl0bXAgfD0gYXVkaW9fY29uZmlnX2hkbWlfcGl4ZWxfY2xvY2soY3J0Y19zdGF0ZSk7 Ci0JSTkxNV9XUklURShhdWRfY29uZmlnLCB0bXApOworCWludGVsX2RlX3dyaXRlKGRldl9wcml2 LCBhdWRfY29uZmlnLCB0bXApOwogfQogCiAvKioKQEAgLTg1MCw3ICs4NTQsOCBAQCBzdGF0aWMg dW5zaWduZWQgbG9uZyBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93ZXIoc3RydWN0IGRldmlj ZSAqa2RldikKIAogCWlmIChkZXZfcHJpdi0+YXVkaW9fcG93ZXJfcmVmY291bnQrKyA9PSAwKSB7 CiAJCWlmIChJU19USUdFUkxBS0UoZGV2X3ByaXYpIHx8IElTX0lDRUxBS0UoZGV2X3ByaXYpKSB7 Ci0JCQlJOTE1X1dSSVRFKEFVRF9GUkVRX0NOVFJMLCBkZXZfcHJpdi0+YXVkaW9fZnJlcV9jbnRy bCk7CisJCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgQVVEX0ZSRVFfQ05UUkwsCisJCQkJICAg ICAgIGRldl9wcml2LT5hdWRpb19mcmVxX2NudHJsKTsKIAkJCURSTV9ERUJVR19LTVMoInJlc3Rv cmVkIEFVRF9GUkVRX0NOVFJMIHRvIDB4JXhcbiIsCiAJCQkJICAgICAgZGV2X3ByaXYtPmF1ZGlv X2ZyZXFfY250cmwpOwogCQl9CkBAIC04NjAsOSArODY1LDggQEAgc3RhdGljIHVuc2lnbmVkIGxv bmcgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiAJ CQlnbGtfZm9yY2VfYXVkaW9fY2RjbGsoZGV2X3ByaXYsIHRydWUpOwogCiAJCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQotCQkJSTkxNV9X UklURShBVURfUElOX0JVRl9DVEwsCi0JCQkJICAgKEk5MTVfUkVBRChBVURfUElOX0JVRl9DVEwp IHwKLQkJCQkgICAgQVVEX1BJTl9CVUZfRU5BQkxFKSk7CisJCQlpbnRlbF9kZV93cml0ZShkZXZf cHJpdiwgQVVEX1BJTl9CVUZfQ1RMLAorCQkJCSAgICAgICAoaW50ZWxfZGVfcmVhZChkZXZfcHJp diwgQVVEX1BJTl9CVUZfQ1RMKSB8IEFVRF9QSU5fQlVGX0VOQUJMRSkpOwogCX0KIAogCXJldHVy biByZXQ7CkBAIC04OTcsMTUgKzkwMSwxNSBAQCBzdGF0aWMgdm9pZCBpOTE1X2F1ZGlvX2NvbXBv bmVudF9jb2RlY193YWtlX292ZXJyaWRlKHN0cnVjdCBkZXZpY2UgKmtkZXYsCiAJICogRW5hYmxl L2Rpc2FibGUgZ2VuZXJhdGluZyB0aGUgY29kZWMgd2FrZSBzaWduYWwsIG92ZXJyaWRpbmcgdGhl CiAJICogaW50ZXJuYWwgbG9naWMgdG8gZ2VuZXJhdGUgdGhlIGNvZGVjIHdha2UgdG8gY29udHJv bGxlci4KIAkgKi8KLQl0bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9DSElDS0VOQklUKTsKKwl0bXAg PSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBIU1dfQVVEX0NISUNLRU5CSVQpOwogCXRtcCAmPSB+ U0tMX0FVRF9DT0RFQ19XQUtFX1NJR05BTDsKLQlJOTE1X1dSSVRFKEhTV19BVURfQ0hJQ0tFTkJJ VCwgdG1wKTsKKwlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSFNXX0FVRF9DSElDS0VOQklULCB0 bXApOwogCXVzbGVlcF9yYW5nZSgxMDAwLCAxNTAwKTsKIAogCWlmIChlbmFibGUpIHsKLQkJdG1w ID0gSTkxNV9SRUFEKEhTV19BVURfQ0hJQ0tFTkJJVCk7CisJCXRtcCA9IGludGVsX2RlX3JlYWQo ZGV2X3ByaXYsIEhTV19BVURfQ0hJQ0tFTkJJVCk7CiAJCXRtcCB8PSBTS0xfQVVEX0NPREVDX1dB S0VfU0lHTkFMOwotCQlJOTE1X1dSSVRFKEhTV19BVURfQ0hJQ0tFTkJJVCwgdG1wKTsKKwkJaW50 ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhTV19BVURfQ0hJQ0tFTkJJVCwgdG1wKTsKIAkJdXNsZWVw X3JhbmdlKDEwMDAsIDE1MDApOwogCX0KIApAQCAtMTEyNSw3ICsxMTI5LDggQEAgc3RhdGljIHZv aWQgaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJfQogCiAJaWYgKElTX1RJR0VSTEFLRShkZXZfcHJpdikgfHwgSVNfSUNFTEFLRShk ZXZfcHJpdikpIHsKLQkJZGV2X3ByaXYtPmF1ZGlvX2ZyZXFfY250cmwgPSBJOTE1X1JFQUQoQVVE X0ZSRVFfQ05UUkwpOworCQlkZXZfcHJpdi0+YXVkaW9fZnJlcV9jbnRybCA9IGludGVsX2RlX3Jl YWQoZGV2X3ByaXYsCisJCQkJCQkJICAgQVVEX0ZSRVFfQ05UUkwpOwogCQlEUk1fREVCVUdfS01T KCJpbml0IHZhbHVlIG9mIEFVRF9GUkVRX0NOVFJMIG9mIDB4JXhcbiIsCiAJCQkgICAgICBkZXZf cHJpdi0+YXVkaW9fZnJlcV9jbnRybCk7CiAJfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=