25#ifndef LIBSWITCHTEC_DIAG_H
26#define LIBSWITCHTEC_DIAG_H
47 uint8_t target_amplitude;
48 uint8_t speculative_dfe;
49 int8_t dynamic_dfe[7];
53 DIAG_PORT_EQ_STATUS_OP_PER_PORT = 0,
54 DIAG_PORT_EQ_STATUS_OP_PER_LANE = 1,
92 uint8_t pre_cursor_up;
93 uint8_t post_cursor_up;
95 uint8_t active_status;
126 uint16_t ctle2_rx_mode;
137enum switchtec_diag_loopback_type {
138 DIAG_LOOPBACK_RX_TO_TX = 0,
139 DIAG_LOOPBACK_TX_TO_RX = 1,
142enum switchtec_diag_loopback_type_gen5 {
143 DIAG_LOOPBACK_PARALEL_DATAPATH = 5,
144 DIAG_LOOPBACK_EXTERNAL_DATAPATH = 6,
178 uint8_t pattern_type;
191 uint8_t pattern_type;
201 uint32_t lane_mask[4];
208 uint32_t step_interval;
223 uint32_t time_remaining;
224 uint32_t lane_mask[4];
228 uint8_t data_count_lo;
229 uint8_t frame_status;
231 uint8_t data_count_hi;
234 uint32_t error_cnt_lo;
235 uint32_t error_cnt_hi;
236 uint32_t sample_cnt_lo;
237 uint32_t sample_cnt_hi;
248 uint8_t capture_depth;
249 uint8_t timeout_disable;
251 uint32_t lane_mask[4];
282 int8_t eye_right_lim;
283 int16_t eye_bot_left_lim;
284 int16_t eye_bot_right_lim;
285 int16_t eye_top_left_lim;
286 int16_t eye_top_right_lim;
293 uint32_t ram_timestamp;
303 uint32_t raw_tlp_data[SWITCHTEC_DIAG_MAX_TLP_DWORDS];
306enum switchtec_aer_event_gen_result {
307 AER_EVENT_GEN_SUCCESS = 0,
308 AER_EVENT_GEN_FAIL = 1,
313 uint8_t phys_port_id;
338 uint32_t pat_val_dword0;
339 uint32_t pat_val_dword1;
340 uint32_t pat_val_dword2;
341 uint32_t pat_val_dword3;
342 uint32_t pat_mask_dword0;
343 uint32_t pat_mask_dword1;
344 uint32_t pat_mask_dword2;
345 uint32_t pat_mask_dword3;
354 uint8_t drop_single_os;
356 uint8_t snapshot_mode;
357 uint16_t post_trig_entries;