netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] net: dsa: qca8k: enable port flow control
@ 2019-07-24  5:02 xiaofeis
  2019-07-24 17:05 ` kbuild test robot
  2019-07-24 17:50 ` Andrew Lunn
  0 siblings, 2 replies; 5+ messages in thread
From: xiaofeis @ 2019-07-24  5:02 UTC (permalink / raw)
  To: davem
  Cc: vkoul, netdev, andrew, linux-arm-msm, bjorn.andersson,
	vivien.didelot, f.fainelli, niklas.cassel, xiazha, xiaofeis

Set phy device advertising to enable MAC flow control.

Signed-off-by: Xiaofei Shen <xiaofeis@codeaurora.org>
---
 drivers/net/dsa/qca8k.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index 232e8cc..c5ac426 100644
--- a/drivers/net/dsa/qca8k.c
+++ b/drivers/net/dsa/qca8k.c
@@ -2,7 +2,7 @@
 /*
  * Copyright (C) 2009 Felix Fietkau <nbd@nbd.name>
  * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
- * Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015, 2019, The Linux Foundation. All rights reserved.
  * Copyright (c) 2016 John Crispin <john@phrozen.org>
  */
 
@@ -935,6 +935,8 @@
 	qca8k_port_set_status(priv, port, 1);
 	priv->port_sts[port].enabled = 1;
 
+	phy->advertising |= ADVERTISED_Pause | ADVERTISED_Asym_Pause;
+
 	return 0;
 }
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] net: dsa: qca8k: enable port flow control
  2019-07-24  5:02 [PATCH v2] net: dsa: qca8k: enable port flow control xiaofeis
@ 2019-07-24 17:05 ` kbuild test robot
  2019-07-24 17:50 ` Andrew Lunn
  1 sibling, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2019-07-24 17:05 UTC (permalink / raw)
  To: xiaofeis
  Cc: kbuild-all, davem, vkoul, netdev, andrew, linux-arm-msm,
	bjorn.andersson, vivien.didelot, f.fainelli, niklas.cassel,
	xiazha, xiaofeis

[-- Attachment #1: Type: text/plain, Size: 1694 bytes --]

Hi xiaofeis,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.3-rc1 next-20190724]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/xiaofeis/net-dsa-qca8k-enable-port-flow-control/20190724-221126
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/net//dsa/qca8k.c: In function 'qca8k_port_enable':
>> drivers/net//dsa/qca8k.c:938:19: error: assignment to expression with array type
     phy->advertising |= ADVERTISED_Pause | ADVERTISED_Asym_Pause;
                      ^~

vim +938 drivers/net//dsa/qca8k.c

   928	
   929	static int
   930	qca8k_port_enable(struct dsa_switch *ds, int port,
   931			  struct phy_device *phy)
   932	{
   933		struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
   934	
   935		qca8k_port_set_status(priv, port, 1);
   936		priv->port_sts[port].enabled = 1;
   937	
 > 938		phy->advertising |= ADVERTISED_Pause | ADVERTISED_Asym_Pause;
   939	
   940		return 0;
   941	}
   942	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 71365 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] net: dsa: qca8k: enable port flow control
  2019-07-24  5:02 [PATCH v2] net: dsa: qca8k: enable port flow control xiaofeis
  2019-07-24 17:05 ` kbuild test robot
@ 2019-07-24 17:50 ` Andrew Lunn
       [not found]   ` <351b5292d597e47d69d0dcfd5af6a188@codeaurora.org>
  1 sibling, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2019-07-24 17:50 UTC (permalink / raw)
  To: xiaofeis
  Cc: davem, vkoul, netdev, linux-arm-msm, bjorn.andersson,
	vivien.didelot, f.fainelli, niklas.cassel, xiazha

On Wed, Jul 24, 2019 at 01:02:56PM +0800, xiaofeis wrote:
> Set phy device advertising to enable MAC flow control.

Hi Xiaofeis

It seems like you are still using the wrong, and old tree. Please
rebase on net-next/master.

       Thanks
              Andrew

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] net: dsa: qca8k: enable port flow control
       [not found]       ` <e2c51913e0e38450b09ef8f06bf259c0@codeaurora.org>
@ 2019-07-26 13:29         ` Andrew Lunn
  2019-07-27  1:15           ` xiaofeis
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2019-07-26 13:29 UTC (permalink / raw)
  To: xiaofeis; +Cc: vkoul, netdev

> I didn't compile it on this tree, same code is just compiled and tested on
> kernel v4.14.

For kernel development work, v4.14 is dead. It died 12th November
2017. It gets backports of bug fixes, but kernel developers otherwise
don't touch it.

> We are working on one google project, all the change is
> required to upstream by Google.
> But if I do the change based on the new type for kernel 5.3, then the commit
> can't be used directly for Google's project.

So you will need to backport the change. In this case, you will have a
very different patch in v4.14 than in mainline, due to changes like
this. That is part of the pain in using such an old kernel.

You should use the function 

void phy_support_asym_pause(struct phy_device *phydev);

to indicate the MAC supports asym pause.

   Andrew

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] net: dsa: qca8k: enable port flow control
  2019-07-26 13:29         ` Andrew Lunn
@ 2019-07-27  1:15           ` xiaofeis
  0 siblings, 0 replies; 5+ messages in thread
From: xiaofeis @ 2019-07-27  1:15 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: vkoul, netdev

On 2019-07-26 21:29, Andrew Lunn wrote:
>> I didn't compile it on this tree, same code is just compiled and 
>> tested on
>> kernel v4.14.
> 
> For kernel development work, v4.14 is dead. It died 12th November
> 2017. It gets backports of bug fixes, but kernel developers otherwise
> don't touch it.
> 
>> We are working on one google project, all the change is
>> required to upstream by Google.
>> But if I do the change based on the new type for kernel 5.3, then the 
>> commit
>> can't be used directly for Google's project.
> 
> So you will need to backport the change. In this case, you will have a
> very different patch in v4.14 than in mainline, due to changes like
> this. That is part of the pain in using such an old kernel.
> 
> You should use the function
> 
> void phy_support_asym_pause(struct phy_device *phydev);
> 
> to indicate the MAC supports asym pause.
> 
>    Andrew

Hi Andrew

Thanks a lot, you are correct. phy_support_asym_pause is the API to do 
this.

Very appreciate for all your patinet explaination and good suggestion.

Thanks
Xiaofeis

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-07-27  1:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-24  5:02 [PATCH v2] net: dsa: qca8k: enable port flow control xiaofeis
2019-07-24 17:05 ` kbuild test robot
2019-07-24 17:50 ` Andrew Lunn
     [not found]   ` <351b5292d597e47d69d0dcfd5af6a188@codeaurora.org>
     [not found]     ` <20190725130135.GA21952@lunn.ch>
     [not found]       ` <e2c51913e0e38450b09ef8f06bf259c0@codeaurora.org>
2019-07-26 13:29         ` Andrew Lunn
2019-07-27  1:15           ` xiaofeis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).