Lines Matching refs:rxd
122 void (*rxd_init)(void *rxd, dma_addr_t next_dma_addr);
123 void (*rxd_refill)(void *rxd, dma_addr_t addr, int len);
124 int (*rxd_process)(void *rxd, struct ieee80211_rx_status *status,
146 void *rxd; member
979 struct mwl8k_rxd_ap *rxd = _rxd; in mwl8k_rxd_ap_init() local
981 rxd->next_rxd_phys_addr = cpu_to_le32(next_dma_addr); in mwl8k_rxd_ap_init()
982 rxd->rx_ctrl = MWL8K_AP_RX_CTRL_OWNED_BY_HOST; in mwl8k_rxd_ap_init()
987 struct mwl8k_rxd_ap *rxd = _rxd; in mwl8k_rxd_ap_refill() local
989 rxd->pkt_len = cpu_to_le16(len); in mwl8k_rxd_ap_refill()
990 rxd->pkt_phys_addr = cpu_to_le32(addr); in mwl8k_rxd_ap_refill()
992 rxd->rx_ctrl = 0; in mwl8k_rxd_ap_refill()
999 struct mwl8k_rxd_ap *rxd = _rxd; in mwl8k_rxd_ap_process() local
1001 if (!(rxd->rx_ctrl & MWL8K_AP_RX_CTRL_OWNED_BY_HOST)) in mwl8k_rxd_ap_process()
1007 status->signal = -rxd->rssi; in mwl8k_rxd_ap_process()
1008 *noise = -rxd->noise_floor; in mwl8k_rxd_ap_process()
1010 if (rxd->rate & MWL8K_AP_RATE_INFO_MCS_FORMAT) { in mwl8k_rxd_ap_process()
1012 if (rxd->rate & MWL8K_AP_RATE_INFO_40MHZ) in mwl8k_rxd_ap_process()
1014 status->rate_idx = MWL8K_AP_RATE_INFO_RATEID(rxd->rate); in mwl8k_rxd_ap_process()
1019 if (mwl8k_rates_24[i].hw_value == rxd->rate) { in mwl8k_rxd_ap_process()
1026 if (rxd->channel > 14) { in mwl8k_rxd_ap_process()
1034 status->freq = ieee80211_channel_to_frequency(rxd->channel, in mwl8k_rxd_ap_process()
1037 *qos = rxd->qos_control; in mwl8k_rxd_ap_process()
1039 if ((rxd->rx_status != MWL8K_AP_RXSTAT_GENERAL_DECRYPT_ERR) && in mwl8k_rxd_ap_process()
1040 (rxd->rx_status & MWL8K_AP_RXSTAT_DECRYPT_ERR_MASK) && in mwl8k_rxd_ap_process()
1041 (rxd->rx_status & MWL8K_AP_RXSTAT_TKIP_DECRYPT_MIC_ERR)) in mwl8k_rxd_ap_process()
1044 return le16_to_cpu(rxd->pkt_len); in mwl8k_rxd_ap_process()
1090 struct mwl8k_rxd_sta *rxd = _rxd; in mwl8k_rxd_sta_init() local
1092 rxd->next_rxd_phys_addr = cpu_to_le32(next_dma_addr); in mwl8k_rxd_sta_init()
1093 rxd->rx_ctrl = MWL8K_STA_RX_CTRL_OWNED_BY_HOST; in mwl8k_rxd_sta_init()
1098 struct mwl8k_rxd_sta *rxd = _rxd; in mwl8k_rxd_sta_refill() local
1100 rxd->pkt_len = cpu_to_le16(len); in mwl8k_rxd_sta_refill()
1101 rxd->pkt_phys_addr = cpu_to_le32(addr); in mwl8k_rxd_sta_refill()
1103 rxd->rx_ctrl = 0; in mwl8k_rxd_sta_refill()
1110 struct mwl8k_rxd_sta *rxd = _rxd; in mwl8k_rxd_sta_process() local
1113 if (!(rxd->rx_ctrl & MWL8K_STA_RX_CTRL_OWNED_BY_HOST)) in mwl8k_rxd_sta_process()
1117 rate_info = le16_to_cpu(rxd->rate_info); in mwl8k_rxd_sta_process()
1121 status->signal = -rxd->rssi; in mwl8k_rxd_sta_process()
1122 *noise = -rxd->noise_level; in mwl8k_rxd_sta_process()
1135 if (rxd->channel > 14) { in mwl8k_rxd_sta_process()
1143 status->freq = ieee80211_channel_to_frequency(rxd->channel, in mwl8k_rxd_sta_process()
1146 *qos = rxd->qos_control; in mwl8k_rxd_sta_process()
1147 if ((rxd->rx_ctrl & MWL8K_STA_RX_CTRL_DECRYPT_ERROR) && in mwl8k_rxd_sta_process()
1148 (rxd->rx_ctrl & MWL8K_STA_RX_CTRL_DEC_ERR_TYPE)) in mwl8k_rxd_sta_process()
1151 return le16_to_cpu(rxd->pkt_len); in mwl8k_rxd_sta_process()
1178 rxq->rxd = dma_alloc_coherent(&priv->pdev->dev, size, &rxq->rxd_dma, in mwl8k_rxq_init()
1180 if (rxq->rxd == NULL) { in mwl8k_rxq_init()
1187 dma_free_coherent(&priv->pdev->dev, size, rxq->rxd, in mwl8k_rxq_init()
1194 void *rxd; in mwl8k_rxq_init() local
1199 rxd = rxq->rxd + (i * priv->rxd_ops->rxd_size); in mwl8k_rxq_init()
1206 priv->rxd_ops->rxd_init(rxd, next_dma_addr); in mwl8k_rxq_init()
1222 void *rxd; in rxq_refill() local
1238 rxd = rxq->rxd + (rx * priv->rxd_ops->rxd_size); in rxq_refill()
1239 priv->rxd_ops->rxd_refill(rxd, addr, MWL8K_RX_MAXSZ); in rxq_refill()
1254 if (rxq->rxd == NULL) in mwl8k_rxq_deinit()
1273 MWL8K_RX_DESCS * priv->rxd_ops->rxd_size, rxq->rxd, in mwl8k_rxq_deinit()
1275 rxq->rxd = NULL; in mwl8k_rxq_deinit()
1334 void *rxd; in rxq_process() local
1344 rxd = rxq->rxd + (rxq->head * priv->rxd_ops->rxd_size); in rxq_process()
1346 pkt_len = priv->rxd_ops->rxd_process(rxd, &status, &qos, in rxq_process()