All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-arm:zii 31/50] drivers/net/phy/sfp-bus.c:203:3: note: in expansion of macro 'phylink_set'
@ 2019-11-08 21:24 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-11-08 21:24 UTC (permalink / raw)
  To: kbuild-all

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

tree:   git://git.armlinux.org.uk/~rmk/linux-arm zii
head:   4ba7c03360edc60a37545f9d7bf73f1e8aeac783
commit: 1acc1100d4f221dbef96ffe69b21109dea79ca29 [31/50] net: sfp: add more extended compliance codes
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
        git checkout 1acc1100d4f221dbef96ffe69b21109dea79ca29
        # save the attached .config to linux build tree
        make ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   In file included from drivers/net/phy/sfp-bus.c:6:0:
   drivers/net/phy/sfp-bus.c: In function 'sfp_parse_support':
>> include/linux/phylink.h:275:48: warning: this statement may fall through [-Wimplicit-fallthrough=]
    #define phylink_set(bm, mode) __phylink_do_bit(__set_bit, bm, mode)
                                                   ^
   include/linux/phylink.h:273:2: note: in definition of macro '__phylink_do_bit'
     op(ETHTOOL_LINK_MODE_ ## mode ## _BIT, bm)
     ^~
>> drivers/net/phy/sfp-bus.c:203:3: note: in expansion of macro 'phylink_set'
      phylink_set(modes, 100000baseCR4_Full);
      ^~~~~~~~~~~
   drivers/net/phy/sfp-bus.c:204:2: note: here
     case SFF8024_ECC_25GBASE_CR_S:
     ^~~~

vim +/phylink_set +203 drivers/net/phy/sfp-bus.c

ce0aa27ff3f68e Russell King   2017-07-25   @6  #include <linux/phylink.h>
3b76a21eb1f200 Russell King   2019-09-14    7  #include <linux/property.h>
ce0aa27ff3f68e Russell King   2017-07-25    8  #include <linux/rtnetlink.h>
ce0aa27ff3f68e Russell King   2017-07-25    9  #include <linux/slab.h>
ce0aa27ff3f68e Russell King   2017-07-25   10  
ce0aa27ff3f68e Russell King   2017-07-25   11  #include "sfp.h"
ce0aa27ff3f68e Russell King   2017-07-25   12  
0a6fcd3fc14d39 Russell King   2017-12-01   13  /**
0a6fcd3fc14d39 Russell King   2017-12-01   14   * struct sfp_bus - internal representation of a sfp bus
0a6fcd3fc14d39 Russell King   2017-12-01   15   */
ce0aa27ff3f68e Russell King   2017-07-25   16  struct sfp_bus {
0a6fcd3fc14d39 Russell King   2017-12-01   17  	/* private: */
ce0aa27ff3f68e Russell King   2017-07-25   18  	struct kref kref;
ce0aa27ff3f68e Russell King   2017-07-25   19  	struct list_head node;
c19bb00070dd15 Russell King   2017-12-01   20  	struct fwnode_handle *fwnode;
ce0aa27ff3f68e Russell King   2017-07-25   21  
ce0aa27ff3f68e Russell King   2017-07-25   22  	const struct sfp_socket_ops *socket_ops;
ce0aa27ff3f68e Russell King   2017-07-25   23  	struct device *sfp_dev;
ce0aa27ff3f68e Russell King   2017-07-25   24  	struct sfp *sfp;
ce0aa27ff3f68e Russell King   2017-07-25   25  
ce0aa27ff3f68e Russell King   2017-07-25   26  	const struct sfp_upstream_ops *upstream_ops;
ce0aa27ff3f68e Russell King   2017-07-25   27  	void *upstream;
ce0aa27ff3f68e Russell King   2017-07-25   28  	struct phy_device *phydev;
ce0aa27ff3f68e Russell King   2017-07-25   29  
ce0aa27ff3f68e Russell King   2017-07-25   30  	bool registered;
ce0aa27ff3f68e Russell King   2017-07-25   31  	bool started;
ce0aa27ff3f68e Russell King   2017-07-25   32  };
ce0aa27ff3f68e Russell King   2017-07-25   33  
0a6fcd3fc14d39 Russell King   2017-12-01   34  /**
0a6fcd3fc14d39 Russell King   2017-12-01   35   * sfp_parse_port() - Parse the EEPROM base ID, setting the port type
0a6fcd3fc14d39 Russell King   2017-12-01   36   * @bus: a pointer to the &struct sfp_bus structure for the sfp module
0a6fcd3fc14d39 Russell King   2017-12-01   37   * @id: a pointer to the module's &struct sfp_eeprom_id
0a6fcd3fc14d39 Russell King   2017-12-01   38   * @support: optional pointer to an array of unsigned long for the
0a6fcd3fc14d39 Russell King   2017-12-01   39   *   ethtool support mask
0a6fcd3fc14d39 Russell King   2017-12-01   40   *
0a6fcd3fc14d39 Russell King   2017-12-01   41   * Parse the EEPROM identification given in @id, and return one of
0a6fcd3fc14d39 Russell King   2017-12-01   42   * %PORT_TP, %PORT_FIBRE or %PORT_OTHER. If @support is non-%NULL,
0a6fcd3fc14d39 Russell King   2017-12-01   43   * also set the ethtool %ETHTOOL_LINK_MODE_xxx_BIT corresponding with
0a6fcd3fc14d39 Russell King   2017-12-01   44   * the connector type.
0a6fcd3fc14d39 Russell King   2017-12-01   45   *
0a6fcd3fc14d39 Russell King   2017-12-01   46   * If the port type is not known, returns %PORT_OTHER.
0a6fcd3fc14d39 Russell King   2017-12-01   47   */
ce0aa27ff3f68e Russell King   2017-07-25   48  int sfp_parse_port(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
ce0aa27ff3f68e Russell King   2017-07-25   49  		   unsigned long *support)
ce0aa27ff3f68e Russell King   2017-07-25   50  {
ce0aa27ff3f68e Russell King   2017-07-25   51  	int port;
ce0aa27ff3f68e Russell King   2017-07-25   52  
ce0aa27ff3f68e Russell King   2017-07-25   53  	/* port is the physical connector, set this from the connector field. */
ce0aa27ff3f68e Russell King   2017-07-25   54  	switch (id->base.connector) {
1acc1100d4f221 Russell King   2019-09-26   55  	case SFF8024_CONNECTOR_SC:
1acc1100d4f221 Russell King   2019-09-26   56  	case SFF8024_CONNECTOR_FIBERJACK:
1acc1100d4f221 Russell King   2019-09-26   57  	case SFF8024_CONNECTOR_LC:
1acc1100d4f221 Russell King   2019-09-26   58  	case SFF8024_CONNECTOR_MT_RJ:
1acc1100d4f221 Russell King   2019-09-26   59  	case SFF8024_CONNECTOR_MU:
1acc1100d4f221 Russell King   2019-09-26   60  	case SFF8024_CONNECTOR_OPTICAL_PIGTAIL:
1acc1100d4f221 Russell King   2019-09-26   61  	case SFF8024_CONNECTOR_MPO_1X12:
1acc1100d4f221 Russell King   2019-09-26   62  	case SFF8024_CONNECTOR_MPO_2X16:
ce0aa27ff3f68e Russell King   2017-07-25   63  		port = PORT_FIBRE;
ce0aa27ff3f68e Russell King   2017-07-25   64  		break;
ce0aa27ff3f68e Russell King   2017-07-25   65  
1acc1100d4f221 Russell King   2019-09-26   66  	case SFF8024_CONNECTOR_RJ45:
ce0aa27ff3f68e Russell King   2017-07-25   67  		port = PORT_TP;
ce0aa27ff3f68e Russell King   2017-07-25   68  		break;
ce0aa27ff3f68e Russell King   2017-07-25   69  
1acc1100d4f221 Russell King   2019-09-26   70  	case SFF8024_CONNECTOR_COPPER_PIGTAIL:
f10fcbcf91006a Russell King   2017-12-29   71  		port = PORT_DA;
f10fcbcf91006a Russell King   2017-12-29   72  		break;
f10fcbcf91006a Russell King   2017-12-29   73  
1acc1100d4f221 Russell King   2019-09-26   74  	case SFF8024_CONNECTOR_UNSPEC:
ce0aa27ff3f68e Russell King   2017-07-25   75  		if (id->base.e1000_base_t) {
ce0aa27ff3f68e Russell King   2017-07-25   76  			port = PORT_TP;
ce0aa27ff3f68e Russell King   2017-07-25   77  			break;
ce0aa27ff3f68e Russell King   2017-07-25   78  		}
ce0aa27ff3f68e Russell King   2017-07-25   79  		/* fallthrough */
1acc1100d4f221 Russell King   2019-09-26   80  	case SFF8024_CONNECTOR_SG: /* guess */
1acc1100d4f221 Russell King   2019-09-26   81  	case SFF8024_CONNECTOR_HSSDC_II:
1acc1100d4f221 Russell King   2019-09-26   82  	case SFF8024_CONNECTOR_NOSEPARATE:
1acc1100d4f221 Russell King   2019-09-26   83  	case SFF8024_CONNECTOR_MXC_2X16:
ce0aa27ff3f68e Russell King   2017-07-25   84  		port = PORT_OTHER;
ce0aa27ff3f68e Russell King   2017-07-25   85  		break;
ce0aa27ff3f68e Russell King   2017-07-25   86  	default:
ce0aa27ff3f68e Russell King   2017-07-25   87  		dev_warn(bus->sfp_dev, "SFP: unknown connector id 0x%02x\n",
ce0aa27ff3f68e Russell King   2017-07-25   88  			 id->base.connector);
ce0aa27ff3f68e Russell King   2017-07-25   89  		port = PORT_OTHER;
ce0aa27ff3f68e Russell King   2017-07-25   90  		break;
ce0aa27ff3f68e Russell King   2017-07-25   91  	}
ce0aa27ff3f68e Russell King   2017-07-25   92  
f10fcbcf91006a Russell King   2017-12-29   93  	if (support) {
f10fcbcf91006a Russell King   2017-12-29   94  		switch (port) {
f10fcbcf91006a Russell King   2017-12-29   95  		case PORT_FIBRE:
f10fcbcf91006a Russell King   2017-12-29   96  			phylink_set(support, FIBRE);
f10fcbcf91006a Russell King   2017-12-29   97  			break;
f10fcbcf91006a Russell King   2017-12-29   98  
f10fcbcf91006a Russell King   2017-12-29   99  		case PORT_TP:
f10fcbcf91006a Russell King   2017-12-29  100  			phylink_set(support, TP);
f10fcbcf91006a Russell King   2017-12-29  101  			break;
f10fcbcf91006a Russell King   2017-12-29  102  		}
f10fcbcf91006a Russell King   2017-12-29  103  	}
f10fcbcf91006a Russell King   2017-12-29  104  
ce0aa27ff3f68e Russell King   2017-07-25  105  	return port;
ce0aa27ff3f68e Russell King   2017-07-25  106  }
ce0aa27ff3f68e Russell King   2017-07-25  107  EXPORT_SYMBOL_GPL(sfp_parse_port);
ce0aa27ff3f68e Russell King   2017-07-25  108  
0a6fcd3fc14d39 Russell King   2017-12-01  109  /**
0a6fcd3fc14d39 Russell King   2017-12-01  110   * sfp_parse_support() - Parse the eeprom id for supported link modes
0a6fcd3fc14d39 Russell King   2017-12-01  111   * @bus: a pointer to the &struct sfp_bus structure for the sfp module
0a6fcd3fc14d39 Russell King   2017-12-01  112   * @id: a pointer to the module's &struct sfp_eeprom_id
0a6fcd3fc14d39 Russell King   2017-12-01  113   * @support: pointer to an array of unsigned long for the ethtool support mask
0a6fcd3fc14d39 Russell King   2017-12-01  114   *
0a6fcd3fc14d39 Russell King   2017-12-01  115   * Parse the EEPROM identification information and derive the supported
0a6fcd3fc14d39 Russell King   2017-12-01  116   * ethtool link modes for the module.
0a6fcd3fc14d39 Russell King   2017-12-01  117   */
ce0aa27ff3f68e Russell King   2017-07-25  118  void sfp_parse_support(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
ce0aa27ff3f68e Russell King   2017-07-25  119  		       unsigned long *support)
ce0aa27ff3f68e Russell King   2017-07-25  120  {
9962acf7fb8c5c Russell King   2017-12-29  121  	unsigned int br_min, br_nom, br_max;
03145864bd0fca Russell King   2018-02-27  122  	__ETHTOOL_DECLARE_LINK_MODE_MASK(modes) = { 0, };
ce0aa27ff3f68e Russell King   2017-07-25  123  
9962acf7fb8c5c Russell King   2017-12-29  124  	/* Decode the bitrate information to MBd */
9962acf7fb8c5c Russell King   2017-12-29  125  	br_min = br_nom = br_max = 0;
9962acf7fb8c5c Russell King   2017-12-29  126  	if (id->base.br_nominal) {
9962acf7fb8c5c Russell King   2017-12-29  127  		if (id->base.br_nominal != 255) {
9962acf7fb8c5c Russell King   2017-12-29  128  			br_nom = id->base.br_nominal * 100;
52c5cd1bf0cecf Antoine Tenart 2018-05-04  129  			br_min = br_nom - id->base.br_nominal * id->ext.br_min;
9962acf7fb8c5c Russell King   2017-12-29  130  			br_max = br_nom + id->base.br_nominal * id->ext.br_max;
9962acf7fb8c5c Russell King   2017-12-29  131  		} else if (id->ext.br_max) {
9962acf7fb8c5c Russell King   2017-12-29  132  			br_nom = 250 * id->ext.br_max;
9962acf7fb8c5c Russell King   2017-12-29  133  			br_max = br_nom + br_nom * id->ext.br_min / 100;
9962acf7fb8c5c Russell King   2017-12-29  134  			br_min = br_nom - br_nom * id->ext.br_min / 100;
9962acf7fb8c5c Russell King   2017-12-29  135  		}
2b999ba899059e Antoine Tenart 2018-05-04  136  
2b999ba899059e Antoine Tenart 2018-05-04  137  		/* When using passive cables, in case neither BR,min nor BR,max
2b999ba899059e Antoine Tenart 2018-05-04  138  		 * are specified, set br_min to 0 as the nominal value is then
2b999ba899059e Antoine Tenart 2018-05-04  139  		 * used as the maximum.
2b999ba899059e Antoine Tenart 2018-05-04  140  		 */
2b999ba899059e Antoine Tenart 2018-05-04  141  		if (br_min == br_max && id->base.sfp_ct_passive)
2b999ba899059e Antoine Tenart 2018-05-04  142  			br_min = 0;
9962acf7fb8c5c Russell King   2017-12-29  143  	}
9962acf7fb8c5c Russell King   2017-12-29  144  
ce0aa27ff3f68e Russell King   2017-07-25  145  	/* Set ethtool support from the compliance fields. */
ce0aa27ff3f68e Russell King   2017-07-25  146  	if (id->base.e10g_base_sr)
03145864bd0fca Russell King   2018-02-27  147  		phylink_set(modes, 10000baseSR_Full);
ce0aa27ff3f68e Russell King   2017-07-25  148  	if (id->base.e10g_base_lr)
03145864bd0fca Russell King   2018-02-27  149  		phylink_set(modes, 10000baseLR_Full);
ce0aa27ff3f68e Russell King   2017-07-25  150  	if (id->base.e10g_base_lrm)
03145864bd0fca Russell King   2018-02-27  151  		phylink_set(modes, 10000baseLRM_Full);
ce0aa27ff3f68e Russell King   2017-07-25  152  	if (id->base.e10g_base_er)
03145864bd0fca Russell King   2018-02-27  153  		phylink_set(modes, 10000baseER_Full);
ce0aa27ff3f68e Russell King   2017-07-25  154  	if (id->base.e1000_base_sx ||
ce0aa27ff3f68e Russell King   2017-07-25  155  	    id->base.e1000_base_lx ||
ce0aa27ff3f68e Russell King   2017-07-25  156  	    id->base.e1000_base_cx)
03145864bd0fca Russell King   2018-02-27  157  		phylink_set(modes, 1000baseX_Full);
ce0aa27ff3f68e Russell King   2017-07-25  158  	if (id->base.e1000_base_t) {
03145864bd0fca Russell King   2018-02-27  159  		phylink_set(modes, 1000baseT_Half);
03145864bd0fca Russell King   2018-02-27  160  		phylink_set(modes, 1000baseT_Full);
ce0aa27ff3f68e Russell King   2017-07-25  161  	}
ce0aa27ff3f68e Russell King   2017-07-25  162  
9962acf7fb8c5c Russell King   2017-12-29  163  	/* 1000Base-PX or 1000Base-BX10 */
9962acf7fb8c5c Russell King   2017-12-29  164  	if ((id->base.e_base_px || id->base.e_base_bx10) &&
9962acf7fb8c5c Russell King   2017-12-29  165  	    br_min <= 1300 && br_max >= 1200)
d7f7e0018b96fd Baruch Siach   2018-11-29  166  		phylink_set(modes, 1000baseX_Full);
9962acf7fb8c5c Russell King   2017-12-29  167  
f10fcbcf91006a Russell King   2017-12-29  168  	/* For active or passive cables, select the link modes
f10fcbcf91006a Russell King   2017-12-29  169  	 * based on the bit rates and the cable compliance bytes.
f10fcbcf91006a Russell King   2017-12-29  170  	 */
f10fcbcf91006a Russell King   2017-12-29  171  	if ((id->base.sfp_ct_passive || id->base.sfp_ct_active) && br_nom) {
f10fcbcf91006a Russell King   2017-12-29  172  		/* This may look odd, but some manufacturers use 12000MBd */
f10fcbcf91006a Russell King   2017-12-29  173  		if (br_min <= 12000 && br_max >= 10300)
03145864bd0fca Russell King   2018-02-27  174  			phylink_set(modes, 10000baseCR_Full);
f10fcbcf91006a Russell King   2017-12-29  175  		if (br_min <= 3200 && br_max >= 3100)
03145864bd0fca Russell King   2018-02-27  176  			phylink_set(modes, 2500baseX_Full);
f10fcbcf91006a Russell King   2017-12-29  177  		if (br_min <= 1300 && br_max >= 1200)
03145864bd0fca Russell King   2018-02-27  178  			phylink_set(modes, 1000baseX_Full);
f10fcbcf91006a Russell King   2017-12-29  179  	}
f10fcbcf91006a Russell King   2017-12-29  180  	if (id->base.sfp_ct_passive) {
f10fcbcf91006a Russell King   2017-12-29  181  		if (id->base.passive.sff8431_app_e)
03145864bd0fca Russell King   2018-02-27  182  			phylink_set(modes, 10000baseCR_Full);
f10fcbcf91006a Russell King   2017-12-29  183  	}
f10fcbcf91006a Russell King   2017-12-29  184  	if (id->base.sfp_ct_active) {
f10fcbcf91006a Russell King   2017-12-29  185  		if (id->base.active.sff8431_app_e ||
f10fcbcf91006a Russell King   2017-12-29  186  		    id->base.active.sff8431_lim) {
03145864bd0fca Russell King   2018-02-27  187  			phylink_set(modes, 10000baseCR_Full);
f10fcbcf91006a Russell King   2017-12-29  188  		}
f10fcbcf91006a Russell King   2017-12-29  189  	}
f10fcbcf91006a Russell King   2017-12-29  190  
ce0aa27ff3f68e Russell King   2017-07-25  191  	switch (id->base.extended_cc) {
1acc1100d4f221 Russell King   2019-09-26  192  	case SFF8024_ECC_UNSPEC:
ce0aa27ff3f68e Russell King   2017-07-25  193  		break;
1acc1100d4f221 Russell King   2019-09-26  194  	case SFF8024_ECC_100GBASE_SR4_25GBASE_SR:
03145864bd0fca Russell King   2018-02-27  195  		phylink_set(modes, 100000baseSR4_Full);
03145864bd0fca Russell King   2018-02-27  196  		phylink_set(modes, 25000baseSR_Full);
ce0aa27ff3f68e Russell King   2017-07-25  197  		break;
1acc1100d4f221 Russell King   2019-09-26  198  	case SFF8024_ECC_100GBASE_LR4_25GBASE_LR:
1acc1100d4f221 Russell King   2019-09-26  199  	case SFF8024_ECC_100GBASE_ER4_25GBASE_ER:
03145864bd0fca Russell King   2018-02-27  200  		phylink_set(modes, 100000baseLR4_ER4_Full);
ce0aa27ff3f68e Russell King   2017-07-25  201  		break;
1acc1100d4f221 Russell King   2019-09-26  202  	case SFF8024_ECC_100GBASE_CR4:
03145864bd0fca Russell King   2018-02-27 @203  		phylink_set(modes, 100000baseCR4_Full);
1acc1100d4f221 Russell King   2019-09-26  204  	case SFF8024_ECC_25GBASE_CR_S:
1acc1100d4f221 Russell King   2019-09-26  205  	case SFF8024_ECC_25GBASE_CR_N:
03145864bd0fca Russell King   2018-02-27  206  		phylink_set(modes, 25000baseCR_Full);
ce0aa27ff3f68e Russell King   2017-07-25  207  		break;
1acc1100d4f221 Russell King   2019-09-26  208  	case SFF8024_ECC_10GBASE_T_SFI:
1acc1100d4f221 Russell King   2019-09-26  209  	case SFF8024_ECC_10GBASE_T_SR:
1acc1100d4f221 Russell King   2019-09-26  210  		phylink_set(modes, 10000baseT_Full);
1acc1100d4f221 Russell King   2019-09-26  211  		break;
1acc1100d4f221 Russell King   2019-09-26  212  	case SFF8024_ECC_5GBASE_T:
1acc1100d4f221 Russell King   2019-09-26  213  		phylink_set(modes, 5000baseT_Full);
1acc1100d4f221 Russell King   2019-09-26  214  		break;
1acc1100d4f221 Russell King   2019-09-26  215  	case SFF8024_ECC_2_5GBASE_T:
1acc1100d4f221 Russell King   2019-09-26  216  		phylink_set(modes, 2500baseT_Full);
1acc1100d4f221 Russell King   2019-09-26  217  		break;
ce0aa27ff3f68e Russell King   2017-07-25  218  	default:
ce0aa27ff3f68e Russell King   2017-07-25  219  		dev_warn(bus->sfp_dev,
ce0aa27ff3f68e Russell King   2017-07-25  220  			 "Unknown/unsupported extended compliance code: 0x%02x\n",
ce0aa27ff3f68e Russell King   2017-07-25  221  			 id->base.extended_cc);
ce0aa27ff3f68e Russell King   2017-07-25  222  		break;
ce0aa27ff3f68e Russell King   2017-07-25  223  	}
ce0aa27ff3f68e Russell King   2017-07-25  224  
ce0aa27ff3f68e Russell King   2017-07-25  225  	/* For fibre channel SFP, derive possible BaseX modes */
ce0aa27ff3f68e Russell King   2017-07-25  226  	if (id->base.fc_speed_100 ||
ce0aa27ff3f68e Russell King   2017-07-25  227  	    id->base.fc_speed_200 ||
ce0aa27ff3f68e Russell King   2017-07-25  228  	    id->base.fc_speed_400) {
ce0aa27ff3f68e Russell King   2017-07-25  229  		if (id->base.br_nominal >= 31)
03145864bd0fca Russell King   2018-02-27  230  			phylink_set(modes, 2500baseX_Full);
ce0aa27ff3f68e Russell King   2017-07-25  231  		if (id->base.br_nominal >= 12)
03145864bd0fca Russell King   2018-02-27  232  			phylink_set(modes, 1000baseX_Full);
03145864bd0fca Russell King   2018-02-27  233  	}
03145864bd0fca Russell King   2018-02-27  234  
03145864bd0fca Russell King   2018-02-27  235  	/* If we haven't discovered any modes that this module supports, try
03145864bd0fca Russell King   2018-02-27  236  	 * the encoding and bitrate to determine supported modes. Some BiDi
03145864bd0fca Russell King   2018-02-27  237  	 * modules (eg, 1310nm/1550nm) are not 1000BASE-BX compliant due to
03145864bd0fca Russell King   2018-02-27  238  	 * the differing wavelengths, so do not set any transceiver bits.
03145864bd0fca Russell King   2018-02-27  239  	 */
03145864bd0fca Russell King   2018-02-27  240  	if (bitmap_empty(modes, __ETHTOOL_LINK_MODE_MASK_NBITS)) {
03145864bd0fca Russell King   2018-02-27  241  		/* If the encoding and bit rate allows 1000baseX */
1acc1100d4f221 Russell King   2019-09-26  242  		if (id->base.encoding == SFF8024_ENCODING_8B10B && br_nom &&
03145864bd0fca Russell King   2018-02-27  243  		    br_min <= 1300 && br_max >= 1200)
03145864bd0fca Russell King   2018-02-27  244  			phylink_set(modes, 1000baseX_Full);
ce0aa27ff3f68e Russell King   2017-07-25  245  	}
03145864bd0fca Russell King   2018-02-27  246  
03145864bd0fca Russell King   2018-02-27  247  	bitmap_or(support, support, modes, __ETHTOOL_LINK_MODE_MASK_NBITS);
03145864bd0fca Russell King   2018-02-27  248  
03145864bd0fca Russell King   2018-02-27  249  	phylink_set(support, Autoneg);
03145864bd0fca Russell King   2018-02-27  250  	phylink_set(support, Pause);
03145864bd0fca Russell King   2018-02-27  251  	phylink_set(support, Asym_Pause);
ce0aa27ff3f68e Russell King   2017-07-25  252  }
ce0aa27ff3f68e Russell King   2017-07-25  253  EXPORT_SYMBOL_GPL(sfp_parse_support);
ce0aa27ff3f68e Russell King   2017-07-25  254  

:::::: The code at line 203 was first introduced by commit
:::::: 03145864bd0fcac29e33442f39d67d4f28b0777c sfp: support 1G BiDi (eg, FiberStore SFP-GE-BX) modules

:::::: TO: Russell King <rmk+kernel@armlinux.org.uk>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-11-08 21:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-08 21:24 [linux-arm:zii 31/50] drivers/net/phy/sfp-bus.c:203:3: note: in expansion of macro 'phylink_set' kbuild 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.