From patchwork Wed Nov 20 20:21:53 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Hesselbarth X-Patchwork-Id: 292860 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 6E1492C00EF for ; Thu, 21 Nov 2013 07:24:49 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755303Ab3KTUX4 (ORCPT ); Wed, 20 Nov 2013 15:23:56 -0500 Received: from mail-ea0-f172.google.com ([209.85.215.172]:41831 "EHLO mail-ea0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755188Ab3KTUWE (ORCPT ); Wed, 20 Nov 2013 15:22:04 -0500 Received: by mail-ea0-f172.google.com with SMTP id q10so1946978ead.31 for ; Wed, 20 Nov 2013 12:22:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=LkcPxMut/oIVL+YX9NITEi2YVQUtpK6gEuJlRFKXMLk=; b=Den/mbWMcspG0B1V2+LEy9ZKXzNV2Ykh4IYhtez0AyjIRDXJ3WMJlHEMng5YkDWeTC Wnd5dj38QnyzvjAbd+Zj2oKU+UU26k6N1mWZQJo5AXiMa0YT77EsMoDJKqBVDRr6OjF7 HjdnXlie6MZ4BosPDypCTvv1LsERkX265YiAsdAT4LxBO9FxEnPCrvznm5wIdgPuzEwx bwkZj4kidfnnzKfTLmhumTIdf+YrQOk2E9wUMqYQSNj6q8QZJ+jn/pT7HHFr6LxvFzeZ FJh+ziskn5QJiOU0p5thQDsbIfRhdDTWUk8j2cX49RYfX5uiWtrdYiShCutoXMiQaZj+ xDiw== X-Received: by 10.14.106.197 with SMTP id m45mr3278601eeg.45.1384978923586; Wed, 20 Nov 2013 12:22:03 -0800 (PST) Received: from topkick.lan (dslc-082-083-251-183.pools.arcor-ip.net. [82.83.251.183]) by mx.google.com with ESMTPSA id j46sm63397359eew.18.2013.11.20.12.22.01 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Nov 2013 12:22:02 -0800 (PST) From: Sebastian Hesselbarth To: Sebastian Hesselbarth Cc: Sebastian Hesselbarth , "David S. Miller" , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC v1 7/7] net: cpsw: resume/suspend PHY on port start/stop Date: Wed, 20 Nov 2013 21:21:53 +0100 Message-Id: <1384978913-8052-8-git-send-email-sebastian.hesselbarth@gmail.com> In-Reply-To: <1384978913-8052-1-git-send-email-sebastian.hesselbarth@gmail.com> References: <1384978913-8052-1-git-send-email-sebastian.hesselbarth@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Network PHYs consume a noticable amount of power. This adds phy_resume on slave_open and phy_suspend on slave_stop to save this power if the port is down anyway. Signed-off-by: Sebastian Hesselbarth --- Cc: David S. Miller Cc: netdev@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- drivers/net/ethernet/ti/cpsw.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c index 90d41d2..f1dc54f 100644 --- a/drivers/net/ethernet/ti/cpsw.c +++ b/drivers/net/ethernet/ti/cpsw.c @@ -1013,6 +1013,7 @@ static void cpsw_slave_open(struct cpsw_slave *slave, struct cpsw_priv *priv) } else { dev_info(priv->dev, "phy found : id is : 0x%x\n", slave->phy->phy_id); + phy_resume(slave->phy); phy_start(slave->phy); /* Configure GMII_SEL register */ @@ -1081,6 +1082,7 @@ static void cpsw_slave_stop(struct cpsw_slave *slave, struct cpsw_priv *priv) if (!slave->phy) return; phy_stop(slave->phy); + phy_suspend(slave->phy); phy_disconnect(slave->phy); slave->phy = NULL; }