diff --git a/core/sap/dfs/inc/dfs.h b/core/sap/dfs/inc/dfs.h index 74c0add523..914e007b2c 100644 --- a/core/sap/dfs/inc/dfs.h +++ b/core/sap/dfs/inc/dfs.h @@ -284,32 +284,62 @@ struct dfs_pulseline { (((e)->re_flags & (DFS_EVENT_CHECKCHIRP)) && \ (!DFS_EVENT_ISCHIRP((e)))) +/** + * struct dfs_event - to hold dfs events + * @re_full_ts: 64-bit full timestamp from interrupt time + * @re_ts: Original 15 bit recv timestamp + * @re_rssi: rssi of radar event + * @re_dur: duration of radar pulse + * @re_chanindex: Channel of event + * @re_flags: Event flags + * @re_freq: Centre frequency of event, KHz + * @re_freq_lo: Lower bounds of frequency, KHz + * @re_freq_hi: Upper bounds of frequency, KHz + * @sidx: Pulse Index as in radar summary report + * @radar_80p80_segid: 80p80 segment ID as in radar sum report + * @delta_peak: delta peak reported in radar summary + * @delta_diff: delta diff reported in radar summary + * @agc_total_gain: agc total gain reported in radar summary + * @agc_mb_gain: agc mb gain reported in radar summary + * @radar_subchan_mask: subchan mask reported in radar summary + * @pulse_height: pulse height reported in radar summary + * @triggering_agc_event: triggering agc reported in radar summary + * @pulse_rssi: rssi of phyerr reported in radar summary + * @radar_fft_pri80_inband_power: Pri80MHz pwr reported in summary + * @radar_fft_ext80_inband_power: Ext80MHz pwr reported in summary + * @rsu_version: Radar summary report version + * @dfs_phyerr_eventq_serial_num: phyerr seq num queued for pattern matching + * @peak_mag: Peak mag reported in radar search FFT report + * @re_list: List of radar events + * + * To Process radar events + */ struct dfs_event { - uint64_t re_full_ts; /* 64-bit full timestamp from interrupt time */ - uint32_t re_ts; /* Original 15 bit recv timestamp */ - uint8_t re_rssi; /* rssi of radar event */ - uint8_t re_dur; /* duration of radar pulse */ - uint8_t re_chanindex; /* Channel of event */ - uint8_t re_flags; /* Event flags */ - uint32_t re_freq; /* Centre frequency of event, KHz */ - uint32_t re_freq_lo; /* Lower bounds of frequency, KHz */ - uint32_t re_freq_hi; /* Upper bounds of frequency, KHz */ - int sidx; /* Pulse Index as in radar summary report */ - int radar_80p80_segid; /* 80p80 segment ID as in radar sum report */ - int delta_peak; /* delta peak reported in radar summary */ - int delta_diff; /* delta diff reported in radar summary */ - int agc_total_gain; /* agc total gain reported in radar summary */ - int agc_mb_gain; /* agc mb gain reported in radar summary */ - int radar_subchan_mask; /* subchan mask reported in radar summary */ - int pulse_height; /* pulse height reported in radar summary */ - int triggering_agc_event; /* triggering agc reported in radar summary */ - int pulse_rssi; /* rssi of phyerr reported in radar summary */ - int radar_fft_pri80_inband_power; /* Pri80MHz pwr reported in summary */ - int radar_fft_ext80_inband_power; /* Ext80MHz pwr reported in summary */ - int rsu_version; /* Radar summary report version */ - int phyerr_serial_num; /* phyerr seq num queued for pattern matching */ - int peak_mag; /* Peak mag reported in radar search FFT report */ - STAILQ_ENTRY(dfs_event) re_list; /* List of radar events */ + uint64_t re_full_ts; + uint32_t re_ts; + uint8_t re_rssi; + uint8_t re_dur; + uint8_t re_chanindex; + uint8_t re_flags; + uint32_t re_freq; + uint32_t re_freq_lo; + uint32_t re_freq_hi; + int sidx; + int radar_80p80_segid; + uint8_t delta_peak; + uint8_t delta_diff; + uint8_t agc_total_gain; + uint8_t agc_mb_gain; + uint8_t radar_subchan_mask; + uint8_t pulse_height; + uint8_t triggering_agc_event; + uint8_t pulse_rssi; + uint8_t radar_fft_pri80_inband_power; + uint8_t radar_fft_ext80_inband_power; + uint8_t rsu_version; + uint8_t dfs_phyerr_eventq_serial_num; + uint8_t peak_mag; + STAILQ_ENTRY(dfs_event) re_list; } qdf_packed; #ifdef WIN32 #pragma pack(pop, dfs_event) diff --git a/core/sap/dfs/src/dfs_process_phyerr.c b/core/sap/dfs/src/dfs_process_phyerr.c index a78b4ef4ad..3e45c5a64d 100644 --- a/core/sap/dfs/src/dfs_process_phyerr.c +++ b/core/sap/dfs/src/dfs_process_phyerr.c @@ -860,7 +860,7 @@ dfs_process_phyerr(struct ieee80211com *ic, void *buf, uint16_t datalen, event->radar_fft_ext80_inband_power = e.radar_fft_ext80_inband_power; event->rsu_version = e.rsu_version; - event->phyerr_serial_num = + event->dfs_phyerr_eventq_serial_num = dfs->dfs_phyerr_queued_count; event->peak_mag = e.peak_mag; } diff --git a/core/sap/dfs/src/dfs_process_radarevent.c b/core/sap/dfs/src/dfs_process_radarevent.c index e77d711786..3afc30233f 100644 --- a/core/sap/dfs/src/dfs_process_radarevent.c +++ b/core/sap/dfs/src/dfs_process_radarevent.c @@ -406,9 +406,10 @@ int dfs_process_radarevent(struct ath_dfs *dfs, is_hw_chirp = 1; QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO, - "\n %s[%d]:PHYERR# = %d ts = %u diff_ts = %u ppdu_rssi = %u dur = %u is_hw_chirp = %d segid = %d sidx = %d peak_mag = %d delta_peak = %d delta_diff = %d agc_total_gain = %d agc_mb_gain = %d radar_subchan_mask = 0x%x pulse_height = %d triggering_agc_event = %d rs_pulse_rssi = %d pri80_inband_power = %d ext80_inband_power = %d \n", + "\n %s[%d]:PHYERR# = %d ts = %u diff_ts = %u ppdu_rssi = %u dur = %u is_hw_chirp = %d segid = %d sidx = %d peak_mag = %d delta_peak = %d delta_diff = %d agc_total_gain = %d agc_mb_gain = %d radar_subchan_mask = 0x%x pulse_height = %d triggering_agc_event = %d rs_pulse_rssi = %d pri80_inband_power = %d ext80_inband_power = %d\n", __func__, __LINE__, - re.phyerr_serial_num, (uint32_t) this_ts, + re.dfs_phyerr_eventq_serial_num, + (uint32_t) this_ts, diff_ts, re.re_rssi, re.re_dur, is_hw_chirp, re.radar_80p80_segid, re.sidx, re.peak_mag, re.delta_peak, re.delta_diff,