Lines Matching refs:dhdp

156 dhd_dbg_push_to_ring(dhd_pub_t *dhdp, int ring_id, dhd_dbg_ring_entry_t *hdr, void *data)  in dhd_dbg_push_to_ring()  argument
162 if (!dhdp || !dhdp->dbg) { in dhd_dbg_push_to_ring()
171 ring = &dhdp->dbg->dbg_rings[ring_id]; in dhd_dbg_push_to_ring()
178 dhd_dbg_ring_sched_pull(ring, pending_len, dhdp->dbg->pullreq, in dhd_dbg_push_to_ring()
179 dhdp->dbg->private, ring->id); in dhd_dbg_push_to_ring()
185 dhd_dbg_get_ring_from_ring_id(dhd_pub_t *dhdp, int ring_id) in dhd_dbg_get_ring_from_ring_id() argument
187 if (!dhdp || !dhdp->dbg) { in dhd_dbg_get_ring_from_ring_id()
196 return &dhdp->dbg->dbg_rings[ring_id]; in dhd_dbg_get_ring_from_ring_id()
200 dhd_dbg_pull_single_from_ring(dhd_pub_t *dhdp, int ring_id, void *data, uint32 buf_len, in dhd_dbg_pull_single_from_ring() argument
205 if (!dhdp || !dhdp->dbg) { in dhd_dbg_pull_single_from_ring()
214 ring = &dhdp->dbg->dbg_rings[ring_id]; in dhd_dbg_pull_single_from_ring()
220 dhd_dbg_pull_from_ring(dhd_pub_t *dhdp, int ring_id, void *data, uint32 buf_len) in dhd_dbg_pull_from_ring() argument
224 if (!dhdp || !dhdp->dbg) in dhd_dbg_pull_from_ring()
230 ring = &dhdp->dbg->dbg_rings[ring_id]; in dhd_dbg_pull_from_ring()
509 dhd_dbg_verboselog_handler(dhd_pub_t *dhdp, prcd_event_log_hdr_t *plog_hdr, in dhd_dbg_verboselog_handler() argument
564 wl_mschdbg_verboselog_handler(dhdp, raw_event_ptr, plog_hdr, log_ptr); in dhd_dbg_verboselog_handler()
569 dhd_dbg_verboselog_printf(dhdp, plog_hdr, raw_event_ptr, log_ptr, logset, block); in dhd_dbg_verboselog_handler()
573 dhd_dbg_verboselog_printf(dhd_pub_t *dhdp, prcd_event_log_hdr_t *plog_hdr, in dhd_dbg_verboselog_printf() argument
619 if (dhdp->dbg) { in dhd_dbg_verboselog_printf()
620 log_level = dhdp->dbg->dbg_rings[FW_VERBOSE_RING_ID].log_level; in dhd_dbg_verboselog_printf()
667 if (logset < dhdp->event_log_max_sets && in dhd_dbg_verboselog_printf()
668 ((0x01u << logset) & dhdp->logset_prsrv_mask)) { in dhd_dbg_verboselog_printf()
680 str_buf = MALLOCZ(dhdp->osh, (MAX_NO_OF_ARG * SIZE_LOC_STR)); in dhd_dbg_verboselog_printf()
775 if (logset < dhdp->event_log_max_sets && in dhd_dbg_verboselog_printf()
776 ((0x01u << logset) & dhdp->logset_prsrv_mask)) { in dhd_dbg_verboselog_printf()
790 MFREE(dhdp->osh, str_buf, (MAX_NO_OF_ARG * SIZE_LOC_STR)); in dhd_dbg_verboselog_printf()
794 dhd_dbg_msgtrace_log_parser(dhd_pub_t *dhdp, void *event_data, in dhd_dbg_msgtrace_log_parser() argument
830 event_log_max_sets_queried = dhdp->event_log_max_sets_queried; in dhd_dbg_msgtrace_log_parser()
835 event_log_max_sets = dhdp->event_log_max_sets; in dhd_dbg_msgtrace_log_parser()
879 logbuf = VMALLOC(dhdp->osh, sizeof(*logentry_header) + datalen); in dhd_dbg_msgtrace_log_parser()
899 dhd_dbg_push_to_ring(dhdp, FW_VERBOSE_RING_ID, &msg_hdr, logbuf); in dhd_dbg_msgtrace_log_parser()
918 dhdp->memdump_type = DUMP_TYPE_LOGSET_BEYOND_RANGE; in dhd_dbg_msgtrace_log_parser()
919 dhd_bus_mem_dump(dhdp); in dhd_dbg_msgtrace_log_parser()
985 if (!(log_item = MALLOC(dhdp->osh, sizeof(*log_item)))) { in dhd_dbg_msgtrace_log_parser()
1042 dhd_dbg_ring_push(dhdp->ecntr_dbg_ring, &msg_hdr, logbuf); in dhd_dbg_msgtrace_log_parser()
1069 dhd_dbg_ring_push(dhdp->rtt_dbg_ring, &msg_hdr, logbuf); in dhd_dbg_msgtrace_log_parser()
1077 dhd_event_log_filter_event_handler(dhdp, plog_hdr, plog_hdr->log_ptr); in dhd_dbg_msgtrace_log_parser()
1082 dhd_dbg_verboselog_handler(dhdp, plog_hdr, raw_event_ptr, in dhd_dbg_msgtrace_log_parser()
1086 MFREE(dhdp->osh, log_item, sizeof(*log_item)); in dhd_dbg_msgtrace_log_parser()
1103 MFREE(dhdp->osh, log_item, sizeof(*log_item)); in dhd_dbg_msgtrace_log_parser()
1105 VMFREE(dhdp->osh, logbuf, ring_data_len); in dhd_dbg_msgtrace_log_parser()
1108 static INLINE void dhd_dbg_verboselog_handler(dhd_pub_t *dhdp, in dhd_dbg_verboselog_handler() argument
1111 INLINE void dhd_dbg_msgtrace_log_parser(dhd_pub_t *dhdp, in dhd_dbg_msgtrace_log_parser() argument
1117 dhd_dbg_trace_evnt_handler(dhd_pub_t *dhdp, void *event_data, in dhd_dbg_trace_evnt_handler() argument
1133 dhd_dbg_msgtrace_log_parser(dhdp, event_data, raw_event_ptr, datalen, in dhd_dbg_trace_evnt_handler()
1143 dhd_dbg_set_event_log_tag(dhd_pub_t *dhdp, uint16 tag, uint8 set) in dhd_dbg_set_event_log_tag() argument
1160 ret = dhd_wl_ioctl_cmd(dhdp, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0); in dhd_dbg_set_event_log_tag()
1167 dhd_dbg_set_configuration(dhd_pub_t *dhdp, int ring_id, int log_level, int flags, uint32 threshold) in dhd_dbg_set_configuration() argument
1174 if (!dhdp || !dhdp->dbg) in dhd_dbg_set_configuration()
1182 ring = &dhdp->dbg->dbg_rings[ring_id]; in dhd_dbg_set_configuration()
1204 dhd_dbg_set_event_log_tag(dhdp, log_level_tbl[i].tag, set); in dhd_dbg_set_configuration()
1232 dhd_dbg_get_ring_status(dhd_pub_t *dhdp, int ring_id, dhd_dbg_ring_status_t *dbg_ring_status) in dhd_dbg_get_ring_status() argument
1238 if (!dhdp || !dhdp->dbg) in dhd_dbg_get_ring_status()
1240 dbg = dhdp->dbg; in dhd_dbg_get_ring_status()
1286 dhd_dbg_find_ring_id(dhd_pub_t *dhdp, char *ring_name) in dhd_dbg_find_ring_id() argument
1292 if (!dhdp || !dhdp->dbg) in dhd_dbg_find_ring_id()
1295 dbg = dhdp->dbg; in dhd_dbg_find_ring_id()
1309 dhd_dbg_get_priv(dhd_pub_t *dhdp) in dhd_dbg_get_priv() argument
1311 if (!dhdp || !dhdp->dbg) in dhd_dbg_get_priv()
1313 return dhdp->dbg->private; in dhd_dbg_get_priv()
1321 dhd_dbg_start(dhd_pub_t *dhdp, bool start) in dhd_dbg_start() argument
1327 if (!dhdp) in dhd_dbg_start()
1329 dbg = dhdp->dbg; in dhd_dbg_start()
1349 dhd_dbg_send_urgent_evt(dhd_pub_t *dhdp, const void *data, const uint32 len) in dhd_dbg_send_urgent_evt() argument
1353 if (!dhdp || !dhdp->dbg) in dhd_dbg_send_urgent_evt()
1356 dbg = dhdp->dbg; in dhd_dbg_send_urgent_evt()
1358 dbg->urgent_notifier(dhdp, data, len); in dhd_dbg_send_urgent_evt()
1430 __dhd_dbg_free_tx_pkts(dhd_pub_t *dhdp, dhd_dbg_tx_info_t *tx_pkts, in __dhd_dbg_free_tx_pkts() argument
1439 PKTFREE(dhdp->osh, tx_pkts->info.pkt, TRUE); in __dhd_dbg_free_tx_pkts()
1449 __dhd_dbg_free_rx_pkts(dhd_pub_t *dhdp, dhd_dbg_rx_info_t *rx_pkts, in __dhd_dbg_free_rx_pkts() argument
1458 PKTFREE(dhdp->osh, rx_pkts->info.pkt, TRUE); in __dhd_dbg_free_rx_pkts()
1468 __dhd_dbg_dump_pkt_info(dhd_pub_t *dhdp, dhd_dbg_pkt_info_t *info) in __dhd_dbg_dump_pkt_info() argument
1479 prhex(NULL, PKTDATA(dhdp->osh, info->pkt), info->pkt_len); in __dhd_dbg_dump_pkt_info()
1485 __dhd_dbg_dump_tx_pkt_info(dhd_pub_t *dhdp, dhd_dbg_tx_info_t *tx_pkt, in __dhd_dbg_dump_tx_pkt_info() argument
1491 __dhd_dbg_dump_pkt_info(dhdp, &tx_pkt->info); in __dhd_dbg_dump_tx_pkt_info()
1496 __dhd_dbg_dump_rx_pkt_info(dhd_pub_t *dhdp, dhd_dbg_rx_info_t *rx_pkt, in __dhd_dbg_dump_rx_pkt_info() argument
1502 __dhd_dbg_dump_pkt_info(dhdp, &rx_pkt->info); in __dhd_dbg_dump_rx_pkt_info()
1507 dhd_dbg_attach_pkt_monitor(dhd_pub_t *dhdp, in dhd_dbg_attach_pkt_monitor() argument
1525 if (!dhdp || !dhdp->dbg) { in dhd_dbg_attach_pkt_monitor()
1527 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_attach_pkt_monitor()
1531 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_attach_pkt_monitor()
1532 tx_pkt_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_attach_pkt_monitor()
1533 tx_status_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_attach_pkt_monitor()
1534 rx_pkt_state = dhdp->dbg->pkt_mon.rx_pkt_state; in dhd_dbg_attach_pkt_monitor()
1541 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_attach_pkt_monitor()
1548 tx_report = (dhd_dbg_tx_report_t *)MALLOCZ(dhdp->osh, alloc_len); in dhd_dbg_attach_pkt_monitor()
1557 tx_pkts = (dhd_dbg_tx_info_t *)MALLOCZ(dhdp->osh, alloc_len); in dhd_dbg_attach_pkt_monitor()
1564 dhdp->dbg->pkt_mon.tx_report = tx_report; in dhd_dbg_attach_pkt_monitor()
1565 dhdp->dbg->pkt_mon.tx_report->tx_pkts = tx_pkts; in dhd_dbg_attach_pkt_monitor()
1566 dhdp->dbg->pkt_mon.tx_pkt_mon = tx_pkt_mon; in dhd_dbg_attach_pkt_monitor()
1567 dhdp->dbg->pkt_mon.tx_status_mon = tx_status_mon; in dhd_dbg_attach_pkt_monitor()
1568 dhdp->dbg->pkt_mon.tx_pkt_state = PKT_MON_ATTACHED; in dhd_dbg_attach_pkt_monitor()
1569 dhdp->dbg->pkt_mon.tx_status_state = PKT_MON_ATTACHED; in dhd_dbg_attach_pkt_monitor()
1573 rx_report = (dhd_dbg_rx_report_t *)MALLOCZ(dhdp->osh, alloc_len); in dhd_dbg_attach_pkt_monitor()
1582 rx_pkts = (dhd_dbg_rx_info_t *)MALLOCZ(dhdp->osh, alloc_len); in dhd_dbg_attach_pkt_monitor()
1589 dhdp->dbg->pkt_mon.rx_report = rx_report; in dhd_dbg_attach_pkt_monitor()
1590 dhdp->dbg->pkt_mon.rx_report->rx_pkts = rx_pkts; in dhd_dbg_attach_pkt_monitor()
1591 dhdp->dbg->pkt_mon.rx_pkt_mon = rx_pkt_mon; in dhd_dbg_attach_pkt_monitor()
1592 dhdp->dbg->pkt_mon.rx_pkt_state = PKT_MON_ATTACHED; in dhd_dbg_attach_pkt_monitor()
1594 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_attach_pkt_monitor()
1602 MFREE(dhdp->osh, tx_pkts, alloc_len); in dhd_dbg_attach_pkt_monitor()
1606 MFREE(dhdp->osh, tx_report, alloc_len); in dhd_dbg_attach_pkt_monitor()
1608 dhdp->dbg->pkt_mon.tx_report = NULL; in dhd_dbg_attach_pkt_monitor()
1609 dhdp->dbg->pkt_mon.tx_report->tx_pkts = NULL; in dhd_dbg_attach_pkt_monitor()
1610 dhdp->dbg->pkt_mon.tx_pkt_mon = NULL; in dhd_dbg_attach_pkt_monitor()
1611 dhdp->dbg->pkt_mon.tx_status_mon = NULL; in dhd_dbg_attach_pkt_monitor()
1612 dhdp->dbg->pkt_mon.tx_pkt_state = PKT_MON_DETACHED; in dhd_dbg_attach_pkt_monitor()
1613 dhdp->dbg->pkt_mon.tx_status_state = PKT_MON_DETACHED; in dhd_dbg_attach_pkt_monitor()
1618 MFREE(dhdp->osh, rx_pkts, alloc_len); in dhd_dbg_attach_pkt_monitor()
1622 MFREE(dhdp->osh, rx_report, alloc_len); in dhd_dbg_attach_pkt_monitor()
1624 dhdp->dbg->pkt_mon.rx_report = NULL; in dhd_dbg_attach_pkt_monitor()
1625 dhdp->dbg->pkt_mon.rx_report->rx_pkts = NULL; in dhd_dbg_attach_pkt_monitor()
1626 dhdp->dbg->pkt_mon.rx_pkt_mon = NULL; in dhd_dbg_attach_pkt_monitor()
1627 dhdp->dbg->pkt_mon.rx_pkt_state = PKT_MON_DETACHED; in dhd_dbg_attach_pkt_monitor()
1629 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_attach_pkt_monitor()
1635 dhd_dbg_start_pkt_monitor(dhd_pub_t *dhdp) in dhd_dbg_start_pkt_monitor() argument
1645 if (!dhdp || !dhdp->dbg) { in dhd_dbg_start_pkt_monitor()
1647 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_start_pkt_monitor()
1651 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_start_pkt_monitor()
1652 tx_pkt_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_start_pkt_monitor()
1653 tx_status_state = dhdp->dbg->pkt_mon.tx_status_state; in dhd_dbg_start_pkt_monitor()
1654 rx_pkt_state = dhdp->dbg->pkt_mon.rx_pkt_state; in dhd_dbg_start_pkt_monitor()
1661 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_start_pkt_monitor()
1665 dhdp->dbg->pkt_mon.tx_pkt_state = PKT_MON_STARTING; in dhd_dbg_start_pkt_monitor()
1666 dhdp->dbg->pkt_mon.tx_status_state = PKT_MON_STARTING; in dhd_dbg_start_pkt_monitor()
1667 dhdp->dbg->pkt_mon.rx_pkt_state = PKT_MON_STARTING; in dhd_dbg_start_pkt_monitor()
1669 tx_report = dhdp->dbg->pkt_mon.tx_report; in dhd_dbg_start_pkt_monitor()
1670 rx_report = dhdp->dbg->pkt_mon.rx_report; in dhd_dbg_start_pkt_monitor()
1674 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_start_pkt_monitor()
1678 tx_pkt_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_start_pkt_monitor()
1679 tx_status_state = dhdp->dbg->pkt_mon.tx_status_state; in dhd_dbg_start_pkt_monitor()
1680 rx_pkt_state = dhdp->dbg->pkt_mon.rx_pkt_state; in dhd_dbg_start_pkt_monitor()
1683 __dhd_dbg_free_tx_pkts(dhdp, tx_report->tx_pkts, tx_report->pkt_pos); in dhd_dbg_start_pkt_monitor()
1685 __dhd_dbg_free_rx_pkts(dhdp, rx_report->rx_pkts, rx_report->pkt_pos); in dhd_dbg_start_pkt_monitor()
1690 dhdp->dbg->pkt_mon.tx_pkt_state = PKT_MON_STARTED; in dhd_dbg_start_pkt_monitor()
1691 dhdp->dbg->pkt_mon.tx_status_state = PKT_MON_STARTED; in dhd_dbg_start_pkt_monitor()
1694 dhdp->dbg->pkt_mon.rx_pkt_state = PKT_MON_STARTED; in dhd_dbg_start_pkt_monitor()
1695 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_start_pkt_monitor()
1702 dhd_dbg_monitor_tx_pkts(dhd_pub_t *dhdp, void *pkt, uint32 pktid) in dhd_dbg_monitor_tx_pkts() argument
1711 if (!dhdp || !dhdp->dbg) { in dhd_dbg_monitor_tx_pkts()
1713 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_monitor_tx_pkts()
1717 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_tx_pkts()
1718 tx_pkt_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_monitor_tx_pkts()
1720 tx_report = dhdp->dbg->pkt_mon.tx_report; in dhd_dbg_monitor_tx_pkts()
1728 tx_pkts[pkt_pos].info.pkt = PKTDUP(dhdp->osh, pkt); in dhd_dbg_monitor_tx_pkts()
1729 tx_pkts[pkt_pos].info.pkt_len = PKTLEN(dhdp->osh, pkt); in dhd_dbg_monitor_tx_pkts()
1738 dhdp->dbg->pkt_mon.tx_pkt_state = PKT_MON_STOPPED; in dhd_dbg_monitor_tx_pkts()
1744 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_tx_pkts()
1749 dhd_dbg_monitor_tx_status(dhd_pub_t *dhdp, void *pkt, uint32 pktid, in dhd_dbg_monitor_tx_status() argument
1762 if (!dhdp || !dhdp->dbg) { in dhd_dbg_monitor_tx_status()
1764 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_monitor_tx_status()
1768 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_tx_status()
1769 tx_status_state = dhdp->dbg->pkt_mon.tx_status_state; in dhd_dbg_monitor_tx_status()
1771 tx_report = dhdp->dbg->pkt_mon.tx_report; in dhd_dbg_monitor_tx_status()
1818 dhdp->dbg->pkt_mon.tx_status_state = PKT_MON_STOPPED; in dhd_dbg_monitor_tx_status()
1824 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_tx_status()
1829 dhd_dbg_monitor_rx_pkts(dhd_pub_t *dhdp, void *pkt) in dhd_dbg_monitor_rx_pkts() argument
1838 if (!dhdp || !dhdp->dbg) { in dhd_dbg_monitor_rx_pkts()
1840 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_monitor_rx_pkts()
1844 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_rx_pkts()
1845 rx_pkt_state = dhdp->dbg->pkt_mon.rx_pkt_state; in dhd_dbg_monitor_rx_pkts()
1847 rx_report = dhdp->dbg->pkt_mon.rx_report; in dhd_dbg_monitor_rx_pkts()
1854 rx_pkts[pkt_pos].info.pkt = PKTDUP(dhdp->osh, pkt); in dhd_dbg_monitor_rx_pkts()
1855 rx_pkts[pkt_pos].info.pkt_len = PKTLEN(dhdp->osh, pkt); in dhd_dbg_monitor_rx_pkts()
1864 dhdp->dbg->pkt_mon.rx_pkt_state = PKT_MON_STOPPED; in dhd_dbg_monitor_rx_pkts()
1870 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_rx_pkts()
1875 dhd_dbg_stop_pkt_monitor(dhd_pub_t *dhdp) in dhd_dbg_stop_pkt_monitor() argument
1883 if (!dhdp || !dhdp->dbg) { in dhd_dbg_stop_pkt_monitor()
1885 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_stop_pkt_monitor()
1889 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_stop_pkt_monitor()
1890 tx_pkt_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_stop_pkt_monitor()
1891 tx_status_state = dhdp->dbg->pkt_mon.tx_status_state; in dhd_dbg_stop_pkt_monitor()
1892 rx_pkt_state = dhdp->dbg->pkt_mon.rx_pkt_state; in dhd_dbg_stop_pkt_monitor()
1899 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_stop_pkt_monitor()
1902 dhdp->dbg->pkt_mon.tx_pkt_state = PKT_MON_STOPPED; in dhd_dbg_stop_pkt_monitor()
1903 dhdp->dbg->pkt_mon.tx_status_state = PKT_MON_STOPPED; in dhd_dbg_stop_pkt_monitor()
1904 dhdp->dbg->pkt_mon.rx_pkt_state = PKT_MON_STOPPED; in dhd_dbg_stop_pkt_monitor()
1905 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_stop_pkt_monitor()
1924 dhd_dbg_monitor_get_tx_pkts(dhd_pub_t *dhdp, void __user *user_buf, in dhd_dbg_monitor_get_tx_pkts() argument
1940 if (!dhdp || !dhdp->dbg) { in dhd_dbg_monitor_get_tx_pkts()
1942 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_monitor_get_tx_pkts()
1946 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_get_tx_pkts()
1947 tx_pkt_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_monitor_get_tx_pkts()
1948 tx_status_state = dhdp->dbg->pkt_mon.tx_status_state; in dhd_dbg_monitor_get_tx_pkts()
1954 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_get_tx_pkts()
1959 tx_report = dhdp->dbg->pkt_mon.tx_report; in dhd_dbg_monitor_get_tx_pkts()
1966 __dhd_dbg_dump_tx_pkt_info(dhdp, tx_pkt, count); in dhd_dbg_monitor_get_tx_pkts()
1972 PKTDATA(dhdp->osh, tx_pkt->info.pkt), tx_pkt->info.pkt_len); in dhd_dbg_monitor_get_tx_pkts()
1981 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_get_tx_pkts()
1992 dhd_dbg_monitor_get_rx_pkts(dhd_pub_t *dhdp, void __user *user_buf, in dhd_dbg_monitor_get_rx_pkts() argument
2007 if (!dhdp || !dhdp->dbg) { in dhd_dbg_monitor_get_rx_pkts()
2009 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_monitor_get_rx_pkts()
2013 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_get_rx_pkts()
2014 rx_pkt_state = dhdp->dbg->pkt_mon.rx_pkt_state; in dhd_dbg_monitor_get_rx_pkts()
2018 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_get_rx_pkts()
2023 rx_report = dhdp->dbg->pkt_mon.rx_report; in dhd_dbg_monitor_get_rx_pkts()
2030 __dhd_dbg_dump_rx_pkt_info(dhdp, rx_pkt, count); in dhd_dbg_monitor_get_rx_pkts()
2037 PKTDATA(dhdp->osh, rx_pkt->info.pkt), rx_pkt->info.pkt_len); in dhd_dbg_monitor_get_rx_pkts()
2046 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_monitor_get_rx_pkts()
2052 dhd_dbg_detach_pkt_monitor(dhd_pub_t *dhdp) in dhd_dbg_detach_pkt_monitor() argument
2062 if (!dhdp || !dhdp->dbg) { in dhd_dbg_detach_pkt_monitor()
2064 dhdp, (dhdp ? dhdp->dbg : NULL))); in dhd_dbg_detach_pkt_monitor()
2068 DHD_PKT_MON_LOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_detach_pkt_monitor()
2069 tx_pkt_state = dhdp->dbg->pkt_mon.tx_pkt_state; in dhd_dbg_detach_pkt_monitor()
2070 tx_status_state = dhdp->dbg->pkt_mon.tx_status_state; in dhd_dbg_detach_pkt_monitor()
2071 rx_pkt_state = dhdp->dbg->pkt_mon.rx_pkt_state; in dhd_dbg_detach_pkt_monitor()
2078 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_detach_pkt_monitor()
2082 tx_report = dhdp->dbg->pkt_mon.tx_report; in dhd_dbg_detach_pkt_monitor()
2083 rx_report = dhdp->dbg->pkt_mon.rx_report; in dhd_dbg_detach_pkt_monitor()
2086 dhdp->dbg->pkt_mon.tx_pkt_state = PKT_MON_DETACHED; in dhd_dbg_detach_pkt_monitor()
2087 dhdp->dbg->pkt_mon.tx_status_state = PKT_MON_DETACHED; in dhd_dbg_detach_pkt_monitor()
2090 __dhd_dbg_free_tx_pkts(dhdp, tx_report->tx_pkts, in dhd_dbg_detach_pkt_monitor()
2092 MFREE(dhdp->osh, tx_report->tx_pkts, in dhd_dbg_detach_pkt_monitor()
2094 dhdp->dbg->pkt_mon.tx_report->tx_pkts = NULL; in dhd_dbg_detach_pkt_monitor()
2096 MFREE(dhdp->osh, tx_report, sizeof(*tx_report)); in dhd_dbg_detach_pkt_monitor()
2097 dhdp->dbg->pkt_mon.tx_report = NULL; in dhd_dbg_detach_pkt_monitor()
2099 dhdp->dbg->pkt_mon.tx_pkt_mon = NULL; in dhd_dbg_detach_pkt_monitor()
2100 dhdp->dbg->pkt_mon.tx_status_mon = NULL; in dhd_dbg_detach_pkt_monitor()
2103 dhdp->dbg->pkt_mon.rx_pkt_state = PKT_MON_DETACHED; in dhd_dbg_detach_pkt_monitor()
2106 __dhd_dbg_free_rx_pkts(dhdp, rx_report->rx_pkts, in dhd_dbg_detach_pkt_monitor()
2108 MFREE(dhdp->osh, rx_report->rx_pkts, in dhd_dbg_detach_pkt_monitor()
2110 dhdp->dbg->pkt_mon.rx_report->rx_pkts = NULL; in dhd_dbg_detach_pkt_monitor()
2112 MFREE(dhdp->osh, rx_report, sizeof(*rx_report)); in dhd_dbg_detach_pkt_monitor()
2113 dhdp->dbg->pkt_mon.rx_report = NULL; in dhd_dbg_detach_pkt_monitor()
2115 dhdp->dbg->pkt_mon.rx_pkt_mon = NULL; in dhd_dbg_detach_pkt_monitor()
2117 DHD_PKT_MON_UNLOCK(dhdp->dbg->pkt_mon_lock, flags); in dhd_dbg_detach_pkt_monitor()
2125 dhd_dbg_process_tx_status(dhd_pub_t *dhdp, void *pkt, uint32 pktid, in dhd_dbg_process_tx_status() argument
2129 if (dhdp->d11_tx_status) { in dhd_dbg_process_tx_status()
2131 DHD_DBG_PKT_MON_TX_STATUS(dhdp, pkt, pktid, status); in dhd_dbg_process_tx_status()
2137 dhd_dbg_process_tx_status(dhd_pub_t *dhdp, void *pkt, in dhd_dbg_process_tx_status() argument
2150 dhd_dbg_attach(dhd_pub_t *dhdp, dbg_pullreq_t os_pullreq, in dhd_dbg_attach() argument
2158 dbg = MALLOCZ(dhdp->osh, sizeof(dhd_dbg_t)); in dhd_dbg_attach()
2162 buf = MALLOCZ(dhdp->osh, FW_VERBOSE_RING_SIZE); in dhd_dbg_attach()
2165 ret = dhd_dbg_ring_init(dhdp, &dbg->dbg_rings[FW_VERBOSE_RING_ID], FW_VERBOSE_RING_ID, in dhd_dbg_attach()
2170 buf = MALLOCZ(dhdp->osh, DHD_EVENT_RING_SIZE); in dhd_dbg_attach()
2173 ret = dhd_dbg_ring_init(dhdp, &dbg->dbg_rings[DHD_EVENT_RING_ID], DHD_EVENT_RING_ID, in dhd_dbg_attach()
2181 dhdp->dbg = dbg; in dhd_dbg_attach()
2189 dhd_dbg_ring_deinit(dhdp, ring); in dhd_dbg_attach()
2191 MFREE(dhdp->osh, ring->ring_buf, ring->ring_size); in dhd_dbg_attach()
2197 MFREE(dhdp->osh, dhdp->dbg, sizeof(dhd_dbg_t)); in dhd_dbg_attach()
2206 dhd_dbg_detach(dhd_pub_t *dhdp) in dhd_dbg_detach() argument
2212 if (!dhdp->dbg) in dhd_dbg_detach()
2214 dbg = dhdp->dbg; in dhd_dbg_detach()
2218 dhd_dbg_ring_deinit(dhdp, ring); in dhd_dbg_detach()
2220 MFREE(dhdp->osh, ring->ring_buf, ring->ring_size); in dhd_dbg_detach()
2226 MFREE(dhdp->osh, dhdp->dbg, sizeof(dhd_dbg_t)); in dhd_dbg_detach()