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 89D1CC36002 for ; Mon, 24 Mar 2025 08:20:23 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=L3YBPr5Rm0e+n4kOuzKNYXQQcTj7CjjuCn6XoZm+9CU=; b=d2f62tD6z1KaTg HkJjZMq2cm43zPqv0MStzJj/c/wh9+slqJIKopcxTNZLx56OTwFbmtBB+v0BjJRWt9DUzS3GUBh7O ZSBhdWfBnD0i8LQOn2+xVpvYcfoDhziztX/tZVfv2hx5XrZV69t6Q6ymy14jHDplpV9HANO/DAlDY NLtzBm8JkwOl5V5KBSkk80AktCvL2DibEbrg38Lg1kcnS1SE4X/5MdFW+OEODaXNgUZPOvWSBmivN utXmM4pLVR1Ssl3SZVF5ZnfXDqedgdKEl4Vr5O+KmY6aFQHpR80IZK5Mj+mH9c2MSN2cpPqFtC4Ze iOQX8AxlCWg15bfOf3ig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twd2f-00000002Yzz-37Cf; Mon, 24 Mar 2025 08:20:17 +0000 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twd2d-00000002YzD-1bFg for linux-riscv@lists.infradead.org; Mon, 24 Mar 2025 08:20:16 +0000 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3913fdd003bso1951172f8f.1 for ; Mon, 24 Mar 2025 01:20:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1742804413; x=1743409213; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=X5KNi5vv+WwUHgiOiAE1zT6bKqb5UxIw1xZcRyktkIE=; b=Cslk7ypTk14iNm6XYcUkD6mEXSkgzIMkctsZSRb1SYJaoU+5x9q1BBsAH7GP+lcbyL W1Z8svpekOrrxQRT6S2U9P7UMmynqTJtD/ocAiQ8V/kqvTt2A631m7ZBkGOK7E0ZI6Oq 4SqxUqYxksBg5NouE2QMSxe/VYiFpnW6tj2VOF++AavsRrYj61FcIfwzRuESnERi/bg5 XDePvhnN6AVYckoPYuXIO7V2Nwb64l0FheO+2EL6Rf/oaNWoJLsbBooDVZmvSRCzif/D y10g+Fsv2mCcsXnPONNZPUQhIMobO8UJP4HuziQyqv8oAvMePm3tTIUBEpwYKtMZ5wpP rROA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742804413; x=1743409213; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=X5KNi5vv+WwUHgiOiAE1zT6bKqb5UxIw1xZcRyktkIE=; b=woWE3Fe0FxwjuDpFiql70CpklmFf7NNTIzpQLytuCLPnMIfSdxS8aX8vBCVXqgOEeJ JvAa3Z/LPVVddxOC+ofsUv0Xh2CcMEQ3K0AHJ8lNEmKdOWg6m5L2rzxe2pFjZoYTIqMT O2Srcpz6i/1bYFu5LGsJ/qpRMwBSGoAP0vp2T8ijfSZ/j87/8xlwluGeS1/JtrhFUYtn GUUjDnxpxPWr0G8yABRocDDjk14TdzUBQqjSzg/366/OgDmAIoJsgVXcO1a5//bv/xsZ 7n10WZTz7r7rBHuURnX9VHAzLgWzLYCrgQP8i8hRARyDo/Y9O94pd6U9cwO2lNMGWDkK T84A== X-Forwarded-Encrypted: i=1; AJvYcCUWNJaJIDrORIq6kDHdsLS29oMzKFFdAirRyoNvVeo2wF4XD6GM2ecm71xVIxyQx4eXLSxPMexI0JfCoQ==@lists.infradead.org X-Gm-Message-State: AOJu0Yzcmuqft2TZI5VzBjXD+6+tX4HPOrRCcjkUxRRKuE/cA7hVMkzo RqhEHJVk/alC64CVdFC8R1GynnOM3qpMS0o8zasft5veu9wlqbnyStisiX8f69E= X-Gm-Gg: ASbGncs+opsB+T0NPQ666T0sxBaf4ZiQ9+z5Djlh6snbSn9PPxDK8Akt+M60ClQbUlD LQVqCRPYGeI5xl7bsTuc1IhJd+T2NbZp+6gEqIE2Aq4lgqD+7oF7zehh78HvDUr/HFU5xvThYB0 f2zv4qYv10BAyhs0ch/q4DDBk405DWYaV/zEt8iMOMsX9lx77radXKH+I/9cVFmA1i+7zcFuacg meC0umcDpeJRdywwrqaNr7XTERezvNM1rbHXlldKPObjWG9myxwpuz0YmeyKT8b4TVJIeVDcD+z Uwz1lBHMkuzNIWb0lrITWtP1RmfSQX3QGMo4DiRYIpjwRg6tXbP/02nKyF8ujeo= X-Google-Smtp-Source: AGHT+IHieGvYY9xYsJ+hRcTxELd3WHjGIze3RgAfmcczbmeULThLVKV6pyFoFLcvCmypyhY+f3n/4w== X-Received: by 2002:a5d:584f:0:b0:38d:e0a9:7e5e with SMTP id ffacd0b85a97d-399795567ebmr13722154f8f.6.1742804413383; Mon, 24 Mar 2025 01:20:13 -0700 (PDT) Received: from [192.168.50.4] ([82.78.167.46]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9efc90sm10337434f8f.98.2025.03.24.01.20.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Mar 2025 01:20:12 -0700 (PDT) Message-ID: <1f5b71d6-872f-486d-9b06-7b5e407f8482@tuxon.dev> Date: Mon, 24 Mar 2025 10:20:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next 08/13] net: macb: introduce DMA descriptor helpers (is 64bit? is PTP?) To: =?UTF-8?Q?Th=C3=A9o_Lebrun?= , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , 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 References: <20250321-macb-v1-0-537b7e37971d@bootlin.com> <20250321-macb-v1-8-537b7e37971d@bootlin.com> From: Claudiu Beznea Content-Language: en-US In-Reply-To: <20250321-macb-v1-8-537b7e37971d@bootlin.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250324_012015_431731_00059761 X-CRM114-Status: GOOD ( 28.68 ) 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 SSB0aGluayB0aGUgIihpcyA2NGJpdD8gaXMgUFRQPykiIGZyb20gdGl0bGUgY291bGQgYmUgZHJv cHBlZC4KCk9uIDIxLjAzLjIwMjUgMjE6MDksIFRow6lvIExlYnJ1biB3cm90ZToKPiBJbnRyb2R1 Y2UgbWFjYl9kbWFfaXNfNjRiKCkgYW5kIG1hY2JfZG1hX2lzX3B0cCgpIGhlbHBlciBmdW5jdGlv bnMuCj4gTWFueSBjb2RlcGF0aHMgYXJlIG1hZGUgc2ltcGxlciBieSBkcm9wcGluZyBjb25kaXRp b25hbCBjb21waWxhdGlvbi4KPiAKPiBUaGlzIGltcGxpZXMgdGhyZWUgY2hhbmdlczoKPiAgLSBB bHdheXMgY29tcGlsZSByZWxhdGVkIHN0cnVjdHVyZSBkZWZpbml0aW9ucyBpbnNpZGUgPG1hY2Iu aD4uCj4gIC0gTWFrZSB0aGUgZmllbGQgaHdfZG1hX2NhcCBpbiBzdHJ1Y3QgbWFjYiBhbHdheXMg cHJlc2VudC4KPiAgLSBNQUNCX0VYVF9ERVNDIGNhbiBiZSBkcm9wcGVkIGFzIGl0IGlzIHVzZWxl c3Mgbm93Lgo+IAo+IFRoZSBjb21tb24gY2FzZSBpczoKPiAKPiAJI2lmZGVmIENPTkZJR19BUkNI X0RNQV9BRERSX1RfNjRCSVQKPiAJCXN0cnVjdCBtYWNiX2RtYV9kZXNjXzY0ICpkZXNjXzY0Owo+ IAkJaWYgKGJwLT5od19kbWFfY2FwICYgSFdfRE1BX0NBUF82NEIpIHsKPiAJCQlkZXNjXzY0ID0g bWFjYl82NGJfZGVzYyhicCwgZGVzYyk7Cj4gCQkJLy8gLi4uCj4gCQl9Cj4gCSNlbmRpZgo+IAo+ IEFuZCByZXBsYWNlZCBieToKPiAKPiAJc3RydWN0IG1hY2JfZG1hX2Rlc2NfNjQgKmRlc2NfNjQ7 Cj4gCWlmIChtYWNiX2RtYV9pc182NGIoYnApKSB7Cj4gCQlkZXNjXzY0ID0gbWFjYl82NGJfZGVz YyhicCwgZGVzYyk7Cj4gCQkvLyAuLi4KPiAJfQo+IAo+IFNpZ25lZC1vZmYtYnk6IFRow6lvIExl YnJ1biA8dGhlby5sZWJydW5AYm9vdGxpbi5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvbmV0L2V0aGVy bmV0L2NhZGVuY2UvbWFjYi5oICAgICAgfCAgIDggLS0tCj4gIGRyaXZlcnMvbmV0L2V0aGVybmV0 L2NhZGVuY2UvbWFjYl9tYWluLmMgfCAxMTAgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICAyIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaCBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oCj4gaW5kZXggNWJmN2U3ZmY3MDQ5MGNk YjA2OGJmZGJlN2NmZDViYjhlMWRiN2Y4Ni4uMjZlMGFmNDRhNDU5MjZjNzgyY2YwZjcyMTg0MzMy YWIzNjA1YTE3OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21h Y2IuaAo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oCj4gQEAgLTE1 LDEwICsxNSw2IEBACj4gICNpbmNsdWRlIDxsaW51eC9waHkvcGh5Lmg+Cj4gICNpbmNsdWRlIDxs aW51eC93b3JrcXVldWUuaD4KPiAgCj4gLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0RNQV9BRERS X1RfNjRCSVQpIHx8IGRlZmluZWQoQ09ORklHX01BQ0JfVVNFX0hXU1RBTVApCj4gLSNkZWZpbmUg TUFDQl9FWFRfREVTQwo+IC0jZW5kaWYKPiAtCj4gICNkZWZpbmUgTUFDQl9HUkVHU19OQlIgMTYK PiAgI2RlZmluZSBNQUNCX0dSRUdTX1ZFUlNJT04gMgo+ICAjZGVmaW5lIE1BQ0JfTUFYX1FVRVVF UyA4Cj4gQEAgLTgyNCw3ICs4MjAsNiBAQCBzdHJ1Y3QgbWFjYl9kbWFfZGVzYyB7Cj4gIAl1MzIJ Y3RybDsKPiAgfTsKPiAgCj4gLSNpZmRlZiBNQUNCX0VYVF9ERVNDCj4gICNkZWZpbmUgSFdfRE1B X0NBUF8zMkIJCTAKPiAgI2RlZmluZSBIV19ETUFfQ0FQXzY0QgkJKDEgPDwgMCkKPiAgI2RlZmlu ZSBIV19ETUFfQ0FQX1BUUAkJKDEgPDwgMSkKPiBAQCAtODM5LDcgKzgzNCw2IEBAIHN0cnVjdCBt YWNiX2RtYV9kZXNjX3B0cCB7Cj4gIAl1MzIJdHNfMTsKPiAgCXUzMgl0c18yOwo+ICB9Owo+IC0j ZW5kaWYKPiAgCj4gIC8qIERNQSBkZXNjcmlwdG9yIGJpdGZpZWxkcyAqLwo+ICAjZGVmaW5lIE1B Q0JfUlhfVVNFRF9PRkZTRVQJCQkwCj4gQEAgLTEzMTksOSArMTMxMyw3IEBAIHN0cnVjdCBtYWNi IHsKPiAgCj4gIAlzdHJ1Y3QgcGh5CQkqc2dtaWlfcGh5OwkvKiBmb3IgWnlucU1QIFNHTUlJIG1v ZGUgKi8KPiAgCj4gLSNpZmRlZiBNQUNCX0VYVF9ERVNDCj4gIAl1aW50OF90IGh3X2RtYV9jYXA7 Cj4gLSNlbmRpZgo+ICAJc3BpbmxvY2tfdCB0c3VfY2xrX2xvY2s7IC8qIGdlbSB0c3UgY2xvY2sg bG9ja2luZyAqLwo+ICAJdW5zaWduZWQgaW50IHRzdV9yYXRlOwo+ICAJc3RydWN0IHB0cF9jbG9j ayAqcHRwX2Nsb2NrOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNl L21hY2JfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYwo+ IGluZGV4IGIzMjM2M2JhMWVjM2JlMGZjNDI4NjZjODU4NWYwYjQ2NWQxNzgyMjAuLmFkMTU0Y2Zl MjkxMDZmNjQyYjMyOTIyZmQ0YTAzY2E2MzExMmY0YTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYwo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2NhZGVuY2UvbWFjYl9tYWluLmMKPiBAQCAtOTgsNiArOTgsMTggQEAgc3RydWN0IHNpZml2 ZV9mdTU0MF9tYWNiX21nbXQgewo+ICAKPiAgI2RlZmluZSBNQUNCX01ESU9fVElNRU9VVAkxMDAw MDAwIC8qIGluIHVzZWNzICovCj4gIAo+ICtzdGF0aWMgYm9vbCBtYWNiX2RtYV9pc182NGIoc3Ry dWN0IG1hY2IgKmJwKQo+ICt7Cj4gKwlyZXR1cm4gSVNfRU5BQkxFRChDT05GSUdfQVJDSF9ETUFf QUREUl9UXzY0QklUKSAmJgo+ICsJICAgICAgIGJwLT5od19kbWFfY2FwICYgSFdfRE1BX0NBUF82 NEI7Cj4gK30KPiArCj4gK3N0YXRpYyBib29sIG1hY2JfZG1hX2lzX3B0cChzdHJ1Y3QgbWFjYiAq YnApCj4gK3sKPiArCXJldHVybiBJU19FTkFCTEVEKENPTkZJR19NQUNCX1VTRV9IV1NUQU1QKSAm Jgo+ICsJICAgICAgIGJwLT5od19kbWFfY2FwICYgSFdfRE1BX0NBUF9QVFA7Cj4gK30KPiArCj4g IC8qIERNQSBidWZmZXIgZGVzY3JpcHRvciBtaWdodCBiZSBkaWZmZXJlbnQgc2l6ZQo+ICAgKiBk ZXBlbmRzIG9uIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb246Cj4gICAqCj4gQEAgLTEyNyw1NiArMTM5 LDMxIEBAIHN0cnVjdCBzaWZpdmVfZnU1NDBfbWFjYl9tZ210IHsKPiAgICovCj4gIHN0YXRpYyB1 bnNpZ25lZCBpbnQgbWFjYl9kbWFfZGVzY19nZXRfc2l6ZShzdHJ1Y3QgbWFjYiAqYnApCj4gIHsK PiAtI2lmZGVmIE1BQ0JfRVhUX0RFU0MKPiAtCXVuc2lnbmVkIGludCBkZXNjX3NpemU7Cj4gKwl1 bnNpZ25lZCBpbnQgZGVzY19zaXplID0gc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjKTsKPiAr Cj4gKwlpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSkKPiArCQlkZXNjX3NpemUgKz0gc2l6ZW9mKHN0 cnVjdCBtYWNiX2RtYV9kZXNjXzY0KTsKPiArCWlmIChtYWNiX2RtYV9pc19wdHAoYnApKQo+ICsJ CWRlc2Nfc2l6ZSArPSBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rlc2NfcHRwKTsKPiAgCj4gLQlz d2l0Y2ggKGJwLT5od19kbWFfY2FwKSB7Cj4gLQljYXNlIEhXX0RNQV9DQVBfNjRCOgo+IC0JCWRl c2Nfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzYykKPiAtCQkJKyBzaXplb2Yoc3Ry dWN0IG1hY2JfZG1hX2Rlc2NfNjQpOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBIV19ETUFfQ0FQX1BU UDoKPiAtCQlkZXNjX3NpemUgPSBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rlc2MpCj4gLQkJCSsg c2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjX3B0cCk7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIEhX X0RNQV9DQVBfNjRCX1BUUDoKPiAtCQlkZXNjX3NpemUgPSBzaXplb2Yoc3RydWN0IG1hY2JfZG1h X2Rlc2MpCj4gLQkJCSsgc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjXzY0KQo+IC0JCQkrIHNp emVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHApOwo+IC0JCWJyZWFrOwo+IC0JZGVmYXVsdDoK PiAtCQlkZXNjX3NpemUgPSBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rlc2MpOwo+IC0JfQo+ICAJ cmV0dXJuIGRlc2Nfc2l6ZTsKPiAtI2VuZGlmCj4gLQlyZXR1cm4gc2l6ZW9mKHN0cnVjdCBtYWNi X2RtYV9kZXNjKTsKPiAgfQo+ICAKPiAgc3RhdGljIHVuc2lnbmVkIGludCBtYWNiX2Fkal9kbWFf ZGVzY19pZHgoc3RydWN0IG1hY2IgKmJwLCB1bnNpZ25lZCBpbnQgZGVzY19pZHgpCj4gIHsKPiAt I2lmZGVmIE1BQ0JfRVhUX0RFU0MKPiAtCXN3aXRjaCAoYnAtPmh3X2RtYV9jYXApIHsKPiAtCWNh c2UgSFdfRE1BX0NBUF82NEI6Cj4gLQljYXNlIEhXX0RNQV9DQVBfUFRQOgo+IC0JCWRlc2NfaWR4 IDw8PSAxOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBIV19ETUFfQ0FQXzY0Ql9QVFA6Cj4gLQkJZGVz Y19pZHggKj0gMzsKPiAtCQlicmVhazsKPiAtCWRlZmF1bHQ6Cj4gLQkJYnJlYWs7Cj4gLQl9Cj4g LSNlbmRpZgo+IC0JcmV0dXJuIGRlc2NfaWR4Owo+ICsJaWYgKG1hY2JfZG1hX2lzXzY0YihicCkg JiYgbWFjYl9kbWFfaXNfcHRwKGJwKSkKPiArCQlyZXR1cm4gZGVzY19pZHggKiAzOwo+ICsJZWxz ZSBpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSB8fCBtYWNiX2RtYV9pc19wdHAoYnApKQo+ICsJCXJl dHVybiBkZXNjX2lkeCA8PCAxOwo+ICsJZWxzZQo+ICsJCXJldHVybiBkZXNjX2lkeDsKPiAgfQo+ ICAKPiAtI2lmZGVmIENPTkZJR19BUkNIX0RNQV9BRERSX1RfNjRCSVQKPiAgc3RhdGljIHN0cnVj dCBtYWNiX2RtYV9kZXNjXzY0ICptYWNiXzY0Yl9kZXNjKHN0cnVjdCBtYWNiICpicCwgc3RydWN0 IG1hY2JfZG1hX2Rlc2MgKmRlc2MpCj4gIHsKPiAgCXJldHVybiAoc3RydWN0IG1hY2JfZG1hX2Rl c2NfNjQgKikoKHZvaWQgKilkZXNjCj4gIAkJKyBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rlc2Mp KTsKPiAgfQo+IC0jZW5kaWYKPiAgCj4gIC8qIFJpbmcgYnVmZmVyIGFjY2Vzc29ycyAqLwo+ICBz dGF0aWMgdW5zaWduZWQgaW50IG1hY2JfdHhfcmluZ193cmFwKHN0cnVjdCBtYWNiICpicCwgdW5z aWduZWQgaW50IGluZGV4KQo+IEBAIC01MDAsMTcgKzQ4NywxMyBAQCBzdGF0aWMgdm9pZCBtYWNi X2luaXRfYnVmZmVycyhzdHJ1Y3QgbWFjYiAqYnApCj4gIAo+ICAJZm9yIChxID0gMCwgcXVldWUg PSBicC0+cXVldWVzOyBxIDwgYnAtPm51bV9xdWV1ZXM7ICsrcSwgKytxdWV1ZSkgewo+ICAJCXF1 ZXVlX3dyaXRlbChxdWV1ZSwgUkJRUCwgbG93ZXJfMzJfYml0cyhxdWV1ZS0+cnhfcmluZ19kbWEp KTsKPiAtI2lmZGVmIENPTkZJR19BUkNIX0RNQV9BRERSX1RfNjRCSVQKPiAtCQlpZiAoYnAtPmh3 X2RtYV9jYXAgJiBIV19ETUFfQ0FQXzY0QikKPiArCQlpZiAobWFjYl9kbWFfaXNfNjRiKGJwKSkK PiAgCQkJcXVldWVfd3JpdGVsKHF1ZXVlLCBSQlFQSCwKPiAgCQkJCSAgICAgdXBwZXJfMzJfYml0 cyhxdWV1ZS0+cnhfcmluZ19kbWEpKTsKPiAtI2VuZGlmCj4gIAkJcXVldWVfd3JpdGVsKHF1ZXVl LCBUQlFQLCBsb3dlcl8zMl9iaXRzKHF1ZXVlLT50eF9yaW5nX2RtYSkpOwo+IC0jaWZkZWYgQ09O RklHX0FSQ0hfRE1BX0FERFJfVF82NEJJVAo+IC0JCWlmIChicC0+aHdfZG1hX2NhcCAmIEhXX0RN QV9DQVBfNjRCKQo+ICsJCWlmIChtYWNiX2RtYV9pc182NGIoYnApKQo+ICAJCQlxdWV1ZV93cml0 ZWwocXVldWUsIFRCUVBILAo+ICAJCQkJICAgICB1cHBlcl8zMl9iaXRzKHF1ZXVlLT50eF9yaW5n X2RtYSkpOwo+IC0jZW5kaWYKPiAgCX0KPiAgfQo+ICAKPiBAQCAtMTAzOCwxMCArMTAyMSw5IEBA IHN0YXRpYyB2b2lkIG1hY2JfdHhfdW5tYXAoc3RydWN0IG1hY2IgKmJwLCBzdHJ1Y3QgbWFjYl90 eF9za2IgKnR4X3NrYiwgaW50IGJ1ZGdlCj4gIAo+ICBzdGF0aWMgdm9pZCBtYWNiX3NldF9hZGRy KHN0cnVjdCBtYWNiICpicCwgc3RydWN0IG1hY2JfZG1hX2Rlc2MgKmRlc2MsIGRtYV9hZGRyX3Qg YWRkcikKPiAgewo+IC0jaWZkZWYgQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82NEJJVAo+ICAJc3Ry dWN0IG1hY2JfZG1hX2Rlc2NfNjQgKmRlc2NfNjQ7CgpUaGlzIGNhbiBiZSBtb3ZlZAo+ICAKPiAt CWlmIChicC0+aHdfZG1hX2NhcCAmIEhXX0RNQV9DQVBfNjRCKSB7Cj4gKwlpZiAobWFjYl9kbWFf aXNfNjRiKGJwKSkgewoKaGVyZS4KCj4gIAkJZGVzY182NCA9IG1hY2JfNjRiX2Rlc2MoYnAsIGRl c2MpOwo+ICAJCWRlc2NfNjQtPmFkZHJoID0gdXBwZXJfMzJfYml0cyhhZGRyKTsKPiAgCQkvKiBU aGUgbG93IGJpdHMgb2YgUlggYWRkcmVzcyBjb250YWluIHRoZSBSWF9VU0VEIGJpdCwgY2xlYXJp bmcKPiBAQCAtMTA1MCwyNiArMTAzMiwyMiBAQCBzdGF0aWMgdm9pZCBtYWNiX3NldF9hZGRyKHN0 cnVjdCBtYWNiICpicCwgc3RydWN0IG1hY2JfZG1hX2Rlc2MgKmRlc2MsIGRtYV9hZGRyXwo+ICAJ CSAqLwo+ICAJCWRtYV93bWIoKTsKPiAgCX0KPiAtI2VuZGlmCj4gKwo+ICAJZGVzYy0+YWRkciA9 IGxvd2VyXzMyX2JpdHMoYWRkcik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBkbWFfYWRkcl90IG1hY2Jf Z2V0X2FkZHIoc3RydWN0IG1hY2IgKmJwLCBzdHJ1Y3QgbWFjYl9kbWFfZGVzYyAqZGVzYykKPiAg ewo+IC0JZG1hX2FkZHJfdCBhZGRyID0gMDsKPiAtI2lmZGVmIENPTkZJR19BUkNIX0RNQV9BRERS X1RfNjRCSVQKPiAgCXN0cnVjdCBtYWNiX2RtYV9kZXNjXzY0ICpkZXNjXzY0OwoKU2FtZSBmb3Ig dGhpcyBvbmUuCgo+ICsJZG1hX2FkZHJfdCBhZGRyID0gMDsKPiAgCj4gLQlpZiAoYnAtPmh3X2Rt YV9jYXAgJiBIV19ETUFfQ0FQXzY0Qikgewo+ICsJaWYgKG1hY2JfZG1hX2lzXzY0YihicCkpIHsK PiAgCQlkZXNjXzY0ID0gbWFjYl82NGJfZGVzYyhicCwgZGVzYyk7Cj4gIAkJYWRkciA9ICgodTY0 KShkZXNjXzY0LT5hZGRyaCkgPDwgMzIpOwo+ICAJfQo+IC0jZW5kaWYKPiAgCWFkZHIgfD0gTUFD Ql9CRihSWF9XQUREUiwgTUFDQl9CRkVYVChSWF9XQUREUiwgZGVzYy0+YWRkcikpOwo+IC0jaWZk ZWYgQ09ORklHX01BQ0JfVVNFX0hXU1RBTVAKPiAtCWlmIChicC0+aHdfZG1hX2NhcCAmIEhXX0RN QV9DQVBfUFRQKQo+ICsJaWYgKG1hY2JfZG1hX2lzX3B0cChicCkpCj4gIAkJYWRkciAmPSB+R0VN X0JJVChETUFfUlhWQUxJRCk7Cj4gLSNlbmRpZgo+ICAJcmV0dXJuIGFkZHI7Cj4gIH0KPiAgCj4g QEAgLTExNzYsMTAgKzExNTQsOCBAQCBzdGF0aWMgdm9pZCBtYWNiX3R4X2Vycm9yX3Rhc2soc3Ry dWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAKPiAgCS8qIFJlaW5pdGlhbGl6ZSB0aGUgVFggZGVz YyBxdWV1ZSAqLwo+ICAJcXVldWVfd3JpdGVsKHF1ZXVlLCBUQlFQLCBsb3dlcl8zMl9iaXRzKHF1 ZXVlLT50eF9yaW5nX2RtYSkpOwo+IC0jaWZkZWYgQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82NEJJ VAo+IC0JaWYgKGJwLT5od19kbWFfY2FwICYgSFdfRE1BX0NBUF82NEIpCj4gKwlpZiAobWFjYl9k bWFfaXNfNjRiKGJwKSkKPiAgCQlxdWV1ZV93cml0ZWwocXVldWUsIFRCUVBILCB1cHBlcl8zMl9i aXRzKHF1ZXVlLT50eF9yaW5nX2RtYSkpOwo+IC0jZW5kaWYKPiAgCS8qIE1ha2UgVFggcmluZyBy ZWZsZWN0IHN0YXRlIG9mIGhhcmR3YXJlICovCj4gIAlxdWV1ZS0+dHhfaGVhZCA9IDA7Cj4gIAlx dWV1ZS0+dHhfdGFpbCA9IDA7Cj4gQEAgLTIzNDksMTEgKzIzMjUsOSBAQCBzdGF0aWMgbmV0ZGV2 X3R4X3QgbWFjYl9zdGFydF94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLSNpZmRlZiBDT05GSUdfTUFD Ql9VU0VfSFdTVEFNUAo+IC0JaWYgKChza2Jfc2hpbmZvKHNrYiktPnR4X2ZsYWdzICYgU0tCVFhf SFdfVFNUQU1QKSAmJgo+IC0JICAgIChicC0+aHdfZG1hX2NhcCAmIEhXX0RNQV9DQVBfUFRQKSkK PiArCWlmIChtYWNiX2RtYV9pc19wdHAoYnApICYmCj4gKwkgICAgKHNrYl9zaGluZm8oc2tiKS0+ dHhfZmxhZ3MgJiBTS0JUWF9IV19UU1RBTVApKQo+ICAJCXNrYl9zaGluZm8oc2tiKS0+dHhfZmxh Z3MgfD0gU0tCVFhfSU5fUFJPR1JFU1M7Cj4gLSNlbmRpZgo+ICAKPiAgCWlzX2xzbyA9IChza2Jf c2hpbmZvKHNrYiktPmdzb19zaXplICE9IDApOwo+ICAKPiBAQCAtMjgxMywxNCArMjc4NywxMCBA QCBzdGF0aWMgdm9pZCBtYWNiX2NvbmZpZ3VyZV9kbWEoc3RydWN0IG1hY2IgKmJwKQo+ICAJCQlk bWFjZmcgJj0gfkdFTV9CSVQoVFhDT0VOKTsKPiAgCj4gIAkJZG1hY2ZnICY9IH5HRU1fQklUKEFE RFI2NCk7Cj4gLSNpZmRlZiBDT05GSUdfQVJDSF9ETUFfQUREUl9UXzY0QklUCj4gLQkJaWYgKGJw LT5od19kbWFfY2FwICYgSFdfRE1BX0NBUF82NEIpCj4gKwkJaWYgKG1hY2JfZG1hX2lzXzY0Yihi cCkpCj4gIAkJCWRtYWNmZyB8PSBHRU1fQklUKEFERFI2NCk7Cj4gLSNlbmRpZgo+IC0jaWZkZWYg Q09ORklHX01BQ0JfVVNFX0hXU1RBTVAKPiAtCQlpZiAoYnAtPmh3X2RtYV9jYXAgJiBIV19ETUFf Q0FQX1BUUCkKPiArCQlpZiAobWFjYl9kbWFfaXNfcHRwKGJwKSkKPiAgCQkJZG1hY2ZnIHw9IEdF TV9CSVQoUlhFWFQpIHwgR0VNX0JJVChUWEVYVCk7Cj4gLSNlbmRpZgo+ICAJCW5ldGRldl9kYmco YnAtPmRldiwgIkNhZGVuY2UgY29uZmlndXJlIERNQSB3aXRoIDB4JTA4eFxuIiwKPiAgCQkJICAg ZG1hY2ZnKTsKPiAgCQlnZW1fd3JpdGVsKGJwLCBETUFDRkcsIGRtYWNmZyk7Cj4gQEAgLTQzMjYs MTIgKzQyOTYsMTAgQEAgc3RhdGljIGludCBtYWNiX2luaXQoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPiAgCQkJcXVldWUtPlRCUVAgPSBHRU1fVEJRUChod19xIC0gMSk7Cj4gIAkJCXF1 ZXVlLT5SQlFQID0gR0VNX1JCUVAoaHdfcSAtIDEpOwo+ICAJCQlxdWV1ZS0+UkJRUyA9IEdFTV9S QlFTKGh3X3EgLSAxKTsKPiAtI2lmZGVmIENPTkZJR19BUkNIX0RNQV9BRERSX1RfNjRCSVQKPiAt CQkJaWYgKGJwLT5od19kbWFfY2FwICYgSFdfRE1BX0NBUF82NEIpIHsKPiArCQkJaWYgKG1hY2Jf ZG1hX2lzXzY0YihicCkpIHsKPiAgCQkJCXF1ZXVlLT5UQlFQSCA9IEdFTV9UQlFQSChod19xIC0g MSk7Cj4gIAkJCQlxdWV1ZS0+UkJRUEggPSBHRU1fUkJRUEgoaHdfcSAtIDEpOwo+ICAJCQl9Cj4g LSNlbmRpZgo+ICAJCX0gZWxzZSB7Cj4gIAkJCS8qIHF1ZXVlMCB1c2VzIGxlZ2FjeSByZWdpc3Rl cnMgKi8KPiAgCQkJcXVldWUtPklTUiAgPSBNQUNCX0lTUjsKPiBAQCAtNDM0MCwxMiArNDMwOCwx MCBAQCBzdGF0aWMgaW50IG1hY2JfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ ICAJCQlxdWV1ZS0+SU1SICA9IE1BQ0JfSU1SOwo+ICAJCQlxdWV1ZS0+VEJRUCA9IE1BQ0JfVEJR UDsKPiAgCQkJcXVldWUtPlJCUVAgPSBNQUNCX1JCUVA7Cj4gLSNpZmRlZiBDT05GSUdfQVJDSF9E TUFfQUREUl9UXzY0QklUCj4gLQkJCWlmIChicC0+aHdfZG1hX2NhcCAmIEhXX0RNQV9DQVBfNjRC KSB7Cj4gKwkJCWlmIChtYWNiX2RtYV9pc182NGIoYnApKSB7Cj4gIAkJCQlxdWV1ZS0+VEJRUEgg PSBNQUNCX1RCUVBIOwo+ICAJCQkJcXVldWUtPlJCUVBIID0gTUFDQl9SQlFQSDsKPiAgCQkJfQo+ IC0jZW5kaWYKPiAgCQl9Cj4gIAo+ICAJCS8qIGdldCBpcnE6IGhlcmUgd2UgdXNlIHRoZSBsaW51 eCBxdWV1ZSBpbmRleCwgbm90IHRoZSBoYXJkd2FyZQo+IAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51 eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK