From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [RFC 7/7] drm/tinydrm: Switch from CMA to shmem buffers Date: Wed, 12 Jul 2017 15:46:05 +0200 Message-ID: <1499867165-60925-8-git-send-email-noralf@tronnes.org> References: <1499867165-60925-1-git-send-email-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5DB466E40D for ; Wed, 12 Jul 2017 13:46:23 +0000 (UTC) In-Reply-To: <1499867165-60925-1-git-send-email-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBtb3ZlIG1ha2VzIHRpbnlkcm0gdXNlZnVsIGZvciBtb3JlIGRyaXZlcnMuIHRpbnlkcm0g ZG9lc24ndApuZWVkIGNvbnRpbm91cyBtZW1vcnksIGJ1dCBhdCB0aGUgdGltZSBpdCB3YXMgY29u dmluaWVudCB0byB1c2UKdGhlIENNQSBsaWJyYXJ5LiBUaGUgc3BpIGNvcmUgY2FuIGRvIGRtYSBv biB2bWFsbG9jIGFkZHJlc3NlcwptYWtpbmcgdGhpcyBwb3NzaWJsZS4KClNpZ25lZC1vZmYtYnk6 IE5vcmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS90aW55ZHJtL0tjb25maWcgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS90 aW55ZHJtL2NvcmUvdGlueWRybS1jb3JlLmMgfCAxNDcgKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLXBpcGUuYyB8ICAgNCAr LQogZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkwMjgzcXQuYyAgICAgICAgICB8ICAgMiArLQog ZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyAgICAgICAgICB8ICA0MSArKystLS0t LQogaW5jbHVkZS9kcm0vdGlueWRybS90aW55ZHJtLmggICAgICAgICAgICAgICB8ICAzMiArKy0t LS0KIDYgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMTM2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL0tjb25maWcgYi9kcml2ZXJzL2dw dS9kcm0vdGlueWRybS9LY29uZmlnCmluZGV4IDM1MDRjNTMuLmRhOWI4YjggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL0tjb25maWcKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rp bnlkcm0vS2NvbmZpZwpAQCAtMiw3ICsyLDcgQEAgbWVudWNvbmZpZyBEUk1fVElOWURSTQogCXRy aXN0YXRlICJTdXBwb3J0IGZvciBzaW1wbGUgZGlzcGxheXMiCiAJZGVwZW5kcyBvbiBEUk0KIAlz ZWxlY3QgRFJNX0tNU19IRUxQRVIKLQlzZWxlY3QgRFJNX0tNU19DTUFfSEVMUEVSCisJc2VsZWN0 IERSTV9LTVNfU0hNRU1fSEVMUEVSCiAJc2VsZWN0IEJBQ0tMSUdIVF9MQ0RfU1VQUE9SVAogCXNl bGVjdCBCQUNLTElHSFRfQ0xBU1NfREVWSUNFCiAJaGVscApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLWNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55 ZHJtL2NvcmUvdGlueWRybS1jb3JlLmMKaW5kZXggNTUxNzA5ZS4uZmIyY2MxZiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLWNvcmUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tY29yZS5jCkBAIC0xMCw2ICsxMCw3IEBA CiAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19o ZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGNfaGVscGVyLmg+CisjaW5jbHVkZSA8ZHJt L2RybV9mYl9oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vdGlueWRybS90aW55ZHJtLmg+CiAjaW5j bHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgpAQCAtMjEs NyArMjIsNyBAQAogICoKICAqIEl0IGlzIGJhc2VkIG9uICZkcm1fc2ltcGxlX2Rpc3BsYXlfcGlw ZSBjb3VwbGVkIHdpdGggYSAmZHJtX2Nvbm5lY3RvciB3aGljaAogICogaGFzIG9ubHkgb25lIGZp eGVkICZkcm1fZGlzcGxheV9tb2RlLiBUaGUgZnJhbWVidWZmZXJzIGFyZSBiYWNrZWQgYnkgdGhl Ci0gKiBjbWEgaGVscGVyIGFuZCBoYXZlIHN1cHBvcnQgZm9yIGZyYW1lYnVmZmVyIGZsdXNoaW5n IChkaXJ0eSkuCisgKiBzaG1lbSBoZWxwZXIgYW5kIGhhdmUgc3VwcG9ydCBmb3IgZnJhbWVidWZm ZXIgZmx1c2hpbmcgKGRpcnR5KS4KICAqIGZiZGV2IHN1cHBvcnQgaXMgYWxzbyBpbmNsdWRlZC4K ICAqCiAgKi8KQEAgLTQ3LDgwICs0OCwzMyBAQCB2b2lkIHRpbnlkcm1fbGFzdGNsb3NlKHN0cnVj dCBkcm1fZGV2aWNlICpkcm0pCiAJc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2ID0gZHJtLT5k ZXZfcHJpdmF0ZTsKIAogCURSTV9ERUJVR19LTVMoIlxuIik7Ci0JZHJtX2ZiZGV2X2NtYV9yZXN0 b3JlX21vZGUodGRldi0+ZmJkZXZfY21hKTsKKwlpZiAodGRldi0+ZmJkZXYpCisJCWRybV9mYl9o ZWxwZXJfcmVzdG9yZV9mYmRldl9tb2RlX3VubG9ja2VkKHRkZXYtPmZiZGV2KTsKIH0KIEVYUE9S VF9TWU1CT0wodGlueWRybV9sYXN0Y2xvc2UpOwogCiAvKioKLSAqIHRpbnlkcm1fZ2VtX2NtYV9w cmltZV9pbXBvcnRfc2dfdGFibGUgLSBQcm9kdWNlIGEgQ01BIEdFTSBvYmplY3QgZnJvbQotICog ICAgIGFub3RoZXIgZHJpdmVyJ3Mgc2NhdHRlci9nYXRoZXIgdGFibGUgb2YgcGlubmVkIHBhZ2Vz Ci0gKiBAZHJtOiBEUk0gZGV2aWNlIHRvIGltcG9ydCBpbnRvCi0gKiBAYXR0YWNoOiBETUEtQlVG IGF0dGFjaG1lbnQKLSAqIEBzZ3Q6IFNjYXR0ZXIvZ2F0aGVyIHRhYmxlIG9mIHBpbm5lZCBwYWdl cwotICoKLSAqIFRoaXMgZnVuY3Rpb24gaW1wb3J0cyBhIHNjYXR0ZXIvZ2F0aGVyIHRhYmxlIGV4 cG9ydGVkIHZpYSBETUEtQlVGIGJ5Ci0gKiBhbm90aGVyIGRyaXZlciB1c2luZyBkcm1fZ2VtX2Nt YV9wcmltZV9pbXBvcnRfc2dfdGFibGUoKS4gSXQgc2V0cyB0aGUKLSAqIGtlcm5lbCB2aXJ0dWFs IGFkZHJlc3Mgb24gdGhlIENNQSBvYmplY3QuIERyaXZlcnMgc2hvdWxkIHVzZSB0aGlzIGFzIHRo ZWlyCi0gKiAmZHJtX2RyaXZlci0+Z2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZSBjYWxsYmFjayBp ZiB0aGV5IG5lZWQgdGhlIHZpcnR1YWwKLSAqIGFkZHJlc3MuIHRpbnlkcm1fZ2VtX2NtYV9mcmVl X29iamVjdCgpIHNob3VsZCBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGgKLSAqIHRoaXMgZnVu Y3Rpb24uCisgKiB0aW55ZHJtX2dlbV9jcmVhdGVfb2JqZWN0IC0gQ3JlYXRlIHNobWVtIEdFTSBv YmplY3QKKyAqIEBkcm06IERSTSBkZXZpY2UKKyAqIEBzaXplOiBTaXplCiAgKgotICogUmV0dXJu czoKLSAqIEEgcG9pbnRlciB0byBhIG5ld2x5IGNyZWF0ZWQgR0VNIG9iamVjdCBvciBhbiBFUlJf UFRSLWVuY29kZWQgbmVnYXRpdmUKLSAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAqIFRoaXMg ZnVuY3Rpb24gc2V0IGNhY2hlIG1vZGUgdG8gY2FjaGVkLiBEcml2ZXJzIHNob3VsZCB1c2UgdGhp cyBhcyB0aGVpcgorICogJmRybV9kcml2ZXItPmdlbV9jcmVhdGVfb2JqZWN0IGNhbGxiYWNrLgog ICovCi1zdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgotdGlueWRybV9nZW1fY21hX3ByaW1lX2ltcG9y dF9zZ190YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAotCQkJCSAgICAgIHN0cnVjdCBkbWFf YnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKLQkJCQkgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNndCkK K3N0cnVjdCBkcm1fZ2VtX29iamVjdCAqdGlueWRybV9nZW1fY3JlYXRlX29iamVjdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtLAorCQkJCQkJIHNpemVfdCBzaXplKQogewotCXN0cnVjdCBkcm1fZ2Vt X2NtYV9vYmplY3QgKmNtYV9vYmo7Ci0Jc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Ci0Jdm9p ZCAqdmFkZHI7CisJc3RydWN0IGRybV9nZW1fc2htZW1fb2JqZWN0ICpvYmo7CiAKLQl2YWRkciA9 IGRtYV9idWZfdm1hcChhdHRhY2gtPmRtYWJ1Zik7Ci0JaWYgKCF2YWRkcikgewotCQlEUk1fRVJS T1IoIkZhaWxlZCB0byB2bWFwIFBSSU1FIGJ1ZmZlclxuIik7CisJb2JqID0ga3phbGxvYyhzaXpl b2YoKm9iaiksIEdGUF9LRVJORUwpOworCWlmICghb2JqKQogCQlyZXR1cm4gRVJSX1BUUigtRU5P TUVNKTsKLQl9Ci0KLQlvYmogPSBkcm1fZ2VtX2NtYV9wcmltZV9pbXBvcnRfc2dfdGFibGUoZHJt LCBhdHRhY2gsIHNndCk7Ci0JaWYgKElTX0VSUihvYmopKSB7Ci0JCWRtYV9idWZfdnVubWFwKGF0 dGFjaC0+ZG1hYnVmLCB2YWRkcik7Ci0JCXJldHVybiBvYmo7Ci0JfQogCi0JY21hX29iaiA9IHRv X2RybV9nZW1fY21hX29iaihvYmopOwotCWNtYV9vYmotPnZhZGRyID0gdmFkZHI7CisJb2JqLT5j YWNoZV9tb2RlID0gRFJNX0dFTV9TSE1FTV9CT19DQUNIRUQ7CiAKLQlyZXR1cm4gb2JqOworCXJl dHVybiAmb2JqLT5iYXNlOwogfQotRVhQT1JUX1NZTUJPTCh0aW55ZHJtX2dlbV9jbWFfcHJpbWVf aW1wb3J0X3NnX3RhYmxlKTsKLQotLyoqCi0gKiB0aW55ZHJtX2dlbV9jbWFfZnJlZV9vYmplY3Qg LSBGcmVlIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBDTUEgR0VNCi0gKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvYmplY3QKLSAqIEBnZW1fb2JqOiBHRU0gb2JqZWN0IHRvIGZy ZWUKLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIGZyZWVzIHRoZSBiYWNraW5nIG1lbW9yeSBvZiB0aGUg Q01BIEdFTSBvYmplY3QsIGNsZWFucyB1cCB0aGUKLSAqIEdFTSBvYmplY3Qgc3RhdGUgYW5kIGZy ZWVzIHRoZSBtZW1vcnkgdXNlZCB0byBzdG9yZSB0aGUgb2JqZWN0IGl0c2VsZiB1c2luZwotICog ZHJtX2dlbV9jbWFfZnJlZV9vYmplY3QoKS4gSXQgYWxzbyBoYW5kbGVzIFBSSU1FIGJ1ZmZlcnMg d2hpY2ggaGFzIHRoZSBrZXJuZWwKLSAqIHZpcnR1YWwgYWRkcmVzcyBzZXQgYnkgdGlueWRybV9n ZW1fY21hX3ByaW1lX2ltcG9ydF9zZ190YWJsZSgpLiBEcml2ZXJzCi0gKiBjYW4gdXNlIHRoaXMg YXMgdGhlaXIgJmRybV9kcml2ZXItPmdlbV9mcmVlX29iamVjdCBjYWxsYmFjay4KLSAqLwotdm9p ZCB0aW55ZHJtX2dlbV9jbWFfZnJlZV9vYmplY3Qoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1f b2JqKQotewotCWlmIChnZW1fb2JqLT5pbXBvcnRfYXR0YWNoKSB7Ci0JCXN0cnVjdCBkcm1fZ2Vt X2NtYV9vYmplY3QgKmNtYV9vYmo7Ci0KLQkJY21hX29iaiA9IHRvX2RybV9nZW1fY21hX29iaihn ZW1fb2JqKTsKLQkJZG1hX2J1Zl92dW5tYXAoZ2VtX29iai0+aW1wb3J0X2F0dGFjaC0+ZG1hYnVm LCBjbWFfb2JqLT52YWRkcik7Ci0JCWNtYV9vYmotPnZhZGRyID0gTlVMTDsKLQl9Ci0KLQlkcm1f Z2VtX2NtYV9mcmVlX29iamVjdChnZW1fb2JqKTsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKHRpbnlk cm1fZ2VtX2NtYV9mcmVlX29iamVjdCk7CitFWFBPUlRfU1lNQk9MKHRpbnlkcm1fZ2VtX2NyZWF0 ZV9vYmplY3QpOwogCiBzdGF0aWMgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCiB0aW55ZHJtX2Zi X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp diwKQEAgLTEyOCw3ICs4Miw3IEBAIHRpbnlkcm1fZmJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNl ICpkcm0sIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogewogCXN0cnVjdCB0aW55ZHJtX2Rl dmljZSAqdGRldiA9IGRybS0+ZGV2X3ByaXZhdGU7CiAKLQlyZXR1cm4gZHJtX2ZiX2NtYV9jcmVh dGVfd2l0aF9mdW5jcyhkcm0sIGZpbGVfcHJpdiwgbW9kZV9jbWQsCisJcmV0dXJuIGRybV9mYl9n ZW1fY3JlYXRlX3dpdGhfZnVuY3MoZHJtLCBmaWxlX3ByaXYsIG1vZGVfY21kLAogCQkJCQkgICAg dGRldi0+ZmJfZnVuY3MpOwogfQogCkBAIC0yMTAsMzggKzE2NCw2NCBAQCBpbnQgZGV2bV90aW55 ZHJtX2luaXQoc3RydWN0IGRldmljZSAqcGFyZW50LCBzdHJ1Y3QgdGlueWRybV9kZXZpY2UgKnRk ZXYsCiB9CiBFWFBPUlRfU1lNQk9MKGRldm1fdGlueWRybV9pbml0KTsKIAotc3RhdGljIGludCB0 aW55ZHJtX3JlZ2lzdGVyKHN0cnVjdCB0aW55ZHJtX2RldmljZSAqdGRldikKK3N0YXRpYyBpbnQg dGlueWRybV9mYmRldl9wcm9iZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAorCQkJICAg ICAgIHN0cnVjdCBkcm1fZmJfaGVscGVyX3N1cmZhY2Vfc2l6ZSAqc2l6ZXMpCit7CisJc3RydWN0 IHRpbnlkcm1fZGV2aWNlICp0ZGV2ID0gaGVscGVyLT5kZXYtPmRldl9wcml2YXRlOworCisJcmV0 dXJuIGRybV9mYl9zaG1lbV9mYmRldl9wcm9iZShoZWxwZXIsIHNpemVzLCB0ZGV2LT5mYl9mdW5j cyk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9mdW5jcyB0aW55ZHJt X2ZiX2hlbHBlcl9mdW5jcyA9IHsKKwkuZmJfcHJvYmUgPSB0aW55ZHJtX2ZiZGV2X3Byb2JlLAor fTsKKworc3RhdGljIGludCB0aW55ZHJtX2ZiZGV2X2luaXQoc3RydWN0IHRpbnlkcm1fZGV2aWNl ICp0ZGV2KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSB0ZGV2LT5kcm07CiAJaW50IGJw cCA9IGRybS0+bW9kZV9jb25maWcucHJlZmVycmVkX2RlcHRoOwotCXN0cnVjdCBkcm1fZmJkZXZf Y21hICpmYmRldjsKKwlpbnQgcmV0OworCisJdGRldi0+ZmJkZXYgPSBremFsbG9jKHNpemVvZigq dGRldi0+ZmJkZXYpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXRkZXYtPmZiZGV2KQorCQlyZXR1cm4g LUVOT01FTTsKKworCXJldCA9IGRybV9mYl9oZWxwZXJfc2ltcGxlX2luaXQoZHJtLCB0ZGV2LT5m YmRldiwgYnBwID8gYnBwIDogMzIsCisJCQkJCWRybS0+bW9kZV9jb25maWcubnVtX2Nvbm5lY3Rv ciwKKwkJCQkJJnRpbnlkcm1fZmJfaGVscGVyX2Z1bmNzKTsKKwlpZiAocmV0KSB7CisJCWtmcmVl KHRkZXYtPmZiZGV2KTsKKwkJdGRldi0+ZmJkZXYgPSBOVUxMOworCQlyZXR1cm4gcmV0OworCX0K KworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRpbnlkcm1fcmVnaXN0ZXIoc3RydWN0IHRp bnlkcm1fZGV2aWNlICp0ZGV2KQorewogCWludCByZXQ7CiAKIAlyZXQgPSBkcm1fZGV2X3JlZ2lz dGVyKHRkZXYtPmRybSwgMCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWZiZGV2ID0g ZHJtX2ZiZGV2X2NtYV9pbml0X3dpdGhfZnVuY3MoZHJtLCBicHAgPyBicHAgOiAzMiwKLQkJCQkJ ICAgICAgZHJtLT5tb2RlX2NvbmZpZy5udW1fY29ubmVjdG9yLAotCQkJCQkgICAgICB0ZGV2LT5m Yl9mdW5jcyk7Ci0JaWYgKElTX0VSUihmYmRldikpCi0JCURSTV9FUlJPUigiRmFpbGVkIHRvIGlu aXRpYWxpemUgZmJkZXY6ICVsZFxuIiwgUFRSX0VSUihmYmRldikpOwotCWVsc2UKLQkJdGRldi0+ ZmJkZXZfY21hID0gZmJkZXY7CisJaWYgKHRpbnlkcm1fZmJkZXZfaW5pdCh0ZGV2KSkKKwkJRFJN X1dBUk4oIkZhaWxlZCB0byBpbml0aWFsaXplIGZiZGV2XG4iKTsKIAotCXJldHVybiAwOworCXJl dHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIHRpbnlkcm1fdW5yZWdpc3RlcihzdHJ1Y3QgdGlu eWRybV9kZXZpY2UgKnRkZXYpCiB7Ci0Jc3RydWN0IGRybV9mYmRldl9jbWEgKmZiZGV2X2NtYSA9 IHRkZXYtPmZiZGV2X2NtYTsKKwlzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJkZXYgPSB0ZGV2LT5m YmRldjsKIAotCWRybV9hdG9taWNfaGVscGVyX3NodXRkb3duKHRkZXYtPmRybSk7CiAJLyogZG9u J3QgcmVzdG9yZSBmYmRldiBpbiBsYXN0Y2xvc2UsIGtlZXAgcGlwZWxpbmUgZGlzYWJsZWQgKi8K LQl0ZGV2LT5mYmRldl9jbWEgPSBOVUxMOworCXRkZXYtPmZiZGV2ID0gTlVMTDsKKwlkcm1fYXRv bWljX2hlbHBlcl9zaHV0ZG93bih0ZGV2LT5kcm0pOworCWRybV9mYl9oZWxwZXJfc2ltcGxlX2Zp bmkoZmJkZXYpOwogCWRybV9kZXZfdW5yZWdpc3Rlcih0ZGV2LT5kcm0pOwotCWlmIChmYmRldl9j bWEpCi0JCWRybV9mYmRldl9jbWFfZmluaShmYmRldl9jbWEpOworCWtmcmVlKGZiZGV2KTsKIH0K IAogc3RhdGljIHZvaWQgZGV2bV90aW55ZHJtX3JlZ2lzdGVyX3JlbGVhc2Uodm9pZCAqZGF0YSkK QEAgLTMxMSwxMCArMjkxLDEyIEBAIGludCB0aW55ZHJtX3N1c3BlbmQoc3RydWN0IHRpbnlkcm1f ZGV2aWNlICp0ZGV2KQogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlkcm1fZmJkZXZfY21hX3Nl dF9zdXNwZW5kX3VubG9ja2VkKHRkZXYtPmZiZGV2X2NtYSwgMSk7CisJaWYgKHRkZXYtPmZiZGV2 KQorCQlkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kX3VubG9ja2VkKHRkZXYtPmZiZGV2LCAxKTsK IAlzdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQodGRldi0+ZHJtKTsKIAlpZiAoSVNf RVJSKHN0YXRlKSkgewotCQlkcm1fZmJkZXZfY21hX3NldF9zdXNwZW5kX3VubG9ja2VkKHRkZXYt PmZiZGV2X2NtYSwgMCk7CisJCWlmICh0ZGV2LT5mYmRldikKKwkJCWRybV9mYl9oZWxwZXJfc2V0 X3N1c3BlbmRfdW5sb2NrZWQodGRldi0+ZmJkZXYsIDApOwogCQlyZXR1cm4gUFRSX0VSUihzdGF0 ZSk7CiAJfQogCkBAIC0zNTIsNyArMzM0LDggQEAgaW50IHRpbnlkcm1fcmVzdW1lKHN0cnVjdCB0 aW55ZHJtX2RldmljZSAqdGRldikKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQlkcm1fZmJkZXZfY21h X3NldF9zdXNwZW5kX3VubG9ja2VkKHRkZXYtPmZiZGV2X2NtYSwgMCk7CisJaWYgKHRkZXYtPmZi ZGV2KQorCQlkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kX3VubG9ja2VkKHRkZXYtPmZiZGV2LCAw KTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0v Y29yZS90aW55ZHJtLXBpcGUuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRy bS1waXBlLmMKaW5kZXggZWM0M2ZiNy4uYTMwNTE4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLXBpcGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlu eWRybS9jb3JlL3Rpbnlkcm0tcGlwZS5jCkBAIC0xNDUsNyArMTQ1LDcgQEAgRVhQT1JUX1NZTUJP TCh0aW55ZHJtX2Rpc3BsYXlfcGlwZV91cGRhdGUpOwogICogQHBpcGU6IFNpbXBsZSBkaXNwbGF5 IHBpcGUKICAqIEBwbGFuZV9zdGF0ZTogUGxhbmUgc3RhdGUKICAqCi0gKiBUaGlzIGZ1bmN0aW9u IHVzZXMgZHJtX2ZiX2NtYV9wcmVwYXJlX2ZiKCkgdG8gY2hlY2sgaWYgdGhlIHBsYW5lIEZCIGhh cyBhbgorICogVGhpcyBmdW5jdGlvbiB1c2VzIGRybV9mYl9zaG1lbV9wcmVwYXJlX2ZiKCkgdG8g Y2hlY2sgaWYgdGhlIHBsYW5lIEZCIGhhcyBhCiAgKiBkbWEtYnVmIGF0dGFjaGVkLCBleHRyYWN0 cyB0aGUgZXhjbHVzaXZlIGZlbmNlIGFuZCBhdHRhY2hlcyBpdCB0byBwbGFuZQogICogc3RhdGUg Zm9yIHRoZSBhdG9taWMgaGVscGVyIHRvIHdhaXQgb24uIERyaXZlcnMgY2FuIHVzZSB0aGlzIGFz IHRoZWlyCiAgKiAmZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfZnVuY3MtPnByZXBhcmVfZmIgY2Fs bGJhY2suCkBAIC0xNTMsNyArMTUzLDcgQEAgRVhQT1JUX1NZTUJPTCh0aW55ZHJtX2Rpc3BsYXlf cGlwZV91cGRhdGUpOwogaW50IHRpbnlkcm1fZGlzcGxheV9waXBlX3ByZXBhcmVfZmIoc3RydWN0 IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQkJCSAgICBzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKLQlyZXR1cm4gZHJtX2ZiX2NtYV9wcmVwYXJlX2ZiKCZw aXBlLT5wbGFuZSwgcGxhbmVfc3RhdGUpOworCXJldHVybiBkcm1fZmJfZ2VtX3ByZXBhcmVfZmIo JnBpcGUtPnBsYW5lLCBwbGFuZV9zdGF0ZSk7CiB9CiBFWFBPUlRfU1lNQk9MKHRpbnlkcm1fZGlz cGxheV9waXBlX3ByZXBhcmVfZmIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlu eWRybS9taTAyODNxdC5jIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkwMjgzcXQuYwppbmRl eCA0ODJmZjFjMy4uOGQxMWNkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0v bWkwMjgzcXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taTAyODNxdC5jCkBAIC0x MzIsNyArMTMyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG1pMDI4 M3F0X21vZGUgPSB7CiAJVElOWURSTV9NT0RFKDMyMCwgMjQwLCA1OCwgNDMpLAogfTsKIAotREVG SU5FX0RSTV9HRU1fQ01BX0ZPUFMobWkwMjgzcXRfZm9wcyk7CitERUZJTkVfRFJNX0dFTV9TSE1F TV9GT1BTKG1pMDI4M3F0X2ZvcHMpOwogCiBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgbWkwMjgz cXRfZHJpdmVyID0gewogCS5kcml2ZXJfZmVhdHVyZXMJPSBEUklWRVJfR0VNIHwgRFJJVkVSX01P REVTRVQgfCBEUklWRVJfUFJJTUUgfApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlk cm0vbWlwaS1kYmkuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL21pcGktZGJpLmMKaW5kZXgg YzgzZWViNy4uYTRkOGM5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlw aS1kYmkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jCkBAIC0xNTYs MTAgKzE1NiwxMSBAQCBFWFBPUlRfU1lNQk9MKG1pcGlfZGJpX2NvbW1hbmRfYnVmKTsKIHN0YXRp YyBpbnQgbWlwaV9kYmlfYnVmX2NvcHkodm9pZCAqZHN0LCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiwKIAkJCQlzdHJ1Y3QgZHJtX2NsaXBfcmVjdCAqY2xpcCwgYm9vbCBzd2FwKQogewotCXN0 cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmogPSBkcm1fZmJfY21hX2dldF9nZW1fb2Jq KGZiLCAwKTsKLQlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICppbXBvcnRfYXR0YWNoID0gY21h X29iai0+YmFzZS5pbXBvcnRfYXR0YWNoOworCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29i aiA9IGRybV9mYl9nZW1fZ2V0X29iaihmYiwgMCk7CisJc3RydWN0IGRybV9nZW1fc2htZW1fb2Jq ZWN0ICpvYmogPSB0b19kcm1fZ2VtX3NobWVtX29iaihnZW1fb2JqKTsKKwlzdHJ1Y3QgZG1hX2J1 Zl9hdHRhY2htZW50ICppbXBvcnRfYXR0YWNoID0gZ2VtX29iai0+aW1wb3J0X2F0dGFjaDsKIAlz dHJ1Y3QgZHJtX2Zvcm1hdF9uYW1lX2J1ZiBmb3JtYXRfbmFtZTsKLQl2b2lkICpzcmMgPSBjbWFf b2JqLT52YWRkcjsKKwl2b2lkICpzcmMgPSBvYmotPnZhZGRyOwogCWludCByZXQgPSAwOwogCiAJ aWYgKGltcG9ydF9hdHRhY2gpIHsKQEAgLTE5OCw3ICsxOTksOCBAQCBzdGF0aWMgaW50IG1pcGlf ZGJpX2ZiX2RpcnR5KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCQkJICAgICBzdHJ1Y3Qg ZHJtX2NsaXBfcmVjdCAqY2xpcHMsCiAJCQkgICAgIHVuc2lnbmVkIGludCBudW1fY2xpcHMpCiB7 Ci0Jc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29iaiA9IGRybV9mYl9jbWFfZ2V0X2dl bV9vYmooZmIsIDApOworCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29iaiA9IGRybV9mYl9n ZW1fZ2V0X29iaihmYiwgMCk7CisJc3RydWN0IGRybV9nZW1fc2htZW1fb2JqZWN0ICpvYmogPSB0 b19kcm1fZ2VtX3NobWVtX29iaihnZW1fb2JqKTsKIAlzdHJ1Y3QgdGlueWRybV9kZXZpY2UgKnRk ZXYgPSBmYi0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgbWlwaV9kYmkgKm1pcGkgPSBtaXBp X2RiaV9mcm9tX3Rpbnlkcm0odGRldik7CiAJYm9vbCBzd2FwID0gbWlwaS0+c3dhcF9ieXRlczsK QEAgLTIxNiw2ICsyMTgsMTAgQEAgc3RhdGljIGludCBtaXBpX2RiaV9mYl9kaXJ0eShzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAlpZiAodGRldi0+cGlwZS5wbGFuZS5mYiAhPSBmYikKIAkJ Z290byBvdXRfdW5sb2NrOwogCisJcmV0ID0gZHJtX2dlbV9zaG1lbV92bWFwKG9iaik7CisJaWYg KHJldCkKKwkJZ290byBvdXRfdW5sb2NrOworCiAJZnVsbCA9IHRpbnlkcm1fbWVyZ2VfY2xpcHMo JmNsaXAsIGNsaXBzLCBudW1fY2xpcHMsIGZsYWdzLAogCQkJCSAgIGZiLT53aWR0aCwgZmItPmhl aWdodCk7CiAKQEAgLTIyOSw3ICsyMzUsNyBAQCBzdGF0aWMgaW50IG1pcGlfZGJpX2ZiX2RpcnR5 KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCQlpZiAocmV0KQogCQkJZ290byBvdXRfdW5s b2NrOwogCX0gZWxzZSB7Ci0JCXRyID0gY21hX29iai0+dmFkZHI7CisJCXRyID0gb2JqLT52YWRk cjsKIAl9CiAKIAltaXBpX2RiaV9jb21tYW5kKG1pcGksIE1JUElfRENTX1NFVF9DT0xVTU5fQURE UkVTUywKQEAgLTI1Myw4ICsyNTksOCBAQCBzdGF0aWMgaW50IG1pcGlfZGJpX2ZiX2RpcnR5KHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9m cmFtZWJ1ZmZlcl9mdW5jcyBtaXBpX2RiaV9mYl9mdW5jcyA9IHsKLQkuZGVzdHJveQk9IGRybV9m Yl9jbWFfZGVzdHJveSwKLQkuY3JlYXRlX2hhbmRsZQk9IGRybV9mYl9jbWFfY3JlYXRlX2hhbmRs ZSwKKwkuZGVzdHJveQk9IGRybV9mYl9nZW1fZGVzdHJveSwKKwkuY3JlYXRlX2hhbmRsZQk9IGRy bV9mYl9nZW1fY3JlYXRlX2hhbmRsZSwKIAkuZGlydHkJCT0gbWlwaV9kYmlfZmJfZGlydHksCiB9 OwogCkBAIC04MDcsMzEgKzgxMywxMiBAQCBpbnQgbWlwaV9kYmlfc3BpX2luaXQoc3RydWN0IHNw aV9kZXZpY2UgKnNwaSwgc3RydWN0IG1pcGlfZGJpICptaXBpLAogewogCXNpemVfdCB0eF9zaXpl ID0gdGlueWRybV9zcGlfbWF4X3RyYW5zZmVyX3NpemUoc3BpLCAwKTsKIAlzdHJ1Y3QgZGV2aWNl ICpkZXYgPSAmc3BpLT5kZXY7Ci0JaW50IHJldDsKIAogCWlmICh0eF9zaXplIDwgMTYpIHsKIAkJ RFJNX0VSUk9SKCJTUEkgdHJhbnNtaXQgYnVmZmVyIHRvbyBzbWFsbDogJXp1XG4iLCB0eF9zaXpl KTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JLyoKLQkgKiBFdmVuIHRob3VnaCBpdCdzIG5v dCB0aGUgU1BJIGRldmljZSB0aGF0IGRvZXMgRE1BICh0aGUgbWFzdGVyIGRvZXMpLAotCSAqIHRo ZSBkbWEgbWFzayBpcyBuZWNlc3NhcnkgZm9yIHRoZSBkbWFfYWxsb2Nfd2MoKSBpbgotCSAqIGRy bV9nZW1fY21hX2NyZWF0ZSgpLiBUaGUgZG1hX2FkZHIgcmV0dXJuZWQgd2lsbCBiZSBhIHBoeXNp Y2FsCi0JICogYWRkZHJlc3Mgd2hpY2ggbWlnaHQgYmUgZGlmZmVyZW50IGZyb20gdGhlIGJ1cyBh ZGRyZXNzLCBidXQgdGhpcyBpcwotCSAqIG5vdCBhIHByb2JsZW0gc2luY2UgdGhlIGFkZHJlc3Mg d2lsbCBub3QgYmUgdXNlZC4KLQkgKiBUaGUgdmlydHVhbCBhZGRyZXNzIGlzIHVzZWQgaW4gdGhl IHRyYW5zZmVyIGFuZCB0aGUgU1BJIGNvcmUKLQkgKiByZS1tYXBzIGl0IG9uIHRoZSBTUEkgbWFz dGVyIGRldmljZSB1c2luZyB0aGUgRE1BIHN0cmVhbWluZyBBUEkKLQkgKiAoc3BpX21hcF9idWYo KSkuCi0JICovCi0JaWYgKCFkZXYtPmNvaGVyZW50X2RtYV9tYXNrKSB7Ci0JCXJldCA9IGRtYV9j b2VyY2VfbWFza19hbmRfY29oZXJlbnQoZGV2LCBETUFfQklUX01BU0soMzIpKTsKLQkJaWYgKHJl dCkgewotCQkJZGV2X3dhcm4oZGV2LCAiRmFpbGVkIHRvIHNldCBkbWEgbWFzayAlZFxuIiwgcmV0 KTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KLQl9Ci0KIAltaXBpLT5zcGkgPSBzcGk7CiAJbWlwaS0+ cmVhZF9jb21tYW5kcyA9IG1pcGlfZGJpX2Rjc19yZWFkX2NvbW1hbmRzOwogCkBAIC05NjYsNyAr OTUzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbWlwaV9kYmlfZGVi dWdmc19jb21tYW5kX2ZvcHMgPSB7CiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pbmZv X2xpc3QgbWlwaV9kYmlfZGVidWdmc19saXN0W10gPSB7Ci0JeyAiZmIiLCAgIGRybV9mYl9jbWFf ZGVidWdmc19zaG93LCAwIH0sCisJeyAiZmIiLCAgIGRybV9mYl9zaG1lbV9kZWJ1Z2ZzX3Nob3cs IDAgfSwKIH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdGlueWRybS90aW55ZHJt LmggYi9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlkcm0uaAppbmRleCAwMGI4MDBkLi45M2Q3YTAz IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlkcm0uaAorKysgYi9pbmNsdWRl L2RybS90aW55ZHJtL3Rpbnlkcm0uaApAQCAtMTAsOCArMTAsOSBAQAogI2lmbmRlZiBfX0xJTlVY X1RJTllEUk1fSAogI2RlZmluZSBfX0xJTlVYX1RJTllEUk1fSAogCi0jaW5jbHVkZSA8ZHJtL2Ry bV9nZW1fY21hX2hlbHBlci5oPgotI2luY2x1ZGUgPGRybS9kcm1fZmJfY21hX2hlbHBlci5oPgor I2luY2x1ZGUgPGRybS9kcm1fZ2VtX3NobWVtX2hlbHBlci5oPgorI2luY2x1ZGUgPGRybS9kcm1f ZmJfZ2VtX2hlbHBlci5oPgorI2luY2x1ZGUgPGRybS9kcm1fZmJfc2htZW1faGVscGVyLmg+CiAj aW5jbHVkZSA8ZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oPgogCiAvKioKQEAgLTE5LDcgKzIw LDcgQEAKICAqIEBkcm06IERSTSBkZXZpY2UKICAqIEBwaXBlOiBEaXNwbGF5IHBpcGUgc3RydWN0 dXJlCiAgKiBAZGlydHlfbG9jazogU2VyaWFsaXplcyBmcmFtZWJ1ZmZlciBmbHVzaGluZwotICog QGZiZGV2X2NtYTogQ01BIGZiZGV2IHN0cnVjdHVyZQorICogQGZiZGV2OiBmYmRldiBoZWxwZXIK ICAqIEBzdXNwZW5kX3N0YXRlOiBBdG9taWMgc3RhdGUgd2hlbiBzdXNwZW5kZWQKICAqIEBmYl9m dW5jczogRnJhbWVidWZmZXIgZnVuY3Rpb25zIHVzZWQgd2hlbiBjcmVhdGluZyBmcmFtZWJ1ZmZl cnMKICAqLwpAQCAtMjcsNyArMjgsNyBAQCBzdHJ1Y3QgdGlueWRybV9kZXZpY2UgewogCXN0cnVj dCBkcm1fZGV2aWNlICpkcm07CiAJc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlIHBpcGU7 CiAJc3RydWN0IG11dGV4IGRpcnR5X2xvY2s7Ci0Jc3RydWN0IGRybV9mYmRldl9jbWEgKmZiZGV2 X2NtYTsKKwlzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJkZXY7CiAJc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN1c3BlbmRfc3RhdGU7CiAJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlcl9mdW5j cyAqZmJfZnVuY3M7CiB9OwpAQCAtNDUsMjAgKzQ2LDggQEAgcGlwZV90b190aW55ZHJtKHN0cnVj dCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSkKICAqIHRoZSAmZHJtX2RyaXZlciBzdHJ1 Y3R1cmUuCiAgKi8KICNkZWZpbmUgVElOWURSTV9HRU1fRFJJVkVSX09QUyBcCi0JLmdlbV9mcmVl X29iamVjdAk9IHRpbnlkcm1fZ2VtX2NtYV9mcmVlX29iamVjdCwgXAotCS5nZW1fdm1fb3BzCQk9 ICZkcm1fZ2VtX2NtYV92bV9vcHMsIFwKLQkucHJpbWVfaGFuZGxlX3RvX2ZkCT0gZHJtX2dlbV9w cmltZV9oYW5kbGVfdG9fZmQsIFwKLQkucHJpbWVfZmRfdG9faGFuZGxlCT0gZHJtX2dlbV9wcmlt ZV9mZF90b19oYW5kbGUsIFwKLQkuZ2VtX3ByaW1lX2ltcG9ydAk9IGRybV9nZW1fcHJpbWVfaW1w b3J0LCBcCi0JLmdlbV9wcmltZV9leHBvcnQJPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydCwgXAotCS5n ZW1fcHJpbWVfZ2V0X3NnX3RhYmxlCT0gZHJtX2dlbV9jbWFfcHJpbWVfZ2V0X3NnX3RhYmxlLCBc Ci0JLmdlbV9wcmltZV9pbXBvcnRfc2dfdGFibGUgPSB0aW55ZHJtX2dlbV9jbWFfcHJpbWVfaW1w b3J0X3NnX3RhYmxlLCBcCi0JLmdlbV9wcmltZV92bWFwCQk9IGRybV9nZW1fY21hX3ByaW1lX3Zt YXAsIFwKLQkuZ2VtX3ByaW1lX3Z1bm1hcAk9IGRybV9nZW1fY21hX3ByaW1lX3Z1bm1hcCwgXAot CS5nZW1fcHJpbWVfbW1hcAkJPSBkcm1fZ2VtX2NtYV9wcmltZV9tbWFwLCBcCi0JLmR1bWJfY3Jl YXRlCQk9IGRybV9nZW1fY21hX2R1bWJfY3JlYXRlLCBcCi0JLmR1bWJfbWFwX29mZnNldAk9IGRy bV9nZW1fY21hX2R1bWJfbWFwX29mZnNldCwgXAotCS5kdW1iX2Rlc3Ryb3kJCT0gZHJtX2dlbV9k dW1iX2Rlc3Ryb3kKKwkuZ2VtX2NyZWF0ZV9vYmplY3QgPSB0aW55ZHJtX2dlbV9jcmVhdGVfb2Jq ZWN0LCBcCisJRFJNX0dFTV9TSE1FTV9EUklWRVJfT1BTCiAKIC8qKgogICogVElOWURSTV9NT0RF IC0gdGlueWRybSBkaXNwbGF5IG1vZGUKQEAgLTg0LDExICs3Myw4IEBAIHBpcGVfdG9fdGlueWRy bShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUpCiAJLmNsb2NrID0gMSAvKiBw YXNzIHZhbGlkYXRpb24gKi8KIAogdm9pZCB0aW55ZHJtX2xhc3RjbG9zZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZHJtKTsKLXZvaWQgdGlueWRybV9nZW1fY21hX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqZ2VtX29iaik7Ci1zdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgotdGlueWRybV9n ZW1fY21hX3ByaW1lX2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAotCQkJ CSAgICAgIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKLQkJCQkgICAgICBzdHJ1 Y3Qgc2dfdGFibGUgKnNndCk7CitzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnRpbnlkcm1fZ2VtX2Ny ZWF0ZV9vYmplY3Qoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKKwkJCQkJCSBzaXplX3Qgc2l6ZSk7 CiBpbnQgZGV2bV90aW55ZHJtX2luaXQoc3RydWN0IGRldmljZSAqcGFyZW50LCBzdHJ1Y3QgdGlu eWRybV9kZXZpY2UgKnRkZXYsCiAJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXJf ZnVuY3MgKmZiX2Z1bmNzLAogCQkgICAgICBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVyKTsKLS0g CjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK