Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3575988yba; Mon, 29 Apr 2019 05:05:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqz6vePH9HSCU1l/jHciAYeZfY/4fZt/rLNkcViE9YbfLnQpT5gDyDsK4g657NlPnMsPeuVs X-Received: by 2002:a17:902:2f:: with SMTP id 44mr61497535pla.137.1556539513076; Mon, 29 Apr 2019 05:05:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556539513; cv=none; d=google.com; s=arc-20160816; b=v28QTErvCEHps9vmylOYnfmkB35mPnMDBediCUvnKmw85ZR1tYqR4HOm7DiKff2jie qoq/806V5RivOFFr/Z6rLStIzFoPPfjKGsKbOZkC6AZk7EkOt6FJJdjrdrd5OJs7QW3m 9txedlHffQ5G+ZS9xBCEwkE8SN/kKxmH464YJGvWNsKTO9vmGs2UHHsQzA4MXP+NZYoU KBY8POh/dd6719PS9zYJAWxKUgbWgOQvsBLia9or+bSClhWP8ZHErFSvChawS3l3BJTx DdQe5N5b6OosiWjZZEVtIGvhPPQMN6+2DiXJ3cp2AV/PM399wRltHvs4Ed36ey6L1JEF pqJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=IrMzf/YZk3ZqvWtN02vyd5x1msKrteLI2NpJrCC3wRE=; b=QANUicYujB3fveuWHAU+Hrg3RnHGPj1lPzSugAOYjZH7UIbUzSpxbuhTfkMBc7JBNa tB6QbIqhOrSgjG4dOlMdJmwmEK8uD9ScSklH1gm7ON5La+xNLo0DUGA+7xTs2hREH6He 9k4aEZRKvKpJlpLLidD3WvukF0PBxVkAEDxXZmT7bDqBLQjzDBPQUUOChYuzJF7Fo3+w RRdWbCC+q6WN42oPH36RTSFj3x4V+PhQ5iifwknIMjl4uNGb0yi0JtpeeRJvq752tguw cpH4U09WZ82fKYwS4yINJtsORLfyALFLslahh5DslRBB82Xp2ttkYPi5FzfKveJX1Ed/ dWIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@victronenergy.com header.s=selector1 header.b=e6IWS0pe; 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=REJECT sp=REJECT dis=NONE) header.from=victronenergy.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v21si32463592plo.34.2019.04.29.05.04.56; Mon, 29 Apr 2019 05:05:13 -0700 (PDT) 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=@victronenergy.com header.s=selector1 header.b=e6IWS0pe; 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=REJECT sp=REJECT dis=NONE) header.from=victronenergy.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728193AbfD2MDl (ORCPT + 99 others); Mon, 29 Apr 2019 08:03:41 -0400 Received: from mail-eopbgr00126.outbound.protection.outlook.com ([40.107.0.126]:15331 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728024AbfD2MDl (ORCPT ); Mon, 29 Apr 2019 08:03:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=victronenergy.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IrMzf/YZk3ZqvWtN02vyd5x1msKrteLI2NpJrCC3wRE=; b=e6IWS0peYSO+xYq40GwMtaZMISjJiixa3oo7AFoTDyeuYCSX0MrhH/0CtRhyO85vl8RYp+vwPGwCgXPyV3dZNFJ55DpEtGjuz8DBazCmZueSx73iOyGvaxlE7htNN5d14Zv8R7ffmCwX3xWDTxrZFY2kTXockWinTrJbUyinxPE= Received: from HE1PR07MB4396.eurprd07.prod.outlook.com (20.176.167.33) by HE1PR07MB3276.eurprd07.prod.outlook.com (10.170.246.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1856.5; Mon, 29 Apr 2019 12:03:32 +0000 Received: from HE1PR07MB4396.eurprd07.prod.outlook.com ([fe80::1804:e373:4cb8:8437]) by HE1PR07MB4396.eurprd07.prod.outlook.com ([fe80::1804:e373:4cb8:8437%7]) with mapi id 15.20.1856.008; Mon, 29 Apr 2019 12:03:32 +0000 From: Jeroen Hofstee To: "linux-can@vger.kernel.org" CC: Jeroen Hofstee , Anant Gole , AnilKumar Ch , Wolfgang Grandegger , Marc Kleine-Budde , "David S. Miller" , "open list:NETWORKING DRIVERS" , open list Subject: [PATCH] can: ti_hecc: use timestamp based rx-offloading Thread-Topic: [PATCH] can: ti_hecc: use timestamp based rx-offloading Thread-Index: AQHU/oOQxrziEdIHYkKLtad3jyL4gQ== Date: Mon, 29 Apr 2019 12:03:32 +0000 Message-ID: <1556539376-20932-1-git-send-email-jhofstee@victronenergy.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [213.126.8.10] x-clientproxiedby: AM3PR05CA0114.eurprd05.prod.outlook.com (2603:10a6:207:2::16) To HE1PR07MB4396.eurprd07.prod.outlook.com (2603:10a6:7:a0::33) authentication-results: spf=none (sender IP is ) smtp.mailfrom=jhofstee@victronenergy.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c6735838-33a0-450c-3491-08d6cc9ab30a x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020);SRVR:HE1PR07MB3276; x-ms-traffictypediagnostic: HE1PR07MB3276: x-ms-exchange-purlcount: 6 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-forefront-prvs: 0022134A87 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(136003)(39850400004)(366004)(346002)(376002)(396003)(199004)(189003)(55674003)(6486002)(54906003)(316002)(68736007)(81156014)(53936002)(73956011)(305945005)(8676002)(6512007)(2351001)(5640700003)(7736002)(6306002)(71200400001)(71190400001)(476003)(8936002)(86362001)(30864003)(6506007)(386003)(52116002)(81166006)(5660300002)(50226002)(66574012)(99286004)(486006)(36756003)(14444005)(478600001)(4326008)(2501003)(256004)(64756008)(66446008)(66556008)(66476007)(66946007)(2906002)(97736004)(186003)(14454004)(966005)(2616005)(6436002)(3846002)(6116002)(6916009)(26005)(102836004)(66066001)(25786009)(53376002)(2004002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR07MB3276;H:HE1PR07MB4396.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: victronenergy.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: W8CzDyDez+lmtrYRK6oITJJlh/JF8dd5PiXw37+xppRbaosOOjgR7lsLWki9JASp+qPcTvmLaXimm6/r4emDJRDioqQo9DMgGU2+z5lfu4H1qXPilcZ/NQmmzT4QkAWQ6h/7qi8CZqYE/56tGFJLTHUWmEvmTbSUqMOC8Hg08BxFYSF6N71EHuek1+uBRiSalPnx0L1ZPopu6P7Su1Lv+snd3AfRRhr4EdQu0boT3gNFw2s1cmxK6v+APlw5Mi8ejmrew1RHsGQkq5jvEpbQfK7eCp2BpiGu8fCyN+SKPsTmdNNhPKc5kOOhdfpitXZJoL5o6ZJ93LkZI0ZnRd2qxrqENk+sJp83PK793ej5k8vgdvw5jmCPElc3Oekskn5AwRMvUAIplny2NMxOIq8tmTl0e1qP9Bc05VEaAVF01xY= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: victronenergy.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6735838-33a0-450c-3491-08d6cc9ab30a X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Apr 2019 12:03:32.3162 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 60b95f08-3558-4e94-b0f8-d690c498e225 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB3276 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QXMgYWxyZWFkeSBtZW50aW9uZWQgaW4gWzFdIGFuZCBpbmNsdWRlZCBpbiBbMl0sIHRoZXJlIGlz IGFuIG9mZiBieSBvbmUNCmlzc3VlIHNpbmNlIHRoZSBoaWdoIGJhbmsgaXMgYWxyZWFkeSBlbmFi bGVkIHdoZW4gdGhlIF9uZXh0XyBtYWlsYm94IHRvDQpiZSByZWFkIGhhcyBpbmRleCAxMiwgc28g dGhlIG1haWxib3ggYmVpbmcgcmVhZCB3YXMgMTMuIFRoZSBtZXNzYWdlIGNhbg0KdGhlcmVmb3Jl IGdvIGludG8gbWFpbGJveCAzMSBhbmQgdGhlIGRyaXZlciB3aWxsIGJlIHJlcG9sbGVkIHVudGls IHRoZQ0KbWFpbGJveCAxMiBldmVudHVhbGx5IHJlY2VpdmVzIGEgbXNnLiBPciB0aGUgbWVzc2Fn ZSBtaWdodCBlbmQgdXAgaW4gdGhlDQoxMnRoIG1haWxib3gsIGJ1dCB0aGVuIGl0IHdvdWxkIGJl Y29tZSBkaXNhYmxlZCBhZnRlciByZWFkaW5nIGl0IGFuZCBvbmx5DQpiZSBlbmFibGVkIGFnYWlu IGluIHRoZSBuZXh0ICJyb3VuZCIgYWZ0ZXIgbWFpbGJveCAxMyB3YXMgcmVhZCwgd2hpY2ggY2Fu DQpjYXVzZSBvdXQgb2Ygb3JkZXIgbWVzc2FnZXMsIHNpbmNlIHRoZSBsb3dlciBwcmlvcml0eSBt YWlsYm94ZXMgY2FuDQphY2NlcHQgbWVzc2FnZXMgaW4gdGhlIG1lYW50aW1lLg0KDQpBcyBtZW50 aW9uZWQgaW4gWzNdIHRoZXJlIGlzIGEgaGFyZHdhcmUgcmFjZSBjb25kaXRpb24gd2hlbiBjaGFu Z2luZyB0aGUNCkNBTk1FIHJlZ2lzdGVyIHdoaWxlIG1lc3NhZ2VzIGFyZSBiZWluZyByZWNlaXZl ZC4gRXZlbiB3aGVuIGluY2x1ZGluZyBhDQpidXN5IHBvbGwgb24gcmVjZXB0aW9uLCBsaWtlIGlu IFsyXSB0aGVyZSBhcmUgc3RpbGwgb3ZlcmZsb3dzIGFuZCBvdXQgb2YNCm9yZGVyIG1lc3NhZ2Vz IGF0IHRpbWVzLCBidXQgbGVzcyB0aGVuIHdpdGhvdXQgdGhlIGJ1c3kgbG9vcCBwb2xsaW5nLg0K VW5saWtlIHdoYXQgdGhlIHBhdGNoIHN1Z2dlc3RzLCB0aGUgcG9sbGluZyB0aW1lIGlzIG5vdCBp biB0aGUgbWljcm9zZWNvbmQNCnJhbmdlLCBidXQgdGFrZXMgYXMgbG9uZyBhcyBhIGN1cnJlbnQg Q0FOIGJ1cyByZWNlcHRpb24gbmVlZHMgdG8gZmluaXNoLA0Kc28gdHlwaWNhbGx5IG1vcmUgaW4g dGhlIGZyYWN0aW9uIG9mIG1pbGxpc2Vjb25kIHJhbmdlLiBTaW5jZSB0aGUgdGltZW91dA0KaXMg aW4gamlmZmllcyBpdCB3b24ndCB0aW1lb3V0Lg0KDQpFdmVuIHdpdGggdGhlc2UgYWRkaXRpb25h bCBmaXhlcyB0aGUgZHJpdmVyIGlzIHN0aWxsIG5vdCBhYmxlIHRvIHByb3ZpZGUgYQ0KcHJvcGVy IEZJRk8gd2hpY2ggZG9lc24ndCBkcm9wIHBhY2thZ2VzLiBTbyBjaGFuZ2UgdGhlIGRyaXZlciB0 byB1c2UNCnJ4LW9mZmxvYWQgYW5kIGJhc2Ugb3JkZXIgb24gdGltZXN0YW1wIGluc3RlYWQgb2Yg bWVzc2FnZSBib3ggbnVtYmVycy4gQXMNCmEgc2lkZSBhZmZlY3QsIHRoaXMgYWxzbyBmaXhlcyBb NF0gYW5kIFs1XS4NCg0KQmVmb3JlIHRoaXMgY2hhbmdlIG1lc3NhZ2VzIHdpdGggYSBzaW5nbGUg Ynl0ZSBjb3VudGVyIHdlcmUgZHJvcHBlZCAvDQpyZWNlaXZlZCBvdXQgb2Ygb3JkZXIgYXQgYSBi aXRyYXRlIG9mIDI1MGtiaXQvcyBvbiBhbiBhbTM1MTcuIFdpdGggdGhpcw0KcGF0Y2ggdGhhdCBu byBsb25nZXIgb2NjdXJzIHVwIHRvIGFuZCBpbmNsdWRpbmcgMU1iaXQvcy4NCg0KWzFdIGh0dHBz Oi8vbGludXgtY2FuLnZnZXIua2VybmVsLm5hcmtpdmUuY29tL3pnTzlpblZpL3BhdGNoLWNhbi10 aS1oZWNjLWZpeC1yeC13cm9uZy1zZXF1ZW5jZS1pc3N1ZSNwb3N0Ng0KWzJdIGh0dHA6Ly9hcmFn by1wcm9qZWN0Lm9yZy9naXQvcHJvamVjdHMvP3A9bGludXgtb21hcDMuZ2l0O2E9Y29tbWl0O2g9 MDIzNDY4OTI3NzdmMDcyNDVkZTRkNWFmNjkyNTEzZWJkODUyZGNiMg0KWzNdIGh0dHBzOi8vbGlu dXgtY2FuLnZnZXIua2VybmVsLm5hcmtpdmUuY29tL3pnTzlpblZpL3BhdGNoLWNhbi10aS1oZWNj LWZpeC1yeC13cm9uZy1zZXF1ZW5jZS1pc3N1ZSNwb3N0NQ0KWzRdIGh0dHBzOi8vcGF0Y2h3b3Jr Lm96bGFicy5vcmcvcGF0Y2gvODk1OTU2Lw0KWzVdIGh0dHBzOi8vd3d3LnNwaW5pY3MubmV0L2xp c3RzL25ldGRldi9tc2c0OTQ5NzEuaHRtbA0KDQpDYzogQW5hbnQgR29sZSA8YW5hbnRnb2xlQHRp LmNvbT4NCkNjOiBBbmlsS3VtYXIgQ2ggPGFuaWxrdW1hckB0aS5jb20+DQpTaWduZWQtb2ZmLWJ5 OiBKZXJvZW4gSG9mc3RlZSA8amhvZnN0ZWVAdmljdHJvbmVuZXJneS5jb20+DQotLS0NCiBkcml2 ZXJzL25ldC9jYW4vdGlfaGVjYy5jIHwgMTg5ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCiAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMTM2 IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY2FuL3RpX2hlY2MuYyBi L2RyaXZlcnMvbmV0L2Nhbi90aV9oZWNjLmMNCmluZGV4IGRiNmVhOTMuLmZlN2ZmZmYgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL25ldC9jYW4vdGlfaGVjYy5jDQorKysgYi9kcml2ZXJzL25ldC9jYW4v dGlfaGVjYy5jDQpAQCAtNSw2ICs1LDcgQEANCiAgKiBzcGVjcyBmb3IgdGhlIHNhbWUgaXMgYXZh aWxhYmxlIGF0IDxodHRwOi8vd3d3LnRpLmNvbT4NCiAgKg0KICAqIENvcHlyaWdodCAoQykgMjAw OSBUZXhhcyBJbnN0cnVtZW50cyBJbmNvcnBvcmF0ZWQgLSBodHRwOi8vd3d3LnRpLmNvbS8NCisg KiBDb3B5cmlnaHQgKEMpIDIwMTkgSmVyb2VuIEhvZnN0ZWUgPGpob2ZzdGVlQHZpY3Ryb25lbmVy Z3kuY29tPg0KICAqDQogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzDQpAQCAtMzQsNiArMzUsNyBAQA0KICNp bmNsdWRlIDxsaW51eC9jYW4vZGV2Lmg+DQogI2luY2x1ZGUgPGxpbnV4L2Nhbi9lcnJvci5oPg0K ICNpbmNsdWRlIDxsaW51eC9jYW4vbGVkLmg+DQorI2luY2x1ZGUgPGxpbnV4L2Nhbi9yeC1vZmZs b2FkLmg+DQogDQogI2RlZmluZSBEUlZfTkFNRSAidGlfaGVjYyINCiAjZGVmaW5lIEhFQ0NfTU9E VUxFX1ZFUlNJT04gICAgICIwLjciDQpAQCAtNjMsMjkgKzY1LDE2IEBAIE1PRFVMRV9WRVJTSU9O KEhFQ0NfTU9EVUxFX1ZFUlNJT04pOw0KICNkZWZpbmUgSEVDQ19UWF9QUklPX01BU0sJKE1BWF9U WF9QUklPIDw8IEhFQ0NfTUJfVFhfU0hJRlQpDQogI2RlZmluZSBIRUNDX1RYX01CX01BU0sJCShI RUNDX01BWF9UWF9NQk9YIC0gMSkNCiAjZGVmaW5lIEhFQ0NfVFhfTUFTSwkJKChIRUNDX01BWF9U WF9NQk9YIC0gMSkgfCBIRUNDX1RYX1BSSU9fTUFTSykNCi0jZGVmaW5lIEhFQ0NfVFhfTUJPWF9N QVNLCSh+KEJJVChIRUNDX01BWF9UWF9NQk9YKSAtIDEpKQ0KLSNkZWZpbmUgSEVDQ19ERUZfTkFQ SV9XRUlHSFQJSEVDQ19NQVhfUlhfTUJPWA0KIA0KIC8qDQotICogSW1wb3J0YW50IE5vdGU6IFJY IG1haWxib3ggY29uZmlndXJhdGlvbg0KLSAqIFJYIG1haWxib3hlcyBhcmUgZnVydGhlciBsb2dp Y2FsbHkgc3BsaXQgaW50byB0d28gLSBtYWluIGFuZCBidWZmZXINCi0gKiBtYWlsYm94ZXMuIFRo ZSBnb2FsIGlzIHRvIGdldCBhbGwgcGFja2V0cyBpbnRvIG1haW4gbWFpbGJveGVzIGFzDQotICog ZHJpdmVuIGJ5IG1haWxib3ggbnVtYmVyIGFuZCByZWNlaXZlIHByaW9yaXR5IChoaWdoZXIgdG8g bG93ZXIpIGFuZA0KLSAqIGJ1ZmZlciBtYWlsYm94ZXMgYXJlIHVzZWQgdG8gcmVjZWl2ZSBwa3Rz IHdoaWxlIG1haW4gbWFpbGJveGVzIGFyZSBiZWluZw0KLSAqIHByb2Nlc3NlZC4gVGhpcyBlbnN1 cmVzIGluLW9yZGVyIHBhY2tldCByZWNlcHRpb24uDQotICoNCi0gKiBIZXJlIGFyZSB0aGUgcmVj b21tZW5kZWQgdmFsdWVzIGZvciBidWZmZXIgbWFpbGJveC4gTm90ZSB0aGF0IFJYIG1haWxib3hl cw0KLSAqIHN0YXJ0IGFmdGVyIFRYIG1haWxib3hlczoNCi0gKg0KLSAqIEhFQ0NfTUFYX1JYX01C T1gJCUhFQ0NfUlhfQlVGRkVSX01CT1gJTm8gb2YgYnVmZmVyIG1haWxib3hlcw0KLSAqIDI4CQkJ CTEyCQkJOA0KLSAqIDE2CQkJCTIwCQkJNA0KKyAqIFJYIG1haWxib3ggY29uZmlndXJhdGlvbg0K KyAqIFRoZSByZW1haW5pbmcgbWFpbGJveGVzIGFyZSB1c2VkIGZvciByZWNlcHRpb24gYW5kIGFy ZSBkZWxpdmVyZWQgYmFzZWQgb24NCisgKiB0aGVpciB0aW1lc3RhbXAsIHRvIGF2b2lkIGEgaGFy ZHdhcmUgcmFjZSB3aGVuIENBTk1FIGlzIGNoYW5nZWQgd2hpbGUNCisgKiBDQU4tYnVzIHRyYWZm aXggaXMgYmVpbmcgcmVjZWl2ZWQuDQogICovDQogDQogI2RlZmluZSBIRUNDX01BWF9SWF9NQk9Y CShIRUNDX01BWF9NQUlMQk9YRVMgLSBIRUNDX01BWF9UWF9NQk9YKQ0KLSNkZWZpbmUgSEVDQ19S WF9CVUZGRVJfTUJPWAkxMiAvKiBhcyBwZXIgdGFibGUgYWJvdmUgKi8NCiAjZGVmaW5lIEhFQ0Nf UlhfRklSU1RfTUJPWAkoSEVDQ19NQVhfTUFJTEJPWEVTIC0gMSkNCi0jZGVmaW5lIEhFQ0NfUlhf SElHSF9NQk9YX01BU0sJKH4oQklUKEhFQ0NfUlhfQlVGRkVSX01CT1gpIC0gMSkpDQogDQogLyog VEkgSEVDQyBtb2R1bGUgcmVnaXN0ZXJzICovDQogI2RlZmluZSBIRUNDX0NBTk1FCQkweDAJLyog TWFpbGJveCBlbmFibGUgKi8NCkBAIC0xMjMsNiArMTEyLDggQEAgTU9EVUxFX1ZFUlNJT04oSEVD Q19NT0RVTEVfVkVSU0lPTik7DQogI2RlZmluZSBIRUNDX0NBTk1ETAkJMHg4DQogI2RlZmluZSBI RUNDX0NBTk1ESAkJMHhDDQogDQorI2RlZmluZSBIRUNDX0NBTk1PVFMJCTB4MTAwDQorDQogI2Rl ZmluZSBIRUNDX1NFVF9SRUcJCTB4RkZGRkZGRkYNCiAjZGVmaW5lIEhFQ0NfQ0FOSURfTUFTSwkJ MHgzRkYJLyogMTggYml0cyBtYXNrIGZvciBleHRlbmRlZCBpZCdzICovDQogI2RlZmluZSBIRUND X0NDRV9XQUlUX0NPVU5UICAgICAxMDAJLyogV2FpdCBmb3IgfjEgc2VjIGZvciBDQ0UgYml0ICov DQpAQCAtMTkzLDcgKzE4NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2FuX2JpdHRpbWluZ19j b25zdCB0aV9oZWNjX2JpdHRpbWluZ19jb25zdCA9IHsNCiANCiBzdHJ1Y3QgdGlfaGVjY19wcml2 IHsNCiAJc3RydWN0IGNhbl9wcml2IGNhbjsJLyogTVVTVCBiZSBmaXJzdCBtZW1iZXIvZmllbGQg Ki8NCi0Jc3RydWN0IG5hcGlfc3RydWN0IG5hcGk7DQorCXN0cnVjdCBjYW5fcnhfb2ZmbG9hZCBv ZmZsb2FkOw0KIAlzdHJ1Y3QgbmV0X2RldmljZSAqbmRldjsNCiAJc3RydWN0IGNsayAqY2xrOw0K IAl2b2lkIF9faW9tZW0gKmJhc2U7DQpAQCAtMjAzLDcgKzE5NCw2IEBAIHN0cnVjdCB0aV9oZWNj X3ByaXYgew0KIAlzcGlubG9ja190IG1ieF9sb2NrOyAvKiBDQU5NRSByZWdpc3RlciBuZWVkcyBw cm90ZWN0aW9uICovDQogCXUzMiB0eF9oZWFkOw0KIAl1MzIgdHhfdGFpbDsNCi0JdTMyIHJ4X25l eHQ7DQogCXN0cnVjdCByZWd1bGF0b3IgKnJlZ194Y2VpdmVyOw0KIH07DQogDQpAQCAtMjY1LDYg KzI1NSwxMSBAQCBzdGF0aWMgaW5saW5lIHUzMiBoZWNjX2dldF9iaXQoc3RydWN0IHRpX2hlY2Nf cHJpdiAqcHJpdiwgaW50IHJlZywgdTMyIGJpdF9tYXNrKQ0KIAlyZXR1cm4gKGhlY2NfcmVhZChw cml2LCByZWcpICYgYml0X21hc2spID8gMSA6IDA7DQogfQ0KIA0KK3N0YXRpYyBpbmxpbmUgdTMy IGhlY2NfcmVhZF9zdGFtcChzdHJ1Y3QgdGlfaGVjY19wcml2ICpwcml2LCB1MzIgbWJ4bm8pDQor ew0KKwlyZXR1cm4gX19yYXdfcmVhZGwocHJpdi0+aGVjY19yYW0gKyAweDgwICsgNCAqIG1ieG5v KTsNCit9DQorDQogc3RhdGljIGludCB0aV9oZWNjX3NldF9idGMoc3RydWN0IHRpX2hlY2NfcHJp diAqcHJpdikNCiB7DQogCXN0cnVjdCBjYW5fYml0dGltaW5nICpiaXRfdGltaW5nID0gJnByaXYt PmNhbi5iaXR0aW1pbmc7DQpAQCAtMzc1LDcgKzM3MCw2IEBAIHN0YXRpYyB2b2lkIHRpX2hlY2Nf c3RhcnQoc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpDQogCXRpX2hlY2NfcmVzZXQobmRldik7DQog DQogCXByaXYtPnR4X2hlYWQgPSBwcml2LT50eF90YWlsID0gSEVDQ19UWF9NQVNLOw0KLQlwcml2 LT5yeF9uZXh0ID0gSEVDQ19SWF9GSVJTVF9NQk9YOw0KIA0KIAkvKiBFbmFibGUgbG9jYWwgYW5k IGdsb2JhbCBhY2NlcHRhbmNlIG1hc2sgcmVnaXN0ZXJzICovDQogCWhlY2Nfd3JpdGUocHJpdiwg SEVDQ19DQU5HQU0sIEhFQ0NfU0VUX1JFRyk7DQpAQCAtNTI2LDIxICs1MjAsMTcgQEAgc3RhdGlj IG5ldGRldl90eF90IHRpX2hlY2NfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0 X2RldmljZSAqbmRldikNCiAJcmV0dXJuIE5FVERFVl9UWF9PSzsNCiB9DQogDQotc3RhdGljIGlu dCB0aV9oZWNjX3J4X3BrdChzdHJ1Y3QgdGlfaGVjY19wcml2ICpwcml2LCBpbnQgbWJ4bm8pDQor c3RhdGljIGlubGluZSBzdHJ1Y3QgdGlfaGVjY19wcml2ICpyeF9vZmZsb2FkX3RvX3ByaXYoc3Ry dWN0IGNhbl9yeF9vZmZsb2FkICpvZmZsb2FkKQ0KIHsNCi0Jc3RydWN0IG5ldF9kZXZpY2Vfc3Rh dHMgKnN0YXRzID0gJnByaXYtPm5kZXYtPnN0YXRzOw0KLQlzdHJ1Y3QgY2FuX2ZyYW1lICpjZjsN Ci0Jc3RydWN0IHNrX2J1ZmYgKnNrYjsNCi0JdTMyIGRhdGEsIG1ieF9tYXNrOw0KLQl1bnNpZ25l ZCBsb25nIGZsYWdzOw0KKwlyZXR1cm4gY29udGFpbmVyX29mKG9mZmxvYWQsIHN0cnVjdCB0aV9o ZWNjX3ByaXYsIG9mZmxvYWQpOw0KK30NCiANCi0Jc2tiID0gYWxsb2NfY2FuX3NrYihwcml2LT5u ZGV2LCAmY2YpOw0KLQlpZiAoIXNrYikgew0KLQkJaWYgKHByaW50a19yYXRlbGltaXQoKSkNCi0J CQluZXRkZXZfZXJyKHByaXYtPm5kZXYsDQotCQkJCSJ0aV9oZWNjX3J4X3BrdDogYWxsb2NfY2Fu X3NrYigpIGZhaWxlZFxuIik7DQotCQlyZXR1cm4gLUVOT01FTTsNCi0JfQ0KK3N0YXRpYyB1bnNp Z25lZCBpbnQgdGlfaGVjY19tYWlsYm94X3JlYWQoc3RydWN0IGNhbl9yeF9vZmZsb2FkICpvZmZs b2FkLA0KKwkJCQkJIHN0cnVjdCBjYW5fZnJhbWUgKmNmLA0KKwkJCQkJIHUzMiAqdGltZXN0YW1w LCB1bnNpZ25lZCBpbnQgbWJ4bm8pDQorew0KKwlzdHJ1Y3QgdGlfaGVjY19wcml2ICpwcml2ID0g cnhfb2ZmbG9hZF90b19wcml2KG9mZmxvYWQpOw0KKwl1MzIgZGF0YSwgbWJ4X21hc2s7DQogDQog CW1ieF9tYXNrID0gQklUKG1ieG5vKTsNCiAJZGF0YSA9IGhlY2NfcmVhZF9tYngocHJpdiwgbWJ4 bm8sIEhFQ0NfQ0FOTUlEKTsNCkBAIC01NTgsMTAwICs1NDgsMTkgQEAgc3RhdGljIGludCB0aV9o ZWNjX3J4X3BrdChzdHJ1Y3QgdGlfaGVjY19wcml2ICpwcml2LCBpbnQgbWJ4bm8pDQogCQlkYXRh ID0gaGVjY19yZWFkX21ieChwcml2LCBtYnhubywgSEVDQ19DQU5NREgpOw0KIAkJKihfX2JlMzIg KikoY2YtPmRhdGEgKyA0KSA9IGNwdV90b19iZTMyKGRhdGEpOw0KIAl9DQotCXNwaW5fbG9ja19p cnFzYXZlKCZwcml2LT5tYnhfbG9jaywgZmxhZ3MpOw0KLQloZWNjX2NsZWFyX2JpdChwcml2LCBI RUNDX0NBTk1FLCBtYnhfbWFzayk7DQotCWhlY2Nfd3JpdGUocHJpdiwgSEVDQ19DQU5STVAsIG1i eF9tYXNrKTsNCi0JLyogZW5hYmxlIG1haWxib3ggb25seSBpZiBpdCBpcyBwYXJ0IG9mIHJ4IGJ1 ZmZlciBtYWlsYm94ZXMgKi8NCi0JaWYgKHByaXYtPnJ4X25leHQgPCBIRUNDX1JYX0JVRkZFUl9N Qk9YKQ0KLQkJaGVjY19zZXRfYml0KHByaXYsIEhFQ0NfQ0FOTUUsIG1ieF9tYXNrKTsNCi0Jc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+bWJ4X2xvY2ssIGZsYWdzKTsNCiANCi0Jc3RhdHMt PnJ4X2J5dGVzICs9IGNmLT5jYW5fZGxjOw0KLQljYW5fbGVkX2V2ZW50KHByaXYtPm5kZXYsIENB Tl9MRURfRVZFTlRfUlgpOw0KLQluZXRpZl9yZWNlaXZlX3NrYihza2IpOw0KLQlzdGF0cy0+cnhf cGFja2V0cysrOw0KKwkqdGltZXN0YW1wID0gaGVjY19yZWFkX3N0YW1wKHByaXYsIG1ieG5vKTsN CiANCi0JcmV0dXJuIDA7DQotfQ0KLQ0KLS8qDQotICogdGlfaGVjY19yeF9wb2xsIC0gSEVDQyBy ZWNlaXZlIHBrdHMNCi0gKg0KLSAqIFRoZSByZWNlaXZlIG1haWxib3hlcyBzdGFydCBmcm9tIGhp Z2hlc3QgbnVtYmVyZWQgbWFpbGJveCB0aWxsIGxhc3QgeG1pdA0KLSAqIG1haWxib3guIE9uIENB TiBmcmFtZSByZWNlcHRpb24gdGhlIGhhcmR3YXJlIHBsYWNlcyB0aGUgZGF0YSBpbnRvIGhpZ2hl c3QNCi0gKiBudW1iZXJlZCBtYWlsYm94IHRoYXQgbWF0Y2hlcyB0aGUgQ0FOIElEIGZpbHRlci4g U2luY2UgYWxsIHJlY2VpdmUgbWFpbGJveGVzDQotICogaGF2ZSBzYW1lIGZpbHRlcmluZyAoQUxM IENBTiBmcmFtZXMpIHBhY2tldHMgd2lsbCBhcnJpdmUgaW4gdGhlIGhpZ2hlc3QNCi0gKiBhdmFp bGFibGUgUlggbWFpbGJveCBhbmQgd2UgbmVlZCB0byBlbnN1cmUgaW4tb3JkZXIgcGFja2V0IHJl Y2VwdGlvbi4NCi0gKg0KLSAqIFRvIGVuc3VyZSB0aGUgcGFja2V0cyBhcmUgcmVjZWl2ZWQgaW4g dGhlIHJpZ2h0IG9yZGVyIHdlIGxvZ2ljYWxseSBkaXZpZGUNCi0gKiB0aGUgUlggbWFpbGJveGVz IGludG8gbWFpbiBhbmQgYnVmZmVyIG1haWxib3hlcy4gUGFja2V0cyBhcmUgcmVjZWl2ZWQgYXMg cGVyDQotICogbWFpbGJveCBwcmlvdGl0eSAoaGlnaGVyIHRvIGxvd2VyKSBpbiB0aGUgbWFpbiBi YW5rIGFuZCBvbmNlIGl0IGlzIGZ1bGwgd2UNCi0gKiBkaXNhYmxlIGZ1cnRoZXIgcmVjZXB0aW9u IGludG8gbWFpbiBtYWlsYm94ZXMuIFdoaWxlIHRoZSBtYWluIG1haWxib3hlcyBhcmUNCi0gKiBw cm9jZXNzZWQgaW4gTkFQSSwgZnVydGhlciBwYWNrZXRzIGFyZSByZWNlaXZlZCBpbiBidWZmZXIg bWFpbGJveGVzLg0KLSAqDQotICogV2UgbWFpbnRhaW4gYSBSWCBuZXh0IG1haWxib3ggY291bnRl ciB0byBwcm9jZXNzIHBhY2tldHMgYW5kIG9uY2UgYWxsIG1haW4NCi0gKiBtYWlsYm94ZSBwYWNr ZXRzIGFyZSBwYXNzZWQgdG8gdGhlIHVwcGVyIHN0YWNrIHdlIGVuYWJsZSBhbGwgb2YgdGhlbSBi dXQNCi0gKiBjb250aW51ZSB0byBwcm9jZXNzIHBhY2tldHMgcmVjZWl2ZWQgaW4gYnVmZmVyIG1h aWxib3hlcy4gV2l0aCBlYWNoIHBhY2tldA0KLSAqIHJlY2VpdmVkIGZyb20gYnVmZmVyIG1haWxi b3ggd2UgZW5hYmxlIGl0IGltbWVkaWF0ZWx5IHNvIGFzIHRvIGhhbmRsZSB0aGUNCi0gKiBvdmVy ZmxvdyBmcm9tIGhpZ2hlciBtYWlsYm94ZXMuDQotICovDQotc3RhdGljIGludCB0aV9oZWNjX3J4 X3BvbGwoc3RydWN0IG5hcGlfc3RydWN0ICpuYXBpLCBpbnQgcXVvdGEpDQotew0KLQlzdHJ1Y3Qg bmV0X2RldmljZSAqbmRldiA9IG5hcGktPmRldjsNCi0Jc3RydWN0IHRpX2hlY2NfcHJpdiAqcHJp diA9IG5ldGRldl9wcml2KG5kZXYpOw0KLQl1MzIgbnVtX3BrdHMgPSAwOw0KLQl1MzIgbWJ4X21h c2s7DQotCXVuc2lnbmVkIGxvbmcgcGVuZGluZ19wa3RzLCBmbGFnczsNCi0NCi0JaWYgKCFuZXRp Zl9ydW5uaW5nKG5kZXYpKQ0KLQkJcmV0dXJuIDA7DQotDQotCXdoaWxlICgocGVuZGluZ19wa3Rz ID0gaGVjY19yZWFkKHByaXYsIEhFQ0NfQ0FOUk1QKSkgJiYNCi0JCW51bV9wa3RzIDwgcXVvdGEp IHsNCi0JCW1ieF9tYXNrID0gQklUKHByaXYtPnJ4X25leHQpOyAvKiBuZXh0IHJ4IG1haWxib3gg dG8gcHJvY2VzcyAqLw0KLQkJaWYgKG1ieF9tYXNrICYgcGVuZGluZ19wa3RzKSB7DQotCQkJaWYg KHRpX2hlY2NfcnhfcGt0KHByaXYsIHByaXYtPnJ4X25leHQpIDwgMCkNCi0JCQkJcmV0dXJuIG51 bV9wa3RzOw0KLQkJCSsrbnVtX3BrdHM7DQotCQl9IGVsc2UgaWYgKHByaXYtPnJ4X25leHQgPiBI RUNDX1JYX0JVRkZFUl9NQk9YKSB7DQotCQkJYnJlYWs7IC8qIHBrdCBub3QgcmVjZWl2ZWQgeWV0 ICovDQotCQl9DQotCQktLXByaXYtPnJ4X25leHQ7DQotCQlpZiAocHJpdi0+cnhfbmV4dCA9PSBI RUNDX1JYX0JVRkZFUl9NQk9YKSB7DQotCQkJLyogZW5hYmxlIGhpZ2ggYmFuayBtYWlsYm94ZXMg Ki8NCi0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+bWJ4X2xvY2ssIGZsYWdzKTsNCi0JCQlt YnhfbWFzayA9IGhlY2NfcmVhZChwcml2LCBIRUNDX0NBTk1FKTsNCi0JCQltYnhfbWFzayB8PSBI RUNDX1JYX0hJR0hfTUJPWF9NQVNLOw0KLQkJCWhlY2Nfd3JpdGUocHJpdiwgSEVDQ19DQU5NRSwg bWJ4X21hc2spOw0KLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPm1ieF9sb2NrLCBm bGFncyk7DQotCQl9IGVsc2UgaWYgKHByaXYtPnJ4X25leHQgPT0gSEVDQ19NQVhfVFhfTUJPWCAt IDEpIHsNCi0JCQlwcml2LT5yeF9uZXh0ID0gSEVDQ19SWF9GSVJTVF9NQk9YOw0KLQkJCWJyZWFr Ow0KLQkJfQ0KLQl9DQotDQotCS8qIEVuYWJsZSBwYWNrZXQgaW50ZXJydXB0IGlmIGFsbCBwa3Rz IGFyZSBoYW5kbGVkICovDQotCWlmIChoZWNjX3JlYWQocHJpdiwgSEVDQ19DQU5STVApID09IDAp IHsNCi0JCW5hcGlfY29tcGxldGUobmFwaSk7DQotCQkvKiBSZS1lbmFibGUgUlggbWFpbGJveCBp bnRlcnJ1cHRzICovDQotCQltYnhfbWFzayA9IGhlY2NfcmVhZChwcml2LCBIRUNDX0NBTk1JTSk7 DQotCQltYnhfbWFzayB8PSBIRUNDX1RYX01CT1hfTUFTSzsNCi0JCWhlY2Nfd3JpdGUocHJpdiwg SEVDQ19DQU5NSU0sIG1ieF9tYXNrKTsNCi0JfSBlbHNlIHsNCi0JCS8qIHJlcG9sbCBpcyBkb25l IG9ubHkgaWYgd2hvbGUgYnVkZ2V0IGlzIHVzZWQgKi8NCi0JCW51bV9wa3RzID0gcXVvdGE7DQot CX0NCi0NCi0JcmV0dXJuIG51bV9wa3RzOw0KKwlyZXR1cm4gMTsNCiB9DQogDQogc3RhdGljIGlu dCB0aV9oZWNjX2Vycm9yKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCBpbnQgaW50X3N0YXR1cywN CiAJaW50IGVycl9zdGF0dXMpDQogew0KIAlzdHJ1Y3QgdGlfaGVjY19wcml2ICpwcml2ID0gbmV0 ZGV2X3ByaXYobmRldik7DQotCXN0cnVjdCBuZXRfZGV2aWNlX3N0YXRzICpzdGF0cyA9ICZuZGV2 LT5zdGF0czsNCiAJc3RydWN0IGNhbl9mcmFtZSAqY2Y7DQogCXN0cnVjdCBza19idWZmICpza2I7 DQorCXUzMiB0aW1lc3RhbXA7DQogDQogCS8qIHByb3BhZ2F0ZSB0aGUgZXJyb3IgY29uZGl0aW9u IHRvIHRoZSBjYW4gc3RhY2sgKi8NCiAJc2tiID0gYWxsb2NfY2FuX2Vycl9za2IobmRldiwgJmNm KTsNCkBAIC03MzIsOSArNjQxLDggQEAgc3RhdGljIGludCB0aV9oZWNjX2Vycm9yKHN0cnVjdCBu ZXRfZGV2aWNlICpuZGV2LCBpbnQgaW50X3N0YXR1cywNCiAJCX0NCiAJfQ0KIA0KLQlzdGF0cy0+ cnhfcGFja2V0cysrOw0KLQlzdGF0cy0+cnhfYnl0ZXMgKz0gY2YtPmNhbl9kbGM7DQotCW5ldGlm X3J4KHNrYik7DQorCXRpbWVzdGFtcCA9IGhlY2NfcmVhZChwcml2LCBIRUNDX0NBTkxOVCk7DQor CWNhbl9yeF9vZmZsb2FkX3F1ZXVlX3NvcnRlZCgmcHJpdi0+b2ZmbG9hZCwgc2tiLCB0aW1lc3Rh bXApOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpAQCAtNzQ0LDggKzY1Miw4IEBAIHN0YXRpYyBpcnFy ZXR1cm5fdCB0aV9oZWNjX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpDQogCXN0cnVj dCBuZXRfZGV2aWNlICpuZGV2ID0gKHN0cnVjdCBuZXRfZGV2aWNlICopZGV2X2lkOw0KIAlzdHJ1 Y3QgdGlfaGVjY19wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYobmRldik7DQogCXN0cnVjdCBuZXRf ZGV2aWNlX3N0YXRzICpzdGF0cyA9ICZuZGV2LT5zdGF0czsNCi0JdTMyIG1ieG5vLCBtYnhfbWFz aywgaW50X3N0YXR1cywgZXJyX3N0YXR1czsNCi0JdW5zaWduZWQgbG9uZyBhY2ssIGZsYWdzOw0K Kwl1MzIgbWJ4bm8sIG1ieF9tYXNrLCBpbnRfc3RhdHVzLCBlcnJfc3RhdHVzLCBzdGFtcDsNCisJ dW5zaWduZWQgbG9uZyBmbGFncywgcnhfcGVuZGluZzsNCiANCiAJaW50X3N0YXR1cyA9IGhlY2Nf cmVhZChwcml2LA0KIAkJKHByaXYtPnVzZV9oZWNjMWludCkgPyBIRUNDX0NBTkdJRjEgOiBIRUND X0NBTkdJRjApOw0KQEAgLTc2OSwxMSArNjc3LDExIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCB0aV9o ZWNjX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpDQogCQkJc3Bpbl9sb2NrX2lycXNh dmUoJnByaXYtPm1ieF9sb2NrLCBmbGFncyk7DQogCQkJaGVjY19jbGVhcl9iaXQocHJpdiwgSEVD Q19DQU5NRSwgbWJ4X21hc2spOw0KIAkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPm1i eF9sb2NrLCBmbGFncyk7DQotCQkJc3RhdHMtPnR4X2J5dGVzICs9IGhlY2NfcmVhZF9tYngocHJp diwgbWJ4bm8sDQotCQkJCQkJSEVDQ19DQU5NQ0YpICYgMHhGOw0KKwkJCXN0YW1wID0gaGVjY19y ZWFkX3N0YW1wKHByaXYsIG1ieG5vKTsNCisJCQlzdGF0cy0+dHhfYnl0ZXMgKz0gY2FuX3J4X29m ZmxvYWRfZ2V0X2VjaG9fc2tiKCZwcml2LT5vZmZsb2FkLA0KKwkJCQkJCQkJCW1ieG5vLCBzdGFt cCk7DQogCQkJc3RhdHMtPnR4X3BhY2tldHMrKzsNCiAJCQljYW5fbGVkX2V2ZW50KG5kZXYsIENB Tl9MRURfRVZFTlRfVFgpOw0KLQkJCWNhbl9nZXRfZWNob19za2IobmRldiwgbWJ4bm8pOw0KIAkJ CS0tcHJpdi0+dHhfdGFpbDsNCiAJCX0NCiANCkBAIC03ODQsMTIgKzY5MiwxMSBAQCBzdGF0aWMg aXJxcmV0dXJuX3QgdGlfaGVjY19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQ0KIAkJ KChwcml2LT50eF9oZWFkICYgSEVDQ19UWF9NQVNLKSA9PSBIRUNDX1RYX01BU0spKSkNCiAJCQlu ZXRpZl93YWtlX3F1ZXVlKG5kZXYpOw0KIA0KLQkJLyogRGlzYWJsZSBSWCBtYWlsYm94IGludGVy cnVwdHMgYW5kIGxldCBOQVBJIHJlZW5hYmxlIHRoZW0gKi8NCi0JCWlmIChoZWNjX3JlYWQocHJp diwgSEVDQ19DQU5STVApKSB7DQotCQkJYWNrID0gaGVjY19yZWFkKHByaXYsIEhFQ0NfQ0FOTUlN KTsNCi0JCQlhY2sgJj0gQklUKEhFQ0NfTUFYX1RYX01CT1gpIC0gMTsNCi0JCQloZWNjX3dyaXRl KHByaXYsIEhFQ0NfQ0FOTUlNLCBhY2spOw0KLQkJCW5hcGlfc2NoZWR1bGUoJnByaXYtPm5hcGkp Ow0KKwkJLyogb2ZmbG9hZCBSWCBtYWlsYm94ZXMgYW5kIGxldCBOQVBJIGRlbGl2ZXIgdGhlbSAq Lw0KKwkJd2hpbGUgKChyeF9wZW5kaW5nID0gaGVjY19yZWFkKHByaXYsIEhFQ0NfQ0FOUk1QKSkp IHsNCisJCQljYW5fcnhfb2ZmbG9hZF9pcnFfb2ZmbG9hZF90aW1lc3RhbXAoJnByaXYtPm9mZmxv YWQsDQorCQkJCQkJCSAgICAgcnhfcGVuZGluZyk7DQorCQkJaGVjY193cml0ZShwcml2LCBIRUND X0NBTlJNUCwgcnhfcGVuZGluZyk7DQogCQl9DQogCX0NCiANCkBAIC04MzEsNyArNzM4LDcgQEAg c3RhdGljIGludCB0aV9oZWNjX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpDQogCWNhbl9s ZWRfZXZlbnQobmRldiwgQ0FOX0xFRF9FVkVOVF9PUEVOKTsNCiANCiAJdGlfaGVjY19zdGFydChu ZGV2KTsNCi0JbmFwaV9lbmFibGUoJnByaXYtPm5hcGkpOw0KKwljYW5fcnhfb2ZmbG9hZF9lbmFi bGUoJnByaXYtPm9mZmxvYWQpOw0KIAluZXRpZl9zdGFydF9xdWV1ZShuZGV2KTsNCiANCiAJcmV0 dXJuIDA7DQpAQCAtODQyLDcgKzc0OSw3IEBAIHN0YXRpYyBpbnQgdGlfaGVjY19jbG9zZShzdHJ1 Y3QgbmV0X2RldmljZSAqbmRldikNCiAJc3RydWN0IHRpX2hlY2NfcHJpdiAqcHJpdiA9IG5ldGRl dl9wcml2KG5kZXYpOw0KIA0KIAluZXRpZl9zdG9wX3F1ZXVlKG5kZXYpOw0KLQluYXBpX2Rpc2Fi bGUoJnByaXYtPm5hcGkpOw0KKwljYW5fcnhfb2ZmbG9hZF9kaXNhYmxlKCZwcml2LT5vZmZsb2Fk KTsNCiAJdGlfaGVjY19zdG9wKG5kZXYpOw0KIAlmcmVlX2lycShuZGV2LT5pcnEsIG5kZXYpOw0K IAljbG9zZV9jYW5kZXYobmRldik7DQpAQCAtOTYyLDggKzg2OSw2IEBAIHN0YXRpYyBpbnQgdGlf aGVjY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KIAkJZ290byBwcm9iZV9l eGl0X2NhbmRldjsNCiAJfQ0KIAlwcml2LT5jYW4uY2xvY2suZnJlcSA9IGNsa19nZXRfcmF0ZShw cml2LT5jbGspOw0KLQluZXRpZl9uYXBpX2FkZChuZGV2LCAmcHJpdi0+bmFwaSwgdGlfaGVjY19y eF9wb2xsLA0KLQkJSEVDQ19ERUZfTkFQSV9XRUlHSFQpOw0KIA0KIAllcnIgPSBjbGtfcHJlcGFy ZV9lbmFibGUocHJpdi0+Y2xrKTsNCiAJaWYgKGVycikgew0KQEAgLTk3MSwxMCArODc2LDE5IEBA IHN0YXRpYyBpbnQgdGlfaGVjY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0K IAkJZ290byBwcm9iZV9leGl0X2NsazsNCiAJfQ0KIA0KKwlwcml2LT5vZmZsb2FkLm1haWxib3hf cmVhZCA9IHRpX2hlY2NfbWFpbGJveF9yZWFkOw0KKwlwcml2LT5vZmZsb2FkLm1iX2ZpcnN0ID0g SEVDQ19SWF9GSVJTVF9NQk9YOw0KKwlwcml2LT5vZmZsb2FkLm1iX2xhc3QgPSBIRUNDX01BWF9U WF9NQk9YOw0KKwllcnIgPSBjYW5fcnhfb2ZmbG9hZF9hZGRfdGltZXN0YW1wKG5kZXYsICZwcml2 LT5vZmZsb2FkKTsNCisJaWYgKGVycikgew0KKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiY2FuX3J4 X29mZmxvYWRfYWRkX3RpbWVzdGFtcCgpIGZhaWxlZFxuIik7DQorCQlnb3RvIHByb2JlX2V4aXRf Y2xrOw0KKwl9DQorDQogCWVyciA9IHJlZ2lzdGVyX2NhbmRldihuZGV2KTsNCiAJaWYgKGVycikg ew0KIAkJZGV2X2VycigmcGRldi0+ZGV2LCAicmVnaXN0ZXJfY2FuZGV2KCkgZmFpbGVkXG4iKTsN Ci0JCWdvdG8gcHJvYmVfZXhpdF9jbGs7DQorCQlnb3RvIHByb2JlX2V4aXRfb2ZmbG9hZDsNCiAJ fQ0KIA0KIAlkZXZtX2Nhbl9sZWRfaW5pdChuZGV2KTsNCkBAIC05ODQsNiArODk4LDggQEAgc3Rh dGljIGludCB0aV9oZWNjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogDQog CXJldHVybiAwOw0KIA0KK3Byb2JlX2V4aXRfb2ZmbG9hZDoNCisJY2FuX3J4X29mZmxvYWRfZGVs KCZwcml2LT5vZmZsb2FkKTsNCiBwcm9iZV9leGl0X2NsazoNCiAJY2xrX3B1dChwcml2LT5jbGsp Ow0KIHByb2JlX2V4aXRfY2FuZGV2Og0KQEAgLTEwMDAsNiArOTE2LDcgQEAgc3RhdGljIGludCB0 aV9oZWNjX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KIAl1bnJlZ2lzdGVy X2NhbmRldihuZGV2KTsNCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYtPmNsayk7DQogCWNs a19wdXQocHJpdi0+Y2xrKTsNCisJY2FuX3J4X29mZmxvYWRfZGVsKCZwcml2LT5vZmZsb2FkKTsN CiAJZnJlZV9jYW5kZXYobmRldik7DQogDQogCXJldHVybiAwOw0KLS0gDQoyLjcuNA0KDQo=