Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1569322pxk; Thu, 10 Sep 2020 20:28:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzuei/y5b94nA0ei+5BxSAD9QtUKBJ4q9q+N/JexekXakj+tEMsL2brBVcsYR+h88woAvMm X-Received: by 2002:a50:cf8a:: with SMTP id h10mr12909385edk.43.1599794934284; Thu, 10 Sep 2020 20:28:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599794934; cv=none; d=google.com; s=arc-20160816; b=uQGU44Vl5ozgrqoiH/K1lYddTfMdp4e+GgTnZ0w7C17DQocYz392YmHVmx88BtaPWk yqfAhqiGLEEuGo3Gdon7ooO7QJ5RYxRMz2kX/IAwOTu57G6BEZBNkGtgT1yh+7pio6KN xtgNJd5NOgSUG10swURLQYUzeHuz9xxHR2cRVmY8mJyOP0xjMrzXQeDG1yGx0lFKUBkZ BCpgZeUysJBmad04JcVoav/sgILqpjn1xjPQ3ril30buFG6mSIT/ZoiV/pRLML2hEG6P H1t5QGoZEvt3Gt81Tw8F5AzAiKelYk7Tuiu/Atk8WhwnNb0mgu75dE78HWSJYAPKOoBO yImw== 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=DyVs6ZIEDLwe1bQI5yBUIuAZEwUjGoYCgpxKg68T8x8=; b=LTkRSCu+J87HcYJhu6wnSa6tcFUvC/SiEJ/31Q9t8I7+JTCyrnaVv6dI1Hu7iYfNmv Dfkr20MJ+CO8qodaSEtPav2bDP3xuaT0rhb1FX1am44e/+zufZrfQ1+xau1BxS+aoPxH mfUA1izf85oRbRmbjmCAedfHZ1kpWdCC2wUtdBFNai1JoCSF4bYdy/xea8Rc2cyt4iTU F7wBWZvcN2kOlvZIjjmKVcomVP/iL7sV2ZyfodC8qsIVRsYOfSrdqSBFZ4HI/79HOBfo MZ2+WjPL4jKcUFIzM3yX19ed6FdSyw5Q639EQ5JT3RLRvnXS4k/3oRnPHshH8dd280Yf od0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=ugV0ZgGT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id j14si414579edp.315.2020.09.10.20.28.31; Thu, 10 Sep 2020 20:28:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=ugV0ZgGT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1725861AbgIKDZR (ORCPT + 99 others); Thu, 10 Sep 2020 23:25:17 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:20619 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725815AbgIKDZA (ORCPT ); Thu, 10 Sep 2020 23:25:00 -0400 X-UUID: 03f8a84e4b384868a4c16bca8ef7ef53-20200911 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=DyVs6ZIEDLwe1bQI5yBUIuAZEwUjGoYCgpxKg68T8x8=; b=ugV0ZgGT0jM8ryx+GdGaFCI4OrML5CByodRvkMrk/TKmaYvbBav9Kn+09xyMyfKo7cOuXxAlU4uiskO129S3ezO7pETlgGxXJ0ex3Ghlx7vbS8nkKlTMc+Trca7m5EPX45Pc5lq2H58wazau7B4MLFgRCPEd678niWps7K2zwWw=; X-UUID: 03f8a84e4b384868a4c16bca8ef7ef53-20200911 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1417655779; Fri, 11 Sep 2020 11:24:53 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 11 Sep 2020 11:24:50 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 11 Sep 2020 11:24:50 +0800 From: Stanley Chu To: , , , , , , , CC: , , , , , , , , , , , , , Stanley Chu Subject: [PATCH 1/2] scsi: ufs-mediatek: Support performance mode for inline encryption engine Date: Fri, 11 Sep 2020 11:24:48 +0800 Message-ID: <20200911032449.21577-2-stanley.chu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200911032449.21577-1-stanley.chu@mediatek.com> References: <20200911032449.21577-1-stanley.chu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 96D0A24FB338C7B4A1F0089785CC669FB6C20EB81A0CC8E925F63CF5CE713F872000:8 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 U29tZSBNZWRpYVRlayBVRlMgcGxhdGZvcm1zIHN1cHBvcnQgaGlnaC1wZXJmb3JtYW5jZSBtb2Rl IHRoYXQgaW5saW5lDQplbmNyeXB0aW9uIGVuZ2luZSBjYW4gYmUgYm9vc3RlZCB3aGlsZSBVRlMg aXMgbm90IGNsb2NrLWdhdGVkLg0KDQpUaGUgaGlnaC1wZXJmb3JtYW5jZSBtb2RlIHdpbGwgYmUg ZW5hYmxlZCBpZiBhbGwgYmVsb3cgY29uZGl0aW9ucyBhcmUNCndlbGwtZGVjbGFpcmVkIGluIGRl dmljZSB0cmVlLA0KDQoxLiBQcm9wZXIgcGxhdGZvcm0tc3BlY2lmaWMgY29tcGF0aWJsZSBzdHJp bmcgd2hpY2ggZW5hYmxlcyB0aGUgaG9zdA0KICAgY2FwYWJpbGl0eSAiVUZTX01US19DQVBfQk9P U1RfQ1JZUFRfRU5HSU5FIi4NCg0KMi4gImR2ZnNyYy12Y29yZSIgbm9kZSBpcyBhdmFpbGFibGUg aW4gdGhpcyBwbGF0Zm9ybS4NCg0KMy4gQ2xvY2sgbXV4IGFuZCBjbG9jayBwYXJlbnRzIG9mIGlu bGluZSBlbmNyeXB0aW9uIGVuZ2luZSBmb3IgYm90aA0KICAgImxvdy1wb3dlciBtb2RlIiBhbmQg ImhpZ2gtcGVyZm9ybWFuY2UgbW9kZSIuDQoNClNpZ25lZC1vZmYtYnk6IFN0YW5sZXkgQ2h1IDxz dGFubGV5LmNodUBtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL3Njc2kvdWZzL3Vmcy1tZWRp YXRlay5jIHwgMTc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tDQogZHJpdmVycy9z Y3NpL3Vmcy91ZnMtbWVkaWF0ZWsuaCB8ICAyMiArKysrDQogMiBmaWxlcyBjaGFuZ2VkLCAxOTQg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2Nz aS91ZnMvdWZzLW1lZGlhdGVrLmMgYi9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1tZWRpYXRlay5jDQpp bmRleCAzZWM0NGRmYTI1NjcuLmY2MjUwYjU0ZjBhMCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvc2Nz aS91ZnMvdWZzLW1lZGlhdGVrLmMNCisrKyBiL2RyaXZlcnMvc2NzaS91ZnMvdWZzLW1lZGlhdGVr LmMNCkBAIC0xMCw2ICsxMCw3IEBADQogI2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+DQogI2lu Y2x1ZGUgPGxpbnV4L29mLmg+DQogI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4NCisjaW5j bHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+DQogI2luY2x1ZGUgPGxpbnV4L3BoeS9waHkuaD4NCiAj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQogI2luY2x1ZGUgPGxpbnV4L3JlZ3Vs YXRvci9jb25zdW1lci5oPg0KQEAgLTQ0LDYgKzQ1LDI4IEBAIHN0YXRpYyBzdHJ1Y3QgdWZzX2Rl dl9maXggdWZzX210a19kZXZfZml4dXBzW10gPSB7DQogCUVORF9GSVgNCiB9Ow0KIA0KK3N0YXRp YyBjb25zdCBzdHJ1Y3QgdWZzX210a19ob3N0X2NmZyB1ZnNfbXRrX210ODE5Ml9jZmcgPSB7DQor CS5jYXBzID0gVUZTX01US19DQVBfQk9PU1RfQ1JZUFRfRU5HSU5FLA0KK307DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdWZzX210a19vZl9tYXRjaFtdID0gew0KKwl7DQor CQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxODMtdWZzaGNpIiwNCisJfSwNCisJew0KKwkJ LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLXVmc2hjaSIsDQorCQkuZGF0YSA9ICZ1ZnNf bXRrX210ODE5Ml9jZmcNCisJfSwNCisJe30sDQorfTsNCisNCitzdGF0aWMgYm9vbCB1ZnNfbXRr X2lzX2Jvb3N0X2NyeXB0X2VuYWJsZWQoc3RydWN0IHVmc19oYmEgKmhiYSkNCit7DQorCXN0cnVj dCB1ZnNfbXRrX2hvc3QgKmhvc3QgPSB1ZnNoY2RfZ2V0X3ZhcmlhbnQoaGJhKTsNCisNCisJcmV0 dXJuIChob3N0LT5jYXBzICYgVUZTX01US19DQVBfQk9PU1RfQ1JZUFRfRU5HSU5FKTsNCit9DQor DQogc3RhdGljIHZvaWQgdWZzX210a19jZmdfdW5pcHJvX2NnKHN0cnVjdCB1ZnNfaGJhICpoYmEs IGJvb2wgZW5hYmxlKQ0KIHsNCiAJdTMyIHRtcDsNCkBAIC0yOTQsNiArMzE3LDEzOSBAQCBzdGF0 aWMgdm9pZCB1ZnNfbXRrX21waHlfcG93ZXJfb24oc3RydWN0IHVmc19oYmEgKmhiYSwgYm9vbCBv bikNCiAJaG9zdC0+bXBoeV9wb3dlcmVkX29uID0gb247DQogfQ0KIA0KK3N0YXRpYyBpbnQgdWZz X210a19nZXRfaG9zdF9jbGsoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpuYW1lLA0K KwkJCQlzdHJ1Y3QgY2xrICoqY2xrX291dCkNCit7DQorCXN0cnVjdCBjbGsgKmNsazsNCisJaW50 IGVyciA9IDA7DQorDQorCWNsayA9IGRldm1fY2xrX2dldChkZXYsIG5hbWUpOw0KKwlpZiAoSVNf RVJSKGNsaykpDQorCQllcnIgPSBQVFJfRVJSKGNsayk7DQorCWVsc2UNCisJCSpjbGtfb3V0ID0g Y2xrOw0KKw0KKwlyZXR1cm4gZXJyOw0KK30NCisNCitzdGF0aWMgdm9pZCB1ZnNfbXRrX2Jvb3N0 X2NyeXB0KHN0cnVjdCB1ZnNfaGJhICpoYmEsIGJvb2wgYm9vc3QpDQorew0KKwlzdHJ1Y3QgdWZz X210a19ob3N0ICpob3N0ID0gdWZzaGNkX2dldF92YXJpYW50KGhiYSk7DQorCXN0cnVjdCB1ZnNf bXRrX2NyeXB0X2NmZyAqY2ZnOw0KKwlzdHJ1Y3QgcmVndWxhdG9yICpyZWc7DQorCWludCB2b2x0 LCByZXQ7DQorDQorCWlmICghdWZzX210a19pc19ib29zdF9jcnlwdF9lbmFibGVkKGhiYSkpDQor CQlyZXR1cm47DQorDQorCWNmZyA9IGhvc3QtPmNyeXB0Ow0KKwl2b2x0ID0gY2ZnLT52Y29yZV92 b2x0Ow0KKwlyZWcgPSBjZmctPnJlZ192Y29yZTsNCisNCisJcmV0ID0gY2xrX3ByZXBhcmVfZW5h YmxlKGNmZy0+Y2xrX2NyeXB0X211eCk7DQorCWlmIChyZXQpIHsNCisJCWRldl9pbmZvKGhiYS0+ ZGV2LCAiY2xrX3ByZXBhcmVfZW5hYmxlKCk6ICVkXG4iLA0KKwkJCSByZXQpOw0KKwkJcmV0dXJu Ow0KKwl9DQorDQorCWlmIChib29zdCkgew0KKwkJcmV0ID0gcmVndWxhdG9yX3NldF92b2x0YWdl KHJlZywgdm9sdCwgSU5UX01BWCk7DQorCQlpZiAocmV0KSB7DQorCQkJZGV2X2luZm8oaGJhLT5k ZXYsDQorCQkJCSAiZmFpbGVkIHRvIHNldCB2Y29yZSB0byAlZFxuIiwgdm9sdCk7DQorCQkJZ290 byBvdXQ7DQorCQl9DQorDQorCQlyZXQgPSBjbGtfc2V0X3BhcmVudChjZmctPmNsa19jcnlwdF9t dXgsDQorCQkJCSAgICAgY2ZnLT5jbGtfY3J5cHRfcGVyZik7DQorCQlpZiAocmV0KSB7DQorCQkJ ZGV2X2luZm8oaGJhLT5kZXYsDQorCQkJCSAiZmFpbGVkIHRvIHNldCBjbGtfY3J5cHRfcGVyZlxu Iik7DQorCQkJcmVndWxhdG9yX3NldF92b2x0YWdlKHJlZywgMCwgSU5UX01BWCk7DQorCQkJZ290 byBvdXQ7DQorCQl9DQorCX0gZWxzZSB7DQorCQlyZXQgPSBjbGtfc2V0X3BhcmVudChjZmctPmNs a19jcnlwdF9tdXgsDQorCQkJCSAgICAgY2ZnLT5jbGtfY3J5cHRfbHApOw0KKwkJaWYgKHJldCkg ew0KKwkJCWRldl9pbmZvKGhiYS0+ZGV2LA0KKwkJCQkgImZhaWxlZCB0byBzZXQgY2xrX2NyeXB0 X2xwXG4iKTsNCisJCQlnb3RvIG91dDsNCisJCX0NCisNCisJCXJldCA9IHJlZ3VsYXRvcl9zZXRf dm9sdGFnZShyZWcsIDAsIElOVF9NQVgpOw0KKwkJaWYgKHJldCkgew0KKwkJCWRldl9pbmZvKGhi YS0+ZGV2LA0KKwkJCQkgImZhaWxlZCB0byBzZXQgdmNvcmUgdG8gTUlOXG4iKTsNCisJCX0NCisJ fQ0KK291dDoNCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGNmZy0+Y2xrX2NyeXB0X211eCk7DQor DQorCWRldl9pbmZvKGhiYS0+ZGV2LCAiYm9vc3QgJWQsICVkXG4iLCBib29zdCwgcmV0KTsNCit9 DQorDQorc3RhdGljIGludCB1ZnNfbXRrX2luaXRfaG9zdF9jbGsoc3RydWN0IHVmc19oYmEgKmhi YSwgY29uc3QgY2hhciAqbmFtZSwNCisJCQkJIHN0cnVjdCBjbGsgKipjbGspDQorew0KKwlpbnQg cmV0Ow0KKw0KKwlyZXQgPSB1ZnNfbXRrX2dldF9ob3N0X2NsayhoYmEtPmRldiwgbmFtZSwgY2xr KTsNCisJaWYgKHJldCkgew0KKwkJZGV2X2luZm8oaGJhLT5kZXYsICIlczogZmFpbGVkIHRvIGdl dCAlczogJWQiLCBfX2Z1bmNfXywNCisJCQkgbmFtZSwgcmV0KTsNCisJfQ0KKw0KKwlyZXR1cm4g cmV0Ow0KK30NCisNCitzdGF0aWMgdm9pZCB1ZnNfbXRrX2luaXRfaG9zdF9jYXBzKHN0cnVjdCB1 ZnNfaGJhICpoYmEpDQorew0KKwlzdHJ1Y3QgdWZzX210a19ob3N0ICpob3N0ID0gdWZzaGNkX2dl dF92YXJpYW50KGhiYSk7DQorCXN0cnVjdCB1ZnNfbXRrX2NyeXB0X2NmZyAqY2ZnOw0KKwlzdHJ1 Y3QgZGV2aWNlICpkZXYgPSBoYmEtPmRldjsNCisJc3RydWN0IHJlZ3VsYXRvciAqcmVnOw0KKw0K Kwlob3N0LT5jYXBzID0gaG9zdC0+Y2ZnLT5jYXBzOw0KKw0KKwlpZiAoIXVmc19tdGtfaXNfYm9v c3RfY3J5cHRfZW5hYmxlZChoYmEpKQ0KKwkJcmV0dXJuOw0KKw0KKwlob3N0LT5jcnlwdCA9IGRl dm1fa3phbGxvYyhkZXYsIHNpemVvZigqKGhvc3QtPmNyeXB0KSksDQorCQkJCSAgIEdGUF9LRVJO RUwpOw0KKwlpZiAoIWhvc3QtPmNyeXB0KQ0KKwkJZ290byBkaXNhYmxlX2NhcHM7DQorDQorCXJl ZyA9IGRldm1fcmVndWxhdG9yX2dldF9vcHRpb25hbChkZXYsICJkdmZzcmMtdmNvcmUiKTsNCisJ aWYgKElTX0VSUihyZWcpKSB7DQorCQlkZXZfaW5mbyhkZXYsICJmYWlsZWQgdG8gZ2V0IGR2ZnNy Yy12Y29yZTogJWxkIiwNCisJCQkgUFRSX0VSUihyZWcpKTsNCisJCWdvdG8gZGlzYWJsZV9jYXBz Ow0KKwl9DQorDQorCWNmZyA9IGhvc3QtPmNyeXB0Ow0KKwlpZiAodWZzX210a19pbml0X2hvc3Rf Y2xrKGhiYSwgImNyeXB0X211eCIsDQorCQkJCSAgJmNmZy0+Y2xrX2NyeXB0X211eCkpDQorCQln b3RvIGRpc2FibGVfY2FwczsNCisNCisJaWYgKHVmc19tdGtfaW5pdF9ob3N0X2NsayhoYmEsICJj cnlwdF9scCIsDQorCQkJCSAgJmNmZy0+Y2xrX2NyeXB0X2xwKSkNCisJCWdvdG8gZGlzYWJsZV9j YXBzOw0KKw0KKwlpZiAodWZzX210a19pbml0X2hvc3RfY2xrKGhiYSwgImNyeXB0X3BlcmYiLA0K KwkJCQkgICZjZmctPmNsa19jcnlwdF9wZXJmKSkNCisJCWdvdG8gZGlzYWJsZV9jYXBzOw0KKw0K KwljZmctPnJlZ192Y29yZSA9IHJlZzsNCisJY2ZnLT52Y29yZV92b2x0ID0gNjAwMDAwOw0KKwlk ZXZfaW5mbyhkZXYsICJjYXBzOiBib29zdC1jcnlwdCIpOw0KKwlyZXR1cm47DQorDQorZGlzYWJs ZV9jYXBzOg0KKwlob3N0LT5jYXBzICY9IH5VRlNfTVRLX0NBUF9CT09TVF9DUllQVF9FTkdJTkU7 DQorfQ0KKw0KIC8qKg0KICAqIHVmc19tdGtfc2V0dXBfY2xvY2tzIC0gZW5hYmxlcy9kaXNhYmxl IGNsb2Nrcw0KICAqIEBoYmE6IGhvc3QgY29udHJvbGxlciBpbnN0YW5jZQ0KQEAgLTMzNiwxMiAr NDkyLDE0IEBAIHN0YXRpYyBpbnQgdWZzX210a19zZXR1cF9jbG9ja3Moc3RydWN0IHVmc19oYmEg KmhiYSwgYm9vbCBvbiwNCiAJCX0NCiANCiAJCWlmIChjbGtfcHdyX29mZikgew0KKwkJCXVmc19t dGtfYm9vc3RfY3J5cHQoaGJhLCBvbik7DQogCQkJdWZzX210a19zZXR1cF9yZWZfY2xrKGhiYSwg b24pOw0KIAkJCXVmc19tdGtfbXBoeV9wb3dlcl9vbihoYmEsIG9uKTsNCiAJCX0NCiAJfSBlbHNl IGlmIChvbiAmJiBzdGF0dXMgPT0gUE9TVF9DSEFOR0UpIHsNCiAJCXVmc19tdGtfbXBoeV9wb3dl cl9vbihoYmEsIG9uKTsNCiAJCXVmc19tdGtfc2V0dXBfcmVmX2NsayhoYmEsIG9uKTsNCisJCXVm c19tdGtfYm9vc3RfY3J5cHQoaGJhLCBvbik7DQogCX0NCiANCiAJcmV0dXJuIHJldDsNCkBAIC0z NTksOCArNTE3LDkgQEAgc3RhdGljIGludCB1ZnNfbXRrX3NldHVwX2Nsb2NrcyhzdHJ1Y3QgdWZz X2hiYSAqaGJhLCBib29sIG9uLA0KICAqLw0KIHN0YXRpYyBpbnQgdWZzX210a19pbml0KHN0cnVj dCB1ZnNfaGJhICpoYmEpDQogew0KLQlzdHJ1Y3QgdWZzX210a19ob3N0ICpob3N0Ow0KKwljb25z dCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICppZDsNCiAJc3RydWN0IGRldmljZSAqZGV2ID0gaGJhLT5k ZXY7DQorCXN0cnVjdCB1ZnNfbXRrX2hvc3QgKmhvc3Q7DQogCWludCBlcnIgPSAwOw0KIA0KIAlo b3N0ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpob3N0KSwgR0ZQX0tFUk5FTCk7DQpAQCAt MzczLDYgKzUzMiwxOCBAQCBzdGF0aWMgaW50IHVmc19tdGtfaW5pdChzdHJ1Y3QgdWZzX2hiYSAq aGJhKQ0KIAlob3N0LT5oYmEgPSBoYmE7DQogCXVmc2hjZF9zZXRfdmFyaWFudChoYmEsIGhvc3Qp Ow0KIA0KKwkvKiBHZXQgaG9zdCBjYXBhYmlsaXR5IGFuZCBwbGF0Zm9ybSBkYXRhICovDQorCWlk ID0gb2ZfbWF0Y2hfZGV2aWNlKHVmc19tdGtfb2ZfbWF0Y2gsIGRldik7DQorCWlmICghaWQpIHsN CisJCWVyciA9IC1FSU5WQUw7DQorCQlnb3RvIG91dDsNCisJfQ0KKw0KKwlpZiAoaWQtPmRhdGEp IHsNCisJCWhvc3QtPmNmZyA9IChzdHJ1Y3QgdWZzX210a19ob3N0X2NmZyAqKWlkLT5kYXRhOw0K KwkJdWZzX210a19pbml0X2hvc3RfY2FwcyhoYmEpOw0KKwl9DQorDQogCWVyciA9IHVmc19tdGtf YmluZF9tcGh5KGhiYSk7DQogCWlmIChlcnIpDQogCQlnb3RvIG91dF92YXJpYW50X2NsZWFyOw0K QEAgLTc4MiwxMSArOTUzLDYgQEAgc3RhdGljIGludCB1ZnNfbXRrX3JlbW92ZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQ0KIAlyZXR1cm4gMDsNCiB9DQogDQotc3RhdGljIGNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgdWZzX210a19vZl9tYXRjaFtdID0gew0KLQl7IC5jb21wYXRpYmxl ID0gIm1lZGlhdGVrLG10ODE4My11ZnNoY2kifSwNCi0Je30sDQotfTsNCi0NCiBzdGF0aWMgY29u c3Qgc3RydWN0IGRldl9wbV9vcHMgdWZzX210a19wbV9vcHMgPSB7DQogCS5zdXNwZW5kICAgICAg ICAgPSB1ZnNoY2RfcGx0ZnJtX3N1c3BlbmQsDQogCS5yZXN1bWUgICAgICAgICAgPSB1ZnNoY2Rf cGx0ZnJtX3Jlc3VtZSwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1tZWRpYXRl ay5oIGIvZHJpdmVycy9zY3NpL3Vmcy91ZnMtbWVkaWF0ZWsuaA0KaW5kZXggNWMzMmQ1ZjUyNzU5 Li4yYjZhMTMxMmM5YmMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1tZWRpYXRl ay5oDQorKysgYi9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1tZWRpYXRlay5oDQpAQCAtODksOSArODks MzEgQEAgZW51bSB7DQogCVRYX0NMS19HQVRFX0VOICAgICAgICAgID0gMywNCiB9Ow0KIA0KKy8q DQorICogSG9zdCBjYXBhYmlsaXR5DQorICovDQorZW51bSB1ZnNfbXRrX2hvc3RfY2FwcyB7DQor CVVGU19NVEtfQ0FQX0JPT1NUX0NSWVBUX0VOR0lORSAgICAgICAgID0gMSA8PCAwLA0KK307DQor DQorc3RydWN0IHVmc19tdGtfY3J5cHRfY2ZnIHsNCisJc3RydWN0IHJlZ3VsYXRvciAqcmVnX3Zj b3JlOw0KKwlzdHJ1Y3QgY2xrICpjbGtfY3J5cHRfcGVyZjsNCisJc3RydWN0IGNsayAqY2xrX2Ny eXB0X211eDsNCisJc3RydWN0IGNsayAqY2xrX2NyeXB0X2xwOw0KKwlpbnQgdmNvcmVfdm9sdDsN Cit9Ow0KKw0KK3N0cnVjdCB1ZnNfbXRrX2hvc3RfY2ZnIHsNCisJZW51bSB1ZnNfbXRrX2hvc3Rf Y2FwcyBjYXBzOw0KK307DQorDQogc3RydWN0IHVmc19tdGtfaG9zdCB7DQogCXN0cnVjdCB1ZnNf aGJhICpoYmE7DQogCXN0cnVjdCBwaHkgKm1waHk7DQorCXN0cnVjdCB1ZnNfbXRrX2hvc3RfY2Zn ICpjZmc7DQorCXN0cnVjdCB1ZnNfbXRrX2NyeXB0X2NmZyAqY3J5cHQ7DQorCWVudW0gdWZzX210 a19ob3N0X2NhcHMgY2FwczsNCiAJc3RydWN0IHJlc2V0X2NvbnRyb2wgKmhjaV9yZXNldDsNCiAJ c3RydWN0IHJlc2V0X2NvbnRyb2wgKnVuaXByb19yZXNldDsNCiAJc3RydWN0IHJlc2V0X2NvbnRy b2wgKmNyeXB0b19yZXNldDsNCi0tIA0KMi4xOC4wDQo=