From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80C78C3A5A3 for ; Tue, 27 Aug 2019 23:21:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 58724206E0 for ; Tue, 27 Aug 2019 23:21:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b="i1eZ/8Ms" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726092AbfH0XVe (ORCPT ); Tue, 27 Aug 2019 19:21:34 -0400 Received: from vps0.lunn.ch ([185.16.172.187]:35980 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726068AbfH0XVe (ORCPT ); Tue, 27 Aug 2019 19:21:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch; s=20171124; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=yyggdSixggZVwfbhlugdOIVryJszIf73PbIlhGxQlis=; b=i1eZ/8Msx8EtiwwMlgoRL+rtjW aZfgF4Nrm27aAl30yOLSMtnhfFB36ilBngdm5e9cCif/P36AeOomcLGgnkj/0kFdPtAYO1GadbWAr mZucsMLCl9Rotf4ceNveZx8eVMz3Kl/qfyNO68lrOe1m9RynIhQDpc2zWQ4I2kh35ODU=; Received: from andrew by vps0.lunn.ch with local (Exim 4.89) (envelope-from ) id 1i2kmK-0007In-7U; Wed, 28 Aug 2019 01:21:32 +0200 Date: Wed, 28 Aug 2019 01:21:32 +0200 From: Andrew Lunn To: Ioana Radulescu Cc: netdev@vger.kernel.org, davem@davemloft.net, ioana.ciornei@nxp.com Subject: Re: [PATCH net-next v2 3/3] dpaa2-eth: Add pause frame support Message-ID: <20190827232132.GD26248@lunn.ch> References: <1566915351-32075-1-git-send-email-ruxandra.radulescu@nxp.com> <1566915351-32075-3-git-send-email-ruxandra.radulescu@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1566915351-32075-3-git-send-email-ruxandra.radulescu@nxp.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Tue, Aug 27, 2019 at 05:15:51PM +0300, Ioana Radulescu wrote: > Starting with firmware version MC10.18.0, we have support for > L2 flow control. Asymmetrical configuration (Rx or Tx only) is > supported, but not pause frame autonegotioation. > +static int set_pause(struct dpaa2_eth_priv *priv) > +{ > + struct device *dev = priv->net_dev->dev.parent; > + struct dpni_link_cfg link_cfg = {0}; > + int err; > + > + /* Get the default link options so we don't override other flags */ > + err = dpni_get_link_cfg(priv->mc_io, 0, priv->mc_token, &link_cfg); > + if (err) { > + dev_err(dev, "dpni_get_link_cfg() failed\n"); > + return err; > + } > + > + link_cfg.options |= DPNI_LINK_OPT_PAUSE; > + link_cfg.options &= ~DPNI_LINK_OPT_ASYM_PAUSE; > + err = dpni_set_link_cfg(priv->mc_io, 0, priv->mc_token, &link_cfg); > + if (err) { > + dev_err(dev, "dpni_set_link_cfg() failed\n"); > + return err; > + } > + > + priv->link_state.options = link_cfg.options; > + > + return 0; > +} > + > /* Configure the DPNI object this interface is associated with */ > static int setup_dpni(struct fsl_mc_device *ls_dev) > { > @@ -2500,6 +2562,13 @@ static int setup_dpni(struct fsl_mc_device *ls_dev) > > set_enqueue_mode(priv); > > + /* Enable pause frame support */ > + if (dpaa2_eth_has_pause_support(priv)) { > + err = set_pause(priv); > + if (err) > + goto close; Hi Ioana So by default you have the MAC do pause, not asym pause? Generally, any MAC that can do asym pause does asym pause. But if this is what you want, it is not wrong. Reviewed-by: Andrew Lunn Andrew