Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1451849ybl; Thu, 5 Dec 2019 01:28:55 -0800 (PST) X-Google-Smtp-Source: APXvYqziAANBJwJ03bq/7jNfFIC8kabARliYTgIysBTL2aprtUIsWc5Hzt+GINlhNCvPpkxbEsBT X-Received: by 2002:aca:889:: with SMTP id 131mr6175156oii.3.1575538135718; Thu, 05 Dec 2019 01:28:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575538135; cv=none; d=google.com; s=arc-20160816; b=FSUtijrz5mQxzseZ2xjp/MmrNcHQ9H/6rbju/z8VqzIBXc34+KpiI9kuNj1LmDIWU4 6Bvmc4bdTEeY7O9+Zz2O14FjNBfnJ9aL/i4kAJPDH/yv7mvD67QIYTBIJtRTomKzQTyM mJ6e2MlKQ+D6DATj97c6szaPCIWp/rGcbRBIyg1lyYQ3EbpDRnmllhOS10KFFmPi6Nwx ZM2/rbMGcFqgJucF7VXHcaaFrVJwSRBMgt1fbWQOptlJgAf4/YQXDNdLYRCRjo3FbJtd u07MVb0/rg5RtQfZ/XBnOTDbzO4haaPiMgp1xrTIUbRYK3MpoQykdPoUvaYBXA2WfkY/ E6PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=zeSQKAOzOclD4n6nprnI4ShG4HDxSJbEnORFXwSjDTY=; b=YPwnBUVEy1zO0hbjdSpRHNYuI+uFMTF1YehS/QFBKJDWg8NfFvn+9zV2b1hbDznXsD 2gX8cQz6kKfSGK7gPyxrh0Wbkjkc8vdfcmlQfGm4lfoBRiJ9HBT5u5/8ozUW1It/Gf5l K6HLAfGXBm3IGcBoYoC1RbuyCuRyY7AqNOfp1lHAdDibKV7BbmQJxxNHgapUTffVNmPW HTVIQ92uROPe0wcKErMGd4srb90QB4y3stu425W773KxiU8WgIp7Ou/U5e8Iv1ukJqnY D6sWBHk4f8o4JZikpCij7fHHCB80oJ70Xl0DPWXBAeLOJIETV0LTc4pPV0mBFm/6sDWT QR7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=a8We3anQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i185si3913365oia.187.2019.12.05.01.28.43; Thu, 05 Dec 2019 01:28:55 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=a8We3anQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729198AbfLEJ2G (ORCPT + 99 others); Thu, 5 Dec 2019 04:28:06 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:64707 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728991AbfLEJ2E (ORCPT ); Thu, 5 Dec 2019 04:28:04 -0500 X-UUID: 9aeb568bb38747d5943505b888403fb3-20191205 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=zeSQKAOzOclD4n6nprnI4ShG4HDxSJbEnORFXwSjDTY=; b=a8We3anQw9WdhoEOGT3FzpcNmJtK9D3vxTY+qMiysCbY60wdkSFlD512VIVdwzmk/HPMfrbnDnQGK2OTokivVyhB3IE93pHGdH7QWDI3atdUURmu3CuR5GFc2aAcjKC+mVzj6qKklwn6WsDJLDueO7Y75moxkNOuHUjS3S30Z24=; X-UUID: 9aeb568bb38747d5943505b888403fb3-20191205 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 315324916; Thu, 05 Dec 2019 17:27:52 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 5 Dec 2019 17:27:34 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 5 Dec 2019 17:26:52 +0800 From: Bibby Hsieh To: David Airlie , Matthias Brugger , Daniel Vetter , , CC: Philipp Zabel , YT Shen , Thierry Reding , CK Hu , , , , , , Bibby Hsieh , Yongqiang Niu Subject: [PATCH v4 6/7] drm/mediatek: support CMDQ interface in ddp component Date: Thu, 5 Dec 2019 17:27:48 +0800 Message-ID: <20191205092749.4021-7-bibby.hsieh@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191205092749.4021-1-bibby.hsieh@mediatek.com> References: <20191205092749.4021-1-bibby.hsieh@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhlIENNRFEgKENvbW1hbmQgUXVldWUpIGluIE1UODE4MyBpcyB1c2VkIHRvIGhlbHANCnVwZGF0 ZSBhbGwgcmVsZXZhbnQgZGlzcGxheSBjb250cm9sbGVyIHJlZ2lzdGVycw0Kd2l0aCBjcml0aWNh bCB0aW1lIGxpbWF0aW9uLg0KVGhpcyBwYXRjaCBhZGQgY21kcSBpbnRlcmZhY2UgaW4gZGRwX2Nv bXAgaW50ZXJmYWNlLA0KbGV0IGFsbCBkZHBfY29tcCBpbnRlcmZhY2UgY2FuIHN1cHBvcnQgY3B1 L2NtZHEgZnVuY3Rpb24NCmF0IHRoZSBzYW1lIHRpbWUuDQoNClNpZ25lZC1vZmYtYnk6IFlUIFNo ZW4gPHl0LnNoZW5AbWVkaWF0ZWsuY29tPg0KU2lnbmVkLW9mZi1ieTogQ0sgSHUgPGNrLmh1QG1l ZGlhdGVrLmNvbT4NClNpZ25lZC1vZmYtYnk6IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0 cm9uaXguZGU+DQpTaWduZWQtb2ZmLWJ5OiBCaWJieSBIc2llaCA8YmliYnkuaHNpZWhAbWVkaWF0 ZWsuY29tPg0KU2lnbmVkLW9mZi1ieTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3FpYW5nLm5pdUBtZWRp YXRlay5jb20+DQotLS0NCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfY29sb3Iu YyAgIHwgICA3ICstDQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bC5jICAg ICB8ICA2NSArKysrKy0tLS0tDQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX3Jk bWEuYyAgICB8ICA0MyArKysrLS0tDQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f Y3J0Yy5jICAgICB8ICAxMCArLQ0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rk cF9jb21wLmMgfCAxMzIgKysrKysrKysrKysrKysrLS0tLS0NCiBkcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oIHwgIDMxICsrKy0tDQogNiBmaWxlcyBjaGFuZ2VkLCAx OTQgaW5zZXJ0aW9ucygrKSwgOTQgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZGlzcF9jb2xvci5jDQppbmRleCA1OWRlMmE0NmFhNDkuLjZmYjBkNjk4M2E0YSAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9jb2xvci5jDQor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfY29sb3IuYw0KQEAgLTksNiAr OSw3IEBADQogI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPg0KICNpbmNsdWRlIDxsaW51eC9v Zl9pcnEuaD4NCiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorI2luY2x1ZGUg PGxpbnV4L3NvYy9tZWRpYXRlay9tdGstY21kcS5oPg0KIA0KICNpbmNsdWRlICJtdGtfZHJtX2Ny dGMuaCINCiAjaW5jbHVkZSAibXRrX2RybV9kZHBfY29tcC5oIg0KQEAgLTQ1LDEyICs0NiwxMiBA QCBzdGF0aWMgaW5saW5lIHN0cnVjdCBtdGtfZGlzcF9jb2xvciAqY29tcF90b19jb2xvcihzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wKQ0KIA0KIHN0YXRpYyB2b2lkIG10a19jb2xvcl9jb25maWco c3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgdW5zaWduZWQgaW50IHcsDQogCQkJICAgICB1bnNp Z25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KLQkJCSAgICAgdW5zaWduZWQgaW50 IGJwYykNCisJCQkgICAgIHVuc2lnbmVkIGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9w a3QpDQogew0KIAlzdHJ1Y3QgbXRrX2Rpc3BfY29sb3IgKmNvbG9yID0gY29tcF90b19jb2xvcihj b21wKTsNCiANCi0Jd3JpdGVsKHcsIGNvbXAtPnJlZ3MgKyBESVNQX0NPTE9SX1dJRFRIKGNvbG9y KSk7DQotCXdyaXRlbChoLCBjb21wLT5yZWdzICsgRElTUF9DT0xPUl9IRUlHSFQoY29sb3IpKTsN CisJbXRrX2RkcF93cml0ZShjbWRxX3BrdCwgdywgY29tcCwgRElTUF9DT0xPUl9XSURUSChjb2xv cikpOw0KKwltdGtfZGRwX3dyaXRlKGNtZHFfcGt0LCBoLCBjb21wLCBESVNQX0NPTE9SX0hFSUdI VChjb2xvcikpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBtdGtfY29sb3Jfc3RhcnQoc3RydWN0IG10 a19kZHBfY29tcCAqY29tcCkNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2Rpc3Bfb3ZsLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMN CmluZGV4IDhhMzIyNDg2NzFjMy4uNjQ5ZTM3MWRkOWI3IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bC5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMNCkBAIC0xMiw2ICsxMiw3IEBADQogI2luY2x1ZGUgPGxpbnV4 L29mX2lycS5oPg0KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCiAjaW5jbHVk ZSA8bGludXgvcG1fcnVudGltZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9zb2MvbWVkaWF0ZWsvbXRr LWNtZHEuaD4NCiANCiAjaW5jbHVkZSAibXRrX2RybV9jcnRjLmgiDQogI2luY2x1ZGUgIm10a19k cm1fZGRwX2NvbXAuaCINCkBAIC0xMjUsMTQgKzEyNiwxNSBAQCBzdGF0aWMgdm9pZCBtdGtfb3Zs X3N0b3Aoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkNCiANCiBzdGF0aWMgdm9pZCBtdGtfb3Zs X2NvbmZpZyhzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgdywNCiAJCQkg ICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KLQkJCSAgIHVuc2lnbmVk IGludCBicGMpDQorCQkJICAgdW5zaWduZWQgaW50IGJwYywgc3RydWN0IGNtZHFfcGt0ICpjbWRx X3BrdCkNCiB7DQogCWlmICh3ICE9IDAgJiYgaCAhPSAwKQ0KLQkJd3JpdGVsX3JlbGF4ZWQoaCA8 PCAxNiB8IHcsIGNvbXAtPnJlZ3MgKyBESVNQX1JFR19PVkxfUk9JX1NJWkUpOw0KLQl3cml0ZWxf cmVsYXhlZCgweDAsIGNvbXAtPnJlZ3MgKyBESVNQX1JFR19PVkxfUk9JX0JHQ0xSKTsNCisJCW10 a19kZHBfd3JpdGVfcmVsYXhlZChjbWRxX3BrdCwgaCA8PCAxNiB8IHcsIGNvbXAsDQorCQkJCSAg ICAgIERJU1BfUkVHX09WTF9ST0lfU0laRSk7DQorCW10a19kZHBfd3JpdGVfcmVsYXhlZChjbWRx X3BrdCwgMHgwLCBjb21wLCBESVNQX1JFR19PVkxfUk9JX0JHQ0xSKTsNCiANCi0Jd3JpdGVsKDB4 MSwgY29tcC0+cmVncyArIERJU1BfUkVHX09WTF9SU1QpOw0KLQl3cml0ZWwoMHgwLCBjb21wLT5y ZWdzICsgRElTUF9SRUdfT1ZMX1JTVCk7DQorCW10a19kZHBfd3JpdGUoY21kcV9wa3QsIDB4MSwg Y29tcCwgRElTUF9SRUdfT1ZMX1JTVCk7DQorCW10a19kZHBfd3JpdGUoY21kcV9wa3QsIDB4MCwg Y29tcCwgRElTUF9SRUdfT1ZMX1JTVCk7DQogfQ0KIA0KIHN0YXRpYyB1bnNpZ25lZCBpbnQgbXRr X292bF9sYXllcl9ucihzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wKQ0KQEAgLTE3NiwxNiArMTc4 LDE2IEBAIHN0YXRpYyBpbnQgbXRrX292bF9sYXllcl9jaGVjayhzdHJ1Y3QgbXRrX2RkcF9jb21w ICpjb21wLCB1bnNpZ25lZCBpbnQgaWR4LA0KIAlyZXR1cm4gMDsNCiB9DQogDQotc3RhdGljIHZv aWQgbXRrX292bF9sYXllcl9vbihzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBp bnQgaWR4KQ0KK3N0YXRpYyB2b2lkIG10a19vdmxfbGF5ZXJfb24oc3RydWN0IG10a19kZHBfY29t cCAqY29tcCwgdW5zaWduZWQgaW50IGlkeCwNCisJCQkgICAgIHN0cnVjdCBjbWRxX3BrdCAqY21k cV9wa3QpDQogew0KLQl1bnNpZ25lZCBpbnQgcmVnOw0KIAl1bnNpZ25lZCBpbnQgZ21jX3RocnNo ZF9sOw0KIAl1bnNpZ25lZCBpbnQgZ21jX3RocnNoZF9oOw0KIAl1bnNpZ25lZCBpbnQgZ21jX3Zh bHVlOw0KIAlzdHJ1Y3QgbXRrX2Rpc3Bfb3ZsICpvdmwgPSBjb21wX3RvX292bChjb21wKTsNCiAN Ci0Jd3JpdGVsKDB4MSwgY29tcC0+cmVncyArIERJU1BfUkVHX09WTF9SRE1BX0NUUkwoaWR4KSk7 DQotDQorCW10a19kZHBfd3JpdGUoY21kcV9wa3QsIDB4MSwgY29tcCwNCisJCSAgICAgIERJU1Bf UkVHX09WTF9SRE1BX0NUUkwoaWR4KSk7DQogCWdtY190aHJzaGRfbCA9IEdNQ19USFJFU0hPTERf TE9XID4+DQogCQkgICAgICAoR01DX1RIUkVTSE9MRF9CSVRTIC0gb3ZsLT5kYXRhLT5nbWNfYml0 cyk7DQogCWdtY190aHJzaGRfaCA9IEdNQ19USFJFU0hPTERfSElHSCA+Pg0KQEAgLTE5NSwyMiAr MTk3LDE5IEBAIHN0YXRpYyB2b2lkIG10a19vdmxfbGF5ZXJfb24oc3RydWN0IG10a19kZHBfY29t cCAqY29tcCwgdW5zaWduZWQgaW50IGlkeCkNCiAJZWxzZQ0KIAkJZ21jX3ZhbHVlID0gZ21jX3Ro cnNoZF9sIHwgZ21jX3RocnNoZF9sIDw8IDggfA0KIAkJCSAgICBnbWNfdGhyc2hkX2ggPDwgMTYg fCBnbWNfdGhyc2hkX2ggPDwgMjQ7DQotCXdyaXRlbChnbWNfdmFsdWUsIGNvbXAtPnJlZ3MgKyBE SVNQX1JFR19PVkxfUkRNQV9HTUMoaWR4KSk7DQotDQotCXJlZyA9IHJlYWRsKGNvbXAtPnJlZ3Mg KyBESVNQX1JFR19PVkxfU1JDX0NPTik7DQotCXJlZyA9IHJlZyB8IEJJVChpZHgpOw0KLQl3cml0 ZWwocmVnLCBjb21wLT5yZWdzICsgRElTUF9SRUdfT1ZMX1NSQ19DT04pOw0KKwltdGtfZGRwX3dy aXRlKGNtZHFfcGt0LCBnbWNfdmFsdWUsDQorCQkgICAgICBjb21wLCBESVNQX1JFR19PVkxfUkRN QV9HTUMoaWR4KSk7DQorCW10a19kZHBfd3JpdGVfbWFzayhjbWRxX3BrdCwgQklUKGlkeCksIGNv bXAsDQorCQkJICAgRElTUF9SRUdfT1ZMX1NSQ19DT04sIEJJVChpZHgpKTsNCiB9DQogDQotc3Rh dGljIHZvaWQgbXRrX292bF9sYXllcl9vZmYoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgdW5z aWduZWQgaW50IGlkeCkNCitzdGF0aWMgdm9pZCBtdGtfb3ZsX2xheWVyX29mZihzdHJ1Y3QgbXRr X2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgaWR4LA0KKwkJCSAgICAgIHN0cnVjdCBjbWRx X3BrdCAqY21kcV9wa3QpDQogew0KLQl1bnNpZ25lZCBpbnQgcmVnOw0KLQ0KLQlyZWcgPSByZWFk bChjb21wLT5yZWdzICsgRElTUF9SRUdfT1ZMX1NSQ19DT04pOw0KLQlyZWcgPSByZWcgJiB+QklU KGlkeCk7DQotCXdyaXRlbChyZWcsIGNvbXAtPnJlZ3MgKyBESVNQX1JFR19PVkxfU1JDX0NPTik7 DQotDQotCXdyaXRlbCgweDAsIGNvbXAtPnJlZ3MgKyBESVNQX1JFR19PVkxfUkRNQV9DVFJMKGlk eCkpOw0KKwltdGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3QsIDAsIGNvbXAsDQorCQkJICAgRElT UF9SRUdfT1ZMX1NSQ19DT04sIEJJVChpZHgpKTsNCisJbXRrX2RkcF93cml0ZShjbWRxX3BrdCwg MCwgY29tcCwNCisJCSAgICAgIERJU1BfUkVHX09WTF9SRE1BX0NUUkwoaWR4KSk7DQogfQ0KIA0K IHN0YXRpYyB1bnNpZ25lZCBpbnQgb3ZsX2ZtdF9jb252ZXJ0KHN0cnVjdCBtdGtfZGlzcF9vdmwg Km92bCwgdW5zaWduZWQgaW50IGZtdCkNCkBAIC0yNTAsNyArMjQ5LDggQEAgc3RhdGljIHVuc2ln bmVkIGludCBvdmxfZm10X2NvbnZlcnQoc3RydWN0IG10a19kaXNwX292bCAqb3ZsLCB1bnNpZ25l ZCBpbnQgZm10KQ0KIH0NCiANCiBzdGF0aWMgdm9pZCBtdGtfb3ZsX2xheWVyX2NvbmZpZyhzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgaWR4LA0KLQkJCQkgc3RydWN0IG10 a19wbGFuZV9zdGF0ZSAqc3RhdGUpDQorCQkJCSBzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0 ZSwNCisJCQkJIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpDQogew0KIAlzdHJ1Y3QgbXRrX2Rp c3Bfb3ZsICpvdmwgPSBjb21wX3RvX292bChjb21wKTsNCiAJc3RydWN0IG10a19wbGFuZV9wZW5k aW5nX3N0YXRlICpwZW5kaW5nID0gJnN0YXRlLT5wZW5kaW5nOw0KQEAgLTI2Miw3ICsyNjIsNyBA QCBzdGF0aWMgdm9pZCBtdGtfb3ZsX2xheWVyX2NvbmZpZyhzdHJ1Y3QgbXRrX2RkcF9jb21wICpj b21wLCB1bnNpZ25lZCBpbnQgaWR4LA0KIAl1bnNpZ25lZCBpbnQgY29uOw0KIA0KIAlpZiAoIXBl bmRpbmctPmVuYWJsZSkNCi0JCW10a19vdmxfbGF5ZXJfb2ZmKGNvbXAsIGlkeCk7DQorCQltdGtf b3ZsX2xheWVyX29mZihjb21wLCBpZHgsIGNtZHFfcGt0KTsNCiANCiAJY29uID0gb3ZsX2ZtdF9j b252ZXJ0KG92bCwgZm10KTsNCiAJaWYgKGlkeCAhPSAwKQ0KQEAgLTI3OCwxNCArMjc4LDE5IEBA IHN0YXRpYyB2b2lkIG10a19vdmxfbGF5ZXJfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNv bXAsIHVuc2lnbmVkIGludCBpZHgsDQogCQlhZGRyICs9IHBlbmRpbmctPnBpdGNoIC0gMTsNCiAJ fQ0KIA0KLQl3cml0ZWxfcmVsYXhlZChjb24sIGNvbXAtPnJlZ3MgKyBESVNQX1JFR19PVkxfQ09O KGlkeCkpOw0KLQl3cml0ZWxfcmVsYXhlZChwaXRjaCwgY29tcC0+cmVncyArIERJU1BfUkVHX09W TF9QSVRDSChpZHgpKTsNCi0Jd3JpdGVsX3JlbGF4ZWQoc3JjX3NpemUsIGNvbXAtPnJlZ3MgKyBE SVNQX1JFR19PVkxfU1JDX1NJWkUoaWR4KSk7DQotCXdyaXRlbF9yZWxheGVkKG9mZnNldCwgY29t cC0+cmVncyArIERJU1BfUkVHX09WTF9PRkZTRVQoaWR4KSk7DQotCXdyaXRlbF9yZWxheGVkKGFk ZHIsIGNvbXAtPnJlZ3MgKyBESVNQX1JFR19PVkxfQUREUihvdmwsIGlkeCkpOw0KKwltdGtfZGRw X3dyaXRlX3JlbGF4ZWQoY21kcV9wa3QsIGNvbiwgY29tcCwNCisJCQkgICAgICBESVNQX1JFR19P VkxfQ09OKGlkeCkpOw0KKwltdGtfZGRwX3dyaXRlX3JlbGF4ZWQoY21kcV9wa3QsIHBpdGNoLCBj b21wLA0KKwkJCSAgICAgIERJU1BfUkVHX09WTF9QSVRDSChpZHgpKTsNCisJbXRrX2RkcF93cml0 ZV9yZWxheGVkKGNtZHFfcGt0LCBzcmNfc2l6ZSwgY29tcCwNCisJCQkgICAgICBESVNQX1JFR19P VkxfU1JDX1NJWkUoaWR4KSk7DQorCW10a19kZHBfd3JpdGVfcmVsYXhlZChjbWRxX3BrdCwgb2Zm c2V0LCBjb21wLA0KKwkJCSAgICAgIERJU1BfUkVHX09WTF9PRkZTRVQoaWR4KSk7DQorCW10a19k ZHBfd3JpdGVfcmVsYXhlZChjbWRxX3BrdCwgYWRkciwgY29tcCwNCisJCQkgICAgICBESVNQX1JF R19PVkxfQUREUihvdmwsIGlkeCkpOw0KIA0KIAlpZiAocGVuZGluZy0+ZW5hYmxlKQ0KLQkJbXRr X292bF9sYXllcl9vbihjb21wLCBpZHgpOw0KKwkJbXRrX292bF9sYXllcl9vbihjb21wLCBpZHgs IGNtZHFfcGt0KTsNCiB9DQogDQogc3RhdGljIHZvaWQgbXRrX292bF9iZ2Nscl9pbl9vbihzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wKQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZGlzcF9yZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bf cmRtYS5jDQppbmRleCAxNWNjNGFlODRhZWUuLmMxYWJkZTM3NDNiZiAxMDA2NDQNCi0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMNCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMNCkBAIC0xMCw2ICsxMCw3IEBADQogI2luY2x1 ZGUgPGxpbnV4L29mX2lycS5oPg0KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4N CiAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9zb2MvbWVk aWF0ZWsvbXRrLWNtZHEuaD4NCiANCiAjaW5jbHVkZSAibXRrX2RybV9jcnRjLmgiDQogI2luY2x1 ZGUgIm10a19kcm1fZGRwX2NvbXAuaCINCkBAIC0xMjcsMTUgKzEyOCwxNyBAQCBzdGF0aWMgdm9p ZCBtdGtfcmRtYV9zdG9wKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXApDQogDQogc3RhdGljIHZv aWQgbXRrX3JkbWFfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGlu dCB3aWR0aCwNCiAJCQkgICAgdW5zaWduZWQgaW50IGhlaWdodCwgdW5zaWduZWQgaW50IHZyZWZy ZXNoLA0KLQkJCSAgICB1bnNpZ25lZCBpbnQgYnBjKQ0KKwkJCSAgICB1bnNpZ25lZCBpbnQgYnBj LCBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KQ0KIHsNCiAJdW5zaWduZWQgaW50IHRocmVzaG9s ZDsNCiAJdW5zaWduZWQgaW50IHJlZzsNCiAJc3RydWN0IG10a19kaXNwX3JkbWEgKnJkbWEgPSBj b21wX3RvX3JkbWEoY29tcCk7DQogCXUzMiByZG1hX2ZpZm9fc2l6ZTsNCiANCi0JcmRtYV91cGRh dGVfYml0cyhjb21wLCBESVNQX1JFR19SRE1BX1NJWkVfQ09OXzAsIDB4ZmZmLCB3aWR0aCk7DQot CXJkbWFfdXBkYXRlX2JpdHMoY29tcCwgRElTUF9SRUdfUkRNQV9TSVpFX0NPTl8xLCAweGZmZmZm LCBoZWlnaHQpOw0KKwltdGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3QsIHdpZHRoLCBjb21wLA0K KwkJCSAgIERJU1BfUkVHX1JETUFfU0laRV9DT05fMCwgMHhmZmYpOw0KKwltdGtfZGRwX3dyaXRl X21hc2soY21kcV9wa3QsIGhlaWdodCwgY29tcCwNCisJCQkgICBESVNQX1JFR19SRE1BX1NJWkVf Q09OXzEsIDB4ZmZmZmYpOw0KIA0KIAlpZiAocmRtYS0+Zmlmb19zaXplKQ0KIAkJcmRtYV9maWZv X3NpemUgPSByZG1hLT5maWZvX3NpemU7DQpAQCAtMTUyLDcgKzE1NSw3IEBAIHN0YXRpYyB2b2lk IG10a19yZG1hX2NvbmZpZyhzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQg d2lkdGgsDQogCXJlZyA9IFJETUFfRklGT19VTkRFUkZMT1dfRU4gfA0KIAkgICAgICBSRE1BX0ZJ Rk9fUFNFVURPX1NJWkUocmRtYV9maWZvX3NpemUpIHwNCiAJICAgICAgUkRNQV9PVVRQVVRfVkFM SURfRklGT19USFJFU0hPTEQodGhyZXNob2xkKTsNCi0Jd3JpdGVsKHJlZywgY29tcC0+cmVncyAr IERJU1BfUkVHX1JETUFfRklGT19DT04pOw0KKwltdGtfZGRwX3dyaXRlKGNtZHFfcGt0LCByZWcs IGNvbXAsIERJU1BfUkVHX1JETUFfRklGT19DT04pOw0KIH0NCiANCiBzdGF0aWMgdW5zaWduZWQg aW50IHJkbWFfZm10X2NvbnZlcnQoc3RydWN0IG10a19kaXNwX3JkbWEgKnJkbWEsDQpAQCAtMTk4 LDcgKzIwMSw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX3JkbWFfbGF5ZXJfbnIoc3RydWN0 IG10a19kZHBfY29tcCAqY29tcCkNCiB9DQogDQogc3RhdGljIHZvaWQgbXRrX3JkbWFfbGF5ZXJf Y29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCBpZHgsDQotCQkJ CSAgc3RydWN0IG10a19wbGFuZV9zdGF0ZSAqc3RhdGUpDQorCQkJCSAgc3RydWN0IG10a19wbGFu ZV9zdGF0ZSAqc3RhdGUsDQorCQkJCSAgc3RydWN0IGNtZHFfcGt0ICpjbWRxX3BrdCkNCiB7DQog CXN0cnVjdCBtdGtfZGlzcF9yZG1hICpyZG1hID0gY29tcF90b19yZG1hKGNvbXApOw0KIAlzdHJ1 Y3QgbXRrX3BsYW5lX3BlbmRpbmdfc3RhdGUgKnBlbmRpbmcgPSAmc3RhdGUtPnBlbmRpbmc7DQpA QCAtMjA4LDI0ICsyMTIsMjcgQEAgc3RhdGljIHZvaWQgbXRrX3JkbWFfbGF5ZXJfY29uZmlnKHN0 cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCBpZHgsDQogCXVuc2lnbmVkIGlu dCBjb247DQogDQogCWNvbiA9IHJkbWFfZm10X2NvbnZlcnQocmRtYSwgZm10KTsNCi0Jd3JpdGVs X3JlbGF4ZWQoY29uLCBjb21wLT5yZWdzICsgRElTUF9SRE1BX01FTV9DT04pOw0KKwltdGtfZGRw X3dyaXRlX3JlbGF4ZWQoY21kcV9wa3QsIGNvbiwgY29tcCwgRElTUF9SRE1BX01FTV9DT04pOw0K IA0KIAlpZiAoZm10ID09IERSTV9GT1JNQVRfVVlWWSB8fCBmbXQgPT0gRFJNX0ZPUk1BVF9ZVVlW KSB7DQotCQlyZG1hX3VwZGF0ZV9iaXRzKGNvbXAsIERJU1BfUkVHX1JETUFfU0laRV9DT05fMCwN Ci0JCQkJIFJETUFfTUFUUklYX0VOQUJMRSwgUkRNQV9NQVRSSVhfRU5BQkxFKTsNCi0JCXJkbWFf dXBkYXRlX2JpdHMoY29tcCwgRElTUF9SRUdfUkRNQV9TSVpFX0NPTl8wLA0KLQkJCQkgUkRNQV9N QVRSSVhfSU5UX01UWF9TRUwsDQotCQkJCSBSRE1BX01BVFJJWF9JTlRfTVRYX0JUNjAxX3RvX1JH Qik7DQorCQltdGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3QsIFJETUFfTUFUUklYX0VOQUJMRSwg Y29tcCwNCisJCQkJICAgRElTUF9SRUdfUkRNQV9TSVpFX0NPTl8wLA0KKwkJCQkgICBSRE1BX01B VFJJWF9FTkFCTEUpOw0KKwkJbXRrX2RkcF93cml0ZV9tYXNrKGNtZHFfcGt0LCBSRE1BX01BVFJJ WF9JTlRfTVRYX0JUNjAxX3RvX1JHQiwNCisJCQkJICAgY29tcCwgRElTUF9SRUdfUkRNQV9TSVpF X0NPTl8wLA0KKwkJCQkgICBSRE1BX01BVFJJWF9JTlRfTVRYX1NFTCk7DQogCX0gZWxzZSB7DQot CQlyZG1hX3VwZGF0ZV9iaXRzKGNvbXAsIERJU1BfUkVHX1JETUFfU0laRV9DT05fMCwNCi0JCQkJ IFJETUFfTUFUUklYX0VOQUJMRSwgMCk7DQorCQltdGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3Qs IDAsIGNvbXAsDQorCQkJCSAgIERJU1BfUkVHX1JETUFfU0laRV9DT05fMCwNCisJCQkJICAgUkRN QV9NQVRSSVhfRU5BQkxFKTsNCiAJfQ0KKwltdGtfZGRwX3dyaXRlX3JlbGF4ZWQoY21kcV9wa3Qs IGFkZHIsIGNvbXAsIERJU1BfUkRNQV9NRU1fU1RBUlRfQUREUik7DQorCW10a19kZHBfd3JpdGVf cmVsYXhlZChjbWRxX3BrdCwgcGl0Y2gsIGNvbXAsIERJU1BfUkRNQV9NRU1fU1JDX1BJVENIKTsN CisJbXRrX2RkcF93cml0ZShjbWRxX3BrdCwgUkRNQV9NRU1fR01DLCBjb21wLA0KKwkJICAgICAg RElTUF9SRE1BX01FTV9HTUNfU0VUVElOR18wKTsNCisJbXRrX2RkcF93cml0ZV9tYXNrKGNtZHFf cGt0LCBSRE1BX01PREVfTUVNT1JZLCBjb21wLA0KKwkJCSAgIERJU1BfUkVHX1JETUFfR0xPQkFM X0NPTiwgUkRNQV9NT0RFX01FTU9SWSk7DQogDQotCXdyaXRlbF9yZWxheGVkKGFkZHIsIGNvbXAt PnJlZ3MgKyBESVNQX1JETUFfTUVNX1NUQVJUX0FERFIpOw0KLQl3cml0ZWxfcmVsYXhlZChwaXRj aCwgY29tcC0+cmVncyArIERJU1BfUkRNQV9NRU1fU1JDX1BJVENIKTsNCi0Jd3JpdGVsKFJETUFf TUVNX0dNQywgY29tcC0+cmVncyArIERJU1BfUkRNQV9NRU1fR01DX1NFVFRJTkdfMCk7DQotCXJk bWFfdXBkYXRlX2JpdHMoY29tcCwgRElTUF9SRUdfUkRNQV9HTE9CQUxfQ09OLA0KLQkJCSBSRE1B X01PREVfTUVNT1JZLCBSRE1BX01PREVfTUVNT1JZKTsNCiB9DQogDQogc3RhdGljIGNvbnN0IHN0 cnVjdCBtdGtfZGRwX2NvbXBfZnVuY3MgbXRrX2Rpc3BfcmRtYV9mdW5jcyA9IHsNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMNCmluZGV4IGU0MGM4Y2Y3ZDc0Zi4uOGM2MjMx ZWQ2ZjU1IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0 Yy5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMNCkBAIC0z MTIsNyArMzEyLDcgQEAgc3RhdGljIGludCBtdGtfY3J0Y19kZHBfaHdfaW5pdChzdHJ1Y3QgbXRr X2RybV9jcnRjICptdGtfY3J0YykNCiAJCWlmIChwcmV2ID09IEREUF9DT01QT05FTlRfT1ZMMCkN CiAJCQltdGtfZGRwX2NvbXBfYmdjbHJfaW5fb24oY29tcCk7DQogDQotCQltdGtfZGRwX2NvbXBf Y29uZmlnKGNvbXAsIHdpZHRoLCBoZWlnaHQsIHZyZWZyZXNoLCBicGMpOw0KKwkJbXRrX2RkcF9j b21wX2NvbmZpZyhjb21wLCB3aWR0aCwgaGVpZ2h0LCB2cmVmcmVzaCwgYnBjLCBOVUxMKTsNCiAJ CW10a19kZHBfY29tcF9zdGFydChjb21wKTsNCiAJfQ0KIA0KQEAgLTMyNyw3ICszMjcsNyBAQCBz dGF0aWMgaW50IG10a19jcnRjX2RkcF9od19pbml0KHN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19j cnRjKQ0KIAkJY29tcCA9IG10a19kcm1fZGRwX2NvbXBfZm9yX3BsYW5lKGNydGMsIHBsYW5lLCAm bG9jYWxfbGF5ZXIpOw0KIAkJaWYgKGNvbXApDQogCQkJbXRrX2RkcF9jb21wX2xheWVyX2NvbmZp Zyhjb21wLCBsb2NhbF9sYXllciwNCi0JCQkJCQkgIHBsYW5lX3N0YXRlKTsNCisJCQkJCQkgIHBs YW5lX3N0YXRlLCBOVUxMKTsNCiAJfQ0KIA0KIAlyZXR1cm4gMDsNCkBAIC0zOTQsNyArMzk0LDcg QEAgc3RhdGljIHZvaWQgbXRrX2NydGNfZGRwX2NvbmZpZyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp DQogCWlmIChzdGF0ZS0+cGVuZGluZ19jb25maWcpIHsNCiAJCW10a19kZHBfY29tcF9jb25maWco Y29tcCwgc3RhdGUtPnBlbmRpbmdfd2lkdGgsDQogCQkJCSAgICBzdGF0ZS0+cGVuZGluZ19oZWln aHQsDQotCQkJCSAgICBzdGF0ZS0+cGVuZGluZ192cmVmcmVzaCwgMCk7DQorCQkJCSAgICBzdGF0 ZS0+cGVuZGluZ192cmVmcmVzaCwgMCwgTlVMTCk7DQogDQogCQlzdGF0ZS0+cGVuZGluZ19jb25m aWcgPSBmYWxzZTsNCiAJfQ0KQEAgLTQxNCw3ICs0MTQsNyBAQCBzdGF0aWMgdm9pZCBtdGtfY3J0 Y19kZHBfY29uZmlnKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykNCiANCiAJCQlpZiAoY29tcCkNCiAJ CQkJbXRrX2RkcF9jb21wX2xheWVyX2NvbmZpZyhjb21wLCBsb2NhbF9sYXllciwNCi0JCQkJCQkJ ICBwbGFuZV9zdGF0ZSk7DQorCQkJCQkJCSAgcGxhbmVfc3RhdGUsIE5VTEwpOw0KIAkJCXBsYW5l X3N0YXRlLT5wZW5kaW5nLmNvbmZpZyA9IGZhbHNlOw0KIAkJfQ0KIAkJbXRrX2NydGMtPnBlbmRp bmdfcGxhbmVzID0gZmFsc2U7DQpAQCAtNDM1LDcgKzQzNSw3IEBAIHN0YXRpYyB2b2lkIG10a19j cnRjX2RkcF9jb25maWcoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KIA0KIAkJCWlmIChjb21wKQ0K IAkJCQltdGtfZGRwX2NvbXBfbGF5ZXJfY29uZmlnKGNvbXAsIGxvY2FsX2xheWVyLA0KLQkJCQkJ CQkgIHBsYW5lX3N0YXRlKTsNCisJCQkJCQkJICBwbGFuZV9zdGF0ZSwgTlVMTCk7DQogCQkJcGxh bmVfc3RhdGUtPnBlbmRpbmcuYXN5bmNfY29uZmlnID0gZmFsc2U7DQogCQl9DQogCQltdGtfY3J0 Yy0+cGVuZGluZ19hc3luY19wbGFuZXMgPSBmYWxzZTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZGRwX2NvbXAuYw0KaW5kZXggMzQwN2QzOGFmZjhmLi5mOTY3Yjc0OWUxYTMg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5j DQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jDQpAQCAt MTIsNyArMTIsOCBAQA0KICNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4NCiAjaW5jbHVkZSA8bGlu dXgvb2ZfcGxhdGZvcm0uaD4NCiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQot DQorI2luY2x1ZGUgPGRybS9kcm1QLmg+DQorI2luY2x1ZGUgPGxpbnV4L3NvYy9tZWRpYXRlay9t dGstY21kcS5oPg0KICNpbmNsdWRlICJtdGtfZHJtX2Rydi5oIg0KICNpbmNsdWRlICJtdGtfZHJt X3BsYW5lLmgiDQogI2luY2x1ZGUgIm10a19kcm1fZGRwX2NvbXAuaCINCkBAIC03NiwzNiArNzcs ODQgQEANCiAjZGVmaW5lIERJVEhFUl9BRERfTFNISUZUX0coeCkJCQkoKCh4KSAmIDB4NykgPDwg NCkNCiAjZGVmaW5lIERJVEhFUl9BRERfUlNISUZUX0coeCkJCQkoKCh4KSAmIDB4NykgPDwgMCkN CiANCit2b2lkIG10a19kZHBfd3JpdGUoc3RydWN0IGNtZHFfcGt0ICpjbWRxX3BrdCwgdW5zaWdu ZWQgaW50IHZhbHVlLA0KKwkJICAgc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgdW5zaWduZWQg aW50IG9mZnNldCkNCit7DQorI2lmZGVmIENPTkZJR19NVEtfQ01EUQ0KKwlpZiAoY21kcV9wa3Qp DQorCQljbWRxX3BrdF93cml0ZShjbWRxX3BrdCwgY29tcC0+c3Vic3lzLA0KKwkJCSAgICAgICBj b21wLT5yZWdzX3BhICsgb2Zmc2V0LCB2YWx1ZSk7DQorCWVsc2UNCisjZW5kaWYNCisJCXdyaXRl bCh2YWx1ZSwgY29tcC0+cmVncyArIG9mZnNldCk7DQorfQ0KKw0KK3ZvaWQgbXRrX2RkcF93cml0 ZV9yZWxheGVkKHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QsIHVuc2lnbmVkIGludCB2YWx1ZSwN CisJCQkgICBzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLA0KKwkJCSAgIHVuc2lnbmVkIGludCBv ZmZzZXQpDQorew0KKyNpZmRlZiBDT05GSUdfTVRLX0NNRFENCisJaWYgKGNtZHFfcGt0KQ0KKwkJ Y21kcV9wa3Rfd3JpdGUoY21kcV9wa3QsIGNvbXAtPnN1YnN5cywNCisJCQkgICAgICAgY29tcC0+ cmVnc19wYSArIG9mZnNldCwgdmFsdWUpOw0KKwllbHNlDQorI2VuZGlmDQorCQl3cml0ZWxfcmVs YXhlZCh2YWx1ZSwgY29tcC0+cmVncyArIG9mZnNldCk7DQorfQ0KKw0KK3ZvaWQgbXRrX2RkcF93 cml0ZV9tYXNrKHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QsDQorCQkJdW5zaWduZWQgaW50IHZh bHVlLA0KKwkJCXN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsDQorCQkJdW5zaWduZWQgaW50IG9m ZnNldCwNCisJCQl1bnNpZ25lZCBpbnQgbWFzaykNCit7DQorI2lmZGVmIENPTkZJR19NVEtfQ01E UQ0KKwlpZiAoY21kcV9wa3QpIHsNCisJCWNtZHFfcGt0X3dyaXRlX21hc2soY21kcV9wa3QsIGNv bXAtPnN1YnN5cywNCisJCQkJICAgIGNvbXAtPnJlZ3NfcGEgKyBvZmZzZXQsIHZhbHVlLCBtYXNr KTsNCisJfSBlbHNlIHsNCisjZW5kaWYNCisJCXUzMiB0bXAgPSByZWFkbChjb21wLT5yZWdzICsg b2Zmc2V0KTsNCisNCisJCXRtcCA9ICh0bXAgJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKTsNCisJ CXdyaXRlbCh0bXAsIGNvbXAtPnJlZ3MgKyBvZmZzZXQpOw0KKyNpZmRlZiBDT05GSUdfTVRLX0NN RFENCisJfQ0KKyNlbmRpZg0KK30NCisNCiB2b2lkIG10a19kaXRoZXJfc2V0KHN0cnVjdCBtdGtf ZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCBicGMsDQotCQkgICAgdW5zaWduZWQgaW50IENG RykNCisJCSAgICB1bnNpZ25lZCBpbnQgQ0ZHLCBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KQ0K IHsNCiAJLyogSWYgYnBjIGVxdWFsIHRvIDAsIHRoZSBkaXRoZXJpbmcgZnVuY3Rpb24gZGlkbid0 IGJlIGVuYWJsZWQgKi8NCiAJaWYgKGJwYyA9PSAwKQ0KIAkJcmV0dXJuOw0KIA0KIAlpZiAoYnBj ID49IE1US19NSU5fQlBDKSB7DQotCQl3cml0ZWwoMCwgY29tcC0+cmVncyArIERJU1BfRElUSEVS XzUpOw0KLQkJd3JpdGVsKDAsIGNvbXAtPnJlZ3MgKyBESVNQX0RJVEhFUl83KTsNCi0JCXdyaXRl bChESVRIRVJfTFNCX0VSUl9TSElGVF9SKE1US19NQVhfQlBDIC0gYnBjKSB8DQotCQkgICAgICAg RElUSEVSX0FERF9MU0hJRlRfUihNVEtfTUFYX0JQQyAtIGJwYykgfA0KLQkJICAgICAgIERJVEhF Ul9ORVdfQklUX01PREUsDQotCQkgICAgICAgY29tcC0+cmVncyArIERJU1BfRElUSEVSXzE1KTsN Ci0JCXdyaXRlbChESVRIRVJfTFNCX0VSUl9TSElGVF9CKE1US19NQVhfQlBDIC0gYnBjKSB8DQot CQkgICAgICAgRElUSEVSX0FERF9MU0hJRlRfQihNVEtfTUFYX0JQQyAtIGJwYykgfA0KLQkJICAg ICAgIERJVEhFUl9MU0JfRVJSX1NISUZUX0coTVRLX01BWF9CUEMgLSBicGMpIHwNCi0JCSAgICAg ICBESVRIRVJfQUREX0xTSElGVF9HKE1US19NQVhfQlBDIC0gYnBjKSwNCi0JCSAgICAgICBjb21w LT5yZWdzICsgRElTUF9ESVRIRVJfMTYpOw0KLQkJd3JpdGVsKERJU1BfRElUSEVSSU5HLCBjb21w LT5yZWdzICsgQ0ZHKTsNCisJCW10a19kZHBfd3JpdGUoY21kcV9wa3QsIDAsIGNvbXAsIERJU1Bf RElUSEVSXzUpOw0KKwkJbXRrX2RkcF93cml0ZShjbWRxX3BrdCwgMCwgY29tcCwgRElTUF9ESVRI RVJfNyk7DQorCQltdGtfZGRwX3dyaXRlKGNtZHFfcGt0LA0KKwkJCSAgICAgIERJVEhFUl9MU0Jf RVJSX1NISUZUX1IoTVRLX01BWF9CUEMgLSBicGMpIHwNCisJCQkgICAgICBESVRIRVJfQUREX0xT SElGVF9SKE1US19NQVhfQlBDIC0gYnBjKSB8DQorCQkJICAgICAgRElUSEVSX05FV19CSVRfTU9E RSwNCisJCQkgICAgICBjb21wLCBESVNQX0RJVEhFUl8xNSk7DQorCQltdGtfZGRwX3dyaXRlKGNt ZHFfcGt0LA0KKwkJCSAgICAgIERJVEhFUl9MU0JfRVJSX1NISUZUX0IoTVRLX01BWF9CUEMgLSBi cGMpIHwNCisJCQkgICAgICBESVRIRVJfQUREX0xTSElGVF9CKE1US19NQVhfQlBDIC0gYnBjKSB8 DQorCQkJICAgICAgRElUSEVSX0xTQl9FUlJfU0hJRlRfRyhNVEtfTUFYX0JQQyAtIGJwYykgfA0K KwkJCSAgICAgIERJVEhFUl9BRERfTFNISUZUX0coTVRLX01BWF9CUEMgLSBicGMpLA0KKwkJCSAg ICAgIGNvbXAsIERJU1BfRElUSEVSXzE2KTsNCisJCW10a19kZHBfd3JpdGUoY21kcV9wa3QsIERJ U1BfRElUSEVSSU5HLCBjb21wLCBDRkcpOw0KIAl9DQogfQ0KIA0KIHN0YXRpYyB2b2lkIG10a19v ZF9jb25maWcoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgdW5zaWduZWQgaW50IHcsDQogCQkJ ICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KLQkJCSAgdW5zaWduZWQg aW50IGJwYykNCisJCQkgIHVuc2lnbmVkIGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9w a3QpDQogew0KLQl3cml0ZWwodyA8PCAxNiB8IGgsIGNvbXAtPnJlZ3MgKyBESVNQX09EX1NJWkUp Ow0KLQl3cml0ZWwoT0RfUkVMQVlNT0RFLCBjb21wLT5yZWdzICsgRElTUF9PRF9DRkcpOw0KLQlt dGtfZGl0aGVyX3NldChjb21wLCBicGMsIERJU1BfT0RfQ0ZHKTsNCisJbXRrX2RkcF93cml0ZShj bWRxX3BrdCwgdyA8PCAxNiB8IGgsIGNvbXAsIERJU1BfT0RfU0laRSk7DQorCW10a19kZHBfd3Jp dGUoY21kcV9wa3QsIE9EX1JFTEFZTU9ERSwgY29tcCwgRElTUF9PRF9DRkcpOw0KKwltdGtfZGl0 aGVyX3NldChjb21wLCBicGMsIERJU1BfT0RfQ0ZHLCBjbWRxX3BrdCk7DQogfQ0KIA0KIHN0YXRp YyB2b2lkIG10a19vZF9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wKQ0KQEAgLTEyMCw5 ICsxNjksOSBAQCBzdGF0aWMgdm9pZCBtdGtfdWZvZV9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21w ICpjb21wKQ0KIA0KIHN0YXRpYyB2b2lkIG10a19hYWxfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2Nv bXAgKmNvbXAsIHVuc2lnbmVkIGludCB3LA0KIAkJCSAgIHVuc2lnbmVkIGludCBoLCB1bnNpZ25l ZCBpbnQgdnJlZnJlc2gsDQotCQkJICAgdW5zaWduZWQgaW50IGJwYykNCisJCQkgICB1bnNpZ25l ZCBpbnQgYnBjLCBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KQ0KIHsNCi0Jd3JpdGVsKGggPDwg MTYgfCB3LCBjb21wLT5yZWdzICsgRElTUF9BQUxfU0laRSk7DQorCW10a19kZHBfd3JpdGUoY21k cV9wa3QsIGggPDwgMTYgfCB3LCBjb21wLCBESVNQX0FBTF9TSVpFKTsNCiB9DQogDQogc3RhdGlj IHZvaWQgbXRrX2FhbF9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wKQ0KQEAgLTEzNywx MCArMTg2LDEwIEBAIHN0YXRpYyB2b2lkIG10a19hYWxfc3RvcChzdHJ1Y3QgbXRrX2RkcF9jb21w ICpjb21wKQ0KIA0KIHN0YXRpYyB2b2lkIG10a19jY29ycl9jb25maWcoc3RydWN0IG10a19kZHBf Y29tcCAqY29tcCwgdW5zaWduZWQgaW50IHcsDQogCQkJICAgICB1bnNpZ25lZCBpbnQgaCwgdW5z aWduZWQgaW50IHZyZWZyZXNoLA0KLQkJCSAgICAgdW5zaWduZWQgaW50IGJwYykNCisJCQkgICAg IHVuc2lnbmVkIGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpDQogew0KLQl3cml0 ZWwoaCA8PCAxNiB8IHcsIGNvbXAtPnJlZ3MgKyBESVNQX0NDT1JSX1NJWkUpOw0KLQl3cml0ZWwo Q0NPUlJfUkVMQVlfTU9ERSwgY29tcC0+cmVncyArIERJU1BfQ0NPUlJfQ0ZHKTsNCisJbXRrX2Rk cF93cml0ZShjbWRxX3BrdCwgaCA8PCAxNiB8IHcsIGNvbXAsIERJU1BfQ0NPUlJfU0laRSk7DQor CW10a19kZHBfd3JpdGUoY21kcV9wa3QsIENDT1JSX1JFTEFZX01PREUsIGNvbXAsIERJU1BfQ0NP UlJfQ0ZHKTsNCiB9DQogDQogc3RhdGljIHZvaWQgbXRrX2Njb3JyX3N0YXJ0KHN0cnVjdCBtdGtf ZGRwX2NvbXAgKmNvbXApDQpAQCAtMTU1LDEwICsyMDQsMTAgQEAgc3RhdGljIHZvaWQgbXRrX2Nj b3JyX3N0b3Aoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkNCiANCiBzdGF0aWMgdm9pZCBtdGtf ZGl0aGVyX2NvbmZpZyhzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgdywN CiAJCQkgICAgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KLQkJCSAg ICAgIHVuc2lnbmVkIGludCBicGMpDQorCQkJICAgICAgdW5zaWduZWQgaW50IGJwYywgc3RydWN0 IGNtZHFfcGt0ICpjbWRxX3BrdCkNCiB7DQotCXdyaXRlbChoIDw8IDE2IHwgdywgY29tcC0+cmVn cyArIERJU1BfRElUSEVSX1NJWkUpOw0KLQl3cml0ZWwoRElUSEVSX1JFTEFZX01PREUsIGNvbXAt PnJlZ3MgKyBESVNQX0RJVEhFUl9DRkcpOw0KKwltdGtfZGRwX3dyaXRlKGNtZHFfcGt0LCBoIDw8 IDE2IHwgdywgY29tcCwgRElTUF9ESVRIRVJfU0laRSk7DQorCW10a19kZHBfd3JpdGUoY21kcV9w a3QsIERJVEhFUl9SRUxBWV9NT0RFLCBjb21wLCBESVNQX0RJVEhFUl9DRkcpOw0KIH0NCiANCiBz dGF0aWMgdm9pZCBtdGtfZGl0aGVyX3N0YXJ0KHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXApDQpA QCAtMTczLDEwICsyMjIsMTAgQEAgc3RhdGljIHZvaWQgbXRrX2RpdGhlcl9zdG9wKHN0cnVjdCBt dGtfZGRwX2NvbXAgKmNvbXApDQogDQogc3RhdGljIHZvaWQgbXRrX2dhbW1hX2NvbmZpZyhzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgdywNCiAJCQkgICAgIHVuc2lnbmVk IGludCBoLCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gsDQotCQkJICAgICB1bnNpZ25lZCBpbnQgYnBj KQ0KKwkJCSAgICAgdW5zaWduZWQgaW50IGJwYywgc3RydWN0IGNtZHFfcGt0ICpjbWRxX3BrdCkN CiB7DQotCXdyaXRlbChoIDw8IDE2IHwgdywgY29tcC0+cmVncyArIERJU1BfR0FNTUFfU0laRSk7 DQotCW10a19kaXRoZXJfc2V0KGNvbXAsIGJwYywgRElTUF9HQU1NQV9DRkcpOw0KKwltdGtfZGRw X3dyaXRlKGNtZHFfcGt0LCBoIDw8IDE2IHwgdywgY29tcCwgRElTUF9HQU1NQV9TSVpFKTsNCisJ bXRrX2RpdGhlcl9zZXQoY29tcCwgYnBjLCBESVNQX0dBTU1BX0NGRywgY21kcV9wa3QpOw0KIH0N CiANCiBzdGF0aWMgdm9pZCBtdGtfZ2FtbWFfc3RhcnQoc3RydWN0IG10a19kZHBfY29tcCAqY29t cCkNCkBAIC0zMjQsNiArMzczLDkgQEAgaW50IG10a19kZHBfY29tcF9pbml0KHN0cnVjdCBkZXZp Y2UgKmRldiwgc3RydWN0IGRldmljZV9ub2RlICpub2RlLA0KIAkJICAgICAgY29uc3Qgc3RydWN0 IG10a19kZHBfY29tcF9mdW5jcyAqZnVuY3MpDQogew0KIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpjb21wX3BkZXY7DQorCXN0cnVjdCByZXNvdXJjZSByZXM7DQorCXN0cnVjdCBjbWRxX2NsaWVu dF9yZWcgY21kcV9yZWc7DQorCWludCByZXQgPSAwOw0KIA0KIAlpZiAoY29tcF9pZCA8IDAgfHwg Y29tcF9pZCA+PSBERFBfQ09NUE9ORU5UX0lEX01BWCkNCiAJCXJldHVybiAtRUlOVkFMOw0KQEAg LTM1OCw2ICs0MTAsMjggQEAgaW50IG10a19kZHBfY29tcF9pbml0KHN0cnVjdCBkZXZpY2UgKmRl diwgc3RydWN0IGRldmljZV9ub2RlICpub2RlLA0KIAl9DQogCWNvbXAtPmRldiA9ICZjb21wX3Bk ZXYtPmRldjsNCiANCisjaWZkZWYgQ09ORklHX01US19DTURRDQorCWlmIChvZl9hZGRyZXNzX3Rv X3Jlc291cmNlKG5vZGUsIDAsICZyZXMpICE9IDApIHsNCisJCWRldl9lcnIoZGV2LCAiTWlzc2lu ZyByZWcgaW4gJXMgbm9kZVxuIiwNCisJCQlub2RlLT5mdWxsX25hbWUpOw0KKwkJcmV0dXJuIC1F SU5WQUw7DQorCX0NCisJY29tcC0+cmVnc19wYSA9IHJlcy5zdGFydDsNCisNCisJY29tcF9wZGV2 ID0gb2ZfZmluZF9kZXZpY2VfYnlfbm9kZShub2RlKTsNCisJaWYgKCFjb21wX3BkZXYpIHsNCisJ CWRldl93YXJuKGRldiwgIldhaXRpbmcgZm9yIGNvbXBvbmVudCBkZXZpY2UgJXNcbiIsDQorCQkJ IG5vZGUtPmZ1bGxfbmFtZSk7DQorCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCisJfQ0KKw0KKwly ZXQgPSBjbWRxX2Rldl9nZXRfY2xpZW50X3JlZygmY29tcF9wZGV2LT5kZXYsICZjbWRxX3JlZywg MCk7DQorCWlmIChyZXQgIT0gMCkNCisJCWRldl9kYmcoJmNvbXBfcGRldi0+ZGV2LA0KKwkJCSJn ZXQgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgZmFpbCFcbiIpOw0KKwllbHNlDQorCQljb21wLT5z dWJzeXMgPSBjbWRxX3JlZy5zdWJzeXM7DQorI2VuZGlmDQogCXJldHVybiAwOw0KIH0NCiANCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oIGIv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaA0KaW5kZXggZGJmYjkw ZTliOWNmLi4zODRhYmFlNWE4YzggMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9kZHBfY29tcC5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9kZHBfY29tcC5oDQpAQCAtNjksMTAgKzY5LDExIEBAIGVudW0gbXRrX2RkcF9jb21wX2lk IHsNCiB9Ow0KIA0KIHN0cnVjdCBtdGtfZGRwX2NvbXA7DQotDQorc3RydWN0IGNtZHFfcGt0Ow0K IHN0cnVjdCBtdGtfZGRwX2NvbXBfZnVuY3Mgew0KIAl2b2lkICgqY29uZmlnKShzdHJ1Y3QgbXRr X2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgdywNCi0JCSAgICAgICB1bnNpZ25lZCBpbnQg aCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLCB1bnNpZ25lZCBpbnQgYnBjKTsNCisJCSAgICAgICB1 bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KKwkJICAgICAgIHVuc2lnbmVk IGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpOw0KIAl2b2lkICgqc3RhcnQpKHN0 cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXApOw0KIAl2b2lkICgqc3RvcCkoc3RydWN0IG10a19kZHBf Y29tcCAqY29tcCk7DQogCXZvaWQgKCplbmFibGVfdmJsYW5rKShzdHJ1Y3QgbXRrX2RkcF9jb21w ICpjb21wLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOw0KQEAgLTg1LDcgKzg2LDggQEAgc3RydWN0 IG10a19kZHBfY29tcF9mdW5jcyB7DQogCQkJICAgdW5zaWduZWQgaW50IGlkeCwNCiAJCQkgICBz dHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0ZSk7DQogCXZvaWQgKCpsYXllcl9jb25maWcpKHN0 cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCBpZHgsDQotCQkJICAgICBzdHJ1 Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0ZSk7DQorCQkJICAgICBzdHJ1Y3QgbXRrX3BsYW5lX3N0 YXRlICpzdGF0ZSwNCisJCQkgICAgIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpOw0KIAl2b2lk ICgqZ2FtbWFfc2V0KShzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLA0KIAkJCSAgc3RydWN0IGRy bV9jcnRjX3N0YXRlICpzdGF0ZSk7DQogCXZvaWQgKCpiZ2Nscl9pbl9vbikoc3RydWN0IG10a19k ZHBfY29tcCAqY29tcCk7DQpAQCAtOTksMTQgKzEwMSwxNyBAQCBzdHJ1Y3QgbXRrX2RkcF9jb21w IHsNCiAJc3RydWN0IGRldmljZSAqZGV2Ow0KIAllbnVtIG10a19kZHBfY29tcF9pZCBpZDsNCiAJ Y29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyAqZnVuY3M7DQorCXJlc291cmNlX3NpemVf dCByZWdzX3BhOw0KKwl1OCBzdWJzeXM7DQogfTsNCiANCiBzdGF0aWMgaW5saW5lIHZvaWQgbXRr X2RkcF9jb21wX2NvbmZpZyhzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLA0KIAkJCQkgICAgICAg dW5zaWduZWQgaW50IHcsIHVuc2lnbmVkIGludCBoLA0KLQkJCQkgICAgICAgdW5zaWduZWQgaW50 IHZyZWZyZXNoLCB1bnNpZ25lZCBpbnQgYnBjKQ0KKwkJCQkgICAgICAgdW5zaWduZWQgaW50IHZy ZWZyZXNoLCB1bnNpZ25lZCBpbnQgYnBjLA0KKwkJCQkgICAgICAgc3RydWN0IGNtZHFfcGt0ICpj bWRxX3BrdCkNCiB7DQogCWlmIChjb21wLT5mdW5jcyAmJiBjb21wLT5mdW5jcy0+Y29uZmlnKQ0K LQkJY29tcC0+ZnVuY3MtPmNvbmZpZyhjb21wLCB3LCBoLCB2cmVmcmVzaCwgYnBjKTsNCisJCWNv bXAtPmZ1bmNzLT5jb25maWcoY29tcCwgdywgaCwgdnJlZnJlc2gsIGJwYywgY21kcV9wa3QpOw0K IH0NCiANCiBzdGF0aWMgaW5saW5lIHZvaWQgbXRrX2RkcF9jb21wX3ByZXBhcmUoc3RydWN0IG10 a19kZHBfY29tcCAqY29tcCkNCkBAIC0xNzQsMTAgKzE3OSwxMSBAQCBzdGF0aWMgaW5saW5lIGlu dCBtdGtfZGRwX2NvbXBfbGF5ZXJfY2hlY2soc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwNCiAN CiBzdGF0aWMgaW5saW5lIHZvaWQgbXRrX2RkcF9jb21wX2xheWVyX2NvbmZpZyhzdHJ1Y3QgbXRr X2RkcF9jb21wICpjb21wLA0KIAkJCQkJICAgICB1bnNpZ25lZCBpbnQgaWR4LA0KLQkJCQkJICAg ICBzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0ZSkNCisJCQkJCSAgICAgc3RydWN0IG10a19w bGFuZV9zdGF0ZSAqc3RhdGUsDQorCQkJCQkgICAgIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3Qp DQogew0KIAlpZiAoY29tcC0+ZnVuY3MgJiYgY29tcC0+ZnVuY3MtPmxheWVyX2NvbmZpZykNCi0J CWNvbXAtPmZ1bmNzLT5sYXllcl9jb25maWcoY29tcCwgaWR4LCBzdGF0ZSk7DQorCQljb21wLT5m dW5jcy0+bGF5ZXJfY29uZmlnKGNvbXAsIGlkeCwgc3RhdGUsIGNtZHFfcGt0KTsNCiB9DQogDQog c3RhdGljIGlubGluZSB2b2lkIG10a19kZHBfZ2FtbWFfc2V0KHN0cnVjdCBtdGtfZGRwX2NvbXAg KmNvbXAsDQpAQCAtMjA3LDYgKzIxMywxMyBAQCBpbnQgbXRrX2RkcF9jb21wX2luaXQoc3RydWN0 IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUgKmNvbXBfbm9kZSwNCiBpbnQgbXRrX2Rk cF9jb21wX3JlZ2lzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBtdGtfZGRwX2Nv bXAgKmNvbXApOw0KIHZvaWQgbXRrX2RkcF9jb21wX3VucmVnaXN0ZXIoc3RydWN0IGRybV9kZXZp Y2UgKmRybSwgc3RydWN0IG10a19kZHBfY29tcCAqY29tcCk7DQogdm9pZCBtdGtfZGl0aGVyX3Nl dChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgYnBjLA0KLQkJICAgIHVu c2lnbmVkIGludCBDRkcpOw0KLQ0KKwkJICAgIHVuc2lnbmVkIGludCBDRkcsIHN0cnVjdCBjbWRx X3BrdCAqY21kcV9wa3QpOw0KK2VudW0gbXRrX2RkcF9jb21wX3R5cGUgbXRrX2RkcF9jb21wX2dl dF90eXBlKGVudW0gbXRrX2RkcF9jb21wX2lkIGNvbXBfaWQpOw0KK3ZvaWQgbXRrX2RkcF93cml0 ZShzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0LCB1bnNpZ25lZCBpbnQgdmFsdWUsDQorCQkgICBz dHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgb2Zmc2V0KTsNCit2b2lkIG10 a19kZHBfd3JpdGVfcmVsYXhlZChzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0LCB1bnNpZ25lZCBp bnQgdmFsdWUsDQorCQkJICAgc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgdW5zaWduZWQgaW50 IG9mZnNldCk7DQordm9pZCBtdGtfZGRwX3dyaXRlX21hc2soc3RydWN0IGNtZHFfcGt0ICpjbWRx X3BrdCwgdW5zaWduZWQgaW50IHZhbHVlLA0KKwkJCXN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAs IHVuc2lnbmVkIGludCBvZmZzZXQsDQorCQkJdW5zaWduZWQgaW50IG1hc2spOw0KICNlbmRpZiAv KiBNVEtfRFJNX0REUF9DT01QX0ggKi8NCi0tIA0KMi4xOC4wDQo=