From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751167AbdE3WIN (ORCPT ); Tue, 30 May 2017 18:08:13 -0400 Received: from mail-dm3nam03on0086.outbound.protection.outlook.com ([104.47.41.86]:14879 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751062AbdE3WII (ORCPT ); Tue, 30 May 2017 18:08:08 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=fail action=none header.from=nxp.com; Message-ID: <1496182080.19669.11.camel@nxp.com> Subject: Re: [PATCH 2/2] net: phy: micrel: Restore led_mode and clk_sel on resume From: Leonard Crestez To: Florian Fainelli , Andrew Lunn , Andy Duan CC: Johan Hovold , Alexandre Belloni , Philipp Zabel , Fabio Estevam , , , , Shawn Guo Date: Wed, 31 May 2017 01:08:00 +0300 In-Reply-To: <44ddeaeb-3e23-3d88-cc5c-9ed290507648@gmail.com> References: <44ddeaeb-3e23-3d88-cc5c-9ed290507648@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6-1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131406556871510719;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39860400002)(39840400002)(39450400003)(39380400002)(39410400002)(39400400002)(39850400002)(2980300002)(1110001)(1109001)(339900001)(377454003)(189002)(24454002)(377424004)(199003)(105606002)(2906002)(39060400002)(498600001)(8656002)(86362001)(189998001)(23676002)(106466001)(68736007)(57986006)(4326008)(50466002)(85426001)(36756003)(53546009)(33646002)(6246003)(104016004)(6636002)(81166006)(8676002)(54906002)(76176999)(5820100001)(50986999)(356003)(305945005)(50226002)(8936002)(38730400002)(2950100002)(53936002)(229853002)(103116003)(230700001)(77096006)(7416002)(47776003)(5660300001)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR03MB2561;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;MX:1;A:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD007;1:AvaLNbDsAWou+sZ4HqHzqjd0/kJUWVEODPJxlp+VGBKhkHBBtfPIaaAR7vE+PBYbXeOiK7/mZ5ZvjL28HyjhercV/fX2Qj0sZtJnW8vqbq7EURcUArfFv1e1t/tKRGh3XJjIba5Xkc9/ucW5MvcjRwkV1Jyvw3IbbwLmB+ShQc7K1ZENLJCG8sGLWNY9QfrpctKLOpO8HFJRbwmpoAQuPjPv1HUj72TouXIsJp/rt+IfFYyHWCQ5knLGgowpsqt5jQM9YaJJym9SjTCmsaRRdxMw+LVRzn1VSVv7bx4BNf9BNvSXLctqOifOpo2EsM7Op3Mi99ZseK4gY9tnQdOT8v4MfdzJNEANvOWG7q1qe+x/59Saokk6ezAx5FD66rokBWApivotThV1KQUXAiqn5pWbSNjMdWVpXTRUsu+/7JuJpZShSmMIgIzqtTjBeLj9jvB8ushrdOxFS28wCgyafZ+ZCipp57LZ1tg4XUyqesY9HBb02idM5AP1rGUJ7GXf8a9gLCIAbk1TTrRqxMV7a/Ub9ttwoRcP6hE5K0Gzj/l3UyMk1YEUOo7SyISmko06 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR03MB2561: X-MS-Office365-Filtering-Correlation-Id: f6a84f7c-9027-4ba6-695c-08d4a7a859f0 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131430075)(201703131517081);SRVR:BN6PR03MB2561; X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2561;3:K0VZT7qEV/r0Mg+bfBvVsf/F9LV4pjmNWyNzJuICgacgK5pFe2TvmHkFW7ujSnPOr7q48i6E91zyPkvL0JKWtmL1kfooEFwlDydCdoWWtjwwadUHO/LEkkzspSSfTS29s4hZ7fwDnG0zJ9rzYWPG0hNvhqZeLHoWvuboLPb5xbjqmYArFgMDHW+PIhVd30Y/bVGqywWG4y9GkRNd+OtCGrzlnWeEgJK95ysQ8BJhT7b2o4iVEch3MW0l8Uu80jravYUzHlZs/MHJyQwgnQASmkworaXVGIsMUmRuqe2jwRBJEt86nNATV2GJi3iXNunBRsh0jaMMVQ36Pug/vQi/mDWWIqYq1HMnxAf8jG97vvldiUTNBZhHIUY5d5x/4gCHUlS9njIuiMQKuNz8v9hJ4BYG/8S/0AmnPiqRnt3S+9OID/TmYa2Tl0BTAyGrcVr/;25:XMoC1mWJ0CqnORgHR7QHPtN06NdOT6E6t1R/jKfhczeUpyHgqYbnhi55nT0uI622pgrpHL/PDwWtUsTuBWXW5f/m74kT4r3fKdo0b3NZvoF8Qx56vbUVWShQAslSdNW5Ii8t6+Xvvdl/OnZCKapYctxUMiw0Kcgtt3yhlNBzGmGUzIQUrYYCk9Iv11JtOCDj5cXqqYi/55+Fm1QrX4JxB1zpTMQIjEC7kgWOyuObGEo4NbP4pZj47tPfl7zm+qzKTkOBmcVyzV0+wRTMaTaVPkFWzT5vgOJNWXKzTeuXzGXrBl7v9MHSf6F4sX3blgmij7wtpwIAEQH0De/KuNg2t/0hV4KQev631l8Ou6OqIr4tqZrhIfBxuW2i9do3pM/JRAQ67e1gvjH2zVutpXYDX90PJu4AKTtq/FUVCZAcDoV6DkH+eDKazZQzY7rvklbd5Mtny+fy5AA/hf4E9QqNRKGwI4n+zwpkxOP4xp4ItjY= X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2561;31:F6ddXKGUvo78UBmgS7bL9clehfPorgLwrEsfi6gpT2vjx7sGxDMie1JzFm8gxkjpwpLIOG7AJ1QU++duCHG9uqIA3gnGiOVw4nZTxRmKjKUBYdXzK9oD2VhXoGDm+CDWYJe1J9u+JDgRHEd8hsIQbyy4MV7kvCp9Ppv66ubMc+B6BbNTrZixz/LLzMMkUjPX09vdIQdgRTuOm7cmALc6ydn1CRlzNYyHStXNUe1jvMtb3zr0auFMv90q4BfIomAa X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(601004)(2401047)(13016025)(5005006)(8121501046)(13018025)(10201501046)(3002001)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123563025)(20161123559100)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123565025)(20161123556025);SRVR:BN6PR03MB2561;BCL:0;PCL:0;RULEID:(400006);SRVR:BN6PR03MB2561; X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2561;4:x9UTQLmvzAIYCRxG34t+z9ZpDh+q0b6usqNvcj9YfIi/uFvg87kmnC57IiD/XVE9pvD7MAhuC88UAw2MxHruRsbSlP4AfmIqcy0n/qil8/xiUWoE1+zqxLpEE67g27gVKboJ1pMUo9/v7a8n9+NCIDYHaPbpYEDK7aOU2DcBoJkmimLR6S51iUOdekD5ZFTDgcsEKTu1gpAl2lclcQJpiI7F+RAKYk/fGe9hZ1fVKMj6joEqJJ23zi4oLjMZ7MZPGzArJvSocmAbNSx60m8XIa5KAz9jBbpn2wuG1PxvPXinojyAFJwn5Xue0ef39f0sGVizRGf6ypdbnSQGpikqsM6rWPNlU41C3VmP6am17QztyDOPaG7xOX64g4aVNtecOk/yNn0uUfzrjgeoSJ+r+XrMc3XYqDgSzDniAdFctPcl0v+UTm0pqFO2L4aPd62cg+yzbhj5qcb905yVzJnn3IuaJ8sJH5IsLaFbX/zrxkGIbQ9IwNRtGy2UWQ0fRnZLiafDPDv6nY7nFujl1O95M+pcrfTjSD+TWrtNl9+EEVQN3gPkOszWJhojF+zq371mrsYYCiKYyVdTS1f+ZZE65qOETOV55qE8vCLbVbeceqVzxpjtvDaMOtQONI14ILFUH0bp0PBDhQt3BYDeoRkYZfiZ2CT5eaG0NMygk+3jPpQ8PN5dwtcxJbk6EQpbMNZcr2RBr4hThEXW0r9NmWn3QpY29uNQPUgHo01gC/NbUz8Pb8vQYVAmt1PLfjqYIDO4DbPq22x3XWsXtRnl7EmxgrAt8TqBcBDAxyUdigv/rq5zKAOMmTB+CloxeZgSRXB6DMY2GF+ickXBGBDh9BLymefyMzoDV3zHG3X1TF3FtSFsRNpoQJjJy2Q4XA/nKlX3KoRa0WD54WOLzr4etIFpxA== X-Forefront-PRVS: 032334F434 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjAzTUIyNTYxOzIzOk4yTnh3RDhKQnRaa1JSa0dQbWk1R3FSNElC?= =?utf-8?B?dHVFQ0dIbmNic21NV0FyeW1CSEpiVGxBMkN0N0RYZTZ4QjJxUE9kY0JYbFN3?= =?utf-8?B?eVVtb01TU3pmclBjakhQbGgxTVlRRHJUNjFVKzd5a0lab3lqVmllb0E1YzhO?= =?utf-8?B?bUIrekRxNktid2RXa1hQZEVtaHI2K1BUdi9wcmEyYlF2NVJIRTZGbENkdFor?= =?utf-8?B?UDkveFptYVluNjJRKzZVT2Jzb0lmaDlJRWpTc0NrYlVVekV5SlpDQXUraVQy?= =?utf-8?B?YVhxRk55L3RKZkdYUnhCR2RuaUhra0hjOXhUZXVzcmYvOXhuZEQyMjl5cjRu?= =?utf-8?B?RCtVZ2JEL253ZHVQbWUzWFE5OThuVVEzU0VVZSsvZ211S2FuVlovVGFZV1Mw?= =?utf-8?B?d2xxNnFYMlhCWVRqVTVqOHJZYTgzQzlHSk5rK2hoM3NML3NhRFVETEY2YzM1?= =?utf-8?B?SHJUeUpPaTU5dkJvN2JzejNQRzNDOTNxY3FsbUlWREFUc3BoQmlQUzZxdSs1?= =?utf-8?B?SUJydHE2dkFjTU15TjZ6YnplWHpYL0FWNHBSNlNVTDM4WHo0UzJoTmZLRHdD?= =?utf-8?B?RDVzcFJBRkUyV05DNENuQ3BJWjNLcDlPT0Y4aERFWW9VUHNhNSs5ZUt2SnFx?= =?utf-8?B?ZFA5TkQxR0ZrSXNmQmlWdVpnVVN3MFlzUlpPZ2NQZk52cnVjSThySWptRTEz?= =?utf-8?B?SVB4VE9NWjFPQ2ZFeFE2RkJIc0I4d25LSUV2dndzeml1MjFyTCtOa3A4UkxF?= =?utf-8?B?d3FPVHlXc1MwNkllNmpTeElaQ2pUWUErampDTm1ubE0vYURHZHkySkdTN2Zs?= =?utf-8?B?aGFRMk45cnBIZkdDbkNwalBzaENBbkQ1SUZYZ3JoMTljaUdqc2RiN2EvTGlj?= =?utf-8?B?V29LSStjb0JwT3V0WDJacWwrQnYwRUtWeWIxbXFacUVIbisyeUFxbFIzMFpO?= =?utf-8?B?QW5JNjAxa3NTWDlraStRSWpDTWorRGJucE9DSXgxT1hoVm5pYlhNNGNGNXhp?= =?utf-8?B?VjFMOUhqbElidFFyR2dTS2xSa1V2YVpETk9ldWFMcE1RSEtNaUh1VWVPckJU?= =?utf-8?B?OGlhMGMxTzNJdzVNQkFuZjg2VUdpVXJBRmpOYjFndUwwanBPbWNpcVVCcUg2?= =?utf-8?B?NS9WSGlHb1VvajBXbmF5aWpuOWcvOEpuUnpEOEZkWWJOem9TZm8rSnEva0I5?= =?utf-8?B?OVl4SVZhYkQ1clZxMXlOV29wK1JDbU03Z1pJdWRPU3dDS3UvZjlhNVVlS2tB?= =?utf-8?B?MTBWenlTOCtGRjRDNFNlY2lGVXB5bXdsdXgwdUNwOTVySlVZaXM3NklBR3Vt?= =?utf-8?B?ZHdYWUdZS1N6RWx0ekZRNWl6MHY5VytlQ00xQ1NDNC9UL2pSNFo3aHlSVFlR?= =?utf-8?B?bkJNMzVPWDE0UmlSK1BFbEpneEpPdEYvTDBZbmg3K3dhdnhvdi9mZ3k1TXow?= =?utf-8?B?aW12ZjF1TGFQVTQySDZGbDhBUjQ4dWUzRFRramlLbGwyTzlPSktvTHlBUkk2?= =?utf-8?B?WnFxaUJXNXY1YUNSamdVTUk4QjBFZFJJTzNrcDE2ckMxY0RqY3BQMkNwY0pO?= =?utf-8?B?UjdocW1mR2h2SkZNd0I3RkZYZmQzVGdVcEJiT0ViVDhLLzRMdHNEMG51RE93?= =?utf-8?B?T3lpRHZJNUVNeHNiRExlNlplK2NmcURCWlNQYTVBaGZNd3NDeXNWc09TY3RC?= =?utf-8?B?c1BYbHY0SEcxZUR5RFVVUXl6a24rYnZnNU1XUnpPM3VLeXNGc1RhUEVEQjQ1?= =?utf-8?B?V21TUzB3YXhuTmpvNkh4SEE2MWFmSm45UEN0Tkg2dHlNcm5qaDQ1SjVaMm5U?= =?utf-8?B?ZTZaZkdFQVlLV1RxTkhSTTRjRDIrbS91d096dXZZeG5GQXAzQ0hhbWVhT0xJ?= =?utf-8?B?aFN6VHhiMWRiWEJlYTJ0eXFoQ0krR3M1SW8zWndpb2RyZTBiMlhSRmdacTNG?= =?utf-8?Q?QuQSkGNGNBLSY89cHMspyNVorDTfig=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2561;6:msB2rDrvWanEXP8fUOwf2WsgvMv8rQhRACgzVtSDvWxH9s+YQlADZVpoWf93zhIj8oMS4bL/Qq5qCRNWf2/8bYTX1IyJ9P3QDUTpt8kiQ7FRiHyq5myUY2+jerjp6hkiDRQFvZn1tSPVjzQR/EvEopQZIiR4kJ884rs77/3lBx8CeONm5N5EaueNdrwblsD+5IZ8rmebxCylDmILRIprSpqCmnygf3wuIBfpOLAbIDs4lItVSRB1v7rVbRfLSlRgPVaDHWbIZg/2CGcA30iY7P8LGZvVk5lsC52di10NqmKmNKO62kOd13/NvDtqySzdt65PWAEYP2sesMK0dXKekIjeyl8oFcr+rpCzlviZOXFc4FTIHRGaEgDHaPTBtPhJl4/g/2YKJ7QqoWWx4L1L5JWe7joGe1901KgEuy2agPGhlIMtstzD2L0cL8f/tJXkup8Vp44UfgvOtladAiDbcYeisTOj01SNr+Rz7w/kVcz87cSBtAu2ONlsAAentJVm2c+56Z218EohdYs9bdyLOg==;5:vnKB3xHfB+YUm9JZmkQMmNetZjEPlj7ZoaikNHkoHQ4zHhmGycRTkR1bZoh/OvdImNZkeGw8fF8bBnLv5HfM7eSiSYo/4NNpvNcSkJSbHWaKbXzM7mBju4zKlJ0tKvVmEO8A9hkmLIteeMH3BEyg4aFWmh5dMJSOKV3kDBJmB/boehWGO1Jpz+vOKZbe+cKN;24:CGG+rQbg+YZbumV+Gs0SspMX4DJx6y9V5DIU3AwrlT0k5plfiCC1O4Ahj44Tol4G7IzuEgA8Tpqmtw0wMM+fTrELQonn2lnetgr0znwnf1I= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2561;7:AeVp/I6ZEX0hH3C7SLt+hTbVIa22k4YCFQSjKjdpJkvurKG/T5mjysihcDCYBpuPmYaRQwRAZDl5Y9jE1OrQqK7tFr25F8JAltwnt7kuW3M6LJ3N+95wRyYjbO5KnrMJ4PNxdoWsSKXJ3uiZ04fGpdM0mCHRikvMYHvIOPoRNw7yqo3G2iU3vlFF6yxEAjMsj1Ts7wMFFEXE0OVoxDK+R3Q30eQS058MVdODcNa4g/CzxE7jxHJjagaebqJe6W3kKxJje1LczlLkCeJKVtp5mT6DlzdQVLzmuf3R9kfYC5OnEUg6r0SRf3hhrKF03v1kkO8B2KrHM5wE9wcXMNr/vg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2017 22:08:06.9170 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2561 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2017-05-30 at 11:05 -0700, Florian Fainelli wrote: > On 05/30/2017 10:34 AM, Leonard Crestez wrote: > > These bits seem to be lost after a suspend/resume cycle so just set them > > again. > > > > This patch fixes ethernet suspend/resume on imx6ul-14x14-evk boards. > > > > Signed-off-by: Leonard Crestez > > --- > > drivers/net/phy/micrel.c | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c > > index 6a5fd18..c53ee17 100644 > > --- a/drivers/net/phy/micrel.c > > +++ b/drivers/net/phy/micrel.c > > @@ -700,6 +700,9 @@ static int kszphy_suspend(struct phy_device *phydev) > > > > static int kszphy_resume(struct phy_device *phydev) > > { > > + struct kszphy_priv *priv = phydev->priv; > > + int ret; > > + > > genphy_resume(phydev); > > > > /* Enable PHY Interrupts */ > > @@ -709,6 +712,18 @@ static int kszphy_resume(struct phy_device *phydev) > > phydev->drv->config_intr(phydev); > > } > > > > + if (priv->rmii_ref_clk_sel) { > > + ret = kszphy_rmii_clk_sel(phydev, priv->rmii_ref_clk_sel_val); > > + if (ret) { > > + phydev_err(phydev, > > + "failed to set rmii reference clock\n"); > > + return ret; > > + } > > + } > > + > > + if (priv->led_mode >= 0) > > + kszphy_setup_led(phydev, priv->type->led_mode_reg, priv->led_mode); > > Should not we actually call kszphy_config_init() in order to restore > broadcast and nand disable bits as well? I don't know. In my case the B_CAST_OFF bit doesn't seem to be lost and NAND_TREE_ON is already off by the time it gets to linux. The bit that get lost seem to disappear just as the phy is resumed. I added some prints and they look like this: PM: early resume of devices complete after 6.534 msecs begin resume 0x1F=0x8190 0x16=0x202 after genphy_resume 0x1F=0x8100 0x16=0x202 end resume 0x1F=0x8190 0x16=0x202 > If not, I would be more comfortable if we did create a specific function > that takes care of setting the reference clock and LED mode. Ok, I can add a function called kszphy_config_reset() with a comment explaining it's for bits lost on reset/resume. Or perhaps a better option would be to just save/restore the entire 0x1F register?