From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754728AbcFPNhv (ORCPT ); Thu, 16 Jun 2016 09:37:51 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:59809 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754698AbcFPNhr (ORCPT ); Thu, 16 Jun 2016 09:37:47 -0400 Subject: Re: net: stmmac: dwmac-rk: fixes for Wake-on-Lan on RK3288 To: Vincent Palatin References: <1465606839-7722-1-git-send-email-vpalatin@chromium.org> <3d278dd6-0b61-f618-b723-52f9c302c999@st.com> CC: , LKML , Andrew Lunn , Douglas Anderson , =?UTF-8?Q?Heiko_St=c3=bcbner?= , Shunqian Zheng , David Miller From: Giuseppe CAVALLARO Message-ID: <1a9e4f56-37b0-892f-97b5-b61106e6d40b@st.com> Date: Thu, 16 Jun 2016 15:37:32 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.52.139.54] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-06-16_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Vincent On 6/15/2016 7:04 PM, Vincent Palatin wrote: > On Sun, Jun 12, 2016 at 11:46 PM, Giuseppe CAVALLARO > wrote: >> On 6/11/2016 3:00 AM, Vincent Palatin wrote: >>> >>> In order to support Wake-On-Lan when using the RK3288 integrated MAC >>> (with an external RGMII PHY), we need to avoid shutting down the regulator >>> of the external PHY when the MAC is suspended as it's currently done in >>> the MAC >>> platform code. >>> As a first step, create independant callbacks for suspend/resume rather >>> than >>> re-using exit/init callbacks. So the dwmac platform driver can behave >>> differently >>> on suspend where it might skip shutting the PHY and at module unloading. >>> Then update the dwmac-rk driver to switch off the PHY regulator only if we >>> are >>> not planning to wake up from the LAN. >>> Finally add the PMT interrupt to the MAC device tree configuration, so we >>> can >>> wake up the core from it when the PHY has received the magic packet. >> >> >> IMO these could be sent for net-next and also other glue logic >> files should be reworked in order to use the new API for coherence. > > Given they will have the same set of functions for exit/init and > suspend/resume, you mean duplicating the callbacks like this : > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c > @@ -359,6 +359,8 @@ static int sti_dwmac_probe(struct platform_device *pdev) > plat_dat->bsp_priv = dwmac; > plat_dat->init = sti_dwmac_init; > plat_dat->exit = sti_dwmac_exit; > + plat_dat->suspend = sti_dwmac_exit; > + plat_dat->resume = sti_dwmac_init; > plat_dat->fix_mac_speed = data->fix_retime_src; > > ret = sti_dwmac_init(pdev, plat_dat->bsp_priv); > > Is this anyhow useful ? I think this is mandatory otherwise you are not guaranteeing the PM stuff working on the rest of the glue-logics (not only sti); because init/exit calls won't be called anymore. So I kindly ask you to propagate the fix and send the V3. The implementation above is ok for me. peppe