From patchwork Fri Mar 10 00:58:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Berger X-Patchwork-Id: 737209 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 3vfTTD2Nz4z9s7f for ; Fri, 10 Mar 2017 12:00:32 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="OnoH6IWN"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754832AbdCJBAT (ORCPT ); Thu, 9 Mar 2017 20:00:19 -0500 Received: from mail-qk0-f195.google.com ([209.85.220.195]:33759 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753790AbdCJA7M (ORCPT ); Thu, 9 Mar 2017 19:59:12 -0500 Received: by mail-qk0-f195.google.com with SMTP id j127so24012170qke.0; Thu, 09 Mar 2017 16:59:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/NZ2Jtc5vNFzfrt8wE1/7jUmYPdBfsyRrIMz2rk5gc0=; b=OnoH6IWNWFcnDhXv+HPBYX9faiD0da0s9UW/jINAWBTDRuBVxoMbt+OjaMmZ1le5oK IlkDgOilYpGAnG4RCX/YVuHx+5GMzdbYjCYFg+mA3igkgRq+1jAfXLffeMeu5MN09th6 iiaeLmPTndtmjYVvswBpvewXvV8WUwJed0qJi1ZDjpYJQWA3jfQs6z1E9c2pOE2SUV/X rH4SPyPPKRmI8mbcLmGGxBY/VRfjzRqdTttmuaauQy7NiepMQbTWzZ2Ys4DIayw/njS8 OHv/fWJHECsW62DFp1URj4w21N2Opykj2iPuZXKSxNQCOID1+DX97nWoSG+vCp+LBJuK 1uoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/NZ2Jtc5vNFzfrt8wE1/7jUmYPdBfsyRrIMz2rk5gc0=; b=XiAgS3tyZqwIjFIcGsMkhKJAsUvnVsxr0haDLLhH8kCaBk2DgdZBLDXwXpeTsBB5d+ fQLl0diuik0ViSGJ0NIz7+oFXwayK/Qp7UZ3b2q/tu/jE3kNYoKVAwG+0oW+5DNDnPzH Z3piNurcyx/5qOyH+iofCS4CFQzpZ8K/nSzEfSMB0xOpzK7xX8/W/Qtf7kE7omPEBSnB arxX1K2EaGIlVCOU3s+B1EPy8RaTXI9Y6d/E25Hadd4yAQ9RWI38TabrmUovHNkTtW8K dMAYarq7f7lwfZDca3siIL0QpWGJpT9jBTvyO772rD8xk93I0fW8G6oln6eG/2DSDj1v hpUw== X-Gm-Message-State: AFeK/H1TDIRcQBAiNLfHGPSQW2BgDNkKlqQ3kXTMyYSYrgG7Q4kLrr182PAJrt5pUca++w== X-Received: by 10.55.119.135 with SMTP id s129mr17703649qkc.78.1489107550898; Thu, 09 Mar 2017 16:59:10 -0800 (PST) Received: from stb-bld-02.irv.broadcom.com ([192.19.255.250]) by smtp.gmail.com with ESMTPSA id z4sm1450734qkc.22.2017.03.09.16.59.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Mar 2017 16:59:10 -0800 (PST) From: Doug Berger To: f.fainelli@gmail.com Cc: pgynther@google.com, jaedon.shin@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Edwin Chan , Doug Berger Subject: [PATCH v2 net 7/8] net: bcmgenet: add begin/complete ethtool ops Date: Thu, 9 Mar 2017 16:58:49 -0800 Message-Id: <20170310005850.10808-8-opendmb@gmail.com> X-Mailer: git-send-email 2.11.1 In-Reply-To: <20170310005850.10808-1-opendmb@gmail.com> References: <20170310005850.10808-1-opendmb@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Edwin Chan Make sure clock is enabled for ethtool ops. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Edwin Chan Signed-off-by: Doug Berger Reviewed-by: Florian Fainelli --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index f93098840775..ec1f3014e410 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -450,6 +450,22 @@ static inline void bcmgenet_rdma_ring_writel(struct bcmgenet_priv *priv, genet_dma_ring_regs[r]); } +static int bcmgenet_begin(struct net_device *dev) +{ + struct bcmgenet_priv *priv = netdev_priv(dev); + + /* Turn on the clock */ + return clk_prepare_enable(priv->clk); +} + +static void bcmgenet_complete(struct net_device *dev) +{ + struct bcmgenet_priv *priv = netdev_priv(dev); + + /* Turn off the clock */ + clk_disable_unprepare(priv->clk); +} + static int bcmgenet_get_link_ksettings(struct net_device *dev, struct ethtool_link_ksettings *cmd) { @@ -1022,6 +1038,8 @@ static int bcmgenet_set_eee(struct net_device *dev, struct ethtool_eee *e) /* standard ethtool support functions. */ static const struct ethtool_ops bcmgenet_ethtool_ops = { + .begin = bcmgenet_begin, + .complete = bcmgenet_complete, .get_strings = bcmgenet_get_strings, .get_sset_count = bcmgenet_get_sset_count, .get_ethtool_stats = bcmgenet_get_ethtool_stats,