1 /*
2  * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
3  * Copyright (c) 2002-2008 Atheros Communications, Inc.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  *
17  * $FreeBSD: head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c 235972 2012-05-25 05:01:27Z adrian $
18  */
19 #include "opt_ah.h"
20 
21 #include "ah.h"
22 #include "ah_internal.h"
23 #include "ah_devid.h"
24 
25 #include "ar9300/ar9300.h"
26 #include "ar9300/ar9300reg.h"
27 #include "ar9300/ar9300phy.h"
28 
29 #include "ar9300/ar9300_stub.h"
30 #include "ar9300/ar9300_stub_funcs.h"
31 
32 uint32_t
33 ar9300_Stub_GetRadioRev(struct ath_hal *ah)
34 {
35 
36 	ath_hal_printf(ah, "%s: called\n", __func__);
37 	return (0);
38 }
39 
40 #if 0
41 void
42 ar9300_Stub_InitState(struct ath_hal_5212 *, uint16_t devid, HAL_SOFTC,
43     HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status)
44 {
45 
46 	ath_hal_printf(ah, "%s: called\n", __func__);
47 	return;
48 
49 }
50 #endif
51 
52 void
53 ar9300_Stub_Detach(struct ath_hal *ah)
54 {
55 
56 	ath_hal_printf(ah, "%s: called\n", __func__);
57 	return;
58 }
59 
60 HAL_BOOL
61 ar9300_Stub_ChipTest(struct ath_hal *ah)
62 {
63 
64 	ath_hal_printf(ah, "%s: called\n", __func__);
65 	return (AH_FALSE);
66 }
67 
68 HAL_BOOL
69 ar9300_Stub_GetChannelEdges(struct ath_hal *ah, uint16_t flags,
70     uint16_t *low, uint16_t *high)
71 {
72 
73 	ath_hal_printf(ah, "%s: called\n", __func__);
74 	return (AH_FALSE);
75 }
76 
77 HAL_BOOL
78 ar9300_Stub_FillCapabilityInfo(struct ath_hal *ah)
79 {
80 
81 	ath_hal_printf(ah, "%s: called\n", __func__);
82 	return (AH_FALSE);
83 }
84 
85 void
86 ar9300_Stub_SetBeaconTimers(struct ath_hal *ah,
87     const HAL_BEACON_TIMERS * bs)
88 {
89 
90 	ath_hal_printf(ah, "%s: called\n", __func__);
91 }
92 
93 void
94 ar9300_Stub_BeaconInit(struct ath_hal *ah, uint32_t next_beacon,
95     uint32_t beacon_period)
96 {
97 
98 	ath_hal_printf(ah, "%s: called\n", __func__);
99 }
100 
101 void
102 ar9300_Stub_ResetStaBeaconTimers(struct ath_hal *ah)
103 {
104 
105 	ath_hal_printf(ah, "%s: called\n", __func__);
106 }
107 
108 void
109 ar9300_Stub_SetStaBeaconTimers(struct ath_hal *ah, const HAL_BEACON_STATE *bs)
110 {
111 
112 	ath_hal_printf(ah, "%s: called\n", __func__);
113 }
114 
115 uint64_t
116 ar9300_Stub_GetNextTBTT(struct ath_hal *ah)
117 {
118 
119 	ath_hal_printf(ah, "%s: called\n", __func__);
120 	return (0);
121 }
122 
123 HAL_BOOL
124 ar9300_Stub_IsInterruptPending(struct ath_hal *ah)
125 {
126 
127 	ath_hal_printf(ah, "%s: called\n", __func__);
128 	return (AH_FALSE);
129 }
130 
131 HAL_BOOL
132 ar9300_Stub_GetPendingInterrupts(struct ath_hal *ah, HAL_INT *mask)
133 {
134 
135 	ath_hal_printf(ah, "%s: called\n", __func__);
136 	return (AH_FALSE);
137 }
138 
139 HAL_INT
140 ar9300_Stub_GetInterrupts(struct ath_hal *ah)
141 {
142 
143 	ath_hal_printf(ah, "%s: called\n", __func__);
144 	return (0);
145 }
146 
147 HAL_INT
148 ar9300_Stub_SetInterrupts(struct ath_hal *ah, HAL_INT ints)
149 {
150 
151 	ath_hal_printf(ah, "%s: called\n", __func__);
152 	return (0);
153 }
154 
155 
156 uint32_t
157 ar9300_Stub_GetKeyCacheSize(struct ath_hal *ah)
158 {
159 
160 	ath_hal_printf(ah, "%s: called\n", __func__);
161 	return (0);
162 }
163 
164 HAL_BOOL
165 ar9300_Stub_IsKeyCacheEntryValid(struct ath_hal *ah, uint16_t entry)
166 {
167 
168 	ath_hal_printf(ah, "%s: called\n", __func__);
169 	return (AH_FALSE);
170 }
171 
172 HAL_BOOL
173 ar9300_Stub_ResetKeyCacheEntry(struct ath_hal *ah, uint16_t entry)
174 {
175 
176 	ath_hal_printf(ah, "%s: called\n", __func__);
177 	return (AH_FALSE);
178 }
179 
180 HAL_BOOL
181 ar9300_Stub_SetKeyCacheEntryMac(struct ath_hal *ah, uint16_t entry,
182     const uint8_t *mac)
183 {
184 
185 	ath_hal_printf(ah, "%s: called\n", __func__);
186 	return (AH_FALSE);
187 }
188 
189 HAL_BOOL
190 ar9300_Stub_SetKeyCacheEntry(struct ath_hal *ah, uint16_t entry,
191     const HAL_KEYVAL *k, const uint8_t *mac, int xorKey)
192 {
193 
194 	ath_hal_printf(ah, "%s: called\n", __func__);
195 	return (AH_FALSE);
196 }
197 
198 void
199 ar9300_Stub_GetMacAddress(struct ath_hal *ah, uint8_t *mac)
200 {
201 
202 	ath_hal_printf(ah, "%s: called\n", __func__);
203 }
204 
205 HAL_BOOL
206 ar9300_Stub_SetMacAddress(struct ath_hal *ah, const uint8_t *mac)
207 {
208 
209 	ath_hal_printf(ah, "%s: called\n", __func__);
210 	return (AH_FALSE);
211 }
212 
213 void
214 ar9300_Stub_GetBssIdMask(struct ath_hal *ah, uint8_t *mac)
215 {
216 
217 	ath_hal_printf(ah, "%s: called\n", __func__);
218 }
219 
220 HAL_BOOL
221 ar9300_Stub_SetBssIdMask(struct ath_hal *ah, const uint8_t *bssid)
222 {
223 
224 	ath_hal_printf(ah, "%s: called\n", __func__);
225 	return (AH_FALSE);
226 }
227 
228 HAL_BOOL
229 ar9300_Stub_EepromRead(struct ath_hal *ah, u_int off, uint16_t *data)
230 {
231 
232 	ath_hal_printf(ah, "%s: called\n", __func__);
233 	return (AH_FALSE);
234 }
235 
236 HAL_BOOL
237 ar9300_Stub_EepromWrite(struct ath_hal *ah, u_int off, uint16_t data)
238 {
239 
240 	ath_hal_printf(ah, "%s: called\n", __func__);
241 	return (AH_FALSE);
242 }
243 
244 HAL_BOOL
245 ar9300_Stub_SetRegulatoryDomain(struct ath_hal *ah,
246 		uint16_t regDomain, HAL_STATUS *stats)
247 {
248 
249 	ath_hal_printf(ah, "%s: called\n", __func__);
250 	return (AH_FALSE);
251 }
252 
253 u_int
254 ar9300_Stub_GetWirelessModes(struct ath_hal *ah)
255 {
256 
257 	ath_hal_printf(ah, "%s: called\n", __func__);
258 	/* XXX map these */
259 	return (0);
260 }
261 
262 void
263 ar9300_Stub_EnableRfKill(struct ath_hal *ah)
264 {
265 
266 	ath_hal_printf(ah, "%s: called\n", __func__);
267 }
268 
269 HAL_BOOL
270 ar9300_Stub_GpioCfgOutput(struct ath_hal *ah, uint32_t gpio,
271 		HAL_GPIO_MUX_TYPE mux)
272 {
273 
274 	ath_hal_printf(ah, "%s: called\n", __func__);
275 	return (AH_FALSE);
276 }
277 
278 HAL_BOOL
279 ar9300_Stub_GpioCfgInput(struct ath_hal *ah, uint32_t gpio)
280 {
281 
282 	ath_hal_printf(ah, "%s: called\n", __func__);
283 	return (AH_FALSE);
284 }
285 
286 HAL_BOOL
287 ar9300_Stub_GpioSet(struct ath_hal *ah, uint32_t gpio, uint32_t val)
288 {
289 
290 	ath_hal_printf(ah, "%s: called\n", __func__);
291 	return (AH_FALSE);
292 }
293 
294 uint32_t
295 ar9300_Stub_GpioGet(struct ath_hal *ah, uint32_t gpio)
296 {
297 
298 	ath_hal_printf(ah, "%s: called\n", __func__);
299 	return (0);
300 }
301 
302 void
303 ar9300_Stub_GpioSetIntr(struct ath_hal *ah, u_int gpioPin, uint32_t ilevel)
304 {
305 
306 	ath_hal_printf(ah, "%s: called\n", __func__);
307 }
308 
309 void
310 ar9300_Stub_SetLedState(struct ath_hal *ah, HAL_LED_STATE state)
311 {
312 
313 	ath_hal_printf(ah, "%s: called\n", __func__);
314 }
315 
316 void
317 ar9300_Stub_WriteAssocid(struct ath_hal *ah, const uint8_t *bssid,
318 		uint16_t assocId)
319 {
320 
321 	ath_hal_printf(ah, "%s: called\n", __func__);
322 }
323 
324 uint32_t
325 ar9300_Stub_GetTsf32(struct ath_hal *ah)
326 {
327 
328 	ath_hal_printf(ah, "%s: called\n", __func__);
329 	return (0);
330 }
331 
332 uint64_t
333 ar9300_Stub_GetTsf64(struct ath_hal *ah)
334 {
335 
336 	ath_hal_printf(ah, "%s: called\n", __func__);
337 	return (0);
338 }
339 
340 void
341 ar9300_Stub_SetTsf64(struct ath_hal *ah, uint64_t tsf64)
342 {
343 
344 	ath_hal_printf(ah, "%s: called\n", __func__);
345 }
346 
347 void
348 ar9300_Stub_ResetTsf(struct ath_hal *ah)
349 {
350 
351 	ath_hal_printf(ah, "%s: called\n", __func__);
352 }
353 
354 void
355 ar9300_Stub_SetBasicRate(struct ath_hal *ah, HAL_RATE_SET *pSet)
356 {
357 
358 	ath_hal_printf(ah, "%s: called\n", __func__);
359 }
360 
361 uint32_t
362 ar9300_Stub_GetRandomSeed(struct ath_hal *ah)
363 {
364 
365 	ath_hal_printf(ah, "%s: called\n", __func__);
366 	return (0);
367 }
368 
369 HAL_BOOL
370 ar9300_Stub_DetectCardPresent(struct ath_hal *ah)
371 {
372 
373 	ath_hal_printf(ah, "%s: called\n", __func__);
374 	return (AH_TRUE);
375 }
376 
377 void
378 ar9300_Stub_EnableMibCounters(struct ath_hal *ah)
379 {
380 
381 	ath_hal_printf(ah, "%s: called\n", __func__);
382 }
383 
384 void
385 ar9300_Stub_DisableMibCounters(struct ath_hal *ah)
386 {
387 
388 	ath_hal_printf(ah, "%s: called\n", __func__);
389 }
390 
391 void
392 ar9300_Stub_UpdateMibCounters(struct ath_hal *ah, HAL_MIB_STATS* stats)
393 {
394 
395 	ath_hal_printf(ah, "%s: called\n", __func__);
396 }
397 
398 HAL_BOOL
399 ar9300_Stub_IsJapanChannelSpreadSupported(struct ath_hal *ah)
400 {
401 
402 	ath_hal_printf(ah, "%s: called\n", __func__);
403 	return (AH_FALSE);
404 }
405 
406 uint32_t
407 ar9300_Stub_GetCurRssi(struct ath_hal *ah)
408 {
409 
410 	ath_hal_printf(ah, "%s: called\n", __func__);
411 	return (0);
412 }
413 
414 u_int
415 ar9300_Stub_GetDefAntenna(struct ath_hal *ah)
416 {
417 
418 	ath_hal_printf(ah, "%s: called\n", __func__);
419 	return (0);
420 }
421 
422 void
423 ar9300_Stub_SetDefAntenna(struct ath_hal *ah, u_int antenna)
424 {
425 
426 	ath_hal_printf(ah, "%s: called\n", __func__);
427 }
428 
429 HAL_ANT_SETTING
430 ar9300_Stub_GetAntennaSwitch(struct ath_hal *ah)
431 {
432 
433 	ath_hal_printf(ah, "%s: called\n", __func__);
434 	return (HAL_ANT_VARIABLE);
435 }
436 
437 HAL_BOOL
438 ar9300_Stub_SetAntennaSwitch(struct ath_hal *ah, HAL_ANT_SETTING setting)
439 {
440 
441 	ath_hal_printf(ah, "%s: called\n", __func__);
442 	return (AH_FALSE);
443 }
444 
445 HAL_BOOL
446 ar9300_Stub_IsSleepAfterBeaconBroken(struct ath_hal *ah)
447 {
448 
449 	ath_hal_printf(ah, "%s: called\n", __func__);
450 	return (AH_FALSE);
451 }
452 
453 HAL_BOOL
454 ar9300_Stub_SetSifsTime(struct ath_hal *ah, u_int sifs)
455 {
456 
457 	ath_hal_printf(ah, "%s: called\n", __func__);
458 	return (AH_FALSE);
459 }
460 
461 u_int
462 ar9300_Stub_GetSifsTime(struct ath_hal *ah)
463 {
464 
465 	ath_hal_printf(ah, "%s: called\n", __func__);
466 	return (0);
467 }
468 
469 HAL_BOOL
470 ar9300_Stub_SetSlotTime(struct ath_hal *ah, u_int slottime)
471 {
472 
473 	ath_hal_printf(ah, "%s: called\n", __func__);
474 	return (AH_FALSE);
475 }
476 
477 u_int
478 ar9300_Stub_GetSlotTime(struct ath_hal *ah)
479 {
480 
481 	ath_hal_printf(ah, "%s: called\n", __func__);
482 	return (0);
483 }
484 
485 HAL_BOOL
486 ar9300_Stub_SetAckTimeout(struct ath_hal *ah, u_int acktimeout)
487 {
488 
489 	ath_hal_printf(ah, "%s: called\n", __func__);
490 	return (AH_FALSE);
491 }
492 
493 u_int
494 ar9300_Stub_GetAckTimeout(struct ath_hal *ah)
495 {
496 
497 	ath_hal_printf(ah, "%s: called\n", __func__);
498 	return (0);
499 }
500 
501 HAL_BOOL
502 ar9300_Stub_SetAckCTSRate(struct ath_hal *ah, u_int ctsrate)
503 {
504 
505 	ath_hal_printf(ah, "%s: called\n", __func__);
506 	return (AH_FALSE);
507 }
508 
509 u_int
510 ar9300_Stub_GetAckCTSRate(struct ath_hal *ah)
511 {
512 
513 	ath_hal_printf(ah, "%s: called\n", __func__);
514 	return (0);
515 }
516 
517 HAL_BOOL
518 ar9300_Stub_SetCTSTimeout(struct ath_hal *ah, u_int ctstimeout)
519 {
520 
521 	ath_hal_printf(ah, "%s: called\n", __func__);
522 	return (AH_FALSE);
523 }
524 
525 u_int
526 ar9300_Stub_GetCTSTimeout(struct ath_hal *ah)
527 {
528 
529 	ath_hal_printf(ah, "%s: called\n", __func__);
530 	return (0);
531 }
532 
533 HAL_BOOL
534 ar9300_Stub_SetDecompMask(struct ath_hal *ah, uint16_t a, int b)
535 {
536 
537 	ath_hal_printf(ah, "%s: called\n", __func__);
538 	return (AH_FALSE);
539 }
540 
541 void
542 ar9300_Stub_SetCoverageClass(struct ath_hal *ah, uint8_t a, int b)
543 {
544 
545 	ath_hal_printf(ah, "%s: called\n", __func__);
546 }
547 
548 void
549 ar9300_Stub_SetPCUConfig(struct ath_hal *ah)
550 {
551 
552 	ath_hal_printf(ah, "%s: called\n", __func__);
553 }
554 
555 HAL_BOOL
556 ar9300_Stub_Use32KHzclock(struct ath_hal *ah, HAL_OPMODE opmode)
557 {
558 
559 	ath_hal_printf(ah, "%s: called\n", __func__);
560 	return (AH_FALSE);
561 }
562 
563 void
564 ar9300_Stub_SetupClock(struct ath_hal *ah, HAL_OPMODE opmode)
565 {
566 
567 	ath_hal_printf(ah, "%s: called\n", __func__);
568 }
569 
570 void
571 ar9300_Stub_RestoreClock(struct ath_hal *ah, HAL_OPMODE opmode)
572 {
573 
574 	ath_hal_printf(ah, "%s: called\n", __func__);
575 }
576 
577 int16_t
578 ar9300_Stub_GetNfAdjust(struct ath_hal *ah, const HAL_CHANNEL_INTERNAL *ichan)
579 {
580 
581 	ath_hal_printf(ah, "%s: called\n", __func__);
582 	return (0);
583 }
584 
585 void
586 ar9300_Stub_SetCompRegs(struct ath_hal *ah)
587 {
588 
589 	ath_hal_printf(ah, "%s: called\n", __func__);
590 }
591 
592 HAL_STATUS
593 ar9300_Stub_GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE ctype,
594 		uint32_t which, uint32_t *val)
595 {
596 
597 	ath_hal_printf(ah, "%s: called\n", __func__);
598 	return (HAL_EIO);
599 }
600 
601 HAL_BOOL
602 ar9300_Stub_SetCapability(struct ath_hal *ah , HAL_CAPABILITY_TYPE ctype,
603 		uint32_t which, uint32_t val, HAL_STATUS *status)
604 {
605 
606 	ath_hal_printf(ah, "%s: called\n", __func__);
607 	return (AH_FALSE);
608 }
609 
610 HAL_BOOL
611 ar9300_Stub_GetDiagState(struct ath_hal *ah, int request,
612 		const void *args, uint32_t argsize,
613 		void **result, uint32_t *resultsize)
614 {
615 
616 	ath_hal_printf(ah, "%s: called\n", __func__);
617 	return (AH_FALSE);
618 }
619 
620 HAL_STATUS
621 ar9300_Stub_SetQuiet(struct ath_hal *ah, uint32_t period,
622 		uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag)
623 {
624 
625 	ath_hal_printf(ah, "%s: called\n", __func__);
626 	return (HAL_EIO);
627 }
628 
629 HAL_BOOL
630 ar9300_Stub_GetMibCycleCounts(struct ath_hal *ah,
631 		HAL_SURVEY_SAMPLE *hs)
632 {
633 
634 	ath_hal_printf(ah, "%s: called\n", __func__);
635 	return (AH_FALSE);
636 }
637 
638 HAL_BOOL
639 ar9300_Stub_SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode,
640 		int setChip)
641 {
642 
643 	ath_hal_printf(ah, "%s: called\n", __func__);
644 	return (AH_FALSE);
645 }
646 
647 HAL_POWER_MODE
648 ar9300_Stub_GetPowerMode(struct ath_hal *ah)
649 {
650 
651 	ath_hal_printf(ah, "%s: called\n", __func__);
652 	return (HAL_PM_AWAKE);
653 }
654 
655 HAL_BOOL
656 ar9300_Stub_GetPowerStatus(struct ath_hal *ah)
657 {
658 
659 	ath_hal_printf(ah, "%s: called\n", __func__);
660 	return (AH_FALSE);
661 }
662 
663 uint32_t
664 ar9300_Stub_GetRxDP(struct ath_hal *ah, HAL_RX_QUEUE qtype)
665 {
666 
667 	ath_hal_printf(ah, "%s: called\n", __func__);
668 	return (0);
669 }
670 
671 void
672 ar9300_Stub_SetRxDP(struct ath_hal *ah, uint32_t rxdp, HAL_RX_QUEUE qtype)
673 {
674 
675 	ath_hal_printf(ah, "%s: called\n", __func__);
676 }
677 
678 void
679 ar9300_Stub_EnableReceive(struct ath_hal *ah)
680 {
681 
682 	ath_hal_printf(ah, "%s: called\n", __func__);
683 }
684 
685 HAL_BOOL
686 ar9300_Stub_StopDmaReceive(struct ath_hal *ah)
687 {
688 
689 	ath_hal_printf(ah, "%s: called\n", __func__);
690 	return (AH_FALSE);
691 }
692 
693 void
694 ar9300_Stub_StartPcuReceive(struct ath_hal *ah)
695 {
696 
697 	ath_hal_printf(ah, "%s: called\n", __func__);
698 }
699 
700 void
701 ar9300_Stub_StopPcuReceive(struct ath_hal *ah)
702 {
703 
704 	ath_hal_printf(ah, "%s: called\n", __func__);
705 }
706 
707 void
708 ar9300_Stub_SetMulticastFilter(struct ath_hal *ah, uint32_t filter0,
709     uint32_t filter1)
710 {
711 
712 	ath_hal_printf(ah, "%s: called\n", __func__);
713 }
714 
715 HAL_BOOL
716 ar9300_Stub_ClrMulticastFilterIndex(struct ath_hal *ah, uint32_t ix)
717 {
718 
719 	ath_hal_printf(ah, "%s: called\n", __func__);
720 	return (AH_FALSE);
721 }
722 
723 HAL_BOOL
724 ar9300_Stub_SetMulticastFilterIndex(struct ath_hal *ah, uint32_t ix)
725 {
726 
727 	ath_hal_printf(ah, "%s: called\n", __func__);
728 	return (AH_FALSE);
729 }
730 
731 uint32_t
732 ar9300_Stub_GetRxFilter(struct ath_hal *ah)
733 {
734 
735 	ath_hal_printf(ah, "%s: called\n", __func__);
736 	return (AH_FALSE);
737 }
738 
739 void
740 ar9300_Stub_SetRxFilter(struct ath_hal *ah, uint32_t bits)
741 {
742 
743 	ath_hal_printf(ah, "%s: called\n", __func__);
744 }
745 
746 HAL_BOOL
747 ar9300_Stub_SetupRxDesc(struct ath_hal *ah,
748 		struct ath_desc *rxdesc, uint32_t size, u_int flags)
749 {
750 
751 	ath_hal_printf(ah, "%s: called\n", __func__);
752 	return (AH_FALSE);
753 }
754 
755 HAL_STATUS
756 ar9300_Stub_ProcRxDesc(struct ath_hal *ah, struct ath_desc *desc0,
757 		uint32_t a, struct ath_desc *desc, uint64_t tsf,
758 		struct ath_rx_status *rxstat)
759 {
760 
761 	ath_hal_printf(ah, "%s: called\n", __func__);
762 	return (HAL_EIO);
763 }
764 
765 HAL_BOOL
766 ar9300_Stub_Reset(struct ath_hal *ah, HAL_OPMODE opmode,
767 		struct ieee80211_channel *chan, HAL_BOOL bChannelChange,
768 		HAL_STATUS *status)
769 {
770 
771 	ath_hal_printf(ah, "%s: called\n", __func__);
772 	return (AH_FALSE);
773 }
774 
775 HAL_BOOL
776 ar9300_Stub_SetChannel(struct ath_hal *ah,
777 		const struct ieee80211_channel *chan)
778 {
779 
780 	ath_hal_printf(ah, "%s: called\n", __func__);
781 	return (AH_FALSE);
782 }
783 
784 void
785 ar9300_Stub_SetOperatingMode(struct ath_hal *ah, int opmode)
786 {
787 
788 	ath_hal_printf(ah, "%s: called\n", __func__);
789 }
790 
791 HAL_BOOL
792 ar9300_Stub_PhyDisable(struct ath_hal *ah)
793 {
794 
795 	ath_hal_printf(ah, "%s: called\n", __func__);
796 	return (AH_FALSE);
797 }
798 
799 HAL_BOOL
800 ar9300_Stub_Disable(struct ath_hal *ah)
801 {
802 
803 	ath_hal_printf(ah, "%s: called\n", __func__);
804 	return (AH_FALSE);
805 }
806 
807 HAL_BOOL
808 ar9300_Stub_ChipReset(struct ath_hal *ah,
809 		const struct ieee80211_channel *chan)
810 {
811 
812 	ath_hal_printf(ah, "%s: called\n", __func__);
813 	return (AH_FALSE);
814 }
815 
816 HAL_BOOL
817 ar9300_Stub_PerCalibration(struct ath_hal *ah,
818 		struct ieee80211_channel *chan, HAL_BOOL *isIQdone)
819 {
820 
821 	ath_hal_printf(ah, "%s: called\n", __func__);
822 	return (AH_FALSE);
823 }
824 
825 HAL_BOOL
826 ar9300_Stub_PerCalibrationN(struct ath_hal *ah,
827 		struct ieee80211_channel *chan, u_int chainMask,
828 		HAL_BOOL longCal, HAL_BOOL *isCalDone)
829 {
830 
831 	ath_hal_printf(ah, "%s: called\n", __func__);
832 	return (AH_FALSE);
833 }
834 
835 HAL_BOOL
836 ar9300_Stub_ResetCalValid(struct ath_hal *ah,
837 		const struct ieee80211_channel *chan)
838 {
839 
840 	ath_hal_printf(ah, "%s: called\n", __func__);
841 	return (AH_FALSE);
842 }
843 
844 int16_t
845 ar9300_Stub_GetNoiseFloor(struct ath_hal *ah)
846 {
847 
848 	/* XXX */
849 	ath_hal_printf(ah, "%s: called\n", __func__);
850 	return (-91);
851 }
852 
853 void
854 ar9300_Stub_InitNfCalHistBuffer(struct ath_hal *ah)
855 {
856 
857 	ath_hal_printf(ah, "%s: called\n", __func__);
858 }
859 
860 int16_t
861 ar9300_Stub_GetNfHistMid(const int16_t calData[])
862 {
863 
864 	kprintf("%s: called\n", __func__);
865 	return (0);
866 }
867 
868 void
869 ar9300_Stub_SetSpurMitigation(struct ath_hal *ah,
870     const struct ieee80211_channel *chan)
871 {
872 
873 	ath_hal_printf(ah, "%s: called\n", __func__);
874 }
875 
876 HAL_BOOL
877 ar9300_Stub_SetAntennaSwitchInternal(struct ath_hal *ah,
878     HAL_ANT_SETTING settings, const struct ieee80211_channel *chan)
879 {
880 
881 	ath_hal_printf(ah, "%s: called\n", __func__);
882 	return (AH_FALSE);
883 }
884 
885 HAL_BOOL
886 ar9300_Stub_SetTxPowerLimit(struct ath_hal *ah, uint32_t limit)
887 {
888 
889 	ath_hal_printf(ah, "%s: called\n", __func__);
890 	return (AH_FALSE);
891 }
892 
893 HAL_BOOL
894 ar9300_Stub_GetChipPowerLimits(struct ath_hal *ah,
895 		struct ieee80211_channel *chan)
896 {
897 
898 	ath_hal_printf(ah, "%s: called\n", __func__);
899 	return (AH_FALSE);
900 }
901 
902 void
903 ar9300_Stub_InitializeGainValues(struct ath_hal *ah)
904 {
905 
906 	ath_hal_printf(ah, "%s: called\n", __func__);
907 }
908 
909 HAL_RFGAIN
910 ar9300_Stub_GetRfgain(struct ath_hal *ah)
911 {
912 
913 	ath_hal_printf(ah, "%s: called\n", __func__);
914 	return (0);
915 }
916 
917 void
918 ar9300_Stub_RequestRfgain(struct ath_hal *ah)
919 {
920 
921 	ath_hal_printf(ah, "%s: called\n", __func__);
922 }
923 
924 HAL_BOOL
925 ar9300_Stub_UpdateTxTrigLevel(struct ath_hal *ah,
926 		HAL_BOOL IncTrigLevel)
927 {
928 
929 	ath_hal_printf(ah, "%s: called\n", __func__);
930 	return (AH_FALSE);
931 }
932 
933 HAL_BOOL
934 ar9300_Stub_SetTxQueueProps(struct ath_hal *ah, int q,
935 		const HAL_TXQ_INFO *qInfo)
936 {
937 
938 	ath_hal_printf(ah, "%s: called\n", __func__);
939 	return (AH_FALSE);
940 }
941 
942 HAL_BOOL
943 ar9300_Stub_GetTxQueueProps(struct ath_hal *ah, int q,
944 		HAL_TXQ_INFO *qInfo)
945 {
946 
947 	ath_hal_printf(ah, "%s: called\n", __func__);
948 	return (AH_FALSE);
949 }
950 
951 int
952 ar9300_Stub_SetupTxQueue(struct ath_hal *ah, HAL_TX_QUEUE type,
953 		const HAL_TXQ_INFO *qInfo)
954 {
955 
956 	ath_hal_printf(ah, "%s: called\n", __func__);
957 	return (0);
958 }
959 
960 HAL_BOOL
961 ar9300_Stub_ReleaseTxQueue(struct ath_hal *ah, u_int q)
962 {
963 
964 	ath_hal_printf(ah, "%s: called\n", __func__);
965 	return (AH_FALSE);
966 }
967 
968 HAL_BOOL
969 ar9300_Stub_ResetTxQueue(struct ath_hal *ah, u_int q)
970 {
971 
972 	ath_hal_printf(ah, "%s: called\n", __func__);
973 	return (AH_FALSE);
974 }
975 
976 uint32_t
977 ar9300_Stub_GetTxDP(struct ath_hal *ah, u_int q)
978 {
979 
980 	ath_hal_printf(ah, "%s: called\n", __func__);
981 	return (0);
982 }
983 
984 HAL_BOOL
985 ar9300_Stub_SetTxDP(struct ath_hal *ah, u_int q, uint32_t txdp)
986 {
987 
988 	ath_hal_printf(ah, "%s: called\n", __func__);
989 	return (AH_FALSE);
990 }
991 
992 HAL_BOOL
993 ar9300_Stub_StartTxDma(struct ath_hal *ah, u_int q)
994 {
995 
996 	ath_hal_printf(ah, "%s: called\n", __func__);
997 	return (AH_FALSE);
998 }
999 
1000 uint32_t
1001 ar9300_Stub_NumTxPending(struct ath_hal *ah, u_int q)
1002 {
1003 
1004 	ath_hal_printf(ah, "%s: called\n", __func__);
1005 	return (0);
1006 }
1007 
1008 HAL_BOOL
1009 ar9300_Stub_StopTxDma(struct ath_hal *ah, u_int q)
1010 {
1011 
1012 	ath_hal_printf(ah, "%s: called\n", __func__);
1013 	return (AH_FALSE);
1014 }
1015 
1016 HAL_BOOL
1017 ar9300_Stub_SetupTxDesc(struct ath_hal *ah, struct ath_desc *ds,
1018 		u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int txPower,
1019 		u_int txRate0, u_int txTries0,
1020 		u_int keyIx, u_int antMode, u_int flags,
1021 		u_int rtsctsRate, u_int rtsctsDuration,
1022 		u_int compicvLen, u_int compivLen, u_int comp)
1023 {
1024 
1025 	ath_hal_printf(ah, "%s: called\n", __func__);
1026 	return (AH_FALSE);
1027 }
1028 
1029 HAL_BOOL
1030 ar9300_Stub_SetupXTxDesc(struct ath_hal *ah, struct ath_desc *desc,
1031 		u_int txRate1, u_int txRetries1,
1032 		u_int txRate2, u_int txRetries2,
1033 		u_int txRate3, u_int txRetries3)
1034 {
1035 
1036 	ath_hal_printf(ah, "%s: called\n", __func__);
1037 	return (AH_FALSE);
1038 }
1039 
1040 HAL_BOOL
1041 ar9300_Stub_FillTxDesc(struct ath_hal *ah, struct ath_desc *ds,
1042 		HAL_DMA_ADDR *bufAddrList, uint32_t *segLenList,
1043 		u_int descId, u_int qcuId,
1044 		HAL_BOOL firstSeg, HAL_BOOL lastSeg,
1045 		const struct ath_desc *ds0)
1046 {
1047 
1048 	ath_hal_printf(ah, "%s: called\n", __func__);
1049 	return (AH_FALSE);
1050 }
1051 
1052 HAL_STATUS
1053 ar9300_Stub_ProcTxDesc(struct ath_hal *ah,
1054 		struct ath_desc *ds, struct ath_tx_status *txstat)
1055 {
1056 
1057 	ath_hal_printf(ah, "%s: called\n", __func__);
1058 	return (HAL_EINPROGRESS);
1059 }
1060 
1061 void
1062 ar9300_Stub_GetTxIntrQueue(struct ath_hal *ah, uint32_t *val)
1063 {
1064 
1065 	ath_hal_printf(ah, "%s: called\n", __func__);
1066 }
1067 
1068 void
1069 ar9300_Stub_IntrReqTxDesc(struct ath_hal *ah, struct ath_desc *desc)
1070 {
1071 
1072 	ath_hal_printf(ah, "%s: called\n", __func__);
1073 }
1074 
1075 HAL_BOOL
1076 ar9300_Stub_GetTxCompletionRates(struct ath_hal *ah,
1077 		const struct ath_desc *ds0, int *rates, int *tries)
1078 {
1079 
1080 	ath_hal_printf(ah, "%s: called\n", __func__);
1081 	return (AH_FALSE);
1082 }
1083 
1084 const HAL_RATE_TABLE *
1085 ar9300_Stub_GetRateTable(struct ath_hal *ah, u_int mode)
1086 {
1087 
1088 	ath_hal_printf(ah, "%s: called\n", __func__);
1089 	/* XXX null may panic the kernel? */
1090 	return (AH_NULL);
1091 }
1092 
1093 #if 0
1094 void
1095 ar9300_Stub_AniAttach(struct ath_hal *ah, const struct ar5212AniParams *,
1096     const struct ar5212AniParams *, HAL_BOOL ena)
1097 {
1098 
1099 	ath_hal_printf(ah, "%s: called\n", __func__);
1100 }
1101 
1102 void
1103 ar9300_Stub_AniDetach(struct ath_hal *)
1104 {
1105 
1106 	ath_hal_printf(ah, "%s: called\n", __func__);
1107 }
1108 #endif
1109 
1110 #if 0
1111 struct ar5212AniState *
1112 ar9300_Stub_AniGetCurrentState(struct ath_hal *ah)
1113 {
1114 
1115 	ath_hal_printf(ah, "%s: called\n", __func__);
1116 	return (AH_NULL);
1117 }
1118 
1119 struct ar5212Stats
1120 *ar5212AniGetCurrentStats(struct ath_hal *)
1121 {
1122 
1123 	ath_hal_printf(ah, "%s: called\n", __func__);
1124 	return (AH_NULL);
1125 }
1126 #endif
1127 
1128 HAL_BOOL
1129 ar9300_Stub_AniControl(struct ath_hal *ah, HAL_ANI_CMD cmd, int param)
1130 {
1131 
1132 	ath_hal_printf(ah, "%s: called\n", __func__);
1133 	return (AH_FALSE);
1134 }
1135 
1136 #if 0
1137 HAL_BOOL
1138 ar9300_Stub_AniSetParams(struct ath_hal *, const struct ar5212AniParams *,
1139     const struct ar5212AniParams *)
1140 {
1141 
1142 	ath_hal_printf(ah, "%s: called\n", __func__);
1143 	return (AH_FALSE);
1144 }
1145 #endif
1146 
1147 struct ath_rx_status;
1148 
1149 void
1150 ar9300_Stub_AniPhyErrReport(struct ath_hal *ah,
1151 		const struct ath_rx_status *rs)
1152 {
1153 
1154 	ath_hal_printf(ah, "%s: called\n", __func__);
1155 	return;
1156 }
1157 
1158 void
1159 ar9300_Stub_ProcessMibIntr(struct ath_hal *ah, const HAL_NODE_STATS *stats)
1160 {
1161 
1162 	ath_hal_printf(ah, "%s: called\n", __func__);
1163 }
1164 
1165 void
1166 ar9300_Stub_RxMonitor(struct ath_hal *ah, const HAL_NODE_STATS *stats,
1167     const struct ieee80211_channel *chan)
1168 {
1169 
1170 	ath_hal_printf(ah, "%s: called\n", __func__);
1171 }
1172 
1173 void
1174 ar9300_Stub_AniPoll(struct ath_hal *ah, const struct ieee80211_channel * chan)
1175 {
1176 
1177 	ath_hal_printf(ah, "%s: called\n", __func__);
1178 }
1179 
1180 void
1181 ar9300_Stub_AniReset(struct ath_hal *ah, const struct ieee80211_channel * chan,
1182 		HAL_OPMODE ani_opmode, int val)
1183 {
1184 
1185 	ath_hal_printf(ah, "%s: called\n", __func__);
1186 }
1187 
1188 HAL_BOOL
1189 ar9300_Stub_IsNFCalInProgress(struct ath_hal *ah)
1190 {
1191 
1192 	ath_hal_printf(ah, "%s: called\n", __func__);
1193 	return (AH_FALSE);
1194 }
1195 
1196 HAL_BOOL
1197 ar9300_Stub_WaitNFCalComplete(struct ath_hal *ah, int i)
1198 {
1199 
1200 	ath_hal_printf(ah, "%s: called\n", __func__);
1201 	return (AH_FALSE);
1202 }
1203 
1204 void
1205 ar9300_Stub_EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
1206 {
1207 
1208 	ath_hal_printf(ah, "%s: called\n", __func__);
1209 }
1210 
1211 void
1212 ar9300_Stub_GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
1213 {
1214 
1215 	ath_hal_printf(ah, "%s: called\n", __func__);
1216 }
1217 
1218 HAL_BOOL
1219 ar9300_Stub_ProcessRadarEvent(struct ath_hal *ah,
1220     struct ath_rx_status *rxs, uint64_t fulltsf, const char *buf,
1221     HAL_DFS_EVENT *event)
1222 {
1223 
1224 	ath_hal_printf(ah, "%s: called\n", __func__);
1225 	return (AH_FALSE);
1226 }
1227 
1228 HAL_BOOL
1229 ar9300_Stub_IsFastClockEnabled(struct ath_hal *ah)
1230 {
1231 
1232 	ath_hal_printf(ah, "%s: called\n", __func__);
1233 	return (AH_FALSE);
1234 }
1235 
1236 uint32_t
1237 ar9300_Stub_Get11nExtBusy(struct ath_hal *ah)
1238 {
1239 
1240 	ath_hal_printf(ah, "%s: called\n", __func__);
1241 	return (0);
1242 }
1243 
1244 void
1245 ar9300_Stub_ConfigPCIE(struct ath_hal *ah, HAL_BOOL restore, HAL_BOOL powerOff)
1246 {
1247 
1248 	ath_hal_printf(ah, "%s: called\n", __func__);
1249 }
1250 
1251 void
1252 ar9300_Stub_DisablePCIE(struct ath_hal *ah)
1253 {
1254 
1255 	ath_hal_printf(ah, "%s: called\n", __func__);
1256 }
1257