From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH v4 2/3] drm/i915: abolish separate per-ring default_context pointers Date: Tue, 19 Jan 2016 19:02:54 +0000 Message-ID: <1453230175-19330-3-git-send-email-david.s.gordon@intel.com> References: <1453230175-19330-1-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 30BBA6E84A for ; Tue, 19 Jan 2016 11:03:02 -0800 (PST) In-Reply-To: <1453230175-19330-1-git-send-email-david.s.gordon@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 Tm93IHRoYXQgd2UndmUgZWxpbWluYXRlZCBhIGxvdCBvZiB1c2VzIG9mIHJpbmctPmRlZmF1bHRf Y29udGV4dCwKd2UgY2FuIGVsaW1pbmF0ZSB0aGUgcG9pbnRlciBpdHNlbGYuCgpBbGwgdGhlIGVu Z2luZXMgc2hhcmUgdGhlIHNhbWUgZGVmYXVsdCBpbnRlbF9jb250ZXh0LCBzbyB3ZSBjYW4ganVz dAprZWVwIGEgc2luZ2xlIHJlZmVyZW5jZSB0byBpdCBpbiB0aGUgZGV2X3ByaXYgc3RydWN0dXJl IHJhdGhlciB0aGFuIG9uZQppbiBlYWNoIG9mIHRoZSBlbmdpbmVbXSBlbGVtZW50cy4gVGhpcyBt YWtlIHJlZmNvdW50aW5nIG1vcmUgc2Vuc2libGUKdG9vLCBhcyB3ZSBub3cgaGF2ZSBhIHJlZmNv dW50IG9mIG9uZSBmb3IgdGhlIG9uZSBwb2ludGVyLCByYXRoZXIgdGhhbgphIHJlZmNvdW50IG9m IG9uZSBidXQgbXVsdGlwbGUgcG9pbnRlcnMuCgpGcm9tIGFuIGlkZWEgYnkgQ2hyaXMgV2lsc29u LgoKdjI6CXRyYW5zZm9ybSBhbiBleHRyYSBpbnN0YW5jZSBvZiByaW5nLT5kZWZhdWx0X2NvbnRl eHQgaW50cm9kdWNlZCBieQogICAgNDJmMWNhZThjIGRybS9pOTE1OiBSZXN0b3JlIGluaGliaXRp bmcgdGhlIGxvYWQgb2YgdGhlIGRlZmF1bHQgY29udGV4dAogICAgVGhhdCBwYXRjaCdzIGNvbW1l bnRhcnkgaW5jbHVkZXM6Cgl2MjogTWFyayB0aGUgZ2xvYmFsIGRlZmF1bHQgY29udGV4dCBhcyB1 bmluaXRpYWxpemVkIG9uIEdQVSByZXNldCBzbwoJICAgIHRoYXQgdGhlIGNvbnRleHQtbG9jYWwg d29ya2Fyb3VuZHMgYXJlIHJlbG9hZGVkIHVwb24gcmUtZW5hYmxpbmcKICAgIFRoZSBjb2RlIGlt cGxlbWVudGluZyB0aGF0IG5vdyBhbHNvIGJlbmVmaXRzIGZyb20gdGhlIHJlcGxhY2VtZW50IG9m CiAgICB0aGUgbXVsdGlwbGUgKHBlci1yaW5nKSBwb2ludGVycyB0byB0aGUgZGVmYXVsdCBjb250 ZXh0IHdpdGggYSBzaW5nbGUKICAgIHBvaW50ZXIgdG8gdGhlIHVuaXF1ZSBrZXJuZWwgY29udGV4 dC4KCnY0OglSZWJhc2VkLCByZW1vdmUgdW5kZXJ1c2VkIGxvY2FsIChOaWNrIEhvYXRoKQoKU2ln bmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KUmV2aWV3 ZWQtYnk6IE5pY2sgSG9hdGggPG5pY2hvbGFzLmhvYXRoQGludGVsLmNvbT4KQ2M6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICAgICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgICAgfCAgNiArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYyAgICB8IDI5ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgIDYgKysrLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAxNyArKysrKysrKystLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgIDEgLQogOCBmaWxlcyBj aGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCmluZGV4IDBiMzU1MGYuLjM3YzJjNTAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCkBAIC0xOTYxLDcgKzE5NjEsNyBAQCBzdGF0aWMgaW50IGk5MTVfY29u dGV4dF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAJCXNlcV9wdXRz KG0sICJIVyBjb250ZXh0ICIpOwogCQlkZXNjcmliZV9jdHgobSwgY3R4KTsKIAkJZm9yX2VhY2hf cmluZyhyaW5nLCBkZXZfcHJpdiwgaSkgewotCQkJaWYgKHJpbmctPmRlZmF1bHRfY29udGV4dCA9 PSBjdHgpCisJCQlpZiAoZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0ID09IGN0eCkKIAkJCQlzZXFf cHJpbnRmKG0sICIoZGVmYXVsdCBjb250ZXh0ICVzKSAiLAogCQkJCQkgICByaW5nLT5uYW1lKTsK IAkJfQpAQCAtMjA1OCw3ICsyMDU4LDcgQEAgc3RhdGljIGludCBpOTE1X2R1bXBfbHJjKHN0cnVj dCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjdHgs ICZkZXZfcHJpdi0+Y29udGV4dF9saXN0LCBsaW5rKSB7CiAJCWZvcl9lYWNoX3JpbmcocmluZywg ZGV2X3ByaXYsIGkpIHsKLQkJCWlmIChyaW5nLT5kZWZhdWx0X2NvbnRleHQgIT0gY3R4KQorCQkJ aWYgKGRldl9wcml2LT5rZXJuZWxfY29udGV4dCAhPSBjdHgpCiAJCQkJaTkxNV9kdW1wX2xyY19v YmoobSwgY3R4LCByaW5nKTsKIAkJfQogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGRm ZWJmOWYuLjU5ZGM3MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTk1OSw2ICsxOTU5 LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCQl2b2lkICgqc3RvcF9yaW5nKShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKIAl9IGd0OwogCisJc3RydWN0IGludGVsX2NvbnRl eHQgKmtlcm5lbF9jb250ZXh0OworCiAJYm9vbCBlZHBfbG93X3Zzd2luZzsKIAogCS8qIHBlcmZv cm0gUEhZIHN0YXRlIHNhbml0eSBjaGVja3M/ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRl eCA4ZTcxNmI2Li4wNmFiZTFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTI2ODAsNyAr MjY4MCw3IEBAIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpyZXFfcmVm KQogCiAJaWYgKGN0eCkgewogCQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKSB7Ci0JCQlpZiAo Y3R4ICE9IHJlcS0+cmluZy0+ZGVmYXVsdF9jb250ZXh0KQorCQkJaWYgKGN0eCAhPSByZXEtPmk5 MTUtPmtlcm5lbF9jb250ZXh0KQogCQkJCWludGVsX2xyX2NvbnRleHRfdW5waW4ocmVxKTsKIAkJ fQogCkBAIC0yNzc2LDcgKzI3NzYsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKgog CWludCBlcnI7CiAKIAlpZiAoY3R4ID09IE5VTEwpCi0JCWN0eCA9IGVuZ2luZS0+ZGVmYXVsdF9j b250ZXh0OworCQljdHggPSB0b19pOTE1KGVuZ2luZS0+ZGV2KS0+a2VybmVsX2NvbnRleHQ7CiAJ ZXJyID0gX19pOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKGVuZ2luZSwgY3R4LCAmcmVxKTsKIAlyZXR1 cm4gZXJyID8gRVJSX1BUUihlcnIpIDogcmVxOwogfQpAQCAtNDg2NCw3ICs0ODY0LDcgQEAgaW50 IGk5MTVfZ2VtX2luaXRfcmluZ3Moc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkgKi8KIAlpbml0 X3VudXNlZF9yaW5ncyhkZXYpOwogCi0JQlVHX09OKCFkZXZfcHJpdi0+cmluZ1tSQ1NdLmRlZmF1 bHRfY29udGV4dCk7CisJQlVHX09OKCFkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQpOwogCiAJcmV0 ID0gaTkxNV9wcGd0dF9pbml0X2h3KGRldik7CiAJaWYgKHJldCkgewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGMyNTA4M2MuLjZhNGY2NGIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTM0NywyMiArMzQ3LDIwIEBAIHZvaWQg aTkxNV9nZW1fY29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJaTkxNV9n ZW1fY29udGV4dF91bnJlZmVyZW5jZShsY3R4KTsKIAkJCXJpbmctPmxhc3RfY29udGV4dCA9IE5V TEw7CiAJCX0KLQotCQkvKiBGb3JjZSB0aGUgR1BVIHN0YXRlIHRvIGJlIHJlaW5pdGlhbGlzZWQg b24gZW5hYmxpbmcgKi8KLQkJaWYgKHJpbmctPmRlZmF1bHRfY29udGV4dCkKLQkJCXJpbmctPmRl ZmF1bHRfY29udGV4dC0+bGVnYWN5X2h3X2N0eC5pbml0aWFsaXplZCA9IGZhbHNlOwogCX0KKwor CS8qIEZvcmNlIHRoZSBHUFUgc3RhdGUgdG8gYmUgcmVpbml0aWFsaXNlZCBvbiBlbmFibGluZyAq LworCWRldl9wcml2LT5rZXJuZWxfY29udGV4dC0+bGVnYWN5X2h3X2N0eC5pbml0aWFsaXplZCA9 IGZhbHNlOwogfQogCiBpbnQgaTkxNV9nZW1fY29udGV4dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4OwotCWludCBpOwogCiAJLyogSW5p dCBzaG91bGQgb25seSBiZSBjYWxsZWQgb25jZSBwZXIgbW9kdWxlIGxvYWQuIEV2ZW50dWFsbHkg dGhlCiAJICogcmVzdHJpY3Rpb24gb24gdGhlIGNvbnRleHRfZGlzYWJsZWQgY2hlY2sgY2FuIGJl IGxvb3NlbmVkLiAqLwotCWlmIChXQVJOX09OKGRldl9wcml2LT5yaW5nW1JDU10uZGVmYXVsdF9j b250ZXh0KSkKKwlpZiAoV0FSTl9PTihkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQpKQogCQlyZXR1 cm4gMDsKIAogCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXYpICYmIEhBU19MT0dJQ0FMX1JJTkdf Q09OVEVYVFMoZGV2KSkgewpAQCAtMzkyLDEyICszOTAsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4 dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJldHVybiBQVFJfRVJSKGN0eCk7CiAJ fQogCi0JZm9yIChpID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspIHsKLQkJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tpXTsKLQotCQkvKiBOQjogUkNT IHdpbGwgaG9sZCBhIHJlZiBmb3IgYWxsIHJpbmdzICovCi0JCXJpbmctPmRlZmF1bHRfY29udGV4 dCA9IGN0eDsKLQl9CisJZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0ID0gY3R4OwogCiAJRFJNX0RF QlVHX0RSSVZFUigiJXMgY29udGV4dCBzdXBwb3J0IGluaXRpYWxpemVkXG4iLAogCQkJaTkxNS5l bmFibGVfZXhlY2xpc3RzID8gIkxSIiA6CkBAIC00MDgsNyArNDAxLDcgQEAgaW50IGk5MTVfZ2Vt X2NvbnRleHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogdm9pZCBpOTE1X2dlbV9jb250 ZXh0X2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBpbnRlbF9jb250ZXh0 ICpkY3R4ID0gZGV2X3ByaXYtPnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQ7CisJc3RydWN0IGlu dGVsX2NvbnRleHQgKmRjdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7CiAJaW50IGk7CiAK IAlpZiAoZGN0eC0+bGVnYWN5X2h3X2N0eC5yY3Nfc3RhdGUpIHsKQEAgLTQzNSwxNyArNDI4LDE3 IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dF9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJ CWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGRjdHgtPmxlZ2FjeV9od19jdHgucmNzX3N0YXRl KTsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgSTkxNV9OVU1fUklOR1M7IGkrKykgeworCWZvciAo aSA9IEk5MTVfTlVNX1JJTkdTOyAtLWkgPj0gMDspIHsKIAkJc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tpXTsKIAotCQlpZiAocmluZy0+bGFzdF9jb250ZXh0 KQorCQlpZiAocmluZy0+bGFzdF9jb250ZXh0KSB7CiAJCQlpOTE1X2dlbV9jb250ZXh0X3VucmVm ZXJlbmNlKHJpbmctPmxhc3RfY29udGV4dCk7Ci0KLQkJcmluZy0+ZGVmYXVsdF9jb250ZXh0ID0g TlVMTDsKLQkJcmluZy0+bGFzdF9jb250ZXh0ID0gTlVMTDsKKwkJCXJpbmctPmxhc3RfY29udGV4 dCA9IE5VTEw7CisJCX0KIAl9CiAKIAlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGRjdHgp OworCWRldl9wcml2LT5rZXJuZWxfY29udGV4dCA9IE5VTEw7CiB9CiAKIGludCBpOTE1X2dlbV9j b250ZXh0X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCmluZGV4IDA2Y2E0MDguLjdlZWIyNDQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwpAQCAtMTA1MCw3ICsxMDUwLDcgQEAgc3RhdGlj IHZvaWQgaTkxNV9nZW1fcmVjb3JkX3JpbmdzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQlp ZiAocmVxdWVzdCkKIAkJCQlyYnVmID0gcmVxdWVzdC0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnJp bmdidWY7CiAJCQllbHNlCi0JCQkJcmJ1ZiA9IHJpbmctPmRlZmF1bHRfY29udGV4dC0+ZW5naW5l W3JpbmctPmlkXS5yaW5nYnVmOworCQkJCXJidWYgPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQt PmVuZ2luZVtyaW5nLT5pZF0ucmluZ2J1ZjsKIAkJfSBlbHNlCiAJCQlyYnVmID0gcmluZy0+YnVm ZmVyOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXgg OWMyNDQyNC4uNTFhZTVjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n dWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1p c3Npb24uYwpAQCAtOTY0LDcgKzk2NCw3IEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJs ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRl dl9wcml2LT5ndWM7Ci0Jc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCA9IGRldl9wcml2LT5yaW5n W1JDU10uZGVmYXVsdF9jb250ZXh0OworCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHggPSBkZXZf cHJpdi0+a2VybmVsX2NvbnRleHQ7CiAJc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50Owog CiAJLyogY2xpZW50IGZvciBleGVjYnVmIHN1Ym1pc3Npb24gKi8KQEAgLTEwMjEsNyArMTAyMSw3 IEBAIGludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmICgh aTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCiAJCXJldHVybiAwOwogCi0JY3R4ID0gZGV2X3By aXYtPnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQ7CisJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9j b250ZXh0OwogCiAJZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9FTlRFUl9TX1NUQVRFOwogCS8q IGFueSB2YWx1ZSBncmVhdGVyIHRoYW4gR1VDX1BPV0VSX0QwICovCkBAIC0xMDQ3LDcgKzEwNDcs NyBAQCBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmICgh aTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCiAJCXJldHVybiAwOwogCi0JY3R4ID0gZGV2X3By aXYtPnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQ7CisJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9j b250ZXh0OwogCiAJZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9FWElUX1NfU1RBVEU7CiAJZGF0 YVsxXSA9IEdVQ19QT1dFUl9EMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggZWMyNDgy ZGEuLjJjNmRhNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC01OTgsNyArNTk4LDcg QEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9xdWV1ZShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcXVlc3QpCiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJzb3I7 CiAJaW50IG51bV9lbGVtZW50cyA9IDA7CiAKLQlpZiAocmVxdWVzdC0+Y3R4ICE9IHJpbmctPmRl ZmF1bHRfY29udGV4dCkKKwlpZiAocmVxdWVzdC0+Y3R4ICE9IHJlcXVlc3QtPmk5MTUtPmtlcm5l bF9jb250ZXh0KQogCQlpbnRlbF9scl9jb250ZXh0X3BpbihyZXF1ZXN0KTsKIAogCWk5MTVfZ2Vt X3JlcXVlc3RfcmVmZXJlbmNlKHJlcXVlc3QpOwpAQCAtNjkwLDcgKzY5MCw3IEBAIGludCBpbnRl bF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRyYXMoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXF1ZXN0CiAKIAlyZXF1ZXN0LT5yaW5nYnVmID0gcmVxdWVzdC0+Y3R4LT5lbmdp bmVbcmVxdWVzdC0+cmluZy0+aWRdLnJpbmdidWY7CiAKLQlpZiAocmVxdWVzdC0+Y3R4ICE9IHJl cXVlc3QtPnJpbmctPmRlZmF1bHRfY29udGV4dCkgeworCWlmIChyZXF1ZXN0LT5jdHggIT0gcmVx dWVzdC0+aTkxNS0+a2VybmVsX2NvbnRleHQpIHsKIAkJcmV0ID0gaW50ZWxfbHJfY29udGV4dF9w aW4ocmVxdWVzdCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwpAQCAtMTAwNiw3ICsxMDA2 LDcgQEAgdm9pZCBpbnRlbF9leGVjbGlzdHNfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcpCiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqID0K IAkJCQljdHgtPmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7CiAKLQkJaWYgKGN0eF9vYmogJiYgKGN0 eCAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpKQorCQlpZiAoY3R4X29iaiAmJiAoY3R4ICE9IHJl cS0+aTkxNS0+a2VybmVsX2NvbnRleHQpKQogCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyZXEp OwogCQlsaXN0X2RlbCgmcmVxLT5leGVjbGlzdF9saW5rKTsKIAkJaTkxNV9nZW1fcmVxdWVzdF91 bnJlZmVyZW5jZShyZXEpOwpAQCAtMTUyOSw3ICsxNTI5LDcgQEAgc3RhdGljIGludCBnZW44X2lu aXRfY29tbW9uX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAl1OCBuZXh0X2Nv bnRleHRfc3RhdHVzX2J1ZmZlcl9odzsKIAogCWxyY19zZXR1cF9oYXJkd2FyZV9zdGF0dXNfcGFn ZShyaW5nLAotCQkJCXJpbmctPmRlZmF1bHRfY29udGV4dC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0 ZSk7CisJCQkJZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRl KTsKIAogCUk5MTVfV1JJVEVfSU1SKHJpbmcsIH4ocmluZy0+aXJxX2VuYWJsZV9tYXNrIHwgcmlu Zy0+aXJxX2tlZXBfbWFzaykpOwogCUk5MTVfV1JJVEUoUklOR19IV1NUQU0ocmluZy0+bW1pb19i YXNlKSwgMHhmZmZmZmZmZik7CkBAIC0yMDA1LDYgKzIwMDUsNyBAQCB2b2lkIGludGVsX2xvZ2lj YWxfcmluZ19jbGVhbnVwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiBzdGF0aWMgaW50 CiBsb2dpY2FsX3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKQogeworCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpkY3R4ID0gdG9faTkx NShkZXYpLT5rZXJuZWxfY29udGV4dDsKIAlpbnQgcmV0OwogCiAJLyogSW50ZW50aW9uYWxseSBs ZWZ0IGJsYW5rLiAqLwpAQCAtMjAyNywxMiArMjAyOCwxMiBAQCB2b2lkIGludGVsX2xvZ2ljYWxf cmluZ19jbGVhbnVwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJaWYgKHJldCkKIAkJ Z290byBlcnJvcjsKIAotCXJldCA9IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Mocmlu Zy0+ZGVmYXVsdF9jb250ZXh0LCByaW5nKTsKKwlyZXQgPSBpbnRlbF9scl9jb250ZXh0X2RlZmVy cmVkX2FsbG9jKGRjdHgsIHJpbmcpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyb3I7CiAKIAkvKiBB cyB0aGlzIGlzIHRoZSBkZWZhdWx0IGNvbnRleHQsIGFsd2F5cyBwaW4gaXQgKi8KLQlyZXQgPSBp bnRlbF9scl9jb250ZXh0X2RvX3BpbihyaW5nLCByaW5nLT5kZWZhdWx0X2NvbnRleHQpOworCXJl dCA9IGludGVsX2xyX2NvbnRleHRfZG9fcGluKHJpbmcsIGRjdHgpOwogCWlmIChyZXQpIHsKIAkJ RFJNX0VSUk9SKAogCQkJIkZhaWxlZCB0byBwaW4gYW5kIG1hcCByaW5nYnVmZmVyICVzOiAlZFxu IiwKQEAgLTIzOTgsNyArMjM5OSw3IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9mcmVlKHN0cnVj dCBpbnRlbF9jb250ZXh0ICpjdHgpCiAJCQkJCWN0eC0+ZW5naW5lW2ldLnJpbmdidWY7CiAJCQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmluZ2J1Zi0+cmluZzsKIAotCQkJaWYgKGN0 eCA9PSByaW5nLT5kZWZhdWx0X2NvbnRleHQpIHsKKwkJCWlmIChjdHggPT0gY3R4LT5pOTE1LT5r ZXJuZWxfY29udGV4dCkgewogCQkJCWludGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYp OwogCQkJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmopOwogCQkJfQpAQCAtMjUx Nyw3ICsyNTE4LDcgQEAgaW50IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCwKIAljdHgtPmVuZ2luZVtyaW5nLT5pZF0ucmluZ2J1ZiA9IHJp bmdidWY7CiAJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlID0gY3R4X29iajsKIAotCWlmIChj dHggIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0ICYmIHJpbmctPmluaXRfY29udGV4dCkgeworCWlm IChjdHggIT0gY3R4LT5pOTE1LT5rZXJuZWxfY29udGV4dCAmJiByaW5nLT5pbml0X2NvbnRleHQp IHsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CiAKIAkJcmVxID0gaTkxNV9n ZW1fcmVxdWVzdF9hbGxvYyhyaW5nLCBjdHgpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oCmluZGV4IGVkZTU3OTUuLmNlMTAyMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmgKQEAgLTMwOSw3ICszMDksNiBAQCBzdHJ1Y3QgIGludGVsX2VuZ2lu ZV9jcyB7CiAKIAl3YWl0X3F1ZXVlX2hlYWRfdCBpcnFfcXVldWU7CiAKLQlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqZGVmYXVsdF9jb250ZXh0OwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpsYXN0X2Nv bnRleHQ7CiAKIAlzdHJ1Y3QgaW50ZWxfcmluZ19oYW5nY2hlY2sgaGFuZ2NoZWNrOwotLSAKMS45 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==