diff options
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_dcb_nl.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_dcb_nl.c | 193 |
1 files changed, 1 insertions, 192 deletions
diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c index dd9d1d63a59c..087cf886f2af 100644 --- a/drivers/net/ixgbe/ixgbe_dcb_nl.c +++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #define BIT_PG_RX 0x04 | 35 | #define BIT_PG_RX 0x04 |
36 | #define BIT_PG_TX 0x08 | 36 | #define BIT_PG_TX 0x08 |
37 | #define BIT_BCN 0x10 | 37 | #define BIT_BCN 0x10 |
38 | #define BIT_LINKSPEED 0x80 | ||
38 | 39 | ||
39 | int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *src_dcb_cfg, | 40 | int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *src_dcb_cfg, |
40 | struct ixgbe_dcb_config *dst_dcb_cfg, int tc_max) | 41 | struct ixgbe_dcb_config *dst_dcb_cfg, int tc_max) |
@@ -89,25 +90,6 @@ int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *src_dcb_cfg, | |||
89 | src_dcb_cfg->tc_config[i - DCB_PFC_UP_ATTR_0].dcb_pfc; | 90 | src_dcb_cfg->tc_config[i - DCB_PFC_UP_ATTR_0].dcb_pfc; |
90 | } | 91 | } |
91 | 92 | ||
92 | for (i = DCB_BCN_ATTR_RP_0; i < DCB_BCN_ATTR_RP_ALL; i++) { | ||
93 | dst_dcb_cfg->bcn.rp_admin_mode[i - DCB_BCN_ATTR_RP_0] = | ||
94 | src_dcb_cfg->bcn.rp_admin_mode[i - DCB_BCN_ATTR_RP_0]; | ||
95 | } | ||
96 | dst_dcb_cfg->bcn.bcna_option[0] = src_dcb_cfg->bcn.bcna_option[0]; | ||
97 | dst_dcb_cfg->bcn.bcna_option[1] = src_dcb_cfg->bcn.bcna_option[1]; | ||
98 | dst_dcb_cfg->bcn.rp_alpha = src_dcb_cfg->bcn.rp_alpha; | ||
99 | dst_dcb_cfg->bcn.rp_beta = src_dcb_cfg->bcn.rp_beta; | ||
100 | dst_dcb_cfg->bcn.rp_gd = src_dcb_cfg->bcn.rp_gd; | ||
101 | dst_dcb_cfg->bcn.rp_gi = src_dcb_cfg->bcn.rp_gi; | ||
102 | dst_dcb_cfg->bcn.rp_tmax = src_dcb_cfg->bcn.rp_tmax; | ||
103 | dst_dcb_cfg->bcn.rp_td = src_dcb_cfg->bcn.rp_td; | ||
104 | dst_dcb_cfg->bcn.rp_rmin = src_dcb_cfg->bcn.rp_rmin; | ||
105 | dst_dcb_cfg->bcn.rp_w = src_dcb_cfg->bcn.rp_w; | ||
106 | dst_dcb_cfg->bcn.rp_rd = src_dcb_cfg->bcn.rp_rd; | ||
107 | dst_dcb_cfg->bcn.rp_ru = src_dcb_cfg->bcn.rp_ru; | ||
108 | dst_dcb_cfg->bcn.rp_wrtt = src_dcb_cfg->bcn.rp_wrtt; | ||
109 | dst_dcb_cfg->bcn.rp_ri = src_dcb_cfg->bcn.rp_ri; | ||
110 | |||
111 | return 0; | 93 | return 0; |
112 | } | 94 | } |
113 | 95 | ||
@@ -444,175 +426,6 @@ static void ixgbe_dcbnl_setpfcstate(struct net_device *netdev, u8 state) | |||
444 | return; | 426 | return; |
445 | } | 427 | } |
446 | 428 | ||
447 | static void ixgbe_dcbnl_getbcnrp(struct net_device *netdev, int priority, | ||
448 | u8 *setting) | ||
449 | { | ||
450 | struct ixgbe_adapter *adapter = netdev_priv(netdev); | ||
451 | |||
452 | *setting = adapter->dcb_cfg.bcn.rp_admin_mode[priority]; | ||
453 | } | ||
454 | |||
455 | |||
456 | static void ixgbe_dcbnl_getbcncfg(struct net_device *netdev, int enum_index, | ||
457 | u32 *setting) | ||
458 | { | ||
459 | struct ixgbe_adapter *adapter = netdev_priv(netdev); | ||
460 | |||
461 | switch (enum_index) { | ||
462 | case DCB_BCN_ATTR_BCNA_0: | ||
463 | *setting = adapter->dcb_cfg.bcn.bcna_option[0]; | ||
464 | break; | ||
465 | case DCB_BCN_ATTR_BCNA_1: | ||
466 | *setting = adapter->dcb_cfg.bcn.bcna_option[1]; | ||
467 | break; | ||
468 | case DCB_BCN_ATTR_ALPHA: | ||
469 | *setting = adapter->dcb_cfg.bcn.rp_alpha; | ||
470 | break; | ||
471 | case DCB_BCN_ATTR_BETA: | ||
472 | *setting = adapter->dcb_cfg.bcn.rp_beta; | ||
473 | break; | ||
474 | case DCB_BCN_ATTR_GD: | ||
475 | *setting = adapter->dcb_cfg.bcn.rp_gd; | ||
476 | break; | ||
477 | case DCB_BCN_ATTR_GI: | ||
478 | *setting = adapter->dcb_cfg.bcn.rp_gi; | ||
479 | break; | ||
480 | case DCB_BCN_ATTR_TMAX: | ||
481 | *setting = adapter->dcb_cfg.bcn.rp_tmax; | ||
482 | break; | ||
483 | case DCB_BCN_ATTR_TD: | ||
484 | *setting = adapter->dcb_cfg.bcn.rp_td; | ||
485 | break; | ||
486 | case DCB_BCN_ATTR_RMIN: | ||
487 | *setting = adapter->dcb_cfg.bcn.rp_rmin; | ||
488 | break; | ||
489 | case DCB_BCN_ATTR_W: | ||
490 | *setting = adapter->dcb_cfg.bcn.rp_w; | ||
491 | break; | ||
492 | case DCB_BCN_ATTR_RD: | ||
493 | *setting = adapter->dcb_cfg.bcn.rp_rd; | ||
494 | break; | ||
495 | case DCB_BCN_ATTR_RU: | ||
496 | *setting = adapter->dcb_cfg.bcn.rp_ru; | ||
497 | break; | ||
498 | case DCB_BCN_ATTR_WRTT: | ||
499 | *setting = adapter->dcb_cfg.bcn.rp_wrtt; | ||
500 | break; | ||
501 | case DCB_BCN_ATTR_RI: | ||
502 | *setting = adapter->dcb_cfg.bcn.rp_ri; | ||
503 | break; | ||
504 | default: | ||
505 | *setting = -1; | ||
506 | } | ||
507 | } | ||
508 | |||
509 | static void ixgbe_dcbnl_setbcnrp(struct net_device *netdev, int priority, | ||
510 | u8 setting) | ||
511 | { | ||
512 | struct ixgbe_adapter *adapter = netdev_priv(netdev); | ||
513 | |||
514 | adapter->temp_dcb_cfg.bcn.rp_admin_mode[priority] = setting; | ||
515 | |||
516 | if (adapter->temp_dcb_cfg.bcn.rp_admin_mode[priority] != | ||
517 | adapter->dcb_cfg.bcn.rp_admin_mode[priority]) | ||
518 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
519 | } | ||
520 | |||
521 | static void ixgbe_dcbnl_setbcncfg(struct net_device *netdev, int enum_index, | ||
522 | u32 setting) | ||
523 | { | ||
524 | struct ixgbe_adapter *adapter = netdev_priv(netdev); | ||
525 | |||
526 | switch (enum_index) { | ||
527 | case DCB_BCN_ATTR_BCNA_0: | ||
528 | adapter->temp_dcb_cfg.bcn.bcna_option[0] = setting; | ||
529 | if (adapter->temp_dcb_cfg.bcn.bcna_option[0] != | ||
530 | adapter->dcb_cfg.bcn.bcna_option[0]) | ||
531 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
532 | break; | ||
533 | case DCB_BCN_ATTR_BCNA_1: | ||
534 | adapter->temp_dcb_cfg.bcn.bcna_option[1] = setting; | ||
535 | if (adapter->temp_dcb_cfg.bcn.bcna_option[1] != | ||
536 | adapter->dcb_cfg.bcn.bcna_option[1]) | ||
537 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
538 | break; | ||
539 | case DCB_BCN_ATTR_ALPHA: | ||
540 | adapter->temp_dcb_cfg.bcn.rp_alpha = setting; | ||
541 | if (adapter->temp_dcb_cfg.bcn.rp_alpha != | ||
542 | adapter->dcb_cfg.bcn.rp_alpha) | ||
543 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
544 | break; | ||
545 | case DCB_BCN_ATTR_BETA: | ||
546 | adapter->temp_dcb_cfg.bcn.rp_beta = setting; | ||
547 | if (adapter->temp_dcb_cfg.bcn.rp_beta != | ||
548 | adapter->dcb_cfg.bcn.rp_beta) | ||
549 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
550 | break; | ||
551 | case DCB_BCN_ATTR_GD: | ||
552 | adapter->temp_dcb_cfg.bcn.rp_gd = setting; | ||
553 | if (adapter->temp_dcb_cfg.bcn.rp_gd != | ||
554 | adapter->dcb_cfg.bcn.rp_gd) | ||
555 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
556 | break; | ||
557 | case DCB_BCN_ATTR_GI: | ||
558 | adapter->temp_dcb_cfg.bcn.rp_gi = setting; | ||
559 | if (adapter->temp_dcb_cfg.bcn.rp_gi != | ||
560 | adapter->dcb_cfg.bcn.rp_gi) | ||
561 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
562 | break; | ||
563 | case DCB_BCN_ATTR_TMAX: | ||
564 | adapter->temp_dcb_cfg.bcn.rp_tmax = setting; | ||
565 | if (adapter->temp_dcb_cfg.bcn.rp_tmax != | ||
566 | adapter->dcb_cfg.bcn.rp_tmax) | ||
567 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
568 | break; | ||
569 | case DCB_BCN_ATTR_TD: | ||
570 | adapter->temp_dcb_cfg.bcn.rp_td = setting; | ||
571 | if (adapter->temp_dcb_cfg.bcn.rp_td != | ||
572 | adapter->dcb_cfg.bcn.rp_td) | ||
573 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
574 | break; | ||
575 | case DCB_BCN_ATTR_RMIN: | ||
576 | adapter->temp_dcb_cfg.bcn.rp_rmin = setting; | ||
577 | if (adapter->temp_dcb_cfg.bcn.rp_rmin != | ||
578 | adapter->dcb_cfg.bcn.rp_rmin) | ||
579 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
580 | break; | ||
581 | case DCB_BCN_ATTR_W: | ||
582 | adapter->temp_dcb_cfg.bcn.rp_w = setting; | ||
583 | if (adapter->temp_dcb_cfg.bcn.rp_w != | ||
584 | adapter->dcb_cfg.bcn.rp_w) | ||
585 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
586 | break; | ||
587 | case DCB_BCN_ATTR_RD: | ||
588 | adapter->temp_dcb_cfg.bcn.rp_rd = setting; | ||
589 | if (adapter->temp_dcb_cfg.bcn.rp_rd != | ||
590 | adapter->dcb_cfg.bcn.rp_rd) | ||
591 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
592 | break; | ||
593 | case DCB_BCN_ATTR_RU: | ||
594 | adapter->temp_dcb_cfg.bcn.rp_ru = setting; | ||
595 | if (adapter->temp_dcb_cfg.bcn.rp_ru != | ||
596 | adapter->dcb_cfg.bcn.rp_ru) | ||
597 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
598 | break; | ||
599 | case DCB_BCN_ATTR_WRTT: | ||
600 | adapter->temp_dcb_cfg.bcn.rp_wrtt = setting; | ||
601 | if (adapter->temp_dcb_cfg.bcn.rp_wrtt != | ||
602 | adapter->dcb_cfg.bcn.rp_wrtt) | ||
603 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
604 | break; | ||
605 | case DCB_BCN_ATTR_RI: | ||
606 | adapter->temp_dcb_cfg.bcn.rp_ri = setting; | ||
607 | if (adapter->temp_dcb_cfg.bcn.rp_ri != | ||
608 | adapter->dcb_cfg.bcn.rp_ri) | ||
609 | adapter->dcb_set_bitmap |= BIT_BCN; | ||
610 | break; | ||
611 | default: | ||
612 | break; | ||
613 | } | ||
614 | } | ||
615 | |||
616 | struct dcbnl_rtnl_ops dcbnl_ops = { | 429 | struct dcbnl_rtnl_ops dcbnl_ops = { |
617 | .getstate = ixgbe_dcbnl_get_state, | 430 | .getstate = ixgbe_dcbnl_get_state, |
618 | .setstate = ixgbe_dcbnl_set_state, | 431 | .setstate = ixgbe_dcbnl_set_state, |
@@ -633,9 +446,5 @@ struct dcbnl_rtnl_ops dcbnl_ops = { | |||
633 | .setnumtcs = ixgbe_dcbnl_setnumtcs, | 446 | .setnumtcs = ixgbe_dcbnl_setnumtcs, |
634 | .getpfcstate = ixgbe_dcbnl_getpfcstate, | 447 | .getpfcstate = ixgbe_dcbnl_getpfcstate, |
635 | .setpfcstate = ixgbe_dcbnl_setpfcstate, | 448 | .setpfcstate = ixgbe_dcbnl_setpfcstate, |
636 | .getbcncfg = ixgbe_dcbnl_getbcncfg, | ||
637 | .getbcnrp = ixgbe_dcbnl_getbcnrp, | ||
638 | .setbcncfg = ixgbe_dcbnl_setbcncfg, | ||
639 | .setbcnrp = ixgbe_dcbnl_setbcnrp | ||
640 | }; | 449 | }; |
641 | 450 | ||