From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932992AbcFOScr (ORCPT ); Wed, 15 Jun 2016 14:32:47 -0400 Received: from mail-pf0-f175.google.com ([209.85.192.175]:34801 "EHLO mail-pf0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753728AbcFOScm (ORCPT ); Wed, 15 Jun 2016 14:32:42 -0400 From: Vincent Palatin To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Andrew Lunn , Douglas Anderson , Giuseppe Cavallaro , =?UTF-8?q?Heiko=20St=C3=BCbner?= , Shunqian Zheng , Vincent Palatin Subject: [PATCH v2 0/3] net: stmmac: dwmac-rk: fixes for Wake-on-Lan on RK3288 Date: Wed, 15 Jun 2016 11:32:20 -0700 Message-Id: X-Mailer: git-send-email 2.8.0.rc3.226.g39d4020 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Changes since v1: * rename 'powered_down' variable into 'suspended'. * fix the logic recording the PHY suspended state according to Heiko comments. Vincent Palatin (3): net: stmmac: allow to split suspend/resume from init/exit callbacks net: stmmac: dwmac-rk: keep the PHY up for WoL ARM: dts: rockchip: add interrupt for Wake-on-Lan on RK3288 arch/arm/boot/dts/rk3288.dtsi | 5 ++- drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 48 +++++++++++++++++++--- .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 8 +++- include/linux/stmmac.h | 2 + 4 files changed, 54 insertions(+), 9 deletions(-) -- 2.8.0.rc3.226.g39d4020