From patchwork Fri Sep 2 09:49:10 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hayes Wang X-Patchwork-Id: 113071 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 61F95B6F7C for ; Fri, 2 Sep 2011 19:50:27 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932638Ab1IBJta (ORCPT ); Fri, 2 Sep 2011 05:49:30 -0400 Received: from rtits2.realtek.com ([60.250.210.242]:39445 "EHLO rtits2.realtek.com.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758014Ab1IBJt3 (ORCPT ); Fri, 2 Sep 2011 05:49:29 -0400 X-SpamFilter-By: BOX Solutions SpamTrap 5.13 with qID p829nMJP007618, This message is released by code: ctlocs8528 Received: from mail.realtek.com.tw (mail.realtek.com [172.21.1.184]) by rtits2.realtek.com.tw (8.14.5/2.10/5.20) with ESMTP id p829nMJP007618; Fri, 2 Sep 2011 17:49:22 +0800 Received: from fc15.localdomain (172.21.71.61) by RTITCAS1.realtek.com.tw (172.21.1.184) with Microsoft SMTP Server id 8.3.192.1; Fri, 2 Sep 2011 17:49:22 +0800 From: Hayes Wang To: CC: , , Hayes Wang Subject: [PATCH net-next v4 1/4] r8169: fix WOL setting for 8105 and 8111EVL Date: Fri, 2 Sep 2011 17:49:10 +0800 X-BOX-Message-Id: p829nMJP007618 Message-ID: <1314956953-1568-1-git-send-email-hayeswang@realtek.com> X-Mailer: git-send-email 1.7.6 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org rtl8105, rtl8111E, and rtl8111evl need enable RxConfig bit 1 ~ 3 for supporting wake on lan. Signed-off-by: Hayes Wang --- drivers/net/ethernet/realtek/r8169.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 1cf8c3c..aaae43e 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -3319,9 +3319,16 @@ static void r810x_phy_power_up(struct rtl8169_private *tp) static void r810x_pll_power_down(struct rtl8169_private *tp) { + void __iomem *ioaddr = tp->mmio_addr; + if (__rtl8169_get_wol(tp) & WAKE_ANY) { rtl_writephy(tp, 0x1f, 0x0000); rtl_writephy(tp, MII_BMCR, 0x0000); + + if (tp->mac_version == RTL_GIGA_MAC_VER_29 || + tp->mac_version == RTL_GIGA_MAC_VER_30) + RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast | + AcceptMulticast | AcceptMyPhys); return; } @@ -3417,7 +3424,8 @@ static void r8168_pll_power_down(struct rtl8169_private *tp) rtl_writephy(tp, MII_BMCR, 0x0000); if (tp->mac_version == RTL_GIGA_MAC_VER_32 || - tp->mac_version == RTL_GIGA_MAC_VER_33) + tp->mac_version == RTL_GIGA_MAC_VER_33 || + tp->mac_version == RTL_GIGA_MAC_VER_34) RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast | AcceptMulticast | AcceptMyPhys); return;