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=-17.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 EE464C433B4 for ; Tue, 27 Apr 2021 10:57:22 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3E438600CC for ; Tue, 27 Apr 2021 10:57:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3E438600CC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=ath10k-bounces+ath10k=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=VDTeFZZO99AMnCbqvzBSoWH5Yizv0jbGlmQbtwzFnZE=; b=bJVkCt9Xu9qOCi+B1apWRThtt Tn9tuuT3Be7qNbmdY0AZK0QCiVk6fqeEy37i8DaugLWcpqKoiZCdgezHtjT37Y/p2FwE8rdWEcpZJ pK0iIzIvwu9GiOkYjD9gioe9gfA+4591GRRQj9kimd7A7BW2RNFGz/e/FphhurK9FfcvaiHVbY5jB tXw0zpSfmsTahMo5z3yCLLXycNq9UNt63YB8Gnf3JF2QBKIBtgWFdrRB2g15s72NwXY5Cmpi7wQ6R FxOfwEELLsdZ8qwdGWf5CCKc4oLEO6Wkpv5psfxzG2QEs0P6maNvLwkrEj16g3OVr/ky850/iPFjz HscOcPPZg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lbLO2-001SOA-Vy; Tue, 27 Apr 2021 10:56:15 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbLO0-001SO3-9T for ath10k@desiato.infradead.org; Tue, 27 Apr 2021 10:56:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=ONFpyVuqnbDADAsZ7+CzndkZyfqp9kZB1pMRK+I9e7c=; b=VZfdrdiF/5IpjUvQc8p4rYsxCB mFbfjbprFqN4+QWqdXC7I/cm4S+fnJgR/g1f8Dvc9m+nnC8Odc/ZYgZp6udRdfpF/UFUCiXhcESOF kkG9i+D3clCAkW89SZZkwcm6M15BYXnfkPTYqQTDJlZKpYFQF93yil1iADOrOEyn7At73qHjTI+oC d0rzKrfu+mVrqC5ka5TWxkx6KK9snFl/+H4bHojECjxa3SqKoXC2r8YF16O3NjhtfSVK7Hc++9uae COhs2HxzfAQHQ6m1hfSDpEWlgp8ZOomVW7TXdS1TgZZRjrjKUYsiAhsFdvflxOgVTiitJzWcZ0Pg1 TTLqvk4g==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbLNw-00GfLS-TQ for ath10k@lists.infradead.org; Tue, 27 Apr 2021 10:56:10 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id A1C19613B0; Tue, 27 Apr 2021 10:56:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1619520966; bh=P3sk/jdvdGbo8a4NLyXLQdNK5bliTYyVm9EmJOM7/24=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P0GiYa98NeCaeYsF0ydEe3dQhBgPRtgLHlolscO/xEhE49EQ2kv2PdJ8mHsfBRdTO 6N0FFeHx4cfei6d7+taD1dW04B2Y/ywNRhbiSp6UY75t2djMTFQaIpRQHjZekmt99m vqsFPpYGO+1bjiaaXN6BRNsjio9pBIa52KVSdkcP/+ED2rux4NCyvm+NtWqdCwKve0 9WFE5WqGe0O+1ZavAWrnvquqkRI67G4zadr63rYt7u5PCBsoRvm3OELGOph/7RPpQ4 8SWXoSpRiseMimkHG2Rm/Sm02X3ELfzY3TfLbEjPSCAbdbnLMyVahsvUXsUrE8hKz0 Jk5Fw/Ec50GbA== Received: by pali.im (Postfix) id D2C3B791; Tue, 27 Apr 2021 12:56:00 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Bjorn Helgaas , Kalle Valo , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , =?UTF-8?q?Marek=20Beh=C3=BAn?= , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= Cc: vtolkm@gmail.com, Rob Herring , Ilias Apalodimas , Thomas Petazzoni , linux-pci@vger.kernel.org, ath10k@lists.infradead.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] PCI: Disallow retraining link for Atheros chips on non-Gen1 PCIe bridges Date: Tue, 27 Apr 2021 12:55:25 +0200 Message-Id: <20210427105525.23277-1-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210326124326.21163-1-pali@kernel.org> References: <20210326124326.21163-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210427_035609_057417_7E5D24C0 X-CRM114-Status: GOOD ( 23.22 ) X-BeenThere: ath10k@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ath10k" Errors-To: ath10k-bounces+ath10k=archiver.kernel.org@lists.infradead.org QXRoZXJvcyBBUjl4eHggYW5kIFFDQTk4eHggY2hpcHMgZG8gbm90IGJlaGF2ZSBub3Qgb25seSBh ZnRlciBhIGJ1cyByZXNldApidXQgYWxzbyBhZnRlciBkb2luZyByZXRyYWluIGxpbmsgd2hlbiBQ Q0llIGJyaWRnZSBpcyBub3QgaW4gR0VOMSBtb2RlIGF0CjIuNSBHVC9zIHNwZWVkLgoKUUNBOTg4 MCBhbmQgUUNBOTg5MCBjaGlwcyB0aHJvdyBhIExpbmsgRG93biBldmVudCBhbmQgY29tcGxldGVs eSBkaXNhcHBlYXIKZnJvbSB0aGUgYnVzIGFuZCB0aGVpciBjb25maWcgc3BhY2UgaXMgbm90IGFj Y2Vzc2libGUgYWdhaW4uCgpBUjkzOTAgY2hpcCB0aHJvd3MgYSBMaW5rIERvd24gZXZlbnQgZm9s bG93ZWQgYnkgTGluayBVcCBldmVudCwgY29uZmlnCnNwYWNlIGlzIGFjY2Vzc2libGUgYWdhaW4s IGJ1dCBjb250YWlucyBub25zZW5zZSB2YWx1ZXMuIFBDSSBkZXZpY2UgSUQgaXMKMHhBQkNEIHdo aWNoIGluZGljYXRlcyBIVyBidWcgdGhhdCBjaGlwIGl0c2VsZiB3YXMgbm90IGFibGUgdG8gcmVh ZCB2YWx1ZXMKZnJvbSBpbnRlcm5hbCBFRVBST00vT1RQLgoKQVI5Mjg3IGNoaXAgdGhyb3dzIGFs c28gTGluayBEb3duIGFuZCBMaW5rIFVwIGV2ZW50cywgYWxzbyBoYXMgYWNjZXNzaWJsZQpjb25m aWcgc3BhY2UgYW5kIG1vcmVvdmVyIGl0cyBjb25maWcgc3BhY2UgY29udGFpbnMgY29ycmVjdCB2 YWx1ZXMuIEJ1dAphdGg5ayBkcml2ZXIgY2Fubm90IGluaXRpYWxpemUgY2FyZCBmcm9tIHRoaXMg c3RhdGUgYXMgaXQgaXMgdW5hYmxlIHRvCmFjY2VzcyBIVyByZWdpc3RlcnMuIFRoaXMgYWxzbyBp bmRpY2F0ZXMgdGhhdCBjaGlwIGlzZWxmIHdhcyBub3QgYWJsZSB0bwpyZWFkIHZhbHVlcyBmcm9t IGludGVybmFsIEVFUFJPTS9PVFAuCgpUaGlzIGlzc3VlIHJlbGF0ZWQgdG8gUENJIGRldmljZSBJ RCAweEFCQ0QgYW5kIHJlYWRpbmcgaW50ZXJuYWwgRUVQUk9NL09UUAp3YXMgcHJldmlvdXNseSBk aXNjdXNzZWQgYXQgYXRoOWstZGV2ZWwgbWFpbGluZyBsaXN0IGluIGZvbGxvd2luZyB0aHJlYWQ6 CgpodHRwczovL3d3dy5tYWlsLWFyY2hpdmUuY29tL2F0aDlrLWRldmVsQGxpc3RzLmF0aDlrLm9y Zy9tc2cwNzUyOS5odG1sCgpBZnRlciBleHBlcmltZW50cyB3ZSBjb21lIHVwIHdpdGggd29ya2Fy b3VuZCB0aGF0IFJldHJhaW4gbGluayBjYW4gYmUKY2FsbGVkIG9ubHkgd2hlbiB1c2luZyBHRU4x IFBDSWUgYnJpZGdlIG9yIHdoZW4gUENJZSBicmlkZ2UgaGFzIGZvcmNlZCBsaW5rCnNwZWVkIHRv IDIuNSBHVC9zIHZpYSBQQ0lfRVhQX0xOS0NUTDIgcmVnaXN0ZXIuCgpUaGlzIGlzc3VlIHdhcyBy ZXByb2R1Y2VkIHdpdGggbW9yZSBjYXJkczogQ29tcGV4IFdMRTkwMFZYIChRQ0E5ODgwIGJhc2Vk IC8KZGV2aWNlIElEIDB4MDAzYyksIENvbXBleCBXTEUyMDBOWCAoQVI5Mjg3IGJhc2VkIC8gZGV2 aWNlIElEIDB4MDAyZSksCiJub25hbWUiIGNhcmQgKFFDQTk4OTAgYmFzZWQgLyBkZXZpY2UgSUQg MHgwMDNjKSBhbmQgV2lzdHJvbiBOS1ItRE5YQUgxCihBUjkzOTAgYmFzZWQgLyBkZXZpY2UgSUQg MHgwMDMwKSBvbiBBcm1hZGEgMzg1IHdpdGggcGNpLW12ZWJ1LmMgZHJpdmVyIGFuZAphbHNvIG9u IEFybWFkYSAzNzIwIHdpdGggcGNpLWFhcmR2YXJrLmMgZHJpdmVyLgoKVG8gd29ya2Fyb3VuZCB0 aGlzIGlzc3VlLCB0aGlzIGNoYW5nZSBpbnRyb2R1Y2VzIGEgbmV3IFBDSSBxdWlyayBjYWxsZWQK UENJX0RFVl9GTEFHU19OT19SRVRSQUlOX0xJTktfV0hFTl9OT1RfR0VOMSB3aGljaCBpcyBlbmFi bGVkIGZvciBhbGwKQXRoZXJvcyBjaGlwcyB3aXRoIFBDSV9ERVZfRkxBR1NfTk9fQlVTX1JFU0VU IHF1aXJrLCBwbHVzIGFsc28gZm9yIEF0aGVyb3MKY2hpcCBBUjkyODcuCgpXaGVuIHRoaXMgcXVp cmsgaXMgc2V0IHRoZW4ga2VybmVsIGRpc2FsbG93cyB0cmlnZ2VyaW5nIFBDSV9FWFBfTE5LQ1RM X1JMCmJpdCBpbiBjb25maWcgc3BhY2Ugb2YgUENJZSBCcmlkZ2UgaW4gY2FzZSBQQ0llIEJyaWRn ZSBpcyBjYXBhYmxlIG9mIGhpZ2hlcgpzcGVlZCB0aGFuIDIuNSBHVC9zIGFuZCBoaWdoZXIgc3Bl ZWQgaXMgYWxyZWFkeSBhbGxvd2VkLiBXaGVuIFBDSWUgQnJpZGdlCmhhcyBhY2Nlc3NpYmxlIExO S0NUTDIgcmVnaXN0ZXIgdGhlbiBrZXJuZWwgdHJpZXMgdG8gZm9yY2UgdGFyZ2V0IGxpbmsKc3Bl ZWQgdmlhIFBDSV9FWFBfTE5LQ1RMMl9UTFMqIGJpdHMgdG8gMi41IEdUL3MuIEFmdGVyIHRoaXMg Y2hhbmdlIGl0IGlzCnBvc3NpYmxlIHRvIHRyaWdnZXIgUENJX0VYUF9MTktDVExfUkwgYml0IHdp dGhvdXQgY2F1c2luZyBpc3N1ZXMgb24KcHJvYmxlbWF0aWMgQXRoZXJvcyBjYXJkcy4KCkN1cnJl bnRseSBvbmx5IFBDSWUgQVNQTSBrZXJuZWwgY29kZSB0cmlnZ2VycyB0aGlzIFBDSV9FWFBfTE5L Q1RMX1JMIGJpdCwKc28gcXVpcmsgY2hlY2sgaXMgYWRkZWQgb25seSBpbnRvIHBjaWUvYXNwbS5j IGZpbGUuCgpTaWduZWQtb2ZmLWJ5OiBQYWxpIFJvaMOhciA8cGFsaUBrZXJuZWwub3JnPgpSZXBv cnRlZC1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHJlZGhhdC5jb20+ClRlc3Rl ZC1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHJlZGhhdC5jb20+ClRlc3RlZC1i eTogTWFyZWsgQmVow7puIDxrYWJlbEBrZXJuZWwub3JnPgpCdWdMaW5rOiBodHRwczovL2xvcmUu a2VybmVsLm9yZy9saW51eC1wY2kvODdoN2w4YXhxcC5mc2ZAdG9rZS5kay8KQnVnTGluazogaHR0 cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9pZD04NDgyMQpCdWdMaW5rOiBo dHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjQ0MQpCdWdMaW5r OiBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTgzMwpDYzog c3RhYmxlQHZnZXIua2VybmVsLm9yZyAjIGM4MDg1MWY2Y2U2M2EgKCJQQ0k6IEFkZCBQQ0lfRVhQ X0xOS0NUTDJfVExTKiBtYWNyb3MiKQoKLS0tCkNoYW5nZXMgc2luY2UgdjE6CiogTW92ZSB3aG9s ZSBxdWlyayBjb2RlIGludG8gcGNpZV9kb3duZ3JhZGVfbGlua190b19nZW4xKCkgZnVuY3Rpb24K KiBSZWZvcm1hdCB0byA4MCBjaGFycyBwZXIgbGluZSB3aGVyZSBwb3NzaWJsZQoqIEFkZCBxdWly ayBhbHNvIGZvciBjYXJkcyB3aXRoIEFSOTI4NyBjaGlwIChQQ0kgSUQgMHgwMDJlKQoqIEV4dGVu ZCBjb21taXQgbWVzc2FnZSBkZXNjcmlwdGlvbiBhbmQgYWRkIGluZm9ybWF0aW9uIGFib3V0IDB4 QUJDRAotLS0KIGRyaXZlcnMvcGNpL3BjaWUvYXNwbS5jIHwgNDQgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvcGNpL3F1aXJrcy5jICAgIHwgMzcgKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogaW5jbHVkZS9saW51eC9wY2kuaCAgICAg fCAgMiArKwogMyBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWUvYXNwbS5jIGIvZHJpdmVycy9wY2kvcGNp ZS9hc3BtLmMKaW5kZXggYWMwNTU3YTMwNWFmLi43MjliMDM4OTU2MmIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvcGNpL3BjaWUvYXNwbS5jCisrKyBiL2RyaXZlcnMvcGNpL3BjaWUvYXNwbS5jCkBAIC0x OTIsMTIgKzE5Miw1NiBAQCBzdGF0aWMgdm9pZCBwY2llX2Nsa3BtX2NhcF9pbml0KHN0cnVjdCBw Y2llX2xpbmtfc3RhdGUgKmxpbmssIGludCBibGFja2xpc3QpCiAJbGluay0+Y2xrcG1fZGlzYWJs ZSA9IGJsYWNrbGlzdCA/IDEgOiAwOwogfQogCitzdGF0aWMgaW50IHBjaWVfZG93bmdyYWRlX2xp bmtfdG9fZ2VuMShzdHJ1Y3QgcGNpX2RldiAqcGFyZW50KQoreworCXUxNiByZWcxNjsKKwl1MzIg cmVnMzI7CisJaW50IHJldDsKKworCS8qIENoZWNrIGlmIGxpbmsgaXMgY2FwYWJsZSBvZiBoaWdo ZXIgc3BlZWQgdGhhbiAyLjUgR1QvcyAqLworCXBjaWVfY2FwYWJpbGl0eV9yZWFkX2R3b3JkKHBh cmVudCwgUENJX0VYUF9MTktDQVAsICZyZWczMik7CisJaWYgKChyZWczMiAmIFBDSV9FWFBfTE5L Q0FQX1NMUykgPD0gUENJX0VYUF9MTktDQVBfU0xTXzJfNUdCKQorCQlyZXR1cm4gMDsKKworCS8q IENoZWNrIGlmIGxpbmsgc3BlZWQgY2FuIGJlIGRvd25ncmFkZWQgdG8gMi41IEdUL3MgKi8KKwlw Y2llX2NhcGFiaWxpdHlfcmVhZF9kd29yZChwYXJlbnQsIFBDSV9FWFBfTE5LQ0FQMiwgJnJlZzMy KTsKKwlpZiAoIShyZWczMiAmIFBDSV9FWFBfTE5LQ0FQMl9TTFNfMl81R0IpKSB7CisJCXBjaV9l cnIocGFyZW50LCAiQVNQTTogQnJpZGdlIGRvZXMgbm90IHN1cHBvcnQgY2hhbmdpbmcgTGluayBT cGVlZCB0byAyLjUgR1Qvc1xuIik7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9CisKKwkvKiBG b3JjZSBsaW5rIHNwZWVkIHRvIDIuNSBHVC9zICovCisJcmV0ID0gcGNpZV9jYXBhYmlsaXR5X2Ns ZWFyX2FuZF9zZXRfd29yZChwYXJlbnQsIFBDSV9FWFBfTE5LQ1RMMiwKKwkJCQkJCSBQQ0lfRVhQ X0xOS0NUTDJfVExTLAorCQkJCQkJIFBDSV9FWFBfTE5LQ1RMMl9UTFNfMl81R1QpOworCWlmICgh cmV0KSB7CisJCS8qIFZlcmlmeSB0aGF0IG5ldyB2YWx1ZSB3YXMgcmVhbGx5IHNldCAqLworCQlw Y2llX2NhcGFiaWxpdHlfcmVhZF93b3JkKHBhcmVudCwgUENJX0VYUF9MTktDVEwyLCAmcmVnMTYp OworCQlpZiAoKHJlZzE2ICYgUENJX0VYUF9MTktDVEwyX1RMUykgIT0gUENJX0VYUF9MTktDVEwy X1RMU18yXzVHVCkKKwkJCXJldCA9IC1FSU5WQUw7CisJfQorCisJaWYgKHJldCkgeworCQlwY2lf ZXJyKHBhcmVudCwgIkFTUE06IENoYW5naW5nIFRhcmdldCBMaW5rIFNwZWVkIHRvIDIuNSBHVC9z IGZhaWxlZDogJWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJcGNpX2luZm8ocGFy ZW50LCAiQVNQTTogVGFyZ2V0IExpbmsgU3BlZWQgY2hhbmdlZCB0byAyLjUgR1QvcyBkdWUgdG8g cXVpcmtcbiIpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgYm9vbCBwY2llX3JldHJhaW5fbGlu ayhzdHJ1Y3QgcGNpZV9saW5rX3N0YXRlICpsaW5rKQogewogCXN0cnVjdCBwY2lfZGV2ICpwYXJl bnQgPSBsaW5rLT5wZGV2OwogCXVuc2lnbmVkIGxvbmcgZW5kX2ppZmZpZXM7CiAJdTE2IHJlZzE2 OwogCisJaWYgKChsaW5rLT5kb3duc3RyZWFtLT5kZXZfZmxhZ3MgJiBQQ0lfREVWX0ZMQUdTX05P X1JFVFJBSU5fTElOS19XSEVOX05PVF9HRU4xKSAmJgorCSAgICBwY2llX2Rvd25ncmFkZV9saW5r X3RvX2dlbjEocGFyZW50KSkgeworCQlwY2lfZXJyKHBhcmVudCwgIkFTUE06IFJldHJhaW4gTGlu ayBhdCBoaWdoZXIgc3BlZWQgaXMgZGlzYWxsb3dlZCBieSBxdWlya1xuIik7CisJCXJldHVybiBm YWxzZTsKKwl9CisKIAlwY2llX2NhcGFiaWxpdHlfcmVhZF93b3JkKHBhcmVudCwgUENJX0VYUF9M TktDVEwsICZyZWcxNik7CiAJcmVnMTYgfD0gUENJX0VYUF9MTktDVExfUkw7CiAJcGNpZV9jYXBh YmlsaXR5X3dyaXRlX3dvcmQocGFyZW50LCBQQ0lfRVhQX0xOS0NUTCwgcmVnMTYpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9wY2kvcXVpcmtzLmMgYi9kcml2ZXJzL3BjaS9xdWlya3MuYwppbmRleCA2 NTM2NjBlM2JhOWUuLjY4YzVlOGY0ZmY4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcXVpcmtz LmMKKysrIGIvZHJpdmVycy9wY2kvcXVpcmtzLmMKQEAgLTM1NTMsMjMgKzM1NTMsNDQgQEAgc3Rh dGljIHZvaWQgbWVsbGFub3hfY2hlY2tfYnJva2VuX2ludHhfbWFza2luZyhzdHJ1Y3QgcGNpX2Rl diAqcGRldikKIERFQ0xBUkVfUENJX0ZJWFVQX0ZJTkFMKFBDSV9WRU5ET1JfSURfTUVMTEFOT1gs IFBDSV9BTllfSUQsCiAJCQltZWxsYW5veF9jaGVja19icm9rZW5faW50eF9tYXNraW5nKTsKIAot c3RhdGljIHZvaWQgcXVpcmtfbm9fYnVzX3Jlc2V0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCitzdGF0 aWMgdm9pZCBxdWlya19ub19idXNfcmVzZXRfYW5kX25vX3JldHJhaW5fbGluayhzdHJ1Y3QgcGNp X2RldiAqZGV2KQogewotCWRldi0+ZGV2X2ZsYWdzIHw9IFBDSV9ERVZfRkxBR1NfTk9fQlVTX1JF U0VUOworCWRldi0+ZGV2X2ZsYWdzIHw9IFBDSV9ERVZfRkxBR1NfTk9fQlVTX1JFU0VUIHwKKwkJ CSAgUENJX0RFVl9GTEFHU19OT19SRVRSQUlOX0xJTktfV0hFTl9OT1RfR0VOMTsKIH0KIAogLyoK LSAqIFNvbWUgQXRoZXJvcyBBUjl4eHggYW5kIFFDQTk4OHggY2hpcHMgZG8gbm90IGJlaGF2ZSBh ZnRlciBhIGJ1cyByZXNldC4KKyAqIEF0aGVyb3MgQVI5eHh4IGFuZCBRQ0E5OHh4IGNoaXBzIGRv IG5vdCBiZWhhdmUgYWZ0ZXIgYSBidXMgcmVzZXQgYW5kIGFsc28KKyAqIGFmdGVyIHJldHJhaW4g bGluayB3aGVuIFBDSWUgYnJpZGdlIGlzIG5vdCBpbiBHRU4xIG1vZGUgYXQgMi41IEdUL3Mgc3Bl ZWQuCiAgKiBUaGUgZGV2aWNlIHdpbGwgdGhyb3cgYSBMaW5rIERvd24gZXJyb3Igb24gQUVSLWNh cGFibGUgc3lzdGVtcyBhbmQKICAqIHJlZ2FyZGxlc3Mgb2YgQUVSLCBjb25maWcgc3BhY2Ugb2Yg dGhlIGRldmljZSBpcyBuZXZlciBhY2Nlc3NpYmxlIGFnYWluCiAgKiBhbmQgdHlwaWNhbGx5IGNh dXNlcyB0aGUgc3lzdGVtIHRvIGhhbmcgb3IgcmVzZXQgd2hlbiBhY2Nlc3MgaXMgYXR0ZW1wdGVk LgorICogT3IgaWYgY29uZmlnIHNwYWNlIGlzIGFjY2Vzc2libGUgYWdhaW4gdGhlbiBpdCBjb250 YWlucyBvbmx5IGR1bW15IHZhbHVlcworICogbGlrZSBmaXhlZCBQQ0kgZGV2aWNlIElEIDB4QUJD RCBvciB2YWx1ZXMgbm90IGluaXRpYWxpemVkIGF0IGFsbC4KKyAqIFJldHJhaW4gbGluayBjYW4g YmUgY2FsbGVkIG9ubHkgd2hlbiB1c2luZyBHRU4xIFBDSWUgYnJpZGdlIG9yIHdoZW4KKyAqIFBD SWUgYnJpZGdlIGhhcyBmb3JjZWQgbGluayBzcGVlZCB0byAyLjUgR1QvcyB2aWEgUENJX0VYUF9M TktDVEwyIHJlZ2lzdGVyLgorICogVG8gcmVzZXQgdGhlc2UgY2FyZHMgaXQgaXMgcmVxdWlyZWQg dG8gZG8gUENJZSBXYXJtIFJlc2V0IHZpYSBQRVJTVCMgcGluLgogICogaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvci8yMDE0MDkyMzIxMDMxOC40OThkYWNiZEBkdWFsYy5tYXlhLm9yZy8KKyAqIGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvODdoN2w4YXhxcC5mc2ZAdG9rZS5kay8KKyAqIGh0dHBz Oi8vd3d3Lm1haWwtYXJjaGl2ZS5jb20vYXRoOWstZGV2ZWxAbGlzdHMuYXRoOWsub3JnL21zZzA3 NTI5Lmh0bWwKICAqLwotREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfQVRI RVJPUywgMHgwMDMwLCBxdWlya19ub19idXNfcmVzZXQpOwotREVDTEFSRV9QQ0lfRklYVVBfSEVB REVSKFBDSV9WRU5ET1JfSURfQVRIRVJPUywgMHgwMDMyLCBxdWlya19ub19idXNfcmVzZXQpOwot REVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfQVRIRVJPUywgMHgwMDNjLCBx dWlya19ub19idXNfcmVzZXQpOwotREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1Jf SURfQVRIRVJPUywgMHgwMDMzLCBxdWlya19ub19idXNfcmVzZXQpOwotREVDTEFSRV9QQ0lfRklY VVBfSEVBREVSKFBDSV9WRU5ET1JfSURfQVRIRVJPUywgMHgwMDM0LCBxdWlya19ub19idXNfcmVz ZXQpOworREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfQVRIRVJPUywgMHgw MDJlLAorCQkJIHF1aXJrX25vX2J1c19yZXNldF9hbmRfbm9fcmV0cmFpbl9saW5rKTsKK0RFQ0xB UkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0FUSEVST1MsIDB4MDAzMCwKKwkJCSBx dWlya19ub19idXNfcmVzZXRfYW5kX25vX3JldHJhaW5fbGluayk7CitERUNMQVJFX1BDSV9GSVhV UF9IRUFERVIoUENJX1ZFTkRPUl9JRF9BVEhFUk9TLCAweDAwMzIsCisJCQkgcXVpcmtfbm9fYnVz X3Jlc2V0X2FuZF9ub19yZXRyYWluX2xpbmspOworREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBD SV9WRU5ET1JfSURfQVRIRVJPUywgMHgwMDMzLAorCQkJIHF1aXJrX25vX2J1c19yZXNldF9hbmRf bm9fcmV0cmFpbl9saW5rKTsKK0RFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lE X0FUSEVST1MsIDB4MDAzNCwKKwkJCSBxdWlya19ub19idXNfcmVzZXRfYW5kX25vX3JldHJhaW5f bGluayk7CitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9BVEhFUk9TLCAw eDAwM2MsCisJCQkgcXVpcmtfbm9fYnVzX3Jlc2V0X2FuZF9ub19yZXRyYWluX2xpbmspOworCitz dGF0aWMgdm9pZCBxdWlya19ub19idXNfcmVzZXQoc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwlk ZXYtPmRldl9mbGFncyB8PSBQQ0lfREVWX0ZMQUdTX05PX0JVU19SRVNFVDsKK30KIAogLyoKICAq IFJvb3QgcG9ydCBvbiBzb21lIENhdml1bSBDTjh4eHggY2hpcHMgZG8gbm90IHN1Y2Nlc3NmdWxs eSBjb21wbGV0ZSBhIGJ1cwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wY2kuaCBiL2luY2x1 ZGUvbGludXgvcGNpLmgKaW5kZXggODZjNzk5Yzk3Yjc3Li5mZGJmNzI1NGU0YWIgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgvcGNpLmgKKysrIGIvaW5jbHVkZS9saW51eC9wY2kuaApAQCAtMjI3 LDYgKzIyNyw4IEBAIGVudW0gcGNpX2Rldl9mbGFncyB7CiAJUENJX0RFVl9GTEFHU19OT19GTFJf UkVTRVQgPSAoX19mb3JjZSBwY2lfZGV2X2ZsYWdzX3QpICgxIDw8IDEwKSwKIAkvKiBEb24ndCB1 c2UgUmVsYXhlZCBPcmRlcmluZyBmb3IgVExQcyBkaXJlY3RlZCBhdCB0aGlzIGRldmljZSAqLwog CVBDSV9ERVZfRkxBR1NfTk9fUkVMQVhFRF9PUkRFUklORyA9IChfX2ZvcmNlIHBjaV9kZXZfZmxh Z3NfdCkgKDEgPDwgMTEpLAorCS8qIERvbid0IFJldHJhaW4gTGluayBmb3IgZGV2aWNlIHdoZW4g YnJpZGdlIGlzIG5vdCBpbiBHRU4xIG1vZGUgKi8KKwlQQ0lfREVWX0ZMQUdTX05PX1JFVFJBSU5f TElOS19XSEVOX05PVF9HRU4xID0gKF9fZm9yY2UgcGNpX2Rldl9mbGFnc190KSAoMSA8PCAxMiks CiB9OwogCiBlbnVtIHBjaV9pcnFfcmVyb3V0ZV92YXJpYW50IHsKLS0gCjIuMjAuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmF0aDEwayBtYWlsaW5n IGxpc3QKYXRoMTBrQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9hdGgxMGsK