1
2
3
4
5
6
7
8
9
10
11
12#ifndef HW_ATL_LLH_H
13#define HW_ATL_LLH_H
14
15#include <linux/types.h>
16
17struct aq_hw_s;
18
19
20void hw_atl_ts_reset_set(struct aq_hw_s *aq_hw, u32 val);
21
22
23void hw_atl_ts_power_down_set(struct aq_hw_s *aq_hw, u32 val);
24
25
26u32 hw_atl_ts_power_down_get(struct aq_hw_s *aq_hw);
27
28
29u32 hw_atl_ts_ready_get(struct aq_hw_s *aq_hw);
30
31
32u32 hw_atl_ts_ready_latch_high_get(struct aq_hw_s *aq_hw);
33
34
35u32 hw_atl_ts_data_get(struct aq_hw_s *aq_hw);
36
37
38
39
40void hw_atl_reg_glb_cpu_sem_set(struct aq_hw_s *aq_hw, u32 glb_cpu_sem,
41 u32 semaphore);
42
43
44u32 hw_atl_reg_glb_cpu_sem_get(struct aq_hw_s *aq_hw, u32 semaphore);
45
46
47void hw_atl_glb_glb_reg_res_dis_set(struct aq_hw_s *aq_hw, u32 glb_reg_res_dis);
48
49
50void hw_atl_glb_soft_res_set(struct aq_hw_s *aq_hw, u32 soft_res);
51
52
53u32 hw_atl_glb_soft_res_get(struct aq_hw_s *aq_hw);
54
55
56
57u32 hw_atl_rpb_rx_dma_drop_pkt_cnt_get(struct aq_hw_s *aq_hw);
58
59
60u64 hw_atl_stats_rx_dma_good_octet_counter_get(struct aq_hw_s *aq_hw);
61
62
63u64 hw_atl_stats_rx_dma_good_pkt_counter_get(struct aq_hw_s *aq_hw);
64
65
66u64 hw_atl_stats_tx_dma_good_octet_counter_get(struct aq_hw_s *aq_hw);
67
68
69u64 hw_atl_stats_tx_dma_good_pkt_counter_get(struct aq_hw_s *aq_hw);
70
71
72u32 hw_atl_reg_mac_msm_rx_errs_cnt_get(struct aq_hw_s *aq_hw);
73
74
75u32 hw_atl_reg_mac_msm_rx_ucst_frm_cnt_get(struct aq_hw_s *aq_hw);
76
77
78u32 hw_atl_reg_mac_msm_rx_mcst_frm_cnt_get(struct aq_hw_s *aq_hw);
79
80
81u32 hw_atl_reg_mac_msm_rx_bcst_frm_cnt_get(struct aq_hw_s *aq_hw);
82
83
84u32 hw_atl_reg_mac_msm_rx_bcst_octets_counter1get(struct aq_hw_s *aq_hw);
85
86
87u32 hw_atl_reg_mac_msm_rx_ucst_octets_counter0get(struct aq_hw_s *aq_hw);
88
89
90u32 hw_atl_reg_mac_msm_tx_errs_cnt_get(struct aq_hw_s *aq_hw);
91
92
93u32 hw_atl_reg_mac_msm_tx_ucst_frm_cnt_get(struct aq_hw_s *aq_hw);
94
95
96u32 hw_atl_reg_mac_msm_tx_mcst_frm_cnt_get(struct aq_hw_s *aq_hw);
97
98
99u32 hw_atl_reg_mac_msm_tx_bcst_frm_cnt_get(struct aq_hw_s *aq_hw);
100
101
102u32 hw_atl_reg_mac_msm_tx_mcst_octets_counter1get(struct aq_hw_s *aq_hw);
103
104
105u32 hw_atl_reg_mac_msm_tx_bcst_octets_counter1get(struct aq_hw_s *aq_hw);
106
107
108u32 hw_atl_reg_mac_msm_tx_ucst_octets_counter0get(struct aq_hw_s *aq_hw);
109
110
111u32 hw_atl_reg_glb_mif_id_get(struct aq_hw_s *aq_hw);
112
113
114
115
116void hw_atl_itr_irq_auto_masklsw_set(struct aq_hw_s *aq_hw,
117 u32 irq_auto_masklsw);
118
119
120void hw_atl_itr_irq_map_en_rx_set(struct aq_hw_s *aq_hw, u32 irq_map_en_rx,
121 u32 rx);
122
123
124void hw_atl_itr_irq_map_en_tx_set(struct aq_hw_s *aq_hw, u32 irq_map_en_tx,
125 u32 tx);
126
127
128void hw_atl_itr_irq_map_rx_set(struct aq_hw_s *aq_hw, u32 irq_map_rx, u32 rx);
129
130
131void hw_atl_itr_irq_map_tx_set(struct aq_hw_s *aq_hw, u32 irq_map_tx, u32 tx);
132
133
134void hw_atl_itr_irq_msk_clearlsw_set(struct aq_hw_s *aq_hw,
135 u32 irq_msk_clearlsw);
136
137
138void hw_atl_itr_irq_msk_setlsw_set(struct aq_hw_s *aq_hw, u32 irq_msk_setlsw);
139
140
141void hw_atl_itr_irq_reg_res_dis_set(struct aq_hw_s *aq_hw, u32 irq_reg_res_dis);
142
143
144void hw_atl_itr_irq_status_clearlsw_set(struct aq_hw_s *aq_hw,
145 u32 irq_status_clearlsw);
146
147
148u32 hw_atl_itr_irq_statuslsw_get(struct aq_hw_s *aq_hw);
149
150
151u32 hw_atl_itr_res_irq_get(struct aq_hw_s *aq_hw);
152
153
154void hw_atl_itr_res_irq_set(struct aq_hw_s *aq_hw, u32 res_irq);
155
156
157void hw_atl_itr_rsc_en_set(struct aq_hw_s *aq_hw, u32 enable);
158
159
160void hw_atl_itr_rsc_delay_set(struct aq_hw_s *aq_hw, u32 delay);
161
162
163
164
165void hw_atl_rdm_cpu_id_set(struct aq_hw_s *aq_hw, u32 cpuid, u32 dca);
166
167
168void hw_atl_rdm_rx_dca_en_set(struct aq_hw_s *aq_hw, u32 rx_dca_en);
169
170
171void hw_atl_rdm_rx_dca_mode_set(struct aq_hw_s *aq_hw, u32 rx_dca_mode);
172
173
174void hw_atl_rdm_rx_desc_data_buff_size_set(struct aq_hw_s *aq_hw,
175 u32 rx_desc_data_buff_size,
176 u32 descriptor);
177
178
179void hw_atl_rdm_rx_desc_dca_en_set(struct aq_hw_s *aq_hw, u32 rx_desc_dca_en,
180 u32 dca);
181
182
183void hw_atl_rdm_rx_desc_en_set(struct aq_hw_s *aq_hw, u32 rx_desc_en,
184 u32 descriptor);
185
186
187void hw_atl_rdm_rx_desc_head_splitting_set(struct aq_hw_s *aq_hw,
188 u32 rx_desc_head_splitting,
189 u32 descriptor);
190
191
192u32 hw_atl_rdm_rx_desc_head_ptr_get(struct aq_hw_s *aq_hw, u32 descriptor);
193
194
195void hw_atl_rdm_rx_desc_len_set(struct aq_hw_s *aq_hw, u32 rx_desc_len,
196 u32 descriptor);
197
198
199void hw_atl_rdm_rx_desc_wr_wb_irq_en_set(struct aq_hw_s *aq_hw,
200 u32 rx_desc_wr_wb_irq_en);
201
202
203void hw_atl_rdm_rx_head_dca_en_set(struct aq_hw_s *aq_hw, u32 rx_head_dca_en,
204 u32 dca);
205
206
207void hw_atl_rdm_rx_pld_dca_en_set(struct aq_hw_s *aq_hw, u32 rx_pld_dca_en,
208 u32 dca);
209
210
211void hw_atl_rdm_rx_desc_head_buff_size_set(struct aq_hw_s *aq_hw,
212 u32 rx_desc_head_buff_size,
213 u32 descriptor);
214
215
216void hw_atl_rdm_rx_desc_res_set(struct aq_hw_s *aq_hw, u32 rx_desc_res,
217 u32 descriptor);
218
219
220void hw_atl_rdm_rdm_intr_moder_en_set(struct aq_hw_s *aq_hw,
221 u32 rdm_intr_moder_en);
222
223
224
225
226void hw_atl_reg_gen_irq_map_set(struct aq_hw_s *aq_hw, u32 gen_intr_map,
227 u32 regidx);
228
229
230u32 hw_atl_reg_gen_irq_status_get(struct aq_hw_s *aq_hw);
231
232
233void hw_atl_reg_irq_glb_ctl_set(struct aq_hw_s *aq_hw, u32 intr_glb_ctl);
234
235
236void hw_atl_reg_irq_thr_set(struct aq_hw_s *aq_hw, u32 intr_thr, u32 throttle);
237
238
239void hw_atl_reg_rx_dma_desc_base_addresslswset(struct aq_hw_s *aq_hw,
240 u32 rx_dma_desc_base_addrlsw,
241 u32 descriptor);
242
243
244void hw_atl_reg_rx_dma_desc_base_addressmswset(struct aq_hw_s *aq_hw,
245 u32 rx_dma_desc_base_addrmsw,
246 u32 descriptor);
247
248
249u32 hw_atl_reg_rx_dma_desc_status_get(struct aq_hw_s *aq_hw, u32 descriptor);
250
251
252void hw_atl_reg_rx_dma_desc_tail_ptr_set(struct aq_hw_s *aq_hw,
253 u32 rx_dma_desc_tail_ptr,
254 u32 descriptor);
255
256
257void hw_atl_reg_rx_flr_mcst_flr_msk_set(struct aq_hw_s *aq_hw,
258 u32 rx_flr_mcst_flr_msk);
259
260
261void hw_atl_reg_rx_flr_mcst_flr_set(struct aq_hw_s *aq_hw, u32 rx_flr_mcst_flr,
262 u32 filter);
263
264
265void hw_atl_reg_rx_flr_rss_control1set(struct aq_hw_s *aq_hw,
266 u32 rx_flr_rss_control1);
267
268
269void hw_atl_reg_rx_flr_control2_set(struct aq_hw_s *aq_hw, u32 rx_flr_control2);
270
271
272void hw_atl_reg_rx_intr_moder_ctrl_set(struct aq_hw_s *aq_hw,
273 u32 rx_intr_moderation_ctl,
274 u32 queue);
275
276
277void hw_atl_reg_tx_dma_debug_ctl_set(struct aq_hw_s *aq_hw,
278 u32 tx_dma_debug_ctl);
279
280
281void hw_atl_reg_tx_dma_desc_base_addresslswset(struct aq_hw_s *aq_hw,
282 u32 tx_dma_desc_base_addrlsw,
283 u32 descriptor);
284
285
286void hw_atl_reg_tx_dma_desc_base_addressmswset(struct aq_hw_s *aq_hw,
287 u32 tx_dma_desc_base_addrmsw,
288 u32 descriptor);
289
290
291void hw_atl_reg_tx_dma_desc_tail_ptr_set(struct aq_hw_s *aq_hw,
292 u32 tx_dma_desc_tail_ptr,
293 u32 descriptor);
294
295
296void hw_atl_reg_tx_intr_moder_ctrl_set(struct aq_hw_s *aq_hw,
297 u32 tx_intr_moderation_ctl,
298 u32 queue);
299
300
301void hw_atl_reg_glb_cpu_scratch_scp_set(struct aq_hw_s *aq_hw,
302 u32 glb_cpu_scratch_scp,
303 u32 scratch_scp);
304
305
306
307
308void hw_atl_rpb_dma_sys_lbk_set(struct aq_hw_s *aq_hw, u32 dma_sys_lbk);
309
310
311void hw_atl_rpb_dma_net_lbk_set(struct aq_hw_s *aq_hw, u32 dma_net_lbk);
312
313
314void hw_atl_rpb_rpf_rx_traf_class_mode_set(struct aq_hw_s *aq_hw,
315 u32 rx_traf_class_mode);
316
317
318u32 hw_atl_rpb_rpf_rx_traf_class_mode_get(struct aq_hw_s *aq_hw);
319
320
321void hw_atl_rpb_rx_buff_en_set(struct aq_hw_s *aq_hw, u32 rx_buff_en);
322
323
324void hw_atl_rpb_rx_buff_hi_threshold_per_tc_set(struct aq_hw_s *aq_hw,
325 u32 rx_buff_hi_threshold_per_tc,
326 u32 buffer);
327
328
329void hw_atl_rpb_rx_buff_lo_threshold_per_tc_set(struct aq_hw_s *aq_hw,
330 u32 rx_buff_lo_threshold_per_tc,
331 u32 buffer);
332
333
334void hw_atl_rpb_rx_flow_ctl_mode_set(struct aq_hw_s *aq_hw,
335 u32 rx_flow_ctl_mode);
336
337
338void hw_atl_rpb_rx_pkt_buff_size_per_tc_set(struct aq_hw_s *aq_hw,
339 u32 rx_pkt_buff_size_per_tc,
340 u32 buffer);
341
342
343void hw_atl_rdm_rx_dma_desc_cache_init_tgl(struct aq_hw_s *aq_hw);
344
345
346u32 hw_atl_rdm_rx_dma_desc_cache_init_done_get(struct aq_hw_s *aq_hw);
347
348
349void hw_atl_rpb_rx_xoff_en_per_tc_set(struct aq_hw_s *aq_hw,
350 u32 rx_xoff_en_per_tc,
351 u32 buffer);
352
353
354
355
356void hw_atl_rpfl2broadcast_count_threshold_set(struct aq_hw_s *aq_hw,
357 u32 l2broadcast_count_threshold);
358
359
360void hw_atl_rpfl2broadcast_en_set(struct aq_hw_s *aq_hw, u32 l2broadcast_en);
361
362
363void hw_atl_rpfl2broadcast_flr_act_set(struct aq_hw_s *aq_hw,
364 u32 l2broadcast_flr_act);
365
366
367void hw_atl_rpfl2multicast_flr_en_set(struct aq_hw_s *aq_hw,
368 u32 l2multicast_flr_en,
369 u32 filter);
370
371
372u32 hw_atl_rpfl2promiscuous_mode_en_get(struct aq_hw_s *aq_hw);
373
374
375void hw_atl_rpfl2promiscuous_mode_en_set(struct aq_hw_s *aq_hw,
376 u32 l2promiscuous_mode_en);
377
378
379void hw_atl_rpfl2unicast_flr_act_set(struct aq_hw_s *aq_hw,
380 u32 l2unicast_flr_act,
381 u32 filter);
382
383
384void hw_atl_rpfl2_uc_flr_en_set(struct aq_hw_s *aq_hw, u32 l2unicast_flr_en,
385 u32 filter);
386
387
388void hw_atl_rpfl2unicast_dest_addresslsw_set(struct aq_hw_s *aq_hw,
389 u32 l2unicast_dest_addresslsw,
390 u32 filter);
391
392
393void hw_atl_rpfl2unicast_dest_addressmsw_set(struct aq_hw_s *aq_hw,
394 u32 l2unicast_dest_addressmsw,
395 u32 filter);
396
397
398void hw_atl_rpfl2_accept_all_mc_packets_set(struct aq_hw_s *aq_hw,
399 u32 l2_accept_all_mc_packets);
400
401
402void hw_atl_rpf_rpb_user_priority_tc_map_set(struct aq_hw_s *aq_hw,
403 u32 user_priority_tc_map, u32 tc);
404
405
406void hw_atl_rpf_rss_key_addr_set(struct aq_hw_s *aq_hw, u32 rss_key_addr);
407
408
409void hw_atl_rpf_rss_key_wr_data_set(struct aq_hw_s *aq_hw, u32 rss_key_wr_data);
410
411
412u32 hw_atl_rpf_rss_key_wr_en_get(struct aq_hw_s *aq_hw);
413
414
415void hw_atl_rpf_rss_key_wr_en_set(struct aq_hw_s *aq_hw, u32 rss_key_wr_en);
416
417
418void hw_atl_rpf_rss_redir_tbl_addr_set(struct aq_hw_s *aq_hw,
419 u32 rss_redir_tbl_addr);
420
421
422void hw_atl_rpf_rss_redir_tbl_wr_data_set(struct aq_hw_s *aq_hw,
423 u32 rss_redir_tbl_wr_data);
424
425
426u32 hw_atl_rpf_rss_redir_wr_en_get(struct aq_hw_s *aq_hw);
427
428
429void hw_atl_rpf_rss_redir_wr_en_set(struct aq_hw_s *aq_hw, u32 rss_redir_wr_en);
430
431
432void hw_atl_rpf_tpo_to_rpf_sys_lbk_set(struct aq_hw_s *aq_hw,
433 u32 tpo_to_rpf_sys_lbk);
434
435
436void hw_atl_rpf_vlan_inner_etht_set(struct aq_hw_s *aq_hw, u32 vlan_inner_etht);
437
438
439void hw_atl_rpf_vlan_outer_etht_set(struct aq_hw_s *aq_hw, u32 vlan_outer_etht);
440
441
442void hw_atl_rpf_vlan_prom_mode_en_set(struct aq_hw_s *aq_hw,
443 u32 vlan_prom_mode_en);
444
445
446u32 hw_atl_rpf_vlan_prom_mode_en_get(struct aq_hw_s *aq_hw);
447
448
449void hw_atl_rpf_vlan_untagged_act_set(struct aq_hw_s *aq_hw,
450 u32 vlan_untagged_act);
451
452
453void hw_atl_rpf_vlan_accept_untagged_packets_set(struct aq_hw_s *aq_hw,
454 u32 vlan_acc_untagged_packets);
455
456
457void hw_atl_rpf_vlan_flr_en_set(struct aq_hw_s *aq_hw, u32 vlan_flr_en,
458 u32 filter);
459
460
461void hw_atl_rpf_vlan_flr_act_set(struct aq_hw_s *aq_hw, u32 vlan_filter_act,
462 u32 filter);
463
464
465void hw_atl_rpf_vlan_id_flr_set(struct aq_hw_s *aq_hw, u32 vlan_id_flr,
466 u32 filter);
467
468
469void hw_atl_rpf_vlan_rxq_en_flr_set(struct aq_hw_s *aq_hw, u32 vlan_rxq_en,
470 u32 filter);
471
472
473void hw_atl_rpf_vlan_rxq_flr_set(struct aq_hw_s *aq_hw, u32 vlan_rxq,
474 u32 filter);
475
476
477void hw_atl_rpf_etht_flr_en_set(struct aq_hw_s *aq_hw, u32 etht_flr_en,
478 u32 filter);
479
480
481void hw_atl_rpf_etht_user_priority_en_set(struct aq_hw_s *aq_hw,
482 u32 etht_user_priority_en,
483 u32 filter);
484
485
486void hw_atl_rpf_etht_rx_queue_en_set(struct aq_hw_s *aq_hw,
487 u32 etht_rx_queue_en,
488 u32 filter);
489
490
491void hw_atl_rpf_etht_rx_queue_set(struct aq_hw_s *aq_hw, u32 etht_rx_queue,
492 u32 filter);
493
494
495void hw_atl_rpf_etht_user_priority_set(struct aq_hw_s *aq_hw,
496 u32 etht_user_priority,
497 u32 filter);
498
499
500void hw_atl_rpf_etht_mgt_queue_set(struct aq_hw_s *aq_hw, u32 etht_mgt_queue,
501 u32 filter);
502
503
504void hw_atl_rpf_etht_flr_act_set(struct aq_hw_s *aq_hw, u32 etht_flr_act,
505 u32 filter);
506
507
508void hw_atl_rpf_etht_flr_set(struct aq_hw_s *aq_hw, u32 etht_flr, u32 filter);
509
510
511void hw_atl_rpf_l4_spd_set(struct aq_hw_s *aq_hw, u32 val, u32 filter);
512
513
514void hw_atl_rpf_l4_dpd_set(struct aq_hw_s *aq_hw, u32 val, u32 filter);
515
516
517
518
519void hw_atl_rpo_ipv4header_crc_offload_en_set(struct aq_hw_s *aq_hw,
520 u32 ipv4header_crc_offload_en);
521
522
523void hw_atl_rpo_rx_desc_vlan_stripping_set(struct aq_hw_s *aq_hw,
524 u32 rx_desc_vlan_stripping,
525 u32 descriptor);
526
527void hw_atl_rpo_outer_vlan_tag_mode_set(void *context,
528 u32 outervlantagmode);
529
530u32 hw_atl_rpo_outer_vlan_tag_mode_get(void *context);
531
532
533void hw_atl_rpo_tcp_udp_crc_offload_en_set(struct aq_hw_s *aq_hw,
534 u32 tcp_udp_crc_offload_en);
535
536
537void hw_atl_rpo_lro_patch_optimization_en_set(struct aq_hw_s *aq_hw,
538 u32 lro_patch_optimization_en);
539
540
541void hw_atl_rpo_lro_en_set(struct aq_hw_s *aq_hw, u32 lro_en);
542
543
544void hw_atl_rpo_lro_qsessions_lim_set(struct aq_hw_s *aq_hw,
545 u32 lro_qsessions_lim);
546
547
548void hw_atl_rpo_lro_total_desc_lim_set(struct aq_hw_s *aq_hw,
549 u32 lro_total_desc_lim);
550
551
552void hw_atl_rpo_lro_min_pay_of_first_pkt_set(struct aq_hw_s *aq_hw,
553 u32 lro_min_pld_of_first_pkt);
554
555
556void hw_atl_rpo_lro_pkt_lim_set(struct aq_hw_s *aq_hw, u32 lro_packet_lim);
557
558
559void hw_atl_rpo_lro_max_num_of_descriptors_set(struct aq_hw_s *aq_hw,
560 u32 lro_max_desc_num, u32 lro);
561
562
563void hw_atl_rpo_lro_time_base_divider_set(struct aq_hw_s *aq_hw,
564 u32 lro_time_base_divider);
565
566
567void hw_atl_rpo_lro_inactive_interval_set(struct aq_hw_s *aq_hw,
568 u32 lro_inactive_interval);
569
570
571void hw_atl_rpo_lro_max_coalescing_interval_set(struct aq_hw_s *aq_hw,
572 u32 lro_max_coal_interval);
573
574
575
576
577void hw_atl_rx_rx_reg_res_dis_set(struct aq_hw_s *aq_hw, u32 rx_reg_res_dis);
578
579
580
581
582void hw_atl_tdm_cpu_id_set(struct aq_hw_s *aq_hw, u32 cpuid, u32 dca);
583
584
585void hw_atl_tdm_large_send_offload_en_set(struct aq_hw_s *aq_hw,
586 u32 large_send_offload_en);
587
588
589void hw_atl_tdm_tx_desc_en_set(struct aq_hw_s *aq_hw, u32 tx_desc_en,
590 u32 descriptor);
591
592
593void hw_atl_tdm_tx_dca_en_set(struct aq_hw_s *aq_hw, u32 tx_dca_en);
594
595
596void hw_atl_tdm_tx_dca_mode_set(struct aq_hw_s *aq_hw, u32 tx_dca_mode);
597
598
599void hw_atl_tdm_tx_desc_dca_en_set(struct aq_hw_s *aq_hw, u32 tx_desc_dca_en,
600 u32 dca);
601
602
603u32 hw_atl_tdm_tx_desc_head_ptr_get(struct aq_hw_s *aq_hw, u32 descriptor);
604
605
606void hw_atl_tdm_tx_desc_len_set(struct aq_hw_s *aq_hw, u32 tx_desc_len,
607 u32 descriptor);
608
609
610void hw_atl_tdm_tx_desc_wr_wb_irq_en_set(struct aq_hw_s *aq_hw,
611 u32 tx_desc_wr_wb_irq_en);
612
613
614void hw_atl_tdm_tx_desc_wr_wb_threshold_set(struct aq_hw_s *aq_hw,
615 u32 tx_desc_wr_wb_threshold,
616 u32 descriptor);
617
618
619void hw_atl_tdm_tdm_intr_moder_en_set(struct aq_hw_s *aq_hw,
620 u32 tdm_irq_moderation_en);
621
622
623
624void hw_atl_thm_lso_tcp_flag_of_first_pkt_set(struct aq_hw_s *aq_hw,
625 u32 lso_tcp_flag_of_first_pkt);
626
627
628void hw_atl_thm_lso_tcp_flag_of_last_pkt_set(struct aq_hw_s *aq_hw,
629 u32 lso_tcp_flag_of_last_pkt);
630
631
632void hw_atl_thm_lso_tcp_flag_of_middle_pkt_set(struct aq_hw_s *aq_hw,
633 u32 lso_tcp_flag_of_middle_pkt);
634
635
636
637
638void hw_atl_tpb_tps_tx_tc_mode_set(struct aq_hw_s *aq_hw,
639 u32 tx_traf_class_mode);
640
641
642u32 hw_atl_tpb_tps_tx_tc_mode_get(struct aq_hw_s *aq_hw);
643
644
645void hw_atl_tpb_tx_buff_en_set(struct aq_hw_s *aq_hw, u32 tx_buff_en);
646
647
648void hw_atl_tpb_tx_buff_hi_threshold_per_tc_set(struct aq_hw_s *aq_hw,
649 u32 tx_buff_hi_threshold_per_tc,
650 u32 buffer);
651
652
653void hw_atl_tpb_tx_buff_lo_threshold_per_tc_set(struct aq_hw_s *aq_hw,
654 u32 tx_buff_lo_threshold_per_tc,
655 u32 buffer);
656
657
658void hw_atl_tpb_tx_dma_sys_lbk_en_set(struct aq_hw_s *aq_hw, u32 tx_dma_sys_lbk_en);
659
660
661void hw_atl_tpb_tx_dma_net_lbk_en_set(struct aq_hw_s *aq_hw,
662 u32 tx_dma_net_lbk_en);
663
664
665void hw_atl_tpb_tx_tx_clk_gate_en_set(struct aq_hw_s *aq_hw,
666 u32 tx_clk_gate_en);
667
668
669void hw_atl_tpb_tx_pkt_buff_size_per_tc_set(struct aq_hw_s *aq_hw,
670 u32 tx_pkt_buff_size_per_tc,
671 u32 buffer);
672
673
674void hw_atl_tpb_tx_path_scp_ins_en_set(struct aq_hw_s *aq_hw, u32 tx_path_scp_ins_en);
675
676
677
678
679void hw_atl_tpo_ipv4header_crc_offload_en_set(struct aq_hw_s *aq_hw,
680 u32 ipv4header_crc_offload_en);
681
682
683void hw_atl_tpo_tcp_udp_crc_offload_en_set(struct aq_hw_s *aq_hw,
684 u32 tcp_udp_crc_offload_en);
685
686
687void hw_atl_tpo_tx_pkt_sys_lbk_en_set(struct aq_hw_s *aq_hw,
688 u32 tx_pkt_sys_lbk_en);
689
690
691
692
693void hw_atl_tps_tx_pkt_shed_data_arb_mode_set(struct aq_hw_s *aq_hw,
694 u32 tx_pkt_shed_data_arb_mode);
695
696
697void hw_atl_tps_tx_pkt_shed_desc_rate_curr_time_res_set(struct aq_hw_s *aq_hw,
698 u32 curr_time_res);
699
700
701void hw_atl_tps_tx_pkt_shed_desc_rate_lim_set(struct aq_hw_s *aq_hw,
702 u32 tx_pkt_shed_desc_rate_lim);
703
704
705void hw_atl_tps_tx_pkt_shed_desc_tc_arb_mode_set(struct aq_hw_s *aq_hw,
706 u32 arb_mode);
707
708
709void hw_atl_tps_tx_pkt_shed_desc_tc_max_credit_set(struct aq_hw_s *aq_hw,
710 const u32 tc,
711 const u32 max_credit);
712
713
714void hw_atl_tps_tx_pkt_shed_desc_tc_weight_set(struct aq_hw_s *aq_hw,
715 const u32 tc,
716 const u32 weight);
717
718
719void hw_atl_tps_tx_pkt_shed_desc_vm_arb_mode_set(struct aq_hw_s *aq_hw,
720 u32 arb_mode);
721
722
723void hw_atl_tps_tx_pkt_shed_tc_data_max_credit_set(struct aq_hw_s *aq_hw,
724 const u32 tc,
725 const u32 max_credit);
726
727
728void hw_atl_tps_tx_pkt_shed_tc_data_weight_set(struct aq_hw_s *aq_hw,
729 const u32 tc,
730 const u32 weight);
731
732
733void hw_atl_tps_tx_desc_rate_mode_set(struct aq_hw_s *aq_hw,
734 const u32 rate_mode);
735
736
737void hw_atl_tps_tx_desc_rate_en_set(struct aq_hw_s *aq_hw, const u32 desc,
738 const u32 enable);
739
740
741void hw_atl_tps_tx_desc_rate_x_set(struct aq_hw_s *aq_hw, const u32 desc,
742 const u32 rate_int);
743
744
745void hw_atl_tps_tx_desc_rate_y_set(struct aq_hw_s *aq_hw, const u32 desc,
746 const u32 rate_frac);
747
748
749
750
751void hw_atl_tx_tx_reg_res_dis_set(struct aq_hw_s *aq_hw, u32 tx_reg_res_dis);
752
753
754
755
756u32 hw_atl_msm_reg_access_status_get(struct aq_hw_s *aq_hw);
757
758
759void hw_atl_msm_reg_addr_for_indirect_addr_set(struct aq_hw_s *aq_hw,
760 u32 reg_addr_for_indirect_addr);
761
762
763void hw_atl_msm_reg_rd_strobe_set(struct aq_hw_s *aq_hw, u32 reg_rd_strobe);
764
765
766u32 hw_atl_msm_reg_rd_data_get(struct aq_hw_s *aq_hw);
767
768
769void hw_atl_msm_reg_wr_data_set(struct aq_hw_s *aq_hw, u32 reg_wr_data);
770
771
772void hw_atl_msm_reg_wr_strobe_set(struct aq_hw_s *aq_hw, u32 reg_wr_strobe);
773
774
775
776
777void hw_atl_pci_pci_reg_res_dis_set(struct aq_hw_s *aq_hw, u32 pci_reg_res_dis);
778
779
780void hw_atl_pcs_ptp_clock_read_enable(struct aq_hw_s *aq_hw,
781 u32 ptp_clock_read_enable);
782
783u32 hw_atl_pcs_ptp_clock_get(struct aq_hw_s *aq_hw, u32 index);
784
785
786void hw_atl_mcp_up_force_intr_set(struct aq_hw_s *aq_hw, u32 up_force_intr);
787
788
789void hw_atl_rpfl3l4_ipv4_dest_addr_clear(struct aq_hw_s *aq_hw, u8 location);
790
791
792void hw_atl_rpfl3l4_ipv4_src_addr_clear(struct aq_hw_s *aq_hw, u8 location);
793
794
795void hw_atl_rpfl3l4_cmd_clear(struct aq_hw_s *aq_hw, u8 location);
796
797
798void hw_atl_rpfl3l4_ipv6_dest_addr_clear(struct aq_hw_s *aq_hw, u8 location);
799
800
801void hw_atl_rpfl3l4_ipv6_src_addr_clear(struct aq_hw_s *aq_hw, u8 location);
802
803
804void hw_atl_rpfl3l4_ipv4_dest_addr_set(struct aq_hw_s *aq_hw, u8 location,
805 u32 ipv4_dest);
806
807
808void hw_atl_rpfl3l4_ipv4_src_addr_set(struct aq_hw_s *aq_hw, u8 location,
809 u32 ipv4_src);
810
811
812void hw_atl_rpfl3l4_cmd_set(struct aq_hw_s *aq_hw, u8 location, u32 cmd);
813
814
815void hw_atl_rpfl3l4_ipv6_src_addr_set(struct aq_hw_s *aq_hw, u8 location,
816 u32 *ipv6_src);
817
818
819void hw_atl_rpfl3l4_ipv6_dest_addr_set(struct aq_hw_s *aq_hw, u8 location,
820 u32 *ipv6_dest);
821
822
823void hw_atl_glb_mdio_iface1_set(struct aq_hw_s *hw, u32 value);
824
825
826u32 hw_atl_glb_mdio_iface1_get(struct aq_hw_s *hw);
827
828
829void hw_atl_glb_mdio_iface2_set(struct aq_hw_s *hw, u32 value);
830
831
832u32 hw_atl_glb_mdio_iface2_get(struct aq_hw_s *hw);
833
834
835void hw_atl_glb_mdio_iface3_set(struct aq_hw_s *hw, u32 value);
836
837
838u32 hw_atl_glb_mdio_iface3_get(struct aq_hw_s *hw);
839
840
841void hw_atl_glb_mdio_iface4_set(struct aq_hw_s *hw, u32 value);
842
843
844u32 hw_atl_glb_mdio_iface4_get(struct aq_hw_s *hw);
845
846
847void hw_atl_glb_mdio_iface5_set(struct aq_hw_s *hw, u32 value);
848
849
850u32 hw_atl_glb_mdio_iface5_get(struct aq_hw_s *hw);
851
852u32 hw_atl_mdio_busy_get(struct aq_hw_s *aq_hw);
853
854
855u32 hw_atl_sem_ram_get(struct aq_hw_s *self);
856
857
858u32 hw_atl_sem_mdio_get(struct aq_hw_s *self);
859
860u32 hw_atl_sem_reset1_get(struct aq_hw_s *self);
861u32 hw_atl_sem_reset2_get(struct aq_hw_s *self);
862
863
864u32 hw_atl_scrpad_get(struct aq_hw_s *aq_hw, u32 scratch_scp);
865
866
867u32 hw_atl_scrpad12_get(struct aq_hw_s *self);
868
869
870u32 hw_atl_scrpad25_get(struct aq_hw_s *self);
871
872#endif
873