~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/mii.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/mii.h (Version linux-6.12-rc7) and /include/linux/mii.h (Version linux-4.19.322)


** Warning: Cannot open xref database.

  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 /*                                                
  3  * linux/mii.h: definitions for MII-compatible    
  4  * Originally drivers/net/sunhme.h.               
  5  *                                                
  6  * Copyright (C) 1996, 1999, 2001 David S. Mil    
  7  */                                               
  8 #ifndef __LINUX_MII_H__                           
  9 #define __LINUX_MII_H__                           
 10                                                   
 11                                                   
 12 #include <linux/if.h>                             
 13 #include <linux/linkmode.h>                       
 14 #include <uapi/linux/mii.h>                       
 15                                                   
 16 struct ethtool_cmd;                               
 17                                                   
 18 struct mii_if_info {                              
 19         int phy_id;                               
 20         int advertising;                          
 21         int phy_id_mask;                          
 22         int reg_num_mask;                         
 23                                                   
 24         unsigned int full_duplex : 1;   /* is     
 25         unsigned int force_media : 1;   /* is     
 26         unsigned int supports_gmii : 1; /* are    
 27                                                   
 28         struct net_device *dev;                   
 29         int (*mdio_read) (struct net_device *d    
 30         void (*mdio_write) (struct net_device     
 31 };                                                
 32                                                   
 33 extern int mii_link_ok (struct mii_if_info *mi    
 34 extern int mii_nway_restart (struct mii_if_inf    
 35 extern void mii_ethtool_gset(struct mii_if_inf    
 36 extern void mii_ethtool_get_link_ksettings(       
 37         struct mii_if_info *mii, struct ethtoo    
 38 extern int mii_ethtool_sset(struct mii_if_info    
 39 extern int mii_ethtool_set_link_ksettings(        
 40         struct mii_if_info *mii, const struct     
 41 extern int mii_check_gmii_support(struct mii_i    
 42 extern void mii_check_link (struct mii_if_info    
 43 extern unsigned int mii_check_media (struct mi    
 44                                      unsigned     
 45                                      unsigned     
 46 extern int generic_mii_ioctl(struct mii_if_inf    
 47                              struct mii_ioctl_    
 48                              unsigned int *dup    
 49                                                   
 50                                                   
 51 static inline struct mii_ioctl_data *if_mii(st    
 52 {                                                 
 53         return (struct mii_ioctl_data *) &rq->    
 54 }                                                 
 55                                                   
 56 /**                                               
 57  * mii_nway_result                                
 58  * @negotiated: value of MII ANAR and'd with A    
 59  *                                                
 60  * Given a set of MII abilities, check each bi    
 61  * currently supported media, in the priority     
 62  * IEEE 802.3u.  We use LPA_xxx constants but     
 63  * value of LPA solely, as described above.       
 64  *                                                
 65  * The one exception to IEEE 802.3u is that 10    
 66  * between 100T-full and 100T-half.  If your p    
 67  * 100T4 this is fine.  If your phy places 100    
 68  * priority order, you will need to roll your     
 69  */                                               
 70 static inline unsigned int mii_nway_result (un    
 71 {                                                 
 72         unsigned int ret;                         
 73                                                   
 74         if (negotiated & LPA_100FULL)             
 75                 ret = LPA_100FULL;                
 76         else if (negotiated & LPA_100BASE4)       
 77                 ret = LPA_100BASE4;               
 78         else if (negotiated & LPA_100HALF)        
 79                 ret = LPA_100HALF;                
 80         else if (negotiated & LPA_10FULL)         
 81                 ret = LPA_10FULL;                 
 82         else                                      
 83                 ret = LPA_10HALF;                 
 84                                                   
 85         return ret;                               
 86 }                                                 
 87                                                   
 88 /**                                               
 89  * mii_duplex                                     
 90  * @duplex_lock: Non-zero if duplex is locked     
 91  * @negotiated: value of MII ANAR and'd with A    
 92  *                                                
 93  * A small helper function for a common case.     
 94  * if the media is operating or locked at full    
 95  * returns zero otherwise.                        
 96  */                                               
 97 static inline unsigned int mii_duplex (unsigne    
 98                                        unsigne    
 99 {                                                 
100         if (duplex_lock)                          
101                 return 1;                         
102         if (mii_nway_result(negotiated) & LPA_    
103                 return 1;                         
104         return 0;                                 
105 }                                                 
106                                                   
107 /**                                               
108  * ethtool_adv_to_mii_adv_t                       
109  * @ethadv: the ethtool advertisement settings    
110  *                                                
111  * A small helper function that translates eth    
112  * settings to phy autonegotiation advertiseme    
113  * MII_ADVERTISE register.                        
114  */                                               
115 static inline u32 ethtool_adv_to_mii_adv_t(u32    
116 {                                                 
117         u32 result = 0;                           
118                                                   
119         if (ethadv & ADVERTISED_10baseT_Half)     
120                 result |= ADVERTISE_10HALF;       
121         if (ethadv & ADVERTISED_10baseT_Full)     
122                 result |= ADVERTISE_10FULL;       
123         if (ethadv & ADVERTISED_100baseT_Half)    
124                 result |= ADVERTISE_100HALF;      
125         if (ethadv & ADVERTISED_100baseT_Full)    
126                 result |= ADVERTISE_100FULL;      
127         if (ethadv & ADVERTISED_Pause)            
128                 result |= ADVERTISE_PAUSE_CAP;    
129         if (ethadv & ADVERTISED_Asym_Pause)       
130                 result |= ADVERTISE_PAUSE_ASYM    
131                                                   
132         return result;                            
133 }                                                 
134                                                   
135 /**                                               
136  * linkmode_adv_to_mii_adv_t                      
137  * @advertising: the linkmode advertisement se    
138  *                                                
139  * A small helper function that translates lin    
140  * settings to phy autonegotiation advertiseme    
141  * MII_ADVERTISE register.                        
142  */                                               
143 static inline u32 linkmode_adv_to_mii_adv_t(co    
144 {                                                 
145         u32 result = 0;                           
146                                                   
147         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
148                 result |= ADVERTISE_10HALF;       
149         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
150                 result |= ADVERTISE_10FULL;       
151         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
152                 result |= ADVERTISE_100HALF;      
153         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
154                 result |= ADVERTISE_100FULL;      
155         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
156                 result |= ADVERTISE_PAUSE_CAP;    
157         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
158                 result |= ADVERTISE_PAUSE_ASYM    
159                                                   
160         return result;                            
161 }                                                 
162                                                   
163 /**                                               
164  * mii_adv_to_ethtool_adv_t                       
165  * @adv: value of the MII_ADVERTISE register      
166  *                                                
167  * A small helper function that translates MII    
168  * to ethtool advertisement settings.             
169  */                                               
170 static inline u32 mii_adv_to_ethtool_adv_t(u32    
171 {                                                 
172         u32 result = 0;                           
173                                                   
174         if (adv & ADVERTISE_10HALF)               
175                 result |= ADVERTISED_10baseT_H    
176         if (adv & ADVERTISE_10FULL)               
177                 result |= ADVERTISED_10baseT_F    
178         if (adv & ADVERTISE_100HALF)              
179                 result |= ADVERTISED_100baseT_    
180         if (adv & ADVERTISE_100FULL)              
181                 result |= ADVERTISED_100baseT_    
182         if (adv & ADVERTISE_PAUSE_CAP)            
183                 result |= ADVERTISED_Pause;       
184         if (adv & ADVERTISE_PAUSE_ASYM)           
185                 result |= ADVERTISED_Asym_Paus    
186                                                   
187         return result;                            
188 }                                                 
189                                                   
190 /**                                               
191  * ethtool_adv_to_mii_ctrl1000_t                  
192  * @ethadv: the ethtool advertisement settings    
193  *                                                
194  * A small helper function that translates eth    
195  * settings to phy autonegotiation advertiseme    
196  * MII_CTRL1000 register when in 1000T mode.      
197  */                                               
198 static inline u32 ethtool_adv_to_mii_ctrl1000_    
199 {                                                 
200         u32 result = 0;                           
201                                                   
202         if (ethadv & ADVERTISED_1000baseT_Half    
203                 result |= ADVERTISE_1000HALF;     
204         if (ethadv & ADVERTISED_1000baseT_Full    
205                 result |= ADVERTISE_1000FULL;     
206                                                   
207         return result;                            
208 }                                                 
209                                                   
210 /**                                               
211  * linkmode_adv_to_mii_ctrl1000_t                 
212  * @advertising: the linkmode advertisement se    
213  *                                                
214  * A small helper function that translates lin    
215  * settings to phy autonegotiation advertiseme    
216  * MII_CTRL1000 register when in 1000T mode.      
217  */                                               
218 static inline u32                                 
219 linkmode_adv_to_mii_ctrl1000_t(const unsigned     
220 {                                                 
221         u32 result = 0;                           
222                                                   
223         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
224                               advertising))       
225                 result |= ADVERTISE_1000HALF;     
226         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
227                               advertising))       
228                 result |= ADVERTISE_1000FULL;     
229                                                   
230         return result;                            
231 }                                                 
232                                                   
233 /**                                               
234  * mii_ctrl1000_to_ethtool_adv_t                  
235  * @adv: value of the MII_CTRL1000 register       
236  *                                                
237  * A small helper function that translates MII    
238  * bits, when in 1000Base-T mode, to ethtool      
239  * advertisement settings.                        
240  */                                               
241 static inline u32 mii_ctrl1000_to_ethtool_adv_    
242 {                                                 
243         u32 result = 0;                           
244                                                   
245         if (adv & ADVERTISE_1000HALF)             
246                 result |= ADVERTISED_1000baseT    
247         if (adv & ADVERTISE_1000FULL)             
248                 result |= ADVERTISED_1000baseT    
249                                                   
250         return result;                            
251 }                                                 
252                                                   
253 /**                                               
254  * mii_lpa_to_ethtool_lpa_t                       
255  * @adv: value of the MII_LPA register            
256  *                                                
257  * A small helper function that translates MII    
258  * bits, when in 1000Base-T mode, to ethtool      
259  * LP advertisement settings.                     
260  */                                               
261 static inline u32 mii_lpa_to_ethtool_lpa_t(u32    
262 {                                                 
263         u32 result = 0;                           
264                                                   
265         if (lpa & LPA_LPACK)                      
266                 result |= ADVERTISED_Autoneg;     
267                                                   
268         return result | mii_adv_to_ethtool_adv    
269 }                                                 
270                                                   
271 /**                                               
272  * mii_stat1000_to_ethtool_lpa_t                  
273  * @adv: value of the MII_STAT1000 register       
274  *                                                
275  * A small helper function that translates MII    
276  * bits, when in 1000Base-T mode, to ethtool      
277  * advertisement settings.                        
278  */                                               
279 static inline u32 mii_stat1000_to_ethtool_lpa_    
280 {                                                 
281         u32 result = 0;                           
282                                                   
283         if (lpa & LPA_1000HALF)                   
284                 result |= ADVERTISED_1000baseT    
285         if (lpa & LPA_1000FULL)                   
286                 result |= ADVERTISED_1000baseT    
287                                                   
288         return result;                            
289 }                                                 
290                                                   
291 /**                                               
292  * mii_stat1000_mod_linkmode_lpa_t                
293  * @advertising: target the linkmode advertise    
294  * @adv: value of the MII_STAT1000 register       
295  *                                                
296  * A small helper function that translates MII    
297  * 1000Base-T mode, to linkmode advertisement     
298  * advertising are not changes.                   
299  */                                               
300 static inline void mii_stat1000_mod_linkmode_l    
301                                                   
302 {                                                 
303         linkmode_mod_bit(ETHTOOL_LINK_MODE_100    
304                          advertising, lpa & LP    
305                                                   
306         linkmode_mod_bit(ETHTOOL_LINK_MODE_100    
307                          advertising, lpa & LP    
308 }                                                 
309                                                   
310 /**                                               
311  * ethtool_adv_to_mii_adv_x                       
312  * @ethadv: the ethtool advertisement settings    
313  *                                                
314  * A small helper function that translates eth    
315  * settings to phy autonegotiation advertiseme    
316  * MII_CTRL1000 register when in 1000Base-X mo    
317  */                                               
318 static inline u32 ethtool_adv_to_mii_adv_x(u32    
319 {                                                 
320         u32 result = 0;                           
321                                                   
322         if (ethadv & ADVERTISED_1000baseT_Half    
323                 result |= ADVERTISE_1000XHALF;    
324         if (ethadv & ADVERTISED_1000baseT_Full    
325                 result |= ADVERTISE_1000XFULL;    
326         if (ethadv & ADVERTISED_Pause)            
327                 result |= ADVERTISE_1000XPAUSE    
328         if (ethadv & ADVERTISED_Asym_Pause)       
329                 result |= ADVERTISE_1000XPSE_A    
330                                                   
331         return result;                            
332 }                                                 
333                                                   
334 /**                                               
335  * mii_adv_to_ethtool_adv_x                       
336  * @adv: value of the MII_CTRL1000 register       
337  *                                                
338  * A small helper function that translates MII    
339  * bits, when in 1000Base-X mode, to ethtool      
340  * advertisement settings.                        
341  */                                               
342 static inline u32 mii_adv_to_ethtool_adv_x(u32    
343 {                                                 
344         u32 result = 0;                           
345                                                   
346         if (adv & ADVERTISE_1000XHALF)            
347                 result |= ADVERTISED_1000baseT    
348         if (adv & ADVERTISE_1000XFULL)            
349                 result |= ADVERTISED_1000baseT    
350         if (adv & ADVERTISE_1000XPAUSE)           
351                 result |= ADVERTISED_Pause;       
352         if (adv & ADVERTISE_1000XPSE_ASYM)        
353                 result |= ADVERTISED_Asym_Paus    
354                                                   
355         return result;                            
356 }                                                 
357                                                   
358 /**                                               
359  * mii_adv_mod_linkmode_adv_t                     
360  * @advertising:pointer to destination link mo    
361  * @adv: value of the MII_ADVERTISE register      
362  *                                                
363  * A small helper function that translates MII    
364  * linkmode advertisement settings. Leaves oth    
365  */                                               
366 static inline void mii_adv_mod_linkmode_adv_t(    
367                                                   
368 {                                                 
369         linkmode_mod_bit(ETHTOOL_LINK_MODE_10b    
370                          advertising, adv & AD    
371                                                   
372         linkmode_mod_bit(ETHTOOL_LINK_MODE_10b    
373                          advertising, adv & AD    
374                                                   
375         linkmode_mod_bit(ETHTOOL_LINK_MODE_100    
376                          advertising, adv & AD    
377                                                   
378         linkmode_mod_bit(ETHTOOL_LINK_MODE_100    
379                          advertising, adv & AD    
380                                                   
381         linkmode_mod_bit(ETHTOOL_LINK_MODE_Pau    
382                          adv & ADVERTISE_PAUSE    
383                                                   
384         linkmode_mod_bit(ETHTOOL_LINK_MODE_Asy    
385                          advertising, adv & AD    
386 }                                                 
387                                                   
388 /**                                               
389  * mii_adv_to_linkmode_adv_t                      
390  * @advertising:pointer to destination link mo    
391  * @adv: value of the MII_ADVERTISE register      
392  *                                                
393  * A small helper function that translates MII    
394  * to linkmode advertisement settings. Clears     
395  * of advertising.                                
396  */                                               
397 static inline void mii_adv_to_linkmode_adv_t(u    
398                                              u    
399 {                                                 
400         linkmode_zero(advertising);               
401                                                   
402         mii_adv_mod_linkmode_adv_t(advertising    
403 }                                                 
404                                                   
405 /**                                               
406  * mii_lpa_to_linkmode_lpa_t                      
407  * @adv: value of the MII_LPA register            
408  *                                                
409  * A small helper function that translates MII    
410  * 1000Base-T mode, to linkmode LP advertiseme    
411  * old value of advertising                       
412  */                                               
413 static inline void mii_lpa_to_linkmode_lpa_t(u    
414                                              u    
415 {                                                 
416         mii_adv_to_linkmode_adv_t(lp_advertisi    
417                                                   
418         if (lpa & LPA_LPACK)                      
419                 linkmode_set_bit(ETHTOOL_LINK_    
420                                  lp_advertisin    
421                                                   
422 }                                                 
423                                                   
424 /**                                               
425  * mii_lpa_mod_linkmode_lpa_t                     
426  * @adv: value of the MII_LPA register            
427  *                                                
428  * A small helper function that translates MII    
429  * 1000Base-T mode, to linkmode LP advertiseme    
430  * other bits unchanged.                          
431  */                                               
432 static inline void mii_lpa_mod_linkmode_lpa_t(    
433                                                   
434 {                                                 
435         mii_adv_mod_linkmode_adv_t(lp_advertis    
436                                                   
437         linkmode_mod_bit(ETHTOOL_LINK_MODE_Aut    
438                          lp_advertising, lpa &    
439 }                                                 
440                                                   
441 static inline void mii_ctrl1000_mod_linkmode_a    
442                                                   
443 {                                                 
444         linkmode_mod_bit(ETHTOOL_LINK_MODE_100    
445                          ctrl1000 & ADVERTISE_    
446         linkmode_mod_bit(ETHTOOL_LINK_MODE_100    
447                          ctrl1000 & ADVERTISE_    
448 }                                                 
449                                                   
450 /**                                               
451  * linkmode_adv_to_lcl_adv_t                      
452  * @advertising:pointer to linkmode advertisin    
453  *                                                
454  * A small helper function that translates lin    
455  * pause capabilities.                            
456  */                                               
457 static inline u32 linkmode_adv_to_lcl_adv_t(co    
458 {                                                 
459         u32 lcl_adv = 0;                          
460                                                   
461         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
462                               advertising))       
463                 lcl_adv |= ADVERTISE_PAUSE_CAP    
464         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
465                               advertising))       
466                 lcl_adv |= ADVERTISE_PAUSE_ASY    
467                                                   
468         return lcl_adv;                           
469 }                                                 
470                                                   
471 /**                                               
472  * mii_lpa_mod_linkmode_x - decode the link pa    
473  * @linkmodes: link modes array                   
474  * @lpa: config_reg word from link partner        
475  * @fd_bit: link mode for 1000XFULL bit           
476  */                                               
477 static inline void mii_lpa_mod_linkmode_x(unsi    
478                                          int f    
479 {                                                 
480         linkmode_mod_bit(ETHTOOL_LINK_MODE_Aut    
481                          lpa & LPA_LPACK);        
482         linkmode_mod_bit(ETHTOOL_LINK_MODE_Pau    
483                          lpa & LPA_1000XPAUSE)    
484         linkmode_mod_bit(ETHTOOL_LINK_MODE_Asy    
485                          lpa & LPA_1000XPAUSE_    
486         linkmode_mod_bit(fd_bit, linkmodes,       
487                          lpa & LPA_1000XFULL);    
488 }                                                 
489                                                   
490 /**                                               
491  * linkmode_adv_to_mii_adv_x - encode a linkmo    
492  * @linkmodes: linkmodes                          
493  * @fd_bit: full duplex bit                       
494  */                                               
495 static inline u16 linkmode_adv_to_mii_adv_x(co    
496                                             in    
497 {                                                 
498         u16 adv = 0;                              
499                                                   
500         if (linkmode_test_bit(fd_bit, linkmode    
501                 adv |= ADVERTISE_1000XFULL;       
502         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
503                 adv |= ADVERTISE_1000XPAUSE;      
504         if (linkmode_test_bit(ETHTOOL_LINK_MOD    
505                 adv |= ADVERTISE_1000XPSE_ASYM    
506                                                   
507         return adv;                               
508 }                                                 
509                                                   
510 /**                                               
511  * mii_advertise_flowctrl - get flow control a    
512  * @cap: Flow control capabilities (FLOW_CTRL_    
513  */                                               
514 static inline u16 mii_advertise_flowctrl(int c    
515 {                                                 
516         u16 adv = 0;                              
517                                                   
518         if (cap & FLOW_CTRL_RX)                   
519                 adv = ADVERTISE_PAUSE_CAP | AD    
520         if (cap & FLOW_CTRL_TX)                   
521                 adv ^= ADVERTISE_PAUSE_ASYM;      
522                                                   
523         return adv;                               
524 }                                                 
525                                                   
526 /**                                               
527  * mii_resolve_flowctrl_fdx                       
528  * @lcladv: value of MII ADVERTISE register       
529  * @rmtadv: value of MII LPA register             
530  *                                                
531  * Resolve full duplex flow control as per IEE    
532  */                                               
533 static inline u8 mii_resolve_flowctrl_fdx(u16     
534 {                                                 
535         u8 cap = 0;                               
536                                                   
537         if (lcladv & rmtadv & ADVERTISE_PAUSE_    
538                 cap = FLOW_CTRL_TX | FLOW_CTRL    
539         } else if (lcladv & rmtadv & ADVERTISE    
540                 if (lcladv & ADVERTISE_PAUSE_C    
541                         cap = FLOW_CTRL_RX;       
542                 else if (rmtadv & ADVERTISE_PA    
543                         cap = FLOW_CTRL_TX;       
544         }                                         
545                                                   
546         return cap;                               
547 }                                                 
548                                                   
549 /**                                               
550  * mii_bmcr_encode_fixed - encode fixed speed/    
551  * @speed: a SPEED_* value                        
552  * @duplex: a DUPLEX_* value                      
553  *                                                
554  * Encode the speed and duplex to a BMCR value    
555  * supported. 2500Mbps is encoded to 1000Mbps.    
556  * Mbps. Unknown duplex values are encoded to     
557  */                                               
558 static inline u16 mii_bmcr_encode_fixed(int sp    
559 {                                                 
560         u16 bmcr;                                 
561                                                   
562         switch (speed) {                          
563         case SPEED_2500:                          
564         case SPEED_1000:                          
565                 bmcr = BMCR_SPEED1000;            
566                 break;                            
567                                                   
568         case SPEED_100:                           
569                 bmcr = BMCR_SPEED100;             
570                 break;                            
571                                                   
572         case SPEED_10:                            
573         default:                                  
574                 bmcr = BMCR_SPEED10;              
575                 break;                            
576         }                                         
577                                                   
578         if (duplex == DUPLEX_FULL)                
579                 bmcr |= BMCR_FULLDPLX;            
580                                                   
581         return bmcr;                              
582 }                                                 
583                                                   
584 #endif /* __LINUX_MII_H__ */                      
585                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php