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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C96FC46467 for ; Mon, 16 Jan 2023 19:00:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233594AbjAPTAw (ORCPT ); Mon, 16 Jan 2023 14:00:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59494 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233411AbjAPTAs (ORCPT ); Mon, 16 Jan 2023 14:00:48 -0500 Received: from dilbert.mork.no (dilbert.mork.no [IPv6:2a01:4f9:c010:a439::d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4835A234D5; Mon, 16 Jan 2023 11:00:47 -0800 (PST) Received: from canardo.dyn.mork.no ([IPv6:2a01:799:c9a:3200:0:0:0:1]) (authenticated bits=0) by dilbert.mork.no (8.15.2/8.15.2) with ESMTPSA id 30GIxuOn2109213 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Mon, 16 Jan 2023 18:59:57 GMT Received: from miraculix.mork.no ([IPv6:2a01:799:c9a:3202:549f:9f7a:c9d8:875b]) (authenticated bits=0) by canardo.dyn.mork.no (8.15.2/8.15.2) with ESMTPSA id 30GIxoPL2177984 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Mon, 16 Jan 2023 19:59:50 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mork.no; s=b; t=1673895591; bh=a4SXkIxmSrOYxxcCMtrOU0vev2/ZChtTN7KgK4Iptkk=; h=From:To:Cc:Subject:References:Date:Message-ID:From; b=kQkPNgTCxYO8ZngrQVLf1ev5VkkeS7NUDz467UYSHqRWRl33bLvhs5qsTRMrCWf8c 6BYJthnUdI7buFBRRe/TUfe/2722DX6fmLLcctQ6KCh+QzQDgJJgX/SqlVB7UoUvb1 O0vsA831gPz393sL+SYfAC2vQRFmH+wZqbhHF3W8= Received: (nullmailer pid 387067 invoked by uid 1000); Mon, 16 Jan 2023 18:59:50 -0000 From: =?utf-8?Q?Bj=C3=B8rn_Mork?= To: "Russell King (Oracle)" Cc: Frank Wunderlich , Frank Wunderlich , linux-mediatek@lists.infradead.org, Alexander Couzens , Felix Fietkau , John Crispin , Sean Wang , Mark Lee , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] net: mtk_sgmii: implement mtk_pcs_ops Organization: m References: <87bkmy33ph.fsf@miraculix.mork.no> <875yd630cu.fsf@miraculix.mork.no> <871qnu2ztz.fsf@miraculix.mork.no> <87pmbe1hu0.fsf@miraculix.mork.no> <87lem21hkq.fsf@miraculix.mork.no> <87a62i1ge4.fsf@miraculix.mork.no> Date: Mon, 16 Jan 2023 19:59:50 +0100 In-Reply-To: (Russell King's message of "Mon, 16 Jan 2023 18:54:05 +0000") Message-ID: <87zgaiz4nt.fsf@miraculix.mork.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: clamav-milter 0.103.7 at canardo X-Virus-Status: Clean Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org "Russell King (Oracle)" writes: > On Mon, Jan 16, 2023 at 07:30:27PM +0100, Bj=C3=B8rn Mork wrote: >> "Russell King (Oracle)" writes: >>=20 >> > That all looks fine. However, I'm running out of ideas. >>=20 >> Thanks a lot for the effort in any case. It's comforting that even the >> top experts can't figure out this one :-) >>=20 >>=20 >> > What we seem to have is: >> > >> > PHY: >> > VSPEC1_SGMII_CTRL =3D 0x34da >> > VSPEC1_SGMII_STAT =3D 0x000e >> > >> > The PHY is programmed to exchange SGMII with the host PCS, and it >> > says that it hasn't completed that exchange (bit 5 of STAT). >> > >> > The Mediatek PCS says: >> > BMCR =3D 0x1140 AN enabled >> > BMSR =3D 0x0008 AN capable >> > ADVERTISE =3D 0x0001 SGMII response (bit 14 is clear, hardware is >> > supposed to manage that bit) >> > LPA =3D 0x0000 SGMII received control word (nothing) >> > SGMII_MODE =3D 0x011b SGMII mode, duplex AN, 1000M, Full duplex, >> > Remote fault disable >> > >> > which all looks like it should work - but it isn't. >> > >> > One last thing I can think of trying at the moment would be writing >> > the VSPEC1_SGMII_CTRL with 0x36da, setting bit 9 which allegedly >> > restarts the SGMII exchange. There's some comments in the PHY driver >> > that this may be needed - maybe it's necessary once the MAC's PCS >> > has been switched to SGMII mode. >>=20 >>=20 >> Tried that now. Didn't change anything. And still no packets. >>=20 >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 >> 0x34da >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 >> 0x000e >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x36da >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 >> 0x34da >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 >> 0x000e > > If bit 9 is indeed the restart-an bit, it will be self-clearing, so > I wouldn't expect a read back of it to change to 0x36da. > > I guess next thing to try is clearing and setting the AN enable bit, > bit 12, so please try this: > > mdio mdio-bus 6:30 raw 8 0x24da > mdio mdio-bus 6:30 raw 8 0x36da > mdio mdio-bus 6:30 raw 9 > > If that doesn't work, then let's try something a bit harder: > > mdio mdio-bus 6:30 raw 8 0xb4da > mdio mdio-bus 6:30 raw 9 > > Please let me know the results from those. OK, back to the original dts with phy-mode =3D "2500base-x", with peer set to 1G. Still no success: root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x34da root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 0x000e root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x24da root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x36da root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 0x000e root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0xb4da root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 0x000e Bj=C3=B8rn 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 C9EB4C46467 for ; Mon, 16 Jan 2023 19:00:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:In-Reply-To: Date:References:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=a4SXkIxmSrOYxxcCMtrOU0vev2/ZChtTN7KgK4Iptkk=; b=vi8IvPONvV6G1F atK/PW0fhQoenaMMb2vbVv3zpI17ST3RfST9HYtJh06gtxwz3cwW2rnwhUvL3lriRhawbTgF+pUul XD993CTJZAPD+cs830U0xbYIqmbR+bwgca++Lf5s/2fgeYpBbm4VkWBrX9IFthWV6NDBG87dsjZYR Pf/L1rUALYA/NqXdn4iTAkurlbV1DIhk2jDfaFWtmSnlDTk95PqqMYsSpgL1h35l5eatXxvVT01Xj DZNnaCBTui2Z7YuzeeMOH/XGXJZPS6LdIj1eFeGX2pMySjwNFh58TXZ+4Bn+TOL0chOP7gsniC/JQ PJHOqeYTeW1agVA1PSAw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHUik-00Bnkg-B2; Mon, 16 Jan 2023 19:00:38 +0000 Received: from dilbert.mork.no ([2a01:4f9:c010:a439::d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHUig-00BnjH-EC; Mon, 16 Jan 2023 19:00:36 +0000 Received: from canardo.dyn.mork.no ([IPv6:2a01:799:c9a:3200:0:0:0:1]) (authenticated bits=0) by dilbert.mork.no (8.15.2/8.15.2) with ESMTPSA id 30GIxuOn2109213 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Mon, 16 Jan 2023 18:59:57 GMT Received: from miraculix.mork.no ([IPv6:2a01:799:c9a:3202:549f:9f7a:c9d8:875b]) (authenticated bits=0) by canardo.dyn.mork.no (8.15.2/8.15.2) with ESMTPSA id 30GIxoPL2177984 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Mon, 16 Jan 2023 19:59:50 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mork.no; s=b; t=1673895591; bh=a4SXkIxmSrOYxxcCMtrOU0vev2/ZChtTN7KgK4Iptkk=; h=From:To:Cc:Subject:References:Date:Message-ID:From; b=kQkPNgTCxYO8ZngrQVLf1ev5VkkeS7NUDz467UYSHqRWRl33bLvhs5qsTRMrCWf8c 6BYJthnUdI7buFBRRe/TUfe/2722DX6fmLLcctQ6KCh+QzQDgJJgX/SqlVB7UoUvb1 O0vsA831gPz393sL+SYfAC2vQRFmH+wZqbhHF3W8= Received: (nullmailer pid 387067 invoked by uid 1000); Mon, 16 Jan 2023 18:59:50 -0000 From: =?utf-8?Q?Bj=C3=B8rn_Mork?= To: "Russell King (Oracle)" Subject: Re: [PATCH v2] net: mtk_sgmii: implement mtk_pcs_ops Organization: m References: <87bkmy33ph.fsf@miraculix.mork.no> <875yd630cu.fsf@miraculix.mork.no> <871qnu2ztz.fsf@miraculix.mork.no> <87pmbe1hu0.fsf@miraculix.mork.no> <87lem21hkq.fsf@miraculix.mork.no> <87a62i1ge4.fsf@miraculix.mork.no> Date: Mon, 16 Jan 2023 19:59:50 +0100 In-Reply-To: (Russell King's message of "Mon, 16 Jan 2023 18:54:05 +0000") Message-ID: <87zgaiz4nt.fsf@miraculix.mork.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: clamav-milter 0.103.7 at canardo X-Virus-Status: Clean X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230116_110034_807242_EEC4BD2F X-CRM114-Status: GOOD ( 23.57 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: netdev@vger.kernel.org, Sean Wang , linux-kernel@vger.kernel.org, "David S. Miller" , Jakub Kicinski , Eric Dumazet , Alexander Couzens , John Crispin , Matthias Brugger , linux-mediatek@lists.infradead.org, Frank Wunderlich , Paolo Abeni , Mark Lee , linux-arm-kernel@lists.infradead.org, Felix Fietkau Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org "Russell King (Oracle)" writes: > On Mon, Jan 16, 2023 at 07:30:27PM +0100, Bj=C3=B8rn Mork wrote: >> "Russell King (Oracle)" writes: >>=20 >> > That all looks fine. However, I'm running out of ideas. >>=20 >> Thanks a lot for the effort in any case. It's comforting that even the >> top experts can't figure out this one :-) >>=20 >>=20 >> > What we seem to have is: >> > >> > PHY: >> > VSPEC1_SGMII_CTRL =3D 0x34da >> > VSPEC1_SGMII_STAT =3D 0x000e >> > >> > The PHY is programmed to exchange SGMII with the host PCS, and it >> > says that it hasn't completed that exchange (bit 5 of STAT). >> > >> > The Mediatek PCS says: >> > BMCR =3D 0x1140 AN enabled >> > BMSR =3D 0x0008 AN capable >> > ADVERTISE =3D 0x0001 SGMII response (bit 14 is clear, hardware is >> > supposed to manage that bit) >> > LPA =3D 0x0000 SGMII received control word (nothing) >> > SGMII_MODE =3D 0x011b SGMII mode, duplex AN, 1000M, Full duplex, >> > Remote fault disable >> > >> > which all looks like it should work - but it isn't. >> > >> > One last thing I can think of trying at the moment would be writing >> > the VSPEC1_SGMII_CTRL with 0x36da, setting bit 9 which allegedly >> > restarts the SGMII exchange. There's some comments in the PHY driver >> > that this may be needed - maybe it's necessary once the MAC's PCS >> > has been switched to SGMII mode. >>=20 >>=20 >> Tried that now. Didn't change anything. And still no packets. >>=20 >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 >> 0x34da >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 >> 0x000e >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x36da >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 >> 0x34da >> root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 >> 0x000e > > If bit 9 is indeed the restart-an bit, it will be self-clearing, so > I wouldn't expect a read back of it to change to 0x36da. > > I guess next thing to try is clearing and setting the AN enable bit, > bit 12, so please try this: > > mdio mdio-bus 6:30 raw 8 0x24da > mdio mdio-bus 6:30 raw 8 0x36da > mdio mdio-bus 6:30 raw 9 > > If that doesn't work, then let's try something a bit harder: > > mdio mdio-bus 6:30 raw 8 0xb4da > mdio mdio-bus 6:30 raw 9 > > Please let me know the results from those. OK, back to the original dts with phy-mode =3D "2500base-x", with peer set to 1G. Still no success: root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x34da root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 0x000e root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x24da root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0x36da root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 0x000e root@OpenWrt:/# mdio mdio-bus 6:30 raw 8 0xb4da root@OpenWrt:/# mdio mdio-bus 6:30 raw 9 0x000e Bj=C3=B8rn 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 47C8EC54EBE for ; Mon, 16 Jan 2023 19:01:49 +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:MIME-Version:Message-ID:In-Reply-To: Date:References: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=fsx6uKVsZiYuRP/lRi/LtsE6nNCltrlgY0jLLXu4sw4=; b=yANV5Ap7wC/XJW DRDLTmAtIZbpdT9Xdgnk57JzlAT+jPwE47QvejLe3wAkHr+pVIrUk7japIlilbqn8d2PdH6iPTgye cYB6LMQvGM4IZOM4dIkvg/OFuFwHs58BLqTB7PwsWD5BbxJFgfgt6kKYeCBr0xDksE0w79PVegfOh 50/7WRFcKlab8qDSnGFIu8GNOzElwfceR9+ZVpPq7GrVn+d31JITRf5vi8rsDlpDKMozBw5G1Qfsg SV7Q1Ukl0FCyTh2g0dguGjFtJnzwU1WKnDAHuvLcXjEoJoAwin7t8F626VywgsMEI9yCYjiZacrrs V70J/rsxg7qyq7lpPvqA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHUil-00Bnkq-BA; Mon, 16 Jan 2023 19:00:39 +0000 Received: from dilbert.mork.no ([2a01:4f9:c010:a439::d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHUig-00BnjH-EC; Mon, 16 Jan 2023 19:00:36 +0000 Received: from canardo.dyn.mork.no ([IPv6:2a01:799:c9a:3200:0:0:0:1]) (authenticated bits=0) by dilbert.mork.no (8.15.2/8.15.2) with ESMTPSA id 30GIxuOn2109213 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Mon, 16 Jan 2023 18:59:57 GMT Received: from miraculix.mork.no ([IPv6:2a01:799:c9a:3202:549f:9f7a:c9d8:875b]) (authenticated bits=0) by canardo.dyn.mork.no (8.15.2/8.15.2) with ESMTPSA id 30GIxoPL2177984 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Mon, 16 Jan 2023 19:59:50 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mork.no; s=b; t=1673895591; bh=a4SXkIxmSrOYxxcCMtrOU0vev2/ZChtTN7KgK4Iptkk=; h=From:To:Cc:Subject:References:Date:Message-ID:From; b=kQkPNgTCxYO8ZngrQVLf1ev5VkkeS7NUDz467UYSHqRWRl33bLvhs5qsTRMrCWf8c 6BYJthnUdI7buFBRRe/TUfe/2722DX6fmLLcctQ6KCh+QzQDgJJgX/SqlVB7UoUvb1 O0vsA831gPz393sL+SYfAC2vQRFmH+wZqbhHF3W8= Received: (nullmailer pid 387067 invoked by uid 1000); Mon, 16 Jan 2023 18:59:50 -0000 From: =?utf-8?Q?Bj=C3=B8rn_Mork?= To: "Russell King (Oracle)" Cc: Frank Wunderlich , Frank Wunderlich , linux-mediatek@lists.infradead.org, Alexander Couzens , Felix Fietkau , John Crispin , Sean Wang , Mark Lee , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] net: mtk_sgmii: implement mtk_pcs_ops Organization: m References: <87bkmy33ph.fsf@miraculix.mork.no> <875yd630cu.fsf@miraculix.mork.no> <871qnu2ztz.fsf@miraculix.mork.no> <87pmbe1hu0.fsf@miraculix.mork.no> <87lem21hkq.fsf@miraculix.mork.no> <87a62i1ge4.fsf@miraculix.mork.no> Date: Mon, 16 Jan 2023 19:59:50 +0100 In-Reply-To: (Russell King's message of "Mon, 16 Jan 2023 18:54:05 +0000") Message-ID: <87zgaiz4nt.fsf@miraculix.mork.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.7 at canardo X-Virus-Status: Clean X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230116_110034_807242_EEC4BD2F X-CRM114-Status: GOOD ( 23.57 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org IlJ1c3NlbGwgS2luZyAoT3JhY2xlKSIgPGxpbnV4QGFybWxpbnV4Lm9yZy51az4gd3JpdGVzOgoK PiBPbiBNb24sIEphbiAxNiwgMjAyMyBhdCAwNzozMDoyN1BNICswMTAwLCBCasO4cm4gTW9yayB3 cm90ZToKPj4gIlJ1c3NlbGwgS2luZyAoT3JhY2xlKSIgPGxpbnV4QGFybWxpbnV4Lm9yZy51az4g d3JpdGVzOgo+PiAKPj4gPiBUaGF0IGFsbCBsb29rcyBmaW5lLiBIb3dldmVyLCBJJ20gcnVubmlu ZyBvdXQgb2YgaWRlYXMuCj4+IAo+PiBUaGFua3MgYSBsb3QgZm9yIHRoZSBlZmZvcnQgaW4gYW55 IGNhc2UuICBJdCdzIGNvbWZvcnRpbmcgdGhhdCBldmVuIHRoZQo+PiB0b3AgZXhwZXJ0cyBjYW4n dCBmaWd1cmUgb3V0IHRoaXMgb25lIDotKQo+PiAKPj4gCj4+ID4gV2hhdCB3ZSBzZWVtIHRvIGhh dmUgaXM6Cj4+ID4KPj4gPiBQSFk6Cj4+ID4gVlNQRUMxX1NHTUlJX0NUUkwgPSAweDM0ZGEKPj4g PiBWU1BFQzFfU0dNSUlfU1RBVCA9IDB4MDAwZQo+PiA+Cj4+ID4gVGhlIFBIWSBpcyBwcm9ncmFt bWVkIHRvIGV4Y2hhbmdlIFNHTUlJIHdpdGggdGhlIGhvc3QgUENTLCBhbmQgaXQKPj4gPiBzYXlz IHRoYXQgaXQgaGFzbid0IGNvbXBsZXRlZCB0aGF0IGV4Y2hhbmdlIChiaXQgNSBvZiBTVEFUKS4K Pj4gPgo+PiA+IFRoZSBNZWRpYXRlayBQQ1Mgc2F5czoKPj4gPiBCTUNSID0gMHgxMTQwCQlBTiBl bmFibGVkCj4+ID4gQk1TUiA9IDB4MDAwOAkJQU4gY2FwYWJsZQo+PiA+IEFEVkVSVElTRSA9IDB4 MDAwMQlTR01JSSByZXNwb25zZSAoYml0IDE0IGlzIGNsZWFyLCBoYXJkd2FyZSBpcwo+PiA+IAkJ CXN1cHBvc2VkIHRvIG1hbmFnZSB0aGF0IGJpdCkKPj4gPiBMUEEgPSAweDAwMDAJCVNHTUlJIHJl Y2VpdmVkIGNvbnRyb2wgd29yZCAobm90aGluZykKPj4gPiBTR01JSV9NT0RFID0gMHgwMTFiCVNH TUlJIG1vZGUsIGR1cGxleCBBTiwgMTAwME0sIEZ1bGwgZHVwbGV4LAo+PiA+IAkJCVJlbW90ZSBm YXVsdCBkaXNhYmxlCj4+ID4KPj4gPiB3aGljaCBhbGwgbG9va3MgbGlrZSBpdCBzaG91bGQgd29y ayAtIGJ1dCBpdCBpc24ndC4KPj4gPgo+PiA+IE9uZSBsYXN0IHRoaW5nIEkgY2FuIHRoaW5rIG9m IHRyeWluZyBhdCB0aGUgbW9tZW50IHdvdWxkIGJlIHdyaXRpbmcKPj4gPiB0aGUgVlNQRUMxX1NH TUlJX0NUUkwgd2l0aCAweDM2ZGEsIHNldHRpbmcgYml0IDkgd2hpY2ggYWxsZWdlZGx5Cj4+ID4g cmVzdGFydHMgdGhlIFNHTUlJIGV4Y2hhbmdlLiBUaGVyZSdzIHNvbWUgY29tbWVudHMgaW4gdGhl IFBIWSBkcml2ZXIKPj4gPiB0aGF0IHRoaXMgbWF5IGJlIG5lZWRlZCAtIG1heWJlIGl0J3MgbmVj ZXNzYXJ5IG9uY2UgdGhlIE1BQydzIFBDUwo+PiA+IGhhcyBiZWVuIHN3aXRjaGVkIHRvIFNHTUlJ IG1vZGUuCj4+IAo+PiAKPj4gVHJpZWQgdGhhdCBub3cuICBEaWRuJ3QgY2hhbmdlIGFueXRoaW5n LiAgQW5kIHN0aWxsIG5vIHBhY2tldHMuCj4+IAo+PiByb290QE9wZW5XcnQ6LyMgbWRpbyBtZGlv LWJ1cyA2OjMwIHJhdyA4Cj4+IDB4MzRkYQo+PiByb290QE9wZW5XcnQ6LyMgbWRpbyBtZGlvLWJ1 cyA2OjMwIHJhdyA5Cj4+IDB4MDAwZQo+PiByb290QE9wZW5XcnQ6LyMgbWRpbyBtZGlvLWJ1cyA2 OjMwIHJhdyA4IDB4MzZkYQo+PiByb290QE9wZW5XcnQ6LyMgbWRpbyBtZGlvLWJ1cyA2OjMwIHJh dyA4Cj4+IDB4MzRkYQo+PiByb290QE9wZW5XcnQ6LyMgbWRpbyBtZGlvLWJ1cyA2OjMwIHJhdyA5 Cj4+IDB4MDAwZQo+Cj4gSWYgYml0IDkgaXMgaW5kZWVkIHRoZSByZXN0YXJ0LWFuIGJpdCwgaXQg d2lsbCBiZSBzZWxmLWNsZWFyaW5nLCBzbwo+IEkgd291bGRuJ3QgZXhwZWN0IGEgcmVhZCBiYWNr IG9mIGl0IHRvIGNoYW5nZSB0byAweDM2ZGEuCj4KPiBJIGd1ZXNzIG5leHQgdGhpbmcgdG8gdHJ5 IGlzIGNsZWFyaW5nIGFuZCBzZXR0aW5nIHRoZSBBTiBlbmFibGUgYml0LAo+IGJpdCAxMiwgc28g cGxlYXNlIHRyeSB0aGlzOgo+Cj4gbWRpbyBtZGlvLWJ1cyA2OjMwIHJhdyA4IDB4MjRkYQo+IG1k aW8gbWRpby1idXMgNjozMCByYXcgOCAweDM2ZGEKPiBtZGlvIG1kaW8tYnVzIDY6MzAgcmF3IDkK Pgo+IElmIHRoYXQgZG9lc24ndCB3b3JrLCB0aGVuIGxldCdzIHRyeSBzb21ldGhpbmcgYSBiaXQg aGFyZGVyOgo+Cj4gbWRpbyBtZGlvLWJ1cyA2OjMwIHJhdyA4IDB4YjRkYQo+IG1kaW8gbWRpby1i dXMgNjozMCByYXcgOQo+Cj4gUGxlYXNlIGxldCBtZSBrbm93IHRoZSByZXN1bHRzIGZyb20gdGhv c2UuCgpPSywgYmFjayB0byB0aGUgb3JpZ2luYWwgZHRzIHdpdGggcGh5LW1vZGUgPSAiMjUwMGJh c2UteCIsIHdpdGggcGVlciBzZXQKdG8gMUcuICBTdGlsbCBubyBzdWNjZXNzOgoKcm9vdEBPcGVu V3J0Oi8jIG1kaW8gbWRpby1idXMgNjozMCByYXcgOAoweDM0ZGEKcm9vdEBPcGVuV3J0Oi8jIG1k aW8gbWRpby1idXMgNjozMCByYXcgOQoweDAwMGUKcm9vdEBPcGVuV3J0Oi8jICBtZGlvIG1kaW8t YnVzIDY6MzAgcmF3IDggMHgyNGRhCnJvb3RAT3BlbldydDovIyBtZGlvIG1kaW8tYnVzIDY6MzAg cmF3IDggMHgzNmRhCnJvb3RAT3BlbldydDovIyBtZGlvIG1kaW8tYnVzIDY6MzAgcmF3IDkKMHgw MDBlCnJvb3RAT3BlbldydDovIyBtZGlvIG1kaW8tYnVzIDY6MzAgcmF3IDggMHhiNGRhCnJvb3RA T3BlbldydDovIyBtZGlvIG1kaW8tYnVzIDY6MzAgcmF3IDkKMHgwMDBlCgoKCkJqw7hybgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=