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 --]
next prev parent 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.