@@ -295,8 +295,6 @@ struct xgbe_hw_stats {
295
295
u32 rx_dma_overruns ;
296
296
};
297
297
298
- #define XGBE10_NUM_STAT_ENTRIES (sizeof(struct xgbe_hw_stats)/sizeof(u32))
299
-
300
298
struct gbenu_ss_regs {
301
299
u32 id_ver ;
302
300
u32 synce_count ; /* NU */
@@ -480,7 +478,6 @@ struct gbenu_hw_stats {
480
478
u32 tx_pri7_drop_bcnt ;
481
479
};
482
480
483
- #define GBENU_NUM_HW_STAT_ENTRIES (sizeof(struct gbenu_hw_stats) / sizeof(u32))
484
481
#define GBENU_HW_STATS_REG_MAP_SZ 0x200
485
482
486
483
struct gbe_ss_regs {
@@ -615,7 +612,6 @@ struct gbe_hw_stats {
615
612
u32 rx_dma_overruns ;
616
613
};
617
614
618
- #define GBE13_NUM_HW_STAT_ENTRIES (sizeof(struct gbe_hw_stats)/sizeof(u32))
619
615
#define GBE_MAX_HW_STAT_MODS 9
620
616
#define GBE_HW_STATS_REG_MAP_SZ 0x100
621
617
@@ -2555,10 +2551,12 @@ static int set_xgbe_ethss10_priv(struct gbe_priv *gbe_dev,
2555
2551
}
2556
2552
gbe_dev -> xgbe_serdes_regs = regs ;
2557
2553
2554
+ gbe_dev -> et_stats = xgbe10_et_stats ;
2555
+ gbe_dev -> num_et_stats = ARRAY_SIZE (xgbe10_et_stats );
2556
+
2558
2557
gbe_dev -> hw_stats = devm_kzalloc (gbe_dev -> dev ,
2559
- XGBE10_NUM_STAT_ENTRIES *
2560
- (gbe_dev -> max_num_ports ) * sizeof (u64 ),
2561
- GFP_KERNEL );
2558
+ gbe_dev -> num_et_stats * sizeof (u64 ),
2559
+ GFP_KERNEL );
2562
2560
if (!gbe_dev -> hw_stats ) {
2563
2561
dev_err (gbe_dev -> dev , "hw_stats memory allocation failed\n" );
2564
2562
return - ENOMEM ;
@@ -2577,8 +2575,6 @@ static int set_xgbe_ethss10_priv(struct gbe_priv *gbe_dev,
2577
2575
gbe_dev -> ale_ports = gbe_dev -> max_num_ports ;
2578
2576
gbe_dev -> host_port = XGBE10_HOST_PORT_NUM ;
2579
2577
gbe_dev -> ale_entries = XGBE10_NUM_ALE_ENTRIES ;
2580
- gbe_dev -> et_stats = xgbe10_et_stats ;
2581
- gbe_dev -> num_et_stats = ARRAY_SIZE (xgbe10_et_stats );
2582
2578
gbe_dev -> stats_en_mask = (1 << (gbe_dev -> max_num_ports )) - 1 ;
2583
2579
2584
2580
/* Subsystem registers */
@@ -2663,10 +2659,12 @@ static int set_gbe_ethss14_priv(struct gbe_priv *gbe_dev,
2663
2659
}
2664
2660
gbe_dev -> switch_regs = regs ;
2665
2661
2662
+ gbe_dev -> et_stats = gbe13_et_stats ;
2663
+ gbe_dev -> num_et_stats = ARRAY_SIZE (gbe13_et_stats );
2664
+
2666
2665
gbe_dev -> hw_stats = devm_kzalloc (gbe_dev -> dev ,
2667
- GBE13_NUM_HW_STAT_ENTRIES *
2668
- gbe_dev -> max_num_slaves * sizeof (u64 ),
2669
- GFP_KERNEL );
2666
+ gbe_dev -> num_et_stats * sizeof (u64 ),
2667
+ GFP_KERNEL );
2670
2668
if (!gbe_dev -> hw_stats ) {
2671
2669
dev_err (gbe_dev -> dev , "hw_stats memory allocation failed\n" );
2672
2670
return - ENOMEM ;
@@ -2689,8 +2687,6 @@ static int set_gbe_ethss14_priv(struct gbe_priv *gbe_dev,
2689
2687
gbe_dev -> ale_ports = gbe_dev -> max_num_ports ;
2690
2688
gbe_dev -> host_port = GBE13_HOST_PORT_NUM ;
2691
2689
gbe_dev -> ale_entries = GBE13_NUM_ALE_ENTRIES ;
2692
- gbe_dev -> et_stats = gbe13_et_stats ;
2693
- gbe_dev -> num_et_stats = ARRAY_SIZE (gbe13_et_stats );
2694
2690
gbe_dev -> stats_en_mask = GBE13_REG_VAL_STAT_ENABLE_ALL ;
2695
2691
2696
2692
/* Subsystem registers */
@@ -2717,10 +2713,18 @@ static int set_gbenu_ethss_priv(struct gbe_priv *gbe_dev,
2717
2713
void __iomem * regs ;
2718
2714
int i , ret ;
2719
2715
2716
+ gbe_dev -> et_stats = gbenu_et_stats ;
2717
+
2718
+ if (IS_SS_ID_NU (gbe_dev ))
2719
+ gbe_dev -> num_et_stats = GBENU_ET_STATS_HOST_SIZE +
2720
+ (gbe_dev -> max_num_slaves * GBENU_ET_STATS_PORT_SIZE );
2721
+ else
2722
+ gbe_dev -> num_et_stats = GBENU_ET_STATS_HOST_SIZE +
2723
+ GBENU_ET_STATS_PORT_SIZE ;
2724
+
2720
2725
gbe_dev -> hw_stats = devm_kzalloc (gbe_dev -> dev ,
2721
- GBENU_NUM_HW_STAT_ENTRIES *
2722
- (gbe_dev -> max_num_ports ) * sizeof (u64 ),
2723
- GFP_KERNEL );
2726
+ gbe_dev -> num_et_stats * sizeof (u64 ),
2727
+ GFP_KERNEL );
2724
2728
if (!gbe_dev -> hw_stats ) {
2725
2729
dev_err (gbe_dev -> dev , "hw_stats memory allocation failed\n" );
2726
2730
return - ENOMEM ;
@@ -2753,16 +2757,8 @@ static int set_gbenu_ethss_priv(struct gbe_priv *gbe_dev,
2753
2757
gbe_dev -> ale_ports = gbe_dev -> max_num_ports ;
2754
2758
gbe_dev -> host_port = GBENU_HOST_PORT_NUM ;
2755
2759
gbe_dev -> ale_entries = GBE13_NUM_ALE_ENTRIES ;
2756
- gbe_dev -> et_stats = gbenu_et_stats ;
2757
2760
gbe_dev -> stats_en_mask = (1 << (gbe_dev -> max_num_ports )) - 1 ;
2758
2761
2759
- if (IS_SS_ID_NU (gbe_dev ))
2760
- gbe_dev -> num_et_stats = GBENU_ET_STATS_HOST_SIZE +
2761
- (gbe_dev -> max_num_slaves * GBENU_ET_STATS_PORT_SIZE );
2762
- else
2763
- gbe_dev -> num_et_stats = GBENU_ET_STATS_HOST_SIZE +
2764
- GBENU_ET_STATS_PORT_SIZE ;
2765
-
2766
2762
/* Subsystem registers */
2767
2763
GBENU_SET_REG_OFS (gbe_dev , ss_regs , id_ver );
2768
2764
0 commit comments