@@ -30,8 +30,8 @@ Signed-off-by: Aravindhan Gunasekaran <aravindhan.gunasekaran@intel.com>
3030 drivers/net/ethernet/intel/igc/igc_main.c | 216 +++++++++++++++++++
3131 4 files changed, 261 insertions(+), 3 deletions(-)
3232
33- diff --git a/drivers/net/ethernet/intel/igc/igc.h b/drivers/net/ethernet/intel/igc/igc.h
34- index b2b6da3e9c8d3..479dcd7500f56 100644
33+ Index: b/drivers/net/ethernet/intel/igc/igc.h
34+ ===================================================================
3535--- a/drivers/net/ethernet/intel/igc/igc.h
3636+++ b/drivers/net/ethernet/intel/igc/igc.h
3737@@ -198,6 +198,13 @@ struct igc_ring {
@@ -48,10 +48,10 @@ index b2b6da3e9c8d3..479dcd7500f56 100644
4848 /* Board specific private data structure */
4949 struct igc_adapter {
5050 struct net_device *netdev;
51- @@ -339,6 +346,14 @@ struct igc_adapter {
52- /* LEDs */
51+ @@ -341,6 +348,14 @@ struct igc_adapter {
5352 struct mutex led_mutex;
5453 struct igc_led_classdev *leds;
54+ bool leds_available;
5555+
5656+ struct delayed_work fp_verification_work;
5757+ unsigned long fp_start;
@@ -63,8 +63,8 @@ index b2b6da3e9c8d3..479dcd7500f56 100644
6363 };
6464
6565 void igc_up(struct igc_adapter *adapter);
66- diff --git a/drivers/net/ethernet/intel/igc/igc_defines.h b/drivers/net/ethernet/intel/igc/igc_defines.h
67- index e08dfba0ea69d..45da4ffd4ec75 100644
66+ Index: b/drivers/net/ethernet/intel/igc/igc_defines.h
67+ ===================================================================
6868--- a/drivers/net/ethernet/intel/igc/igc_defines.h
6969+++ b/drivers/net/ethernet/intel/igc/igc_defines.h
7070@@ -308,6 +308,8 @@
@@ -97,11 +97,11 @@ index e08dfba0ea69d..45da4ffd4ec75 100644
9797 #define IGC_RXDEXT_STATERR_L4E 0x20000000
9898 #define IGC_RXDEXT_STATERR_IPE 0x40000000
9999 #define IGC_RXDEXT_STATERR_RXE 0x80000000
100- diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c
101- index 52ca64569cb59..761bafd585b37 100644
100+ Index: b/drivers/net/ethernet/intel/igc/igc_ethtool.c
101+ ===================================================================
102102--- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
103103+++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
104- @@ -1789,6 +1789,8 @@ static int igc_ethtool_get_preempt(struct net_device *netdev,
104+ @@ -1789,6 +1789,8 @@ static int igc_ethtool_get_preempt(struc
105105
106106 fpcmd->enabled = adapter->frame_preemption_active;
107107 fpcmd->add_frag_size = adapter->add_frag_size;
@@ -110,7 +110,7 @@ index 52ca64569cb59..761bafd585b37 100644
110110
111111 return 0;
112112 }
113- @@ -1805,10 +1807,22 @@ static int igc_ethtool_set_preempt(struct net_device *netdev,
113+ @@ -1805,10 +1807,22 @@ static int igc_ethtool_set_preempt(struc
114114 return -EINVAL;
115115 }
116116
@@ -136,8 +136,8 @@ index 52ca64569cb59..761bafd585b37 100644
136136 }
137137
138138 static int igc_ethtool_get_link_ksettings(struct net_device *netdev,
139- diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
140- index ca720ddff3af8..a81e9240cf6c8 100644
139+ Index: b/drivers/net/ethernet/intel/igc/igc_main.c
140+ ===================================================================
141141--- a/drivers/net/ethernet/intel/igc/igc_main.c
142142+++ b/drivers/net/ethernet/intel/igc/igc_main.c
143143@@ -30,6 +30,11 @@
@@ -152,7 +152,7 @@ index ca720ddff3af8..a81e9240cf6c8 100644
152152 static int debug = -1;
153153
154154 MODULE_DESCRIPTION(DRV_SUMMARY);
155- @@ -2448 ,6 +2453 ,79 @@ static int igc_xdp_init_tx_descriptor(struct igc_ring *ring,
155+ @@ -2449 ,6 +2454 ,79 @@ unmap:
156156 return -ENOMEM;
157157 }
158158
@@ -232,7 +232,7 @@ index ca720ddff3af8..a81e9240cf6c8 100644
232232 static struct igc_ring *igc_xdp_get_tx_ring(struct igc_adapter *adapter,
233233 int cpu)
234234 {
235- @@ -2577 ,6 +2655 ,19 @@ static void igc_update_rx_stats(struct igc_q_vector *q_vector,
235+ @@ -2578 ,6 +2656 ,19 @@ static void igc_update_rx_stats(struct i
236236 q_vector->rx.total_bytes += bytes;
237237 }
238238
@@ -252,15 +252,15 @@ index ca720ddff3af8..a81e9240cf6c8 100644
252252 static int igc_clean_rx_irq(struct igc_q_vector *q_vector, const int budget)
253253 {
254254 unsigned int total_bytes = 0, total_packets = 0;
255- @@ -2592 ,6 +2683 ,7 @@ static int igc_clean_rx_irq(struct igc_q_vector *q_vector, const int budget)
255+ @@ -2593 ,6 +2684 ,7 @@ static int igc_clean_rx_irq(struct igc_q
256256 union igc_adv_rx_desc *rx_desc;
257257 unsigned int size, truesize;
258258 int pkt_offset = 0;
259259+ int smd_type;
260260 void *pktbuf;
261261
262262 /* return some buffers to hardware, one at a time is too slow */
263- @@ -2622 ,6 +2714 ,22 @@ static int igc_clean_rx_irq(struct igc_q_vector *q_vector, const int budget)
263+ @@ -2623 ,6 +2715 ,22 @@ static int igc_clean_rx_irq(struct igc_q
264264 size -= IGC_TS_HDR_LEN;
265265 }
266266
@@ -283,7 +283,7 @@ index ca720ddff3af8..a81e9240cf6c8 100644
283283 if (!skb) {
284284 xdp_init_buff(&ctx.xdp, truesize, &rx_ring->xdp_rxq);
285285 xdp_prepare_buff(&ctx.xdp, pktbuf - igc_rx_offset(rx_ring),
286- @@ -6548 ,6 +6656 ,107 @@ static int igc_tsn_enable_cbs(struct igc_adapter *adapter,
286+ @@ -6552 ,6 +6660 ,107 @@ static int igc_tsn_enable_cbs(struct igc
287287 return igc_tsn_offload_apply(adapter);
288288 }
289289
@@ -391,15 +391,15 @@ index ca720ddff3af8..a81e9240cf6c8 100644
391391 static int igc_tc_query_caps(struct igc_adapter *adapter,
392392 struct tc_query_caps_base *base)
393393 {
394- @@ -7122 ,6 +7331 ,7 @@ static int igc_probe(struct pci_dev *pdev,
394+ @@ -7130 ,6 +7339 ,7 @@ static int igc_probe(struct pci_dev *pde
395395
396396 INIT_WORK(&adapter->reset_task, igc_reset_task);
397397 INIT_WORK(&adapter->watchdog_task, igc_watchdog_task);
398398+ INIT_DELAYED_WORK(&adapter->fp_verification_work, igc_fp_verification_work);
399399
400400 hrtimer_init(&adapter->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
401401 adapter->hrtimer.function = &igc_qbv_scheduling_timer;
402- @@ -7148 ,6 +7358 ,12 @@ static int igc_probe(struct pci_dev *pdev,
402+ @@ -7156 ,6 +7366 ,12 @@ static int igc_probe(struct pci_dev *pde
403403
404404 igc_tsn_clear_schedule(adapter);
405405
@@ -412,6 +412,3 @@ index ca720ddff3af8..a81e9240cf6c8 100644
412412 /* reset the hardware with the new settings */
413413 igc_reset(adapter);
414414
415- --
416- 2.25.1
417-
0 commit comments