Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(250)

Side by Side Diff: chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/ar9003_mac.c

Issue 6393011: ath9k: Add pktlog support Base URL: ssh://git@gitrw.chromium.org:9222/kernel.git@master
Patch Set: add missing files Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010 Atheros Communications Inc. 2 * Copyright (c) 2010 Atheros Communications Inc.
3 * 3 *
4 * Permission to use, copy, modify, and/or distribute this software for any 4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above 5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies. 6 * copyright notice and this permission notice appear in all copies.
7 * 7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 } else { 227 } else {
228 /* XXX Intermediate descriptor in a multi-descriptor frame.*/ 228 /* XXX Intermediate descriptor in a multi-descriptor frame.*/
229 ads->ctl11 = 0; 229 ads->ctl11 = 0;
230 ads->ctl12 = AR_TxMore; 230 ads->ctl12 = AR_TxMore;
231 ads->ctl13 = 0; 231 ads->ctl13 = 0;
232 ads->ctl14 = 0; 232 ads->ctl14 = 0;
233 } 233 }
234 } 234 }
235 235
236 static int ar9003_hw_proc_txdesc(struct ath_hw *ah, void *ds, 236 static int ar9003_hw_proc_txdesc(struct ath_hw *ah, void *ds,
237 » » » » struct ath_tx_status *ts) 237 » » » » struct ath_tx_status *ts,
238 » » » » void *txs_desc)
238 { 239 {
239 struct ar9003_txs *ads; 240 struct ar9003_txs *ads;
240 241
241 ads = &ah->ts_ring[ah->ts_tail]; 242 ads = &ah->ts_ring[ah->ts_tail];
242 243
243 if ((ads->status8 & AR_TxDone) == 0) 244 if ((ads->status8 & AR_TxDone) == 0)
244 return -EINPROGRESS; 245 return -EINPROGRESS;
245 246
246 ah->ts_tail = (ah->ts_tail + 1) % ah->ts_size; 247 ah->ts_tail = (ah->ts_tail + 1) % ah->ts_size;
247 248
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 ts->ts_rssi_ext0 = MS(ads->status7, AR_TxRSSIAnt10); 299 ts->ts_rssi_ext0 = MS(ads->status7, AR_TxRSSIAnt10);
299 ts->ts_rssi_ext1 = MS(ads->status7, AR_TxRSSIAnt11); 300 ts->ts_rssi_ext1 = MS(ads->status7, AR_TxRSSIAnt11);
300 ts->ts_rssi_ext2 = MS(ads->status7, AR_TxRSSIAnt12); 301 ts->ts_rssi_ext2 = MS(ads->status7, AR_TxRSSIAnt12);
301 ts->ts_shortretry = MS(ads->status3, AR_RTSFailCnt); 302 ts->ts_shortretry = MS(ads->status3, AR_RTSFailCnt);
302 ts->ts_longretry = MS(ads->status3, AR_DataFailCnt); 303 ts->ts_longretry = MS(ads->status3, AR_DataFailCnt);
303 ts->ts_virtcol = MS(ads->status3, AR_VirtRetryCnt); 304 ts->ts_virtcol = MS(ads->status3, AR_VirtRetryCnt);
304 ts->ts_antenna = 0; 305 ts->ts_antenna = 0;
305 306
306 ts->tid = MS(ads->status8, AR_TxTid); 307 ts->tid = MS(ads->status8, AR_TxTid);
307 308
309 memcpy(txs_desc, ads, sizeof(*ads));
308 memset(ads, 0, sizeof(*ads)); 310 memset(ads, 0, sizeof(*ads));
309 311
310 return 0; 312 return 0;
311 } 313 }
312 314
313 static void ar9003_hw_set11n_txdesc(struct ath_hw *ah, void *ds, 315 static void ar9003_hw_set11n_txdesc(struct ath_hw *ah, void *ds,
314 u32 pktlen, enum ath9k_pkt_type type, u32 txpower, 316 u32 pktlen, enum ath9k_pkt_type type, u32 txpower,
315 u32 keyIx, enum ath9k_key_type keyType, u32 flags) 317 u32 keyIx, enum ath9k_key_type keyType, u32 flags)
316 { 318 {
317 struct ar9003_txc *ads = (struct ar9003_txc *) ds; 319 struct ar9003_txc *ads = (struct ar9003_txc *) ds;
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 { 672 {
671 673
672 ah->ts_paddr_start = ts_paddr_start; 674 ah->ts_paddr_start = ts_paddr_start;
673 ah->ts_paddr_end = ts_paddr_start + (size * sizeof(struct ar9003_txs)); 675 ah->ts_paddr_end = ts_paddr_start + (size * sizeof(struct ar9003_txs));
674 ah->ts_size = size; 676 ah->ts_size = size;
675 ah->ts_ring = (struct ar9003_txs *) ts_start; 677 ah->ts_ring = (struct ar9003_txs *) ts_start;
676 678
677 ath9k_hw_reset_txstatus_ring(ah); 679 ath9k_hw_reset_txstatus_ring(ah);
678 } 680 }
679 EXPORT_SYMBOL(ath9k_hw_setup_statusring); 681 EXPORT_SYMBOL(ath9k_hw_setup_statusring);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698