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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E992CC3600A for ; Fri, 21 Mar 2025 19:14:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=GLmG6o7/+fYeEzfIjdmXbgUmK5y7/q7BNgCvsYSCZis=; b=O46jCwA7L4Jt/P xgyGK2US1zRYIwieQwhwGSrUccZczKJLBNE85MdPO+84xXj1PtitAtJFuTAa/Ux8QhZkkXwJa+cxc N2skBSPkdl9fzMlGxcylIpBGuMHyc3C2yS8QvKOAbRA3JvqlM8Z7f2HI3b0LV4i5t7b44vtDDT0+V cVOQn7BnJ4Y1YB1AbCsVauuUlauO41/2iFKoTi2Oji5rDTvkPpPgIiX1+XNqmNxUSYm6FIDswltSK 0jKQIy62lCGIXV6PomwqlwI7LntqwhmGVUB7mwxCJjh14qiuWNgKgfkvUl/WBKAmCdsUxfalmBVHz uwUi5DTFjgs0VBx2HBKw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tvhpB-0000000FzTi-17Pb; Fri, 21 Mar 2025 19:14:33 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tvhoo-0000000FzMP-0H1Z for linux-riscv@lists.infradead.org; Fri, 21 Mar 2025 19:14:11 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 20F254455A; Fri, 21 Mar 2025 19:14:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1742584448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QZHLZtOsYa//BR6kSb6CcInPA+hroHJebOp/11hJvrE=; b=bLtTDgERwHLjpj9YZi0+M4BDAvJ9v3Xhoy987Ji2UtubP1RszK4xrA7AlG6Yq86t7sbcmb bd/797eQ//2zjyHp/45ndOnUPeF4KYcZklMbdujhQpf9YJSf9tBk3QzxGNJUIBa0TCTx3t ZptPH3Um/n3/tgO8NOzYRY4c7b4iQRSaZdpkzqOTagl8jBKpG8Xz6dS1ZMU78sJRgj6QyB GdtdqM26X2vhpLQ7EGISocjhXVv60q+AO4QbOcMvCOAwELcXIXOzeqTXnOTC9CYeO7VSfy X3Lg+xbj65tY0qZHCsd0PunqIDbWLMyESRYKeWo5OUpj2yyKdFmVSr2UVhE3Ng== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Fri, 21 Mar 2025 20:09:39 +0100 Subject: [PATCH net-next 08/13] net: macb: introduce DMA descriptor helpers (is 64bit? is PTP?) MIME-Version: 1.0 Message-Id: <20250321-macb-v1-8-537b7e37971d@bootlin.com> References: <20250321-macb-v1-0-537b7e37971d@bootlin.com> In-Reply-To: <20250321-macb-v1-0-537b7e37971d@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Samuel Holland , Richard Cochran , Russell King , Thomas Bogendoerfer , Vladimir Kondratiev , Gregory CLEMENT Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-mips@vger.kernel.org, Thomas Petazzoni , Tawfik Bayouk , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduheduledtucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthekredtredtjeenucfhrhhomhepvfhhrohoucfnvggsrhhunhcuoehthhgvohdrlhgvsghruhhnsegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeelvefhkeeufedvkefghefhgfdukeejlefgtdehtdeivddtteetgedvieelieeuhfenucfkphepjeejrddufeehrdekuddrieehnecuvehluhhsthgvrhfuihiivgepgeenucfrrghrrghmpehinhgvthepjeejrddufeehrdekuddrieehpdhhvghloheplgduledvrdduieekrddurdeftdgnpdhmrghilhhfrhhomhepthhhvghordhlvggsrhhunhessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvdekpdhrtghpthhtohepghhrvghgohhrhidrtghlvghmvghnthessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhrihhstghvsehlihhsthhsrdhinhhfrhgruggvrggurdhorhhgpdhrtghpthhtohepphgruhhlrdifrghlmhhslhgvhiesshhifhhivhgvrdgtohhmpdhrtghpthhtohepthhssghoghgvnhgusegrlhhphhgrrdhfrhgrnhhkvghnrdguvgdprhgtphhtthhopehkuhgsrgesk hgvrhhnvghlrdhorhhgpdhrtghpthhtohepnhgvthguvghvsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtohepnhhitgholhgrshdrfhgvrhhrvgesmhhitghrohgthhhiphdrtghomhdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomh X-GND-Sasl: theo.lebrun@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250321_121410_240784_E43D0D69 X-CRM114-Status: GOOD ( 19.24 ) X-BeenThere: linux-riscv@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: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SW50cm9kdWNlIG1hY2JfZG1hX2lzXzY0YigpIGFuZCBtYWNiX2RtYV9pc19wdHAoKSBoZWxwZXIg ZnVuY3Rpb25zLgpNYW55IGNvZGVwYXRocyBhcmUgbWFkZSBzaW1wbGVyIGJ5IGRyb3BwaW5nIGNv bmRpdGlvbmFsIGNvbXBpbGF0aW9uLgoKVGhpcyBpbXBsaWVzIHRocmVlIGNoYW5nZXM6CiAtIEFs d2F5cyBjb21waWxlIHJlbGF0ZWQgc3RydWN0dXJlIGRlZmluaXRpb25zIGluc2lkZSA8bWFjYi5o Pi4KIC0gTWFrZSB0aGUgZmllbGQgaHdfZG1hX2NhcCBpbiBzdHJ1Y3QgbWFjYiBhbHdheXMgcHJl c2VudC4KIC0gTUFDQl9FWFRfREVTQyBjYW4gYmUgZHJvcHBlZCBhcyBpdCBpcyB1c2VsZXNzIG5v dy4KClRoZSBjb21tb24gY2FzZSBpczoKCgkjaWZkZWYgQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82 NEJJVAoJCXN0cnVjdCBtYWNiX2RtYV9kZXNjXzY0ICpkZXNjXzY0OwoJCWlmIChicC0+aHdfZG1h X2NhcCAmIEhXX0RNQV9DQVBfNjRCKSB7CgkJCWRlc2NfNjQgPSBtYWNiXzY0Yl9kZXNjKGJwLCBk ZXNjKTsKCQkJLy8gLi4uCgkJfQoJI2VuZGlmCgpBbmQgcmVwbGFjZWQgYnk6CgoJc3RydWN0IG1h Y2JfZG1hX2Rlc2NfNjQgKmRlc2NfNjQ7CglpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSkgewoJCWRl c2NfNjQgPSBtYWNiXzY0Yl9kZXNjKGJwLCBkZXNjKTsKCQkvLyAuLi4KCX0KClNpZ25lZC1vZmYt Ynk6IFRow6lvIExlYnJ1biA8dGhlby5sZWJydW5AYm9vdGxpbi5jb20+Ci0tLQogZHJpdmVycy9u ZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmggICAgICB8ICAgOCAtLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMgfCAxMTAgKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA4MCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaCBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oCmluZGV4IDViZjdlN2ZmNzA0OTBjZGIw NjhiZmRiZTdjZmQ1YmI4ZTFkYjdmODYuLjI2ZTBhZjQ0YTQ1OTI2Yzc4MmNmMGY3MjE4NDMzMmFi MzYwNWExNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5o CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oCkBAIC0xNSwxMCArMTUs NiBAQAogI2luY2x1ZGUgPGxpbnV4L3BoeS9waHkuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVl dWUuaD4KIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82NEJJVCkgfHwgZGVm aW5lZChDT05GSUdfTUFDQl9VU0VfSFdTVEFNUCkKLSNkZWZpbmUgTUFDQl9FWFRfREVTQwotI2Vu ZGlmCi0KICNkZWZpbmUgTUFDQl9HUkVHU19OQlIgMTYKICNkZWZpbmUgTUFDQl9HUkVHU19WRVJT SU9OIDIKICNkZWZpbmUgTUFDQl9NQVhfUVVFVUVTIDgKQEAgLTgyNCw3ICs4MjAsNiBAQCBzdHJ1 Y3QgbWFjYl9kbWFfZGVzYyB7CiAJdTMyCWN0cmw7CiB9OwogCi0jaWZkZWYgTUFDQl9FWFRfREVT QwogI2RlZmluZSBIV19ETUFfQ0FQXzMyQgkJMAogI2RlZmluZSBIV19ETUFfQ0FQXzY0QgkJKDEg PDwgMCkKICNkZWZpbmUgSFdfRE1BX0NBUF9QVFAJCSgxIDw8IDEpCkBAIC04MzksNyArODM0LDYg QEAgc3RydWN0IG1hY2JfZG1hX2Rlc2NfcHRwIHsKIAl1MzIJdHNfMTsKIAl1MzIJdHNfMjsKIH07 Ci0jZW5kaWYKIAogLyogRE1BIGRlc2NyaXB0b3IgYml0ZmllbGRzICovCiAjZGVmaW5lIE1BQ0Jf UlhfVVNFRF9PRkZTRVQJCQkwCkBAIC0xMzE5LDkgKzEzMTMsNyBAQCBzdHJ1Y3QgbWFjYiB7CiAK IAlzdHJ1Y3QgcGh5CQkqc2dtaWlfcGh5OwkvKiBmb3IgWnlucU1QIFNHTUlJIG1vZGUgKi8KIAot I2lmZGVmIE1BQ0JfRVhUX0RFU0MKIAl1aW50OF90IGh3X2RtYV9jYXA7Ci0jZW5kaWYKIAlzcGlu bG9ja190IHRzdV9jbGtfbG9jazsgLyogZ2VtIHRzdSBjbG9jayBsb2NraW5nICovCiAJdW5zaWdu ZWQgaW50IHRzdV9yYXRlOwogCXN0cnVjdCBwdHBfY2xvY2sgKnB0cF9jbG9jazsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jCmluZGV4IGIzMjM2M2JhMWVjM2JlMGZjNDI4 NjZjODU4NWYwYjQ2NWQxNzgyMjAuLmFkMTU0Y2ZlMjkxMDZmNjQyYjMyOTIyZmQ0YTAzY2E2MzEx MmY0YTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWlu LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYwpAQCAtOTgs NiArOTgsMTggQEAgc3RydWN0IHNpZml2ZV9mdTU0MF9tYWNiX21nbXQgewogCiAjZGVmaW5lIE1B Q0JfTURJT19USU1FT1VUCTEwMDAwMDAgLyogaW4gdXNlY3MgKi8KIAorc3RhdGljIGJvb2wgbWFj Yl9kbWFfaXNfNjRiKHN0cnVjdCBtYWNiICpicCkKK3sKKwlyZXR1cm4gSVNfRU5BQkxFRChDT05G SUdfQVJDSF9ETUFfQUREUl9UXzY0QklUKSAmJgorCSAgICAgICBicC0+aHdfZG1hX2NhcCAmIEhX X0RNQV9DQVBfNjRCOworfQorCitzdGF0aWMgYm9vbCBtYWNiX2RtYV9pc19wdHAoc3RydWN0IG1h Y2IgKmJwKQoreworCXJldHVybiBJU19FTkFCTEVEKENPTkZJR19NQUNCX1VTRV9IV1NUQU1QKSAm JgorCSAgICAgICBicC0+aHdfZG1hX2NhcCAmIEhXX0RNQV9DQVBfUFRQOworfQorCiAvKiBETUEg YnVmZmVyIGRlc2NyaXB0b3IgbWlnaHQgYmUgZGlmZmVyZW50IHNpemUKICAqIGRlcGVuZHMgb24g aGFyZHdhcmUgY29uZmlndXJhdGlvbjoKICAqCkBAIC0xMjcsNTYgKzEzOSwzMSBAQCBzdHJ1Y3Qg c2lmaXZlX2Z1NTQwX21hY2JfbWdtdCB7CiAgKi8KIHN0YXRpYyB1bnNpZ25lZCBpbnQgbWFjYl9k bWFfZGVzY19nZXRfc2l6ZShzdHJ1Y3QgbWFjYiAqYnApCiB7Ci0jaWZkZWYgTUFDQl9FWFRfREVT QwotCXVuc2lnbmVkIGludCBkZXNjX3NpemU7CisJdW5zaWduZWQgaW50IGRlc2Nfc2l6ZSA9IHNp emVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzYyk7CisKKwlpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSkK KwkJZGVzY19zaXplICs9IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCk7CisJaWYgKG1h Y2JfZG1hX2lzX3B0cChicCkpCisJCWRlc2Nfc2l6ZSArPSBzaXplb2Yoc3RydWN0IG1hY2JfZG1h X2Rlc2NfcHRwKTsKIAotCXN3aXRjaCAoYnAtPmh3X2RtYV9jYXApIHsKLQljYXNlIEhXX0RNQV9D QVBfNjRCOgotCQlkZXNjX3NpemUgPSBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rlc2MpCi0JCQkr IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCk7Ci0JCWJyZWFrOwotCWNhc2UgSFdfRE1B X0NBUF9QVFA6Ci0JCWRlc2Nfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzYykKLQkJ CSsgc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjX3B0cCk7Ci0JCWJyZWFrOwotCWNhc2UgSFdf RE1BX0NBUF82NEJfUFRQOgotCQlkZXNjX3NpemUgPSBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rl c2MpCi0JCQkrIHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCkKLQkJCSsgc2l6ZW9mKHN0 cnVjdCBtYWNiX2RtYV9kZXNjX3B0cCk7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCWRlc2Nfc2l6 ZSA9IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzYyk7Ci0JfQogCXJldHVybiBkZXNjX3NpemU7 Ci0jZW5kaWYKLQlyZXR1cm4gc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjKTsKIH0KIAogc3Rh dGljIHVuc2lnbmVkIGludCBtYWNiX2Fkal9kbWFfZGVzY19pZHgoc3RydWN0IG1hY2IgKmJwLCB1 bnNpZ25lZCBpbnQgZGVzY19pZHgpCiB7Ci0jaWZkZWYgTUFDQl9FWFRfREVTQwotCXN3aXRjaCAo YnAtPmh3X2RtYV9jYXApIHsKLQljYXNlIEhXX0RNQV9DQVBfNjRCOgotCWNhc2UgSFdfRE1BX0NB UF9QVFA6Ci0JCWRlc2NfaWR4IDw8PSAxOwotCQlicmVhazsKLQljYXNlIEhXX0RNQV9DQVBfNjRC X1BUUDoKLQkJZGVzY19pZHggKj0gMzsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJYnJlYWs7Ci0J fQotI2VuZGlmCi0JcmV0dXJuIGRlc2NfaWR4OworCWlmIChtYWNiX2RtYV9pc182NGIoYnApICYm IG1hY2JfZG1hX2lzX3B0cChicCkpCisJCXJldHVybiBkZXNjX2lkeCAqIDM7CisJZWxzZSBpZiAo bWFjYl9kbWFfaXNfNjRiKGJwKSB8fCBtYWNiX2RtYV9pc19wdHAoYnApKQorCQlyZXR1cm4gZGVz Y19pZHggPDwgMTsKKwllbHNlCisJCXJldHVybiBkZXNjX2lkeDsKIH0KIAotI2lmZGVmIENPTkZJ R19BUkNIX0RNQV9BRERSX1RfNjRCSVQKIHN0YXRpYyBzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCAq bWFjYl82NGJfZGVzYyhzdHJ1Y3QgbWFjYiAqYnAsIHN0cnVjdCBtYWNiX2RtYV9kZXNjICpkZXNj KQogewogCXJldHVybiAoc3RydWN0IG1hY2JfZG1hX2Rlc2NfNjQgKikoKHZvaWQgKilkZXNjCiAJ CSsgc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjKSk7CiB9Ci0jZW5kaWYKIAogLyogUmluZyBi dWZmZXIgYWNjZXNzb3JzICovCiBzdGF0aWMgdW5zaWduZWQgaW50IG1hY2JfdHhfcmluZ193cmFw KHN0cnVjdCBtYWNiICpicCwgdW5zaWduZWQgaW50IGluZGV4KQpAQCAtNTAwLDE3ICs0ODcsMTMg QEAgc3RhdGljIHZvaWQgbWFjYl9pbml0X2J1ZmZlcnMoc3RydWN0IG1hY2IgKmJwKQogCiAJZm9y IChxID0gMCwgcXVldWUgPSBicC0+cXVldWVzOyBxIDwgYnAtPm51bV9xdWV1ZXM7ICsrcSwgKytx dWV1ZSkgewogCQlxdWV1ZV93cml0ZWwocXVldWUsIFJCUVAsIGxvd2VyXzMyX2JpdHMocXVldWUt PnJ4X3JpbmdfZG1hKSk7Ci0jaWZkZWYgQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82NEJJVAotCQlp ZiAoYnAtPmh3X2RtYV9jYXAgJiBIV19ETUFfQ0FQXzY0QikKKwkJaWYgKG1hY2JfZG1hX2lzXzY0 YihicCkpCiAJCQlxdWV1ZV93cml0ZWwocXVldWUsIFJCUVBILAogCQkJCSAgICAgdXBwZXJfMzJf Yml0cyhxdWV1ZS0+cnhfcmluZ19kbWEpKTsKLSNlbmRpZgogCQlxdWV1ZV93cml0ZWwocXVldWUs IFRCUVAsIGxvd2VyXzMyX2JpdHMocXVldWUtPnR4X3JpbmdfZG1hKSk7Ci0jaWZkZWYgQ09ORklH X0FSQ0hfRE1BX0FERFJfVF82NEJJVAotCQlpZiAoYnAtPmh3X2RtYV9jYXAgJiBIV19ETUFfQ0FQ XzY0QikKKwkJaWYgKG1hY2JfZG1hX2lzXzY0YihicCkpCiAJCQlxdWV1ZV93cml0ZWwocXVldWUs IFRCUVBILAogCQkJCSAgICAgdXBwZXJfMzJfYml0cyhxdWV1ZS0+dHhfcmluZ19kbWEpKTsKLSNl bmRpZgogCX0KIH0KIApAQCAtMTAzOCwxMCArMTAyMSw5IEBAIHN0YXRpYyB2b2lkIG1hY2JfdHhf dW5tYXAoc3RydWN0IG1hY2IgKmJwLCBzdHJ1Y3QgbWFjYl90eF9za2IgKnR4X3NrYiwgaW50IGJ1 ZGdlCiAKIHN0YXRpYyB2b2lkIG1hY2Jfc2V0X2FkZHIoc3RydWN0IG1hY2IgKmJwLCBzdHJ1Y3Qg bWFjYl9kbWFfZGVzYyAqZGVzYywgZG1hX2FkZHJfdCBhZGRyKQogewotI2lmZGVmIENPTkZJR19B UkNIX0RNQV9BRERSX1RfNjRCSVQKIAlzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCAqZGVzY182NDsK IAotCWlmIChicC0+aHdfZG1hX2NhcCAmIEhXX0RNQV9DQVBfNjRCKSB7CisJaWYgKG1hY2JfZG1h X2lzXzY0YihicCkpIHsKIAkJZGVzY182NCA9IG1hY2JfNjRiX2Rlc2MoYnAsIGRlc2MpOwogCQlk ZXNjXzY0LT5hZGRyaCA9IHVwcGVyXzMyX2JpdHMoYWRkcik7CiAJCS8qIFRoZSBsb3cgYml0cyBv ZiBSWCBhZGRyZXNzIGNvbnRhaW4gdGhlIFJYX1VTRUQgYml0LCBjbGVhcmluZwpAQCAtMTA1MCwy NiArMTAzMiwyMiBAQCBzdGF0aWMgdm9pZCBtYWNiX3NldF9hZGRyKHN0cnVjdCBtYWNiICpicCwg c3RydWN0IG1hY2JfZG1hX2Rlc2MgKmRlc2MsIGRtYV9hZGRyXwogCQkgKi8KIAkJZG1hX3dtYigp OwogCX0KLSNlbmRpZgorCiAJZGVzYy0+YWRkciA9IGxvd2VyXzMyX2JpdHMoYWRkcik7CiB9CiAK IHN0YXRpYyBkbWFfYWRkcl90IG1hY2JfZ2V0X2FkZHIoc3RydWN0IG1hY2IgKmJwLCBzdHJ1Y3Qg bWFjYl9kbWFfZGVzYyAqZGVzYykKIHsKLQlkbWFfYWRkcl90IGFkZHIgPSAwOwotI2lmZGVmIENP TkZJR19BUkNIX0RNQV9BRERSX1RfNjRCSVQKIAlzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCAqZGVz Y182NDsKKwlkbWFfYWRkcl90IGFkZHIgPSAwOwogCi0JaWYgKGJwLT5od19kbWFfY2FwICYgSFdf RE1BX0NBUF82NEIpIHsKKwlpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSkgewogCQlkZXNjXzY0ID0g bWFjYl82NGJfZGVzYyhicCwgZGVzYyk7CiAJCWFkZHIgPSAoKHU2NCkoZGVzY182NC0+YWRkcmgp IDw8IDMyKTsKIAl9Ci0jZW5kaWYKIAlhZGRyIHw9IE1BQ0JfQkYoUlhfV0FERFIsIE1BQ0JfQkZF WFQoUlhfV0FERFIsIGRlc2MtPmFkZHIpKTsKLSNpZmRlZiBDT05GSUdfTUFDQl9VU0VfSFdTVEFN UAotCWlmIChicC0+aHdfZG1hX2NhcCAmIEhXX0RNQV9DQVBfUFRQKQorCWlmIChtYWNiX2RtYV9p c19wdHAoYnApKQogCQlhZGRyICY9IH5HRU1fQklUKERNQV9SWFZBTElEKTsKLSNlbmRpZgogCXJl dHVybiBhZGRyOwogfQogCkBAIC0xMTc2LDEwICsxMTU0LDggQEAgc3RhdGljIHZvaWQgbWFjYl90 eF9lcnJvcl90YXNrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAogCS8qIFJlaW5pdGlhbGl6 ZSB0aGUgVFggZGVzYyBxdWV1ZSAqLwogCXF1ZXVlX3dyaXRlbChxdWV1ZSwgVEJRUCwgbG93ZXJf MzJfYml0cyhxdWV1ZS0+dHhfcmluZ19kbWEpKTsKLSNpZmRlZiBDT05GSUdfQVJDSF9ETUFfQURE Ul9UXzY0QklUCi0JaWYgKGJwLT5od19kbWFfY2FwICYgSFdfRE1BX0NBUF82NEIpCisJaWYgKG1h Y2JfZG1hX2lzXzY0YihicCkpCiAJCXF1ZXVlX3dyaXRlbChxdWV1ZSwgVEJRUEgsIHVwcGVyXzMy X2JpdHMocXVldWUtPnR4X3JpbmdfZG1hKSk7Ci0jZW5kaWYKIAkvKiBNYWtlIFRYIHJpbmcgcmVm bGVjdCBzdGF0ZSBvZiBoYXJkd2FyZSAqLwogCXF1ZXVlLT50eF9oZWFkID0gMDsKIAlxdWV1ZS0+ dHhfdGFpbCA9IDA7CkBAIC0yMzQ5LDExICsyMzI1LDkgQEAgc3RhdGljIG5ldGRldl90eF90IG1h Y2Jfc3RhcnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 KQogCQlyZXR1cm4gcmV0OwogCX0KIAotI2lmZGVmIENPTkZJR19NQUNCX1VTRV9IV1NUQU1QCi0J aWYgKChza2Jfc2hpbmZvKHNrYiktPnR4X2ZsYWdzICYgU0tCVFhfSFdfVFNUQU1QKSAmJgotCSAg ICAoYnAtPmh3X2RtYV9jYXAgJiBIV19ETUFfQ0FQX1BUUCkpCisJaWYgKG1hY2JfZG1hX2lzX3B0 cChicCkgJiYKKwkgICAgKHNrYl9zaGluZm8oc2tiKS0+dHhfZmxhZ3MgJiBTS0JUWF9IV19UU1RB TVApKQogCQlza2Jfc2hpbmZvKHNrYiktPnR4X2ZsYWdzIHw9IFNLQlRYX0lOX1BST0dSRVNTOwot I2VuZGlmCiAKIAlpc19sc28gPSAoc2tiX3NoaW5mbyhza2IpLT5nc29fc2l6ZSAhPSAwKTsKIApA QCAtMjgxMywxNCArMjc4NywxMCBAQCBzdGF0aWMgdm9pZCBtYWNiX2NvbmZpZ3VyZV9kbWEoc3Ry dWN0IG1hY2IgKmJwKQogCQkJZG1hY2ZnICY9IH5HRU1fQklUKFRYQ09FTik7CiAKIAkJZG1hY2Zn ICY9IH5HRU1fQklUKEFERFI2NCk7Ci0jaWZkZWYgQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82NEJJ VAotCQlpZiAoYnAtPmh3X2RtYV9jYXAgJiBIV19ETUFfQ0FQXzY0QikKKwkJaWYgKG1hY2JfZG1h X2lzXzY0YihicCkpCiAJCQlkbWFjZmcgfD0gR0VNX0JJVChBRERSNjQpOwotI2VuZGlmCi0jaWZk ZWYgQ09ORklHX01BQ0JfVVNFX0hXU1RBTVAKLQkJaWYgKGJwLT5od19kbWFfY2FwICYgSFdfRE1B X0NBUF9QVFApCisJCWlmIChtYWNiX2RtYV9pc19wdHAoYnApKQogCQkJZG1hY2ZnIHw9IEdFTV9C SVQoUlhFWFQpIHwgR0VNX0JJVChUWEVYVCk7Ci0jZW5kaWYKIAkJbmV0ZGV2X2RiZyhicC0+ZGV2 LCAiQ2FkZW5jZSBjb25maWd1cmUgRE1BIHdpdGggMHglMDh4XG4iLAogCQkJICAgZG1hY2ZnKTsK IAkJZ2VtX3dyaXRlbChicCwgRE1BQ0ZHLCBkbWFjZmcpOwpAQCAtNDMyNiwxMiArNDI5NiwxMCBA QCBzdGF0aWMgaW50IG1hY2JfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQkJ cXVldWUtPlRCUVAgPSBHRU1fVEJRUChod19xIC0gMSk7CiAJCQlxdWV1ZS0+UkJRUCA9IEdFTV9S QlFQKGh3X3EgLSAxKTsKIAkJCXF1ZXVlLT5SQlFTID0gR0VNX1JCUVMoaHdfcSAtIDEpOwotI2lm ZGVmIENPTkZJR19BUkNIX0RNQV9BRERSX1RfNjRCSVQKLQkJCWlmIChicC0+aHdfZG1hX2NhcCAm IEhXX0RNQV9DQVBfNjRCKSB7CisJCQlpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSkgewogCQkJCXF1 ZXVlLT5UQlFQSCA9IEdFTV9UQlFQSChod19xIC0gMSk7CiAJCQkJcXVldWUtPlJCUVBIID0gR0VN X1JCUVBIKGh3X3EgLSAxKTsKIAkJCX0KLSNlbmRpZgogCQl9IGVsc2UgewogCQkJLyogcXVldWUw IHVzZXMgbGVnYWN5IHJlZ2lzdGVycyAqLwogCQkJcXVldWUtPklTUiAgPSBNQUNCX0lTUjsKQEAg LTQzNDAsMTIgKzQzMDgsMTAgQEAgc3RhdGljIGludCBtYWNiX2luaXQoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKIAkJCXF1ZXVlLT5JTVIgID0gTUFDQl9JTVI7CiAJCQlxdWV1ZS0+VEJR UCA9IE1BQ0JfVEJRUDsKIAkJCXF1ZXVlLT5SQlFQID0gTUFDQl9SQlFQOwotI2lmZGVmIENPTkZJ R19BUkNIX0RNQV9BRERSX1RfNjRCSVQKLQkJCWlmIChicC0+aHdfZG1hX2NhcCAmIEhXX0RNQV9D QVBfNjRCKSB7CisJCQlpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSkgewogCQkJCXF1ZXVlLT5UQlFQ SCA9IE1BQ0JfVEJRUEg7CiAJCQkJcXVldWUtPlJCUVBIID0gTUFDQl9SQlFQSDsKIAkJCX0KLSNl bmRpZgogCQl9CiAKIAkJLyogZ2V0IGlycTogaGVyZSB3ZSB1c2UgdGhlIGxpbnV4IHF1ZXVlIGlu ZGV4LCBub3QgdGhlIGhhcmR3YXJlCgotLSAKMi40OC4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4 LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=