All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v2 0/6] mv88e6xxx fixes (mainly 88E6393X family)
@ 2021-11-30 17:01 Marek Behún
  2021-11-30 17:01 ` [PATCH net v2 1/6] net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X Marek Behún
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Marek Behún @ 2021-11-30 17:01 UTC (permalink / raw)
  To: netdev, Andrew Lunn
  Cc: Russell King, Jakub Kicinski, davem, Vladimir Oltean,
	Marek Behún

Hello,

sending v2 of these fixes.

Original cover letter:

So I managed to discovered how to fix inband AN for 2500base-x mode on
88E6393x (Amethyst) family.

This series fixes application of erratum 4.8, adds fix for erratum 5.2,
adds support for completely disablign SerDes receiver / transmitter,
fixes inband AN for 2500base-x mode by using 1000base-x mode and simply
changing frequeny to 3.125 GHz, all this for 88E6393X.

The last commit fixes linking when link partner has AN disabled and the
device invokes the AN bypass feature. Currently we fail to link in this
case.

Changes since v1:
- fixed wrong operator in patch 3 (thanks Russell)
- added more comments about why BMCR_ANENABLE is used in patch 6 (thanks
  Russell)
- updated some return statements from
     if (something)
       return func();
     return 0;
  to
     if (something)
       err = func();
     return err;
  (err is set to 0 before the condition)

Marek

Marek Behún (6):
  net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X
  net: dsa: mv88e6xxx: Drop unnecessary check in
    mv88e6393x_serdes_erratum_4_6()
  net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and
    receiver
  net: dsa: mv88e6xxx: Add fix for erratum 5.2 of 88E6393X family
  net: dsa: mv88e6xxx: Fix inband AN for 2500base-x on 88E6393X family
  net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed

 drivers/net/dsa/mv88e6xxx/serdes.c | 252 +++++++++++++++++++++++++----
 drivers/net/dsa/mv88e6xxx/serdes.h |   4 +
 2 files changed, 224 insertions(+), 32 deletions(-)

-- 
2.32.0


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: [PATCH net v2 3/6] net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver
@ 2021-12-02 10:37 kernel test robot
  0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2021-12-02 10:37 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20211130170151.7741-4-kabel@kernel.org>
References: <20211130170151.7741-4-kabel@kernel.org>
TO: "Marek Behún" <kabel@kernel.org>

Hi "Marek,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net/master]

url:    https://github.com/0day-ci/linux/commits/Marek-Beh-n/mv88e6xxx-fixes-mainly-88E6393X-family/20211201-011600
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 34d8778a943761121f391b7921f79a7adbe1feaf
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: arm-randconfig-m031-20211128 (https://download.01.org/0day-ci/archive/20211202/202112021828.M2Es3NN7-lkp(a)intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/dsa/mv88e6xxx/serdes.c:1409 mv88e6393x_serdes_power() error: uninitialized symbol 'err'.

vim +/err +1409 drivers/net/dsa/mv88e6xxx/serdes.c

de776d0d316f72 Pavana Sharma 2021-03-17  1377  
de776d0d316f72 Pavana Sharma 2021-03-17  1378  int mv88e6393x_serdes_power(struct mv88e6xxx_chip *chip, int port, int lane,
de776d0d316f72 Pavana Sharma 2021-03-17  1379  			    bool on)
de776d0d316f72 Pavana Sharma 2021-03-17  1380  {
de776d0d316f72 Pavana Sharma 2021-03-17  1381  	u8 cmode = chip->ports[port].cmode;
4ac5ae42775ac2 Marek Behún   2021-11-30  1382  	int err;
de776d0d316f72 Pavana Sharma 2021-03-17  1383  
de776d0d316f72 Pavana Sharma 2021-03-17  1384  	if (port != 0 && port != 9 && port != 10)
de776d0d316f72 Pavana Sharma 2021-03-17  1385  		return -EOPNOTSUPP;
de776d0d316f72 Pavana Sharma 2021-03-17  1386  
4ac5ae42775ac2 Marek Behún   2021-11-30  1387  	if (on) {
4ac5ae42775ac2 Marek Behún   2021-11-30  1388  		err = mv88e6393x_serdes_erratum_4_8(chip, lane);
4ac5ae42775ac2 Marek Behún   2021-11-30  1389  		if (err)
4ac5ae42775ac2 Marek Behún   2021-11-30  1390  			return err;
89085d6bbe9f67 Marek Behún   2021-11-30  1391  
89085d6bbe9f67 Marek Behún   2021-11-30  1392  		err = mv88e6393x_serdes_power_lane(chip, lane, true);
89085d6bbe9f67 Marek Behún   2021-11-30  1393  		if (err)
89085d6bbe9f67 Marek Behún   2021-11-30  1394  			return err;
4ac5ae42775ac2 Marek Behún   2021-11-30  1395  	}
4ac5ae42775ac2 Marek Behún   2021-11-30  1396  
de776d0d316f72 Pavana Sharma 2021-03-17  1397  	switch (cmode) {
de776d0d316f72 Pavana Sharma 2021-03-17  1398  	case MV88E6XXX_PORT_STS_CMODE_SGMII:
de776d0d316f72 Pavana Sharma 2021-03-17  1399  	case MV88E6XXX_PORT_STS_CMODE_1000BASEX:
de776d0d316f72 Pavana Sharma 2021-03-17  1400  	case MV88E6XXX_PORT_STS_CMODE_2500BASEX:
89085d6bbe9f67 Marek Behún   2021-11-30  1401  		err = mv88e6390_serdes_power_sgmii(chip, lane, on);
89085d6bbe9f67 Marek Behún   2021-11-30  1402  		break;
de776d0d316f72 Pavana Sharma 2021-03-17  1403  	case MV88E6393X_PORT_STS_CMODE_5GBASER:
de776d0d316f72 Pavana Sharma 2021-03-17  1404  	case MV88E6393X_PORT_STS_CMODE_10GBASER:
89085d6bbe9f67 Marek Behún   2021-11-30  1405  		err = mv88e6390_serdes_power_10g(chip, lane, on);
89085d6bbe9f67 Marek Behún   2021-11-30  1406  		break;
de776d0d316f72 Pavana Sharma 2021-03-17  1407  	}
de776d0d316f72 Pavana Sharma 2021-03-17  1408  
89085d6bbe9f67 Marek Behún   2021-11-30 @1409  	if (err)

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

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

end of thread, other threads:[~2021-12-02 10:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-30 17:01 [PATCH net v2 0/6] mv88e6xxx fixes (mainly 88E6393X family) Marek Behún
2021-11-30 17:01 ` [PATCH net v2 1/6] net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X Marek Behún
2021-11-30 17:01 ` [PATCH net v2 2/6] net: dsa: mv88e6xxx: Drop unnecessary check in mv88e6393x_serdes_erratum_4_6() Marek Behún
2021-11-30 17:01 ` [PATCH net v2 3/6] net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver Marek Behún
2021-11-30 17:01 ` [PATCH net v2 4/6] net: dsa: mv88e6xxx: Add fix for erratum 5.2 of 88E6393X family Marek Behún
2021-11-30 17:01 ` [PATCH net v2 5/6] net: dsa: mv88e6xxx: Fix inband AN for 2500base-x on " Marek Behún
2021-11-30 17:01 ` [PATCH net v2 6/6] net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed Marek Behún
2021-12-01 15:00 ` [PATCH net v2 0/6] mv88e6xxx fixes (mainly 88E6393X family) patchwork-bot+netdevbpf
  -- strict thread matches above, loose matches on Subject: below --
2021-12-02 10:37 [PATCH net v2 3/6] net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.