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=-8.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 5D537C433E5 for ; Thu, 23 Jul 2020 03:07:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 30417207E8 for ; Thu, 23 Jul 2020 03:07:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="QhD/NsEs" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387885AbgGWDG4 (ORCPT ); Wed, 22 Jul 2020 23:06:56 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:23179 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2387856AbgGWDGt (ORCPT ); Wed, 22 Jul 2020 23:06:49 -0400 X-UUID: 6938c7d15cdf4e39b72b8836154554ed-20200723 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=4vv/woF9h5TCroyPqdg/JHR9YSH2GTd/z5tbHtdWFzo=; b=QhD/NsEs79QyYUYy0rDD8N5+HltT0FXkWAvP1q2QfCoMs68hxus6+R5WGnC1jQwkOwiP29L/Gl2tLt+14R49T32VH4ct8kFMjjiKE5ptMuDu+h8zDouCTzOC9IFhz5NRdFLvVw/LRpWRgLAZ6uaiiek3pcO+NVi4c+HegzkhJRI=; X-UUID: 6938c7d15cdf4e39b72b8836154554ed-20200723 Received: from mtkcas11.mediatek.inc [(172.21.101.40)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 140020289; Thu, 23 Jul 2020 11:06:44 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 23 Jul 2020 11:06:43 +0800 Received: from localhost.localdomain (10.17.3.153) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 23 Jul 2020 11:06:39 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Rick Chang CC: , , , , , Marek Szyprowski , Tomasz Figa , , , , , , Xia Jiang Subject: [PATCH v10 27/28] media: platform: Using the variant structure to contain the varability between dec and enc Date: Thu, 23 Jul 2020 11:04:50 +0800 Message-ID: <20200723030451.5616-28-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200723030451.5616-1-xia.jiang@mediatek.com> References: <20200723030451.5616-1-xia.jiang@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 QWRkIHZhcmFiaWxpdHkgd2hpY2ggd291bGQgYmUgdXNlZCBiZXR3ZWVuIGpwZWcgZGVjIGFuZCBl bmMgdG8gYSBtYXRjaA0KZGF0YSBzdHJ1Y3R1cmUsIGl0IHdpbGwgbWFrZSB0aGUgY29kZSBsaW5l YXIuDQoNClNpZ25lZC1vZmYtYnk6IFhpYSBKaWFuZyA8eGlhLmppYW5nQG1lZGlhdGVrLmNvbT4N Ci0tLQ0KdjEwOiBuZXcgYWRkIHBhdGNoDQotLS0NCiAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLWpw ZWcvbXRrX2pwZWdfY29yZS5jICAgfCAxMDAgKysrKysrKysrKystLS0tLS0tDQogLi4uL21lZGlh L3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuaCAgIHwgIDI4ICsrKysrDQogMiBmaWxl cyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5jIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmMNCmluZGV4IGUyNDVi Y2RiNmYxYS4uMWVlYmJlNzI2ZDRmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v bXRrLWpwZWcvbXRrX2pwZWdfY29yZS5jDQpAQCAtODAsOCArODAsOCBAQCBzdGF0aWMgaW50IG10 a19qcGVnX3F1ZXJ5Y2FwKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LA0KIHsNCiAJc3Ry dWN0IG10a19qcGVnX2RldiAqanBlZyA9IHZpZGVvX2RydmRhdGEoZmlsZSk7DQogDQotCXN0cnNj cHkoY2FwLT5kcml2ZXIsIE1US19KUEVHX05BTUUgIiBkZWNvZGVyIiwgc2l6ZW9mKGNhcC0+ZHJp dmVyKSk7DQotCXN0cnNjcHkoY2FwLT5jYXJkLCBNVEtfSlBFR19OQU1FICIgZGVjb2RlciIsIHNp emVvZihjYXAtPmNhcmQpKTsNCisJc3Ryc2NweShjYXAtPmRyaXZlciwganBlZy0+dmFyaWFudC0+ ZGV2X25hbWUsIHNpemVvZihjYXAtPmRyaXZlcikpOw0KKwlzdHJzY3B5KGNhcC0+Y2FyZCwganBl Zy0+dmFyaWFudC0+ZGV2X25hbWUsIHNpemVvZihjYXAtPmNhcmQpKTsNCiAJc25wcmludGYoY2Fw LT5idXNfaW5mbywgc2l6ZW9mKGNhcC0+YnVzX2luZm8pLCAicGxhdGZvcm06JXMiLA0KIAkJIGRl dl9uYW1lKGpwZWctPmRldikpOw0KIA0KQEAgLTExMiwxNSArMTEyLDIzIEBAIHN0YXRpYyBpbnQg bXRrX2pwZWdfZW51bV9mbXQoc3RydWN0IG10a19qcGVnX2ZtdCAqbXRrX2pwZWdfZm9ybWF0cywg aW50IG4sDQogc3RhdGljIGludCBtdGtfanBlZ19lbnVtX2ZtdF92aWRfY2FwKHN0cnVjdCBmaWxl ICpmaWxlLCB2b2lkICpwcml2LA0KIAkJCQkgICAgIHN0cnVjdCB2NGwyX2ZtdGRlc2MgKmYpDQog ew0KLQlyZXR1cm4gbXRrX2pwZWdfZW51bV9mbXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsIE1US19K UEVHX0RFQ19OVU1fRk9STUFUUywNCi0JCQkJIGYsIE1US19KUEVHX0ZNVF9GTEFHX0NBUFRVUkUp Ow0KKwlzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpjdHggPSBtdGtfanBlZ19maF90b19jdHgocHJpdik7 DQorCXN0cnVjdCBtdGtfanBlZ19kZXYgKmpwZWcgPSBjdHgtPmpwZWc7DQorDQorCXJldHVybiBt dGtfanBlZ19lbnVtX2ZtdChqcGVnLT52YXJpYW50LT5mb3JtYXRzLA0KKwkJCQkganBlZy0+dmFy aWFudC0+bnVtX2Zvcm1hdHMsIGYsDQorCQkJCSBNVEtfSlBFR19GTVRfRkxBR19DQVBUVVJFKTsN CiB9DQogDQogc3RhdGljIGludCBtdGtfanBlZ19lbnVtX2ZtdF92aWRfb3V0KHN0cnVjdCBmaWxl ICpmaWxlLCB2b2lkICpwcml2LA0KIAkJCQkgICAgIHN0cnVjdCB2NGwyX2ZtdGRlc2MgKmYpDQog ew0KLQlyZXR1cm4gbXRrX2pwZWdfZW51bV9mbXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsIE1US19K UEVHX0RFQ19OVU1fRk9STUFUUywNCi0JCQkJIGYsIE1US19KUEVHX0ZNVF9GTEFHX09VVFBVVCk7 DQorCXN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCA9IG10a19qcGVnX2ZoX3RvX2N0eChwcml2KTsN CisJc3RydWN0IG10a19qcGVnX2RldiAqanBlZyA9IGN0eC0+anBlZzsNCisNCisJcmV0dXJuIG10 a19qcGVnX2VudW1fZm10KGpwZWctPnZhcmlhbnQtPmZvcm1hdHMsDQorCQkJCSBqcGVnLT52YXJp YW50LT5udW1fZm9ybWF0cywgZiwNCisJCQkJIE1US19KUEVHX0ZNVF9GTEFHX09VVFBVVCk7DQog fQ0KIA0KIHN0YXRpYyBzdHJ1Y3QgbXRrX2pwZWdfcV9kYXRhICptdGtfanBlZ19nZXRfcV9kYXRh KHN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCwNCkBAIC0yNDQsMTAgKzI1MiwxMSBAQCBzdGF0aWMg aW50IG10a19qcGVnX3RyeV9mbXRfdmlkX2NhcF9tcGxhbmUoc3RydWN0IGZpbGUgKmZpbGUsIHZv aWQgKnByaXYsDQogCQkJCQkgICBzdHJ1Y3QgdjRsMl9mb3JtYXQgKmYpDQogew0KIAlzdHJ1Y3Qg bXRrX2pwZWdfY3R4ICpjdHggPSBtdGtfanBlZ19maF90b19jdHgocHJpdik7DQorCXN0cnVjdCBt dGtfanBlZ19kZXYgKmpwZWcgPSBjdHgtPmpwZWc7DQogCXN0cnVjdCBtdGtfanBlZ19mbXQgKmZt dDsNCiANCi0JZm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMs DQotCQkJCSAgIE1US19KUEVHX0RFQ19OVU1fRk9STUFUUywNCisJZm10ID0gbXRrX2pwZWdfZmlu ZF9mb3JtYXQoanBlZy0+dmFyaWFudC0+Zm9ybWF0cywNCisJCQkJICAganBlZy0+dmFyaWFudC0+ bnVtX2Zvcm1hdHMsDQogCQkJCSAgIGYtPmZtdC5waXhfbXAucGl4ZWxmb3JtYXQsDQogCQkJCSAg IE1US19KUEVHX0ZNVF9GTEFHX0NBUFRVUkUpOw0KIAlpZiAoIWZtdCkNCkBAIC0yNzIsMTAgKzI4 MSwxMSBAQCBzdGF0aWMgaW50IG10a19qcGVnX3RyeV9mbXRfdmlkX291dF9tcGxhbmUoc3RydWN0 IGZpbGUgKmZpbGUsIHZvaWQgKnByaXYsDQogCQkJCQkgICBzdHJ1Y3QgdjRsMl9mb3JtYXQgKmYp DQogew0KIAlzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpjdHggPSBtdGtfanBlZ19maF90b19jdHgocHJp dik7DQorCXN0cnVjdCBtdGtfanBlZ19kZXYgKmpwZWcgPSBjdHgtPmpwZWc7DQogCXN0cnVjdCBt dGtfanBlZ19mbXQgKmZtdDsNCiANCi0JZm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pw ZWdfZGVjX2Zvcm1hdHMsDQotCQkJCSAgIE1US19KUEVHX0RFQ19OVU1fRk9STUFUUywNCisJZm10 ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQoanBlZy0+dmFyaWFudC0+Zm9ybWF0cywNCisJCQkJICAg anBlZy0+dmFyaWFudC0+bnVtX2Zvcm1hdHMsDQogCQkJCSAgIGYtPmZtdC5waXhfbXAucGl4ZWxm b3JtYXQsDQogCQkJCSAgIE1US19KUEVHX0ZNVF9GTEFHX09VVFBVVCk7DQogCWlmICghZm10KQ0K QEAgLTMxNiw5ICszMjYsOCBAQCBzdGF0aWMgaW50IG10a19qcGVnX3NfZm10X21wbGFuZShzdHJ1 Y3QgbXRrX2pwZWdfY3R4ICpjdHgsDQogCQlyZXR1cm4gLUVCVVNZOw0KIAl9DQogDQotDQotCXFf ZGF0YS0+Zm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsDQot CQkJCQkgICBNVEtfSlBFR19ERUNfTlVNX0ZPUk1BVFMsDQorCXFfZGF0YS0+Zm10ID0gbXRrX2pw ZWdfZmluZF9mb3JtYXQoanBlZy0+dmFyaWFudC0+Zm9ybWF0cywNCisJCQkJCSAgIGpwZWctPnZh cmlhbnQtPm51bV9mb3JtYXRzLA0KIAkJCQkJICAgcGl4X21wLT5waXhlbGZvcm1hdCwgZm10X3R5 cGUpOw0KIAlxX2RhdGEtPnBpeF9tcC53aWR0aCA9IHBpeF9tcC0+d2lkdGg7DQogCXFfZGF0YS0+ cGl4X21wLmhlaWdodCA9IHBpeF9tcC0+aGVpZ2h0Ow0KQEAgLTUxOSw5ICs1MjgsMTAgQEAgc3Rh dGljIGJvb2wgbXRrX2pwZWdfY2hlY2tfcmVzb2x1dGlvbl9jaGFuZ2Uoc3RydWN0IG10a19qcGVn X2N0eCAqY3R4LA0KIAl9DQogDQogCXFfZGF0YSA9ICZjdHgtPmNhcF9xOw0KLQlpZiAocV9kYXRh LT5mbXQgIT0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsDQotCQkJ TVRLX0pQRUdfREVDX05VTV9GT1JNQVRTLCBwYXJhbS0+ZHN0X2ZvdXJjYywNCi0JCQlNVEtfSlBF R19GTVRfRkxBR19DQVBUVVJFKSkgew0KKwlpZiAocV9kYXRhLT5mbXQgIT0NCisJICAgIG10a19q cGVnX2ZpbmRfZm9ybWF0KGpwZWctPnZhcmlhbnQtPmZvcm1hdHMsDQorCQkJCSBqcGVnLT52YXJp YW50LT5udW1fZm9ybWF0cywgcGFyYW0tPmRzdF9mb3VyY2MsDQorCQkJCSBNVEtfSlBFR19GTVRf RkxBR19DQVBUVVJFKSkgew0KIAkJdjRsMl9kYmcoMSwgZGVidWcsICZqcGVnLT52NGwyX2Rldiwg ImZvcm1hdCBjaGFuZ2VcbiIpOw0KIAkJcmV0dXJuIHRydWU7DQogCX0NCkBAIC01NDIsOCArNTUy LDggQEAgc3RhdGljIHZvaWQgbXRrX2pwZWdfc2V0X3F1ZXVlX2RhdGEoc3RydWN0IG10a19qcGVn X2N0eCAqY3R4LA0KIAlxX2RhdGEgPSAmY3R4LT5jYXBfcTsNCiAJcV9kYXRhLT5waXhfbXAud2lk dGggPSBwYXJhbS0+ZGVjX3c7DQogCXFfZGF0YS0+cGl4X21wLmhlaWdodCA9IHBhcmFtLT5kZWNf aDsNCi0JcV9kYXRhLT5mbXQgPSBtdGtfanBlZ19maW5kX2Zvcm1hdChtdGtfanBlZ19kZWNfZm9y bWF0cywNCi0JCQkJCSAgIE1US19KUEVHX0RFQ19OVU1fRk9STUFUUywNCisJcV9kYXRhLT5mbXQg PSBtdGtfanBlZ19maW5kX2Zvcm1hdChqcGVnLT52YXJpYW50LT5mb3JtYXRzLA0KKwkJCQkJICAg anBlZy0+dmFyaWFudC0+bnVtX2Zvcm1hdHMsDQogCQkJCQkgICBwYXJhbS0+ZHN0X2ZvdXJjYywN CiAJCQkJCSAgIE1US19KUEVHX0ZNVF9GTEFHX0NBUFRVUkUpOw0KIA0KQEAgLTc0OSwxMyArNzU5 LDE0IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfcXVldWVfaW5pdCh2b2lkICpwcml2LCBzdHJ1Y3Qg dmIyX3F1ZXVlICpzcmNfdnEsDQogCQkJICAgICAgIHN0cnVjdCB2YjJfcXVldWUgKmRzdF92cSkN CiB7DQogCXN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCA9IHByaXY7DQorCXN0cnVjdCBtdGtfanBl Z19kZXYgKmpwZWcgPSBjdHgtPmpwZWc7DQogCWludCByZXQ7DQogDQogCXNyY192cS0+dHlwZSA9 IFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUX01QTEFORTsNCiAJc3JjX3ZxLT5pb19tb2RlcyA9 IFZCMl9ETUFCVUYgfCBWQjJfTU1BUDsNCiAJc3JjX3ZxLT5kcnZfcHJpdiA9IGN0eDsNCiAJc3Jj X3ZxLT5idWZfc3RydWN0X3NpemUgPSBzaXplb2Yoc3RydWN0IG10a19qcGVnX3NyY19idWYpOw0K LQlzcmNfdnEtPm9wcyA9ICZtdGtfanBlZ19kZWNfcW9wczsNCisJc3JjX3ZxLT5vcHMgPSBqcGVn LT52YXJpYW50LT5xb3BzOw0KIAlzcmNfdnEtPm1lbV9vcHMgPSAmdmIyX2RtYV9jb250aWdfbWVt b3BzOw0KIAlzcmNfdnEtPnRpbWVzdGFtcF9mbGFncyA9IFY0TDJfQlVGX0ZMQUdfVElNRVNUQU1Q X0NPUFk7DQogCXNyY192cS0+bG9jayA9ICZjdHgtPmpwZWctPmxvY2s7DQpAQCAtNzY4LDcgKzc3 OSw3IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfcXVldWVfaW5pdCh2b2lkICpwcml2LCBzdHJ1Y3Qg dmIyX3F1ZXVlICpzcmNfdnEsDQogCWRzdF92cS0+aW9fbW9kZXMgPSBWQjJfRE1BQlVGIHwgVkIy X01NQVA7DQogCWRzdF92cS0+ZHJ2X3ByaXYgPSBjdHg7DQogCWRzdF92cS0+YnVmX3N0cnVjdF9z aXplID0gc2l6ZW9mKHN0cnVjdCB2NGwyX20ybV9idWZmZXIpOw0KLQlkc3RfdnEtPm9wcyA9ICZt dGtfanBlZ19kZWNfcW9wczsNCisJZHN0X3ZxLT5vcHMgPSBqcGVnLT52YXJpYW50LT5xb3BzOw0K IAlkc3RfdnEtPm1lbV9vcHMgPSAmdmIyX2RtYV9jb250aWdfbWVtb3BzOw0KIAlkc3RfdnEtPnRp bWVzdGFtcF9mbGFncyA9IFY0TDJfQlVGX0ZMQUdfVElNRVNUQU1QX0NPUFk7DQogCWRzdF92cS0+ bG9jayA9ICZjdHgtPmpwZWctPmxvY2s7DQpAQCAtODQ3LDI0ICs4NTgsMjUgQEAgc3RhdGljIGly cXJldHVybl90IG10a19qcGVnX2RlY19pcnEoaW50IGlycSwgdm9pZCAqcHJpdikNCiBzdGF0aWMg dm9pZCBtdGtfanBlZ19zZXRfZGVmYXVsdF9wYXJhbXMoc3RydWN0IG10a19qcGVnX2N0eCAqY3R4 KQ0KIHsNCiAJc3RydWN0IG10a19qcGVnX3FfZGF0YSAqcSA9ICZjdHgtPm91dF9xOw0KKwlzdHJ1 Y3QgbXRrX2pwZWdfZGV2ICpqcGVnID0gY3R4LT5qcGVnOw0KIA0KIAlxLT5waXhfbXAuY29sb3Jz cGFjZSA9IFY0TDJfQ09MT1JTUEFDRV9TUkdCOw0KIAlxLT5waXhfbXAueWNiY3JfZW5jID0gVjRM Ml9ZQ0JDUl9FTkNfNjAxOw0KIAlxLT5waXhfbXAucXVhbnRpemF0aW9uID0gVjRMMl9RVUFOVEla QVRJT05fRlVMTF9SQU5HRTsNCiAJcS0+cGl4X21wLnhmZXJfZnVuYyA9IFY0TDJfWEZFUl9GVU5D X1NSR0I7DQogDQotCXEtPmZtdCA9IG10a19qcGVnX2ZpbmRfZm9ybWF0KG10a19qcGVnX2RlY19m b3JtYXRzLA0KLQkJCQkgICAgICBNVEtfSlBFR19ERUNfTlVNX0ZPUk1BVFMsDQotCQkJCSAgICAg IFY0TDJfUElYX0ZNVF9KUEVHLA0KKwlxLT5mbXQgPSBtdGtfanBlZ19maW5kX2Zvcm1hdChqcGVn LT52YXJpYW50LT5mb3JtYXRzLA0KKwkJCQkgICAgICBqcGVnLT52YXJpYW50LT5udW1fZm9ybWF0 cywNCisJCQkJICAgICAganBlZy0+dmFyaWFudC0+b3V0X3FfZGVmYXVsdF9mb3VyY2MsDQogCQkJ CSAgICAgIE1US19KUEVHX0ZNVF9GTEFHX09VVFBVVCk7DQogCXEtPnBpeF9tcC53aWR0aCA9IE1U S19KUEVHX01JTl9XSURUSDsNCiAJcS0+cGl4X21wLmhlaWdodCA9IE1US19KUEVHX01JTl9IRUlH SFQ7DQogCW10a19qcGVnX3RyeV9mbXRfbXBsYW5lKCZxLT5waXhfbXAsIHEtPmZtdCk7DQogDQog CXEgPSAmY3R4LT5jYXBfcTsNCi0JcS0+Zm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pw ZWdfZGVjX2Zvcm1hdHMsDQotCQkJCSAgICAgIE1US19KUEVHX0RFQ19OVU1fRk9STUFUUywNCi0J CQkJICAgICAgVjRMMl9QSVhfRk1UX1lVVjQyME0sDQorCXEtPmZtdCA9IG10a19qcGVnX2ZpbmRf Zm9ybWF0KGpwZWctPnZhcmlhbnQtPmZvcm1hdHMsDQorCQkJCSAgICAgIGpwZWctPnZhcmlhbnQt Pm51bV9mb3JtYXRzLA0KKwkJCQkgICAgICBqcGVnLT52YXJpYW50LT5jYXBfcV9kZWZhdWx0X2Zv dXJjYywNCiAJCQkJICAgICAgTVRLX0pQRUdfRk1UX0ZMQUdfQ0FQVFVSRSk7DQogCXEtPnBpeF9t cC5jb2xvcnNwYWNlID0gVjRMMl9DT0xPUlNQQUNFX1NSR0I7DQogCXEtPnBpeF9tcC55Y2Jjcl9l bmMgPSBWNEwyX1lDQkNSX0VOQ182MDE7DQpAQCAtMTAwNCw3ICsxMDE2LDcgQEAgc3RhdGljIHZv aWQgbXRrX2pwZWdfam9iX3RpbWVvdXRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQog CXNyY19idWYgPSB2NGwyX20ybV9zcmNfYnVmX3JlbW92ZShjdHgtPmZoLm0ybV9jdHgpOw0KIAlk c3RfYnVmID0gdjRsMl9tMm1fZHN0X2J1Zl9yZW1vdmUoY3R4LT5maC5tMm1fY3R4KTsNCiANCi0J bXRrX2pwZWdfZGVjX3Jlc2V0KGpwZWctPnJlZ19iYXNlKTsNCisJanBlZy0+dmFyaWFudC0+aHdf cmVzZXQoanBlZy0+cmVnX2Jhc2UpOw0KIA0KIAlwbV9ydW50aW1lX3B1dChqcGVnLT5kZXYpOw0K IA0KQEAgLTEwMjYsNiArMTAzOCw3IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikNCiAJbXV0ZXhfaW5pdCgmanBlZy0+bG9jayk7DQogCXNw aW5fbG9ja19pbml0KCZqcGVnLT5od19sb2NrKTsNCiAJanBlZy0+ZGV2ID0gJnBkZXYtPmRldjsN CisJanBlZy0+dmFyaWFudCA9IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YShqcGVnLT5kZXYpOw0K IAlJTklUX0RFTEFZRURfV09SSygmanBlZy0+am9iX3RpbWVvdXRfd29yaywgbXRrX2pwZWdfam9i X3RpbWVvdXRfd29yayk7DQogDQogCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJ T1JFU09VUkNFX01FTSwgMCk7DQpAQCAtMTA0MSw4ICsxMDU0LDggQEAgc3RhdGljIGludCBtdGtf anBlZ19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KIAkJcmV0dXJuIGpwZWdf aXJxOw0KIAl9DQogDQotCXJldCA9IGRldm1fcmVxdWVzdF9pcnEoJnBkZXYtPmRldiwganBlZ19p cnEsIG10a19qcGVnX2RlY19pcnEsIDAsDQotCQkJICAgICAgIHBkZXYtPm5hbWUsIGpwZWcpOw0K KwlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKCZwZGV2LT5kZXYsIGpwZWdfaXJxLA0KKwkJCSAgICAg ICBqcGVnLT52YXJpYW50LT5pcnFfaGFuZGxlciwgMCwgcGRldi0+bmFtZSwganBlZyk7DQogCWlm IChyZXQpIHsNCiAJCWRldl9lcnIoJnBkZXYtPmRldiwgIkZhaWxlZCB0byByZXF1ZXN0IGpwZWdf aXJxICVkICglZClcbiIsDQogCQkJanBlZ19pcnEsIHJldCk7DQpAQCAtMTA2Miw3ICsxMDc1LDgg QEAgc3RhdGljIGludCBtdGtfanBlZ19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQ0KIAkJZ290byBlcnJfZGV2X3JlZ2lzdGVyOw0KIAl9DQogDQotCWpwZWctPm0ybV9kZXYgPSB2 NGwyX20ybV9pbml0KCZtdGtfanBlZ19kZWNfbTJtX29wcyk7DQorCWpwZWctPm0ybV9kZXYgPSB2 NGwyX20ybV9pbml0KGpwZWctPnZhcmlhbnQtPm0ybV9vcHMpOw0KKw0KIAlpZiAoSVNfRVJSKGpw ZWctPm0ybV9kZXYpKSB7DQogCQl2NGwyX2VycigmanBlZy0+djRsMl9kZXYsICJGYWlsZWQgdG8g aW5pdCBtZW0ybWVtIGRldmljZVxuIik7DQogCQlyZXQgPSBQVFJfRVJSKGpwZWctPm0ybV9kZXYp Ow0KQEAgLTEwNzUsOSArMTA4OSw5IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikNCiAJCWdvdG8gZXJyX3ZmZF9qcGVnX2FsbG9jOw0KIAl9 DQogCXNucHJpbnRmKGpwZWctPnZkZXYtPm5hbWUsIHNpemVvZihqcGVnLT52ZGV2LT5uYW1lKSwN Ci0JCSAiJXMtZGVjIiwgTVRLX0pQRUdfTkFNRSk7DQorCQkgIiVzIiwganBlZy0+dmFyaWFudC0+ ZGV2X25hbWUpOw0KIAlqcGVnLT52ZGV2LT5mb3BzID0gJm10a19qcGVnX2ZvcHM7DQotCWpwZWct PnZkZXYtPmlvY3RsX29wcyA9ICZtdGtfanBlZ19kZWNfaW9jdGxfb3BzOw0KKwlqcGVnLT52ZGV2 LT5pb2N0bF9vcHMgPSBqcGVnLT52YXJpYW50LT5pb2N0bF9vcHM7DQogCWpwZWctPnZkZXYtPm1p bm9yID0gLTE7DQogCWpwZWctPnZkZXYtPnJlbGVhc2UgPSB2aWRlb19kZXZpY2VfcmVsZWFzZTsN CiAJanBlZy0+dmRldi0+bG9jayA9ICZqcGVnLT5sb2NrOw0KQEAgLTEwOTQsOCArMTEwOCw5IEBA IHN0YXRpYyBpbnQgbXRrX2pwZWdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikN CiANCiAJdmlkZW9fc2V0X2RydmRhdGEoanBlZy0+dmRldiwganBlZyk7DQogCXY0bDJfaW5mbygm anBlZy0+djRsMl9kZXYsDQotCQkgICJkZWNvZGVyIGRldmljZSByZWdpc3RlcmVkIGFzIC9kZXYv dmlkZW8lZCAoJWQsJWQpXG4iLA0KLQkJICBqcGVnLT52ZGV2LT5udW0sIFZJREVPX01BSk9SLCBq cGVnLT52ZGV2LT5taW5vcik7DQorCQkgICIlcyBkZXZpY2UgcmVnaXN0ZXJlZCBhcyAvZGV2L3Zp ZGVvJWQgKCVkLCVkKVxuIiwNCisJCSAganBlZy0+dmFyaWFudC0+ZGV2X25hbWUsIGpwZWctPnZk ZXYtPm51bSwNCisJCSAgVklERU9fTUFKT1IsIGpwZWctPnZkZXYtPm1pbm9yKTsNCiANCiAJcGxh dGZvcm1fc2V0X2RydmRhdGEocGRldiwganBlZyk7DQogDQpAQCAtMTE3OCwxNCArMTE5MywyNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgbXRrX2pwZWdfcG1fb3BzID0gew0KIAlT RVRfUlVOVElNRV9QTV9PUFMobXRrX2pwZWdfcG1fc3VzcGVuZCwgbXRrX2pwZWdfcG1fcmVzdW1l LCBOVUxMKQ0KIH07DQogDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfanBlZ192YXJpYW50IG10 ODE3M19qcGVnX2RydmRhdGEgPSB7DQorCS5mb3JtYXRzID0gbXRrX2pwZWdfZGVjX2Zvcm1hdHMs DQorCS5udW1fZm9ybWF0cyA9IE1US19KUEVHX0RFQ19OVU1fRk9STUFUUywNCisJLnFvcHMgPSAm bXRrX2pwZWdfZGVjX3FvcHMsDQorCS5pcnFfaGFuZGxlciA9IG10a19qcGVnX2RlY19pcnEsDQor CS5od19yZXNldCA9IG10a19qcGVnX2RlY19yZXNldCwNCisJLm0ybV9vcHMgPSAmbXRrX2pwZWdf ZGVjX20ybV9vcHMsDQorCS5kZXZfbmFtZSA9ICJtdGstanBlZy1kZWMiLA0KKwkuaW9jdGxfb3Bz ID0gJm10a19qcGVnX2RlY19pb2N0bF9vcHMsDQorCS5vdXRfcV9kZWZhdWx0X2ZvdXJjYyA9IFY0 TDJfUElYX0ZNVF9KUEVHLA0KKwkuY2FwX3FfZGVmYXVsdF9mb3VyY2MgPSBWNEwyX1BJWF9GTVRf WVVWNDIwTSwNCit9Ow0KKw0KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG10a19q cGVnX21hdGNoW10gPSB7DQogCXsNCiAJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1q cGdkZWMiLA0KLQkJLmRhdGEgICAgICAgPSBOVUxMLA0KKwkJLmRhdGEgPSAmbXQ4MTczX2pwZWdf ZHJ2ZGF0YSwNCiAJfSwNCiAJew0KIAkJLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWpw Z2RlYyIsDQotCQkuZGF0YSAgICAgICA9IE5VTEwsDQorCQkuZGF0YSA9ICZtdDgxNzNfanBlZ19k cnZkYXRhLA0KIAl9LA0KIAl7fSwNCiB9Ow0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5oIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t dGstanBlZy9tdGtfanBlZ19jb3JlLmgNCmluZGV4IDBmMjc0ODBkZDkwZC4uM2VkNmM3NGNhNWZi IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19j b3JlLmgNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29y ZS5oDQpAQCAtNDEsNiArNDEsMzIgQEAgZW51bSBtdGtfanBlZ19jdHhfc3RhdGUgew0KIAlNVEtf SlBFR19TT1VSQ0VfQ0hBTkdFLA0KIH07DQogDQorLyoqDQorICogbXRrX2pwZWdfdmFyaWFudCAt IG10ayBqcGVnIGRyaXZlciB2YXJpYW50DQorICogQGZvcm1hdDoJCQlqcGVnIGRyaXZlcidzIGlu dGVybmFsIGNvbG9yIGZvcm1hdA0KKyAqIEBudW1fZm9ybWF0OgkJCW51bWJlciBvZiBmb3JtYXQN CisgKiBAcW9wczoJCQl0aGUgY2FsbGJhY2sgb2YganBlZyB2YjJfb3BzDQorICogQGlycV9oYW5k bGVyOgkJanBlZyBpcnEgaGFuZGxlciBjYWxsYmFjaw0KKyAqIEBod19yZXNldDoJCQlqcGVnIGhh cmR3YXJlIHJlc2V0IGNhbGxiYWNrDQorICogQG0ybV9vcHM6CQkJdGhlIGNhbGxiYWNrIG9mIGpw ZWcgdjRsMl9tMm1fb3BzDQorICogQGRldl9uYW1lOgkJCWpwZWcgZGV2aWNlIG5hbWUNCisgKiBA aW9jdGxfb3BzOgkJCXRoZSBjYWxsYmFjayBvZiBqcGVnIHY0bDJfaW9jdGxfb3BzDQorICogQG91 dF9xX2RlZmF1bHRfZm91cmNjOglvdXRwdXQgcXVldWUgZGVmYXVsdCBmb3VyY2MNCisgKiBAY2Fw X3FfZGVmYXVsdF9mb3VyY2M6CWNhcHR1cmUgcXVldWUgZGVmYXVsdCBmb3VyY2MNCisgKi8NCitz dHJ1Y3QgbXRrX2pwZWdfdmFyaWFudCB7DQorCXN0cnVjdCBtdGtfanBlZ19mbXQgKmZvcm1hdHM7 DQorCWludCBudW1fZm9ybWF0czsNCisJY29uc3Qgc3RydWN0IHZiMl9vcHMgKnFvcHM7DQorCWly cXJldHVybl90ICgqaXJxX2hhbmRsZXIpKGludCBpcnEsIHZvaWQgKnByaXYpOw0KKwl2b2lkICgq aHdfcmVzZXQpKHZvaWQgX19pb21lbSAqYmFzZSk7DQorCWNvbnN0IHN0cnVjdCB2NGwyX20ybV9v cHMgKm0ybV9vcHM7DQorCWNvbnN0IGNoYXIgKmRldl9uYW1lOw0KKwljb25zdCBzdHJ1Y3QgdjRs Ml9pb2N0bF9vcHMgKmlvY3RsX29wczsNCisJdTMyIG91dF9xX2RlZmF1bHRfZm91cmNjOw0KKwl1 MzIgY2FwX3FfZGVmYXVsdF9mb3VyY2M7DQorfTsNCisNCiAvKioNCiAgKiBzdHJ1Y3QgbXRfanBl ZyAtIEpQRUcgSVAgYWJzdHJhY3Rpb24NCiAgKiBAbG9jazoJCXRoZSBtdXRleCBwcm90ZWN0aW5n IHRoaXMgc3RydWN0dXJlDQpAQCAtNTYsNiArODIsNyBAQCBlbnVtIG10a19qcGVnX2N0eF9zdGF0 ZSB7DQogICogQG51bV9jbGtzOgkJbnVtYmVycyBvZiBjbG9jaw0KICAqIEBsYXJiOgkJU01JIGRl dmljZQ0KICAqIEBqb2JfdGltZW91dF93b3JrOglJUlEgdGltZW91dCBzdHJ1Y3R1cmUNCisgKiBA dmFyaWFudDoJCWRyaXZlciB2YXJpYW50IHRvIGJlIHVzZWQNCiAgKi8NCiBzdHJ1Y3QgbXRrX2pw ZWdfZGV2IHsNCiAJc3RydWN0IG11dGV4CQlsb2NrOw0KQEAgLTcxLDYgKzk4LDcgQEAgc3RydWN0 IG10a19qcGVnX2RldiB7DQogCWludCBudW1fY2xrczsNCiAJc3RydWN0IGRldmljZQkJKmxhcmI7 DQogCXN0cnVjdCBkZWxheWVkX3dvcmsgam9iX3RpbWVvdXRfd29yazsNCisJY29uc3Qgc3RydWN0 IG10a19qcGVnX3ZhcmlhbnQgKnZhcmlhbnQ7DQogfTsNCiANCiAvKioNCi0tIA0KMi4xOC4wDQo=