All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC PATCH 3/4] net: dsa: mv88e6xxx: link aggregation support
Date: Thu, 29 Oct 2020 13:28:40 +0800	[thread overview]
Message-ID: <202010291336.rukY5BV0-lkp@intel.com> (raw)
In-Reply-To: <20201027105117.23052-4-tobias@waldekranz.com>

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

Hi Tobias,

[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on linus/master]
[also build test ERROR on v5.10-rc1 next-20201028]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Tobias-Waldekranz/net-dsa-link-aggregation-support/20201027-185322
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 4525c8781ec0701ce824e8bd379ae1b129e26568
config: x86_64-randconfig-a002-20201028 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 772aaa602383cf82795572ebcd86b0e660f3579f)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/79cd23f00678afd5f4815306f0b51b92bafede51
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Tobias-Waldekranz/net-dsa-link-aggregation-support/20201027-185322
        git checkout 79cd23f00678afd5f4815306f0b51b92bafede51
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

All errors (new ones prefixed by >>):

>> drivers/net/dsa/mv88e6xxx/chip.c:5356:9: error: implicit declaration of function 'mv88e6xxx_g2_trunk_mapping_write' [-Werror,-Wimplicit-function-declaration]
           return mv88e6xxx_g2_trunk_mapping_write(chip, lag->id, map);
                  ^
   drivers/net/dsa/mv88e6xxx/chip.c:5356:9: note: did you mean 'mv88e6xxx_g2_device_mapping_write'?
   drivers/net/dsa/mv88e6xxx/global2.h:528:19: note: 'mv88e6xxx_g2_device_mapping_write' declared here
   static inline int mv88e6xxx_g2_device_mapping_write(struct mv88e6xxx_chip *chip,
                     ^
>> drivers/net/dsa/mv88e6xxx/chip.c:5437:9: error: implicit declaration of function 'mv88e6xxx_g2_trunk_mask_write' [-Werror,-Wimplicit-function-declaration]
                   err = mv88e6xxx_g2_trunk_mask_write(chip, i, true, mask[i]);
                         ^
   2 errors generated.

vim +/mv88e6xxx_g2_trunk_mapping_write +5356 drivers/net/dsa/mv88e6xxx/chip.c

  5341	
  5342	static int mv88e6xxx_lag_sync_map(struct dsa_switch *ds, struct dsa_lag *lag)
  5343	{
  5344		struct mv88e6xxx_chip *chip = ds->priv;
  5345		struct dsa_port *dp;
  5346		u16 map = 0;
  5347	
  5348		/* Build the map of all ports to distribute flows destined for
  5349		 * this LAG. This can be either a local user port, or a DSA
  5350		 * port if the LAG port is on a remote chip.
  5351		 */
  5352		list_for_each_entry(dp, &lag->ports, lag_list) {
  5353			map |= BIT(dsa_towards_port(ds, dp->ds->index, dp->index));
  5354		}
  5355	
> 5356		return mv88e6xxx_g2_trunk_mapping_write(chip, lag->id, map);
  5357	}
  5358	
  5359	static const u8 mv88e6xxx_lag_mask_table[8][8] = {
  5360		/* Row number corresponds to the number of active members in a
  5361		 * LAG. Each column states which of the eight hash buckets are
  5362		 * mapped to the column:th port in the LAG.
  5363		 *
  5364		 * Example: In a LAG with three active ports, the second port
  5365		 * ([2][1]) would be selected for traffic mapped to buckets
  5366		 * 3,4,5 (0x38).
  5367		 */
  5368		{ 0xff,    0,    0,    0,    0,    0,    0,    0 },
  5369		{ 0x0f, 0xf0,    0,    0,    0,    0,    0,    0 },
  5370		{ 0x07, 0x38, 0xc0,    0,    0,    0,    0,    0 },
  5371		{ 0x03, 0x0c, 0x30, 0xc0,    0,    0,    0,    0 },
  5372		{ 0x03, 0x0c, 0x30, 0x40, 0x80,    0,    0,    0 },
  5373		{ 0x03, 0x0c, 0x10, 0x20, 0x40, 0x80,    0,    0 },
  5374		{ 0x03, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,    0 },
  5375		{ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 },
  5376	};
  5377	
  5378	static void mv88e6xxx_lag_set_port_mask(u16 *mask, int port,
  5379						int num_tx, int nth)
  5380	{
  5381		u8 active = 0;
  5382		int i;
  5383	
  5384		num_tx = num_tx <= 8 ? num_tx : 8;
  5385		if (nth < num_tx)
  5386			active = mv88e6xxx_lag_mask_table[num_tx - 1][nth];
  5387	
  5388		for (i = 0; i < 8; i++) {
  5389			if (BIT(i) & active)
  5390				mask[i] |= BIT(port);
  5391		}
  5392	}
  5393	
  5394	static int mv88e6xxx_lag_sync_masks(struct dsa_switch *ds)
  5395	{
  5396		struct mv88e6xxx_chip *chip = ds->priv;
  5397		struct dsa_port *dp;
  5398		struct dsa_lag *lag;
  5399		int i, err, nth;
  5400		u16 mask[8] = { 0 };
  5401		u16 ivec;
  5402	
  5403		/* Assume no port is a member of any LAG. */
  5404		ivec = BIT(mv88e6xxx_num_ports(chip)) - 1;
  5405	
  5406		/* Disable all masks for ports that _are_ members of a LAG. */
  5407		list_for_each_entry(lag, &ds->dst->lags, list) {
  5408			list_for_each_entry(dp, &lag->ports, lag_list) {
  5409				if (dp->ds != ds)
  5410					continue;
  5411	
  5412				ivec &= ~BIT(dp->index);
  5413			}
  5414		}
  5415	
  5416		for (i = 0; i < 8; i++)
  5417			mask[i] = ivec;
  5418	
  5419		/* Enable the correct subset of masks for all LAG ports that
  5420		 * are in the Tx set.
  5421		 */
  5422		list_for_each_entry(lag, &ds->dst->lags, list) {
  5423			if (!lag->num_tx)
  5424				continue;
  5425	
  5426			nth = 0;
  5427			list_for_each_entry(dp, &lag->tx_ports, lag_tx_list) {
  5428				if (dp->ds == ds)
  5429					mv88e6xxx_lag_set_port_mask(mask, dp->index,
  5430								    lag->num_tx, nth);
  5431	
  5432				nth++;
  5433			}
  5434		}
  5435	
  5436		for (i = 0; i < 8; i++) {
> 5437			err = mv88e6xxx_g2_trunk_mask_write(chip, i, true, mask[i]);
  5438			if (err)
  5439				return err;
  5440		}
  5441	
  5442		return 0;
  5443	}
  5444	

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

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

  reply	other threads:[~2020-10-29  5:28 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-27 10:51 [RFC PATCH 0/4] net: dsa: link aggregation support Tobias Waldekranz
2020-10-27 10:51 ` [RFC PATCH 1/4] net: dsa: mv88e6xxx: use ethertyped dsa for 6390/6390X Tobias Waldekranz
2020-10-27 14:52   ` Marek Behun
2020-10-27 14:54     ` Marek Behun
2020-10-27 14:58       ` Marek Behun
2020-10-27 10:51 ` [RFC PATCH 2/4] net: dsa: link aggregation support Tobias Waldekranz
2020-10-28  0:58   ` Vladimir Oltean
2020-10-28 14:03     ` Tobias Waldekranz
2020-10-27 10:51 ` [RFC PATCH 3/4] net: dsa: mv88e6xxx: " Tobias Waldekranz
2020-10-29  5:28   ` kernel test robot [this message]
2020-10-29 11:54   ` Dan Carpenter
2020-10-29 11:54     ` Dan Carpenter
2020-10-27 10:51 ` [RFC PATCH 4/4] net: dsa: tag_edsa: support reception of packets from lag devices Tobias Waldekranz
2020-10-28 12:05   ` Vladimir Oltean
2020-10-28 15:28     ` Tobias Waldekranz
2020-10-28 18:18       ` Vladimir Oltean
2020-10-28 22:31         ` Tobias Waldekranz
2020-10-28 23:08           ` Vladimir Oltean
2020-10-29  7:47             ` Tobias Waldekranz
2020-10-30  9:21               ` Vladimir Oltean
2020-11-01 11:31         ` Ido Schimmel
2020-10-27 12:27 ` [RFC PATCH 0/4] net: dsa: link aggregation support Vladimir Oltean
2020-10-27 14:29   ` Andrew Lunn
2020-10-27 14:59   ` Tobias Waldekranz
2020-10-27 14:00 ` Andrew Lunn
2020-10-27 15:09   ` Tobias Waldekranz
2020-10-27 15:05 ` Marek Behun
2020-10-27 15:23   ` Andrew Lunn
2020-10-27 18:25     ` Tobias Waldekranz
2020-10-27 18:33       ` Marek Behun
2020-10-27 19:04         ` Vladimir Oltean
2020-10-27 19:21           ` Tobias Waldekranz
2020-10-27 19:00       ` Vladimir Oltean
2020-10-27 19:37         ` Tobias Waldekranz
2020-10-27 20:02           ` Vladimir Oltean
2020-10-27 20:53             ` Tobias Waldekranz
2020-10-27 22:32               ` Vladimir Oltean
2020-10-28  0:27                 ` Tobias Waldekranz
2020-10-28 22:35       ` Marek Behun
2020-10-27 22:36 ` Andrew Lunn
2020-10-28  0:45   ` Tobias Waldekranz
2020-10-28  1:03     ` Andrew Lunn
2020-11-11  4:28 ` Florian Fainelli
2020-11-19 10:51 ` Vladimir Oltean
2020-11-19 11:52   ` Tobias Waldekranz
2020-11-19 18:12     ` Vladimir Oltean
  -- strict thread matches above, loose matches on Subject: below --
2020-10-29  1:53 [RFC PATCH 3/4] net: dsa: mv88e6xxx: " kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202010291336.rukY5BV0-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.