Things to note: This also represents an upgrade of the hal code over what was in the tree. There are many bug fixes in this code, especially for AR5416 parts. I have no idea when this will be MFC'd. Because of the directory change from contrib/dev/ath to dev/ath/ath_hal backporting by hand may be painful. Definitely not before 7.1 goes out. I no longer be have access to internal Atheros' information (e.g. their hal code). In particular this means support for new parts will have to come by scraping code from the ath9k linux driver. I expect other people to pitch in to do that. I will be happy to assist. Sam
attached mail follows:
Author: sam Date: Mon Dec 1 16:53:01 2008 New Revision: 185522 URL: http://svn.freebsd.org/changeset/base/185522 Log: Switch to ath hal source code. Note this removes the ath_hal module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying device ath_hal gives you the same chip support that the binary hal did but you must also include options AH_SUPPORT_AR5416 to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information. Deleted: head/sys/contrib/dev/ath/ head/sys/modules/ath_hal/ Modified: head/UPDATING head/share/man/man4/ath_hal.4 head/sys/amd64/conf/GENERIC head/sys/amd64/conf/NOTES head/sys/arm/conf/AVILA head/sys/conf/files head/sys/conf/files.amd64 head/sys/conf/files.arm head/sys/conf/files.i386 head/sys/conf/files.mips head/sys/conf/files.pc98 head/sys/conf/files.powerpc head/sys/conf/files.sparc64 head/sys/conf/kern.pre.mk head/sys/conf/options head/sys/dev/ath/ah_osdep.c head/sys/dev/ath/ah_osdep.h head/sys/dev/ath/ath_rate/amrr/amrr.c head/sys/dev/ath/ath_rate/onoe/onoe.c head/sys/dev/ath/ath_rate/sample/sample.c head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_ath_pci.c head/sys/dev/ath/if_athvar.h head/sys/i386/conf/GENERIC head/sys/i386/conf/NOTES head/sys/i386/conf/PAE head/sys/mips/conf/IDT head/sys/mips/conf/SENTRY5 head/sys/modules/Makefile head/sys/modules/ath/Makefile head/sys/modules/ath_rate_amrr/Makefile head/sys/modules/ath_rate_onoe/Makefile head/sys/modules/ath_rate_sample/Makefile head/sys/pc98/conf/GENERIC head/sys/pc98/conf/NOTES head/sys/sparc64/conf/GENERIC head/sys/sys/param.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Mon Dec 1 16:43:08 2008 (r185521) +++ head/UPDATING Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -22,6 +22,21 _at__at_ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20081130: + __FreeBSD_version 800057 marks the switchover from the + binary ath hal to source code. Users must add the line: + + options ATH_SUPPORT_AR5416 + + to their kernel config files when specifying: + + device ath_hal + + The ath_hal module no longer exists; the code is now compiled + together with the driver in the ath module. It is now + possible to tailor chip support (i.e. reduce the set of chips + and thereby the code size); consult ath_hal(4) for details. + 20081121: __FreeBSD_version 800054 adds memory barriers to <machine/atomic.h>, new interfaces to ifnet to facilitate Modified: head/share/man/man4/ath_hal.4 ============================================================================== --- head/share/man/man4/ath_hal.4 Mon Dec 1 16:43:08 2008 (r185521) +++ head/share/man/man4/ath_hal.4 Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -1,5 +1,5 _at__at_ .\"- -.\" Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting +.\" Copyright (c) 2002-2008 Sam Leffler, Errno Consulting .\" All rights reserved. .\"" .\" Redistribution and use in source and binary forms, with or without _at__at_ -12,9 +12,6 _at__at_ .\" similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any .\" redistribution must be conditioned upon including a substantially .\" similar Disclaimer requirement for further binary redistribution. -.\" 3. Neither the names of the above-listed copyright holders nor the names -.\" of any contributors may be used to endorse or promote products derived -.\" from this software without specific prior written permission. .\" .\" NO WARRANTY .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS _at__at_ -31,7 +28,7 _at__at_ .\" .\" $FreeBSD$ .\"/ -.Dd August 26, 2004 +.Dd November 30, 2008 .Dt ATH_HAL 4 .Os .Sh NAME _at__at_ -39,18 +36,44 _at__at_ .Nd "Atheros Hardware Access Layer (HAL)" .Sh SYNOPSIS .Cd "device ath_hal" +.Cd "options AH_SUPPORT_AR5416" +or +.Cd "device ath_ar5210" +.Cd "device ath_ar5211" +.Cd "device ath_ar5212" +.Cd "device ath_rf2413" +.Cd "device ath_rf2417" +.Cd "device ath_rf2425" +.Cd "device ath_rf5111" +.Cd "device ath_rf5112" +.Cd "device ath_rf5413" +.Cd "device ath_ar5416" +.\".Cd "device ath_ar5312" +.\".Cd "device ath_rf2136" +.\".Cd "device ath_rf2137" +.Cd "device ath_ar9160" +.Cd "options AH_SUPPORT_AR5416" .Sh DESCRIPTION -The -.Nm -module provides hardware support for wireless network adapters based on -the Atheros AR5210, AR5211, and AR5212 chips. -This module is required by the +The hal provides hardware support for wireless network adapters based on +the Atheros AR5210, AR5211, AR5212, AR5416, and AR9160 chips. +This code is part of the .Xr ath 4 -driver. -.Pp -Devices supported by the +driver but configured separately to allow fine-grained control +over the set of chips supported. +Selecting .Nm -module come in either Cardbus or mini-PCI packages. +enables support for all PCI and Cardbus devices. +Note this includes AR5416 devices and must be accompanied by the +AH_SUPPORT_AR5416 +option to enable the extended hardware descriptor format used by +AR5416 and later devices. +.Pp +Devices supported come in either Cardbus or mini-PCI packages. +.Pp +Historically this code has been released in a binary-only form +and packaged as a separate module. +With the release of source code for the hal this is no longer true +and the code is tightly integrated with the driver. .Sh HARDWARE The following cards are among those supported by the .Nm _at__at_ -105,16 +128,6 _at__at_ The .Nm module first appeared in .Fx 5.2 . -.Sh CAVEATS -The -.Nm -module is constructed from a binary component and -operating system-dependent source code. -Redistribution and use in source and binary forms, without -modification, are permitted provided that the conditions -set forth in -.Pa sys/contrib/dev/ath/COPYRIGHT -are observed. .Sh BUGS See .Xr ath 4 Modified: head/sys/amd64/conf/GENERIC ============================================================================== --- head/sys/amd64/conf/GENERIC Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/amd64/conf/GENERIC Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -249,7 +249,8 _at__at_ device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's -device ath_hal # Atheros HAL (Hardware Access Layer) +device ath_hal # pci/cardbus chip support +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. Modified: head/sys/amd64/conf/NOTES ============================================================================== --- head/sys/amd64/conf/NOTES Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/amd64/conf/NOTES Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -258,7 +258,6 _at__at_ options DRM_DEBUG # Include debug print # Network interfaces: # -# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) # ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 # HP PC Lan+, various PC Card devices # (requires miibus) _at__at_ -284,12 +283,12 _at__at_ device ral device ural device wpi -device ath -device ath_hal # Atheros HAL (includes binary component) -#device ath_rate_amrr # AMRR rate control for ath driver -#device ath_rate_onoe # Onoe rate control for ath driver -device ath_rate_sample # SampleRate rate control for the ath driver -#device wlan # 802.11 layer +device ath # Atheros pci/cardbus NIC's +device ath_hal # pci/cardbus chip support +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors +device ath_rate_sample # SampleRate tx rate control for ath +#device ath_rate_amrr # AMRR rate control for ath driver +#device ath_rate_onoe # Onoe rate control for ath driver # #XXX this stores pointers in a 32bit field that is defined by the hardware Modified: head/sys/arm/conf/AVILA ============================================================================== --- head/sys/arm/conf/AVILA Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/arm/conf/AVILA Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -128,6 +128,7 _at__at_ device wlan_tkip # 802.11 TKIP support device wlan_xauth device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath options ATH_DEBUG Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -503,18 +503,179 _at__at_ dev/ata/atapi-fd.c optional atapifd dev/ata/atapi-tape.c optional atapist dev/ata/atapi-cam.c optional atapicam # -dev/ath/ah_osdep.c optional ath_hal \ +dev/ath/if_ath.c optional ath \ + compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/if_ath_pci.c optional ath pci \ + compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/ah_osdep.c optional ath \ + compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/ath_hal/ah.c optional ath \ + compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/ath_hal/ah_eeprom_v1.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/ath_hal/ah_eeprom_v3.c optional ath_hal | ath_ar5211 | ath_ar5212 \ compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/ath_hal/ah_eeprom_v14.c optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/ath_hal/ah_regdomain.c optional ath \ + compile-with "${NORMAL_C} -I$S/dev/ath" +dev/ath/ath_hal/ar5210/ar5210_attach.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_beacon.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_interrupts.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_keycache.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_misc.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_phy.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_power.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_recv.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_reset.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5210/ar5210_xmit.c optional ath_hal | ath_ar5210 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_attach.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_beacon.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_interrupts.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_keycache.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_misc.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_phy.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_power.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_recv.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_reset.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5211/ar5211_xmit.c optional ath_hal | ath_ar5211 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_ani.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_attach.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_beacon.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_eeprom.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_gpio.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_interrupts.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_keycache.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_misc.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_phy.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_power.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_recv.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_reset.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_rfgain.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5212_xmit.c \ + optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar2316.c optional ath_rf2316 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar2317.c optional ath_rf2317 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar2413.c optional ath_hal | ath_rf2413 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar2425.c optional ath_hal | ath_rf2425 | ath_rf2417 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5111.c optional ath_hal | ath_rf5111 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5112.c optional ath_hal | ath_rf5112 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5212/ar5413.c optional ath_hal | ath_rf5413 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar2133.c optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_ani.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_attach.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_beacon.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_cal.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_cal_iq.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_cal_adcgain.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_cal_adcdc.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_eeprom.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_gpio.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_interrupts.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_keycache.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_misc.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_phy.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_power.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_recv.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_reset.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar5416_xmit.c \ + optional ath_hal | ath_ar5416 | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" +dev/ath/ath_hal/ar5416/ar9160_attach.c optional ath_hal | ath_ar9160 \ + compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal" dev/ath/ath_rate/amrr/amrr.c optional ath_rate_amrr \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_rate/onoe/onoe.c optional ath_rate_onoe \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_rate/sample/sample.c optional ath_rate_sample \ compile-with "${NORMAL_C} -I$S/dev/ath" -dev/ath/if_ath.c optional ath \ - compile-with "${NORMAL_C} -I$S/dev/ath" -dev/ath/if_ath_pci.c optional ath pci \ - compile-with "${NORMAL_C} -I$S/dev/ath" dev/bce/if_bce.c optional bce dev/bfe/if_bfe.c optional bfe dev/bge/if_bge.c optional bge Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files.amd64 Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -47,16 +47,6 _at__at_ ukbdmap.h optional ukbd_dflt_keymap \ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # -hal.o optional ath_hal \ - dependency "$S/contrib/dev/ath/public/x86_64-elf.hal.o.uu" \ - compile-with "uudecode < $S/contrib/dev/ath/public/x86_64-elf.hal.o.uu" \ - no-implicit-rule -opt_ah.h optional ath_hal \ - dependency "$S/contrib/dev/ath/public/x86_64-elf.opt_ah.h" \ - compile-with "rm -f opt_ah.h; cp $S/contrib/dev/ath/public/x86_64-elf.opt_ah.h opt_ah.h" \ - no-obj no-implicit-rule before-depend \ - clean "opt_ah.h" -# nvenetlib.o optional nve pci \ dependency "$S/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu" \ compile-with "uudecode $S/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu ; bzip2 -df nvenetlib.o.bz2" \ Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files.arm Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -51,13 +51,6 _at__at_ geom/geom_bsd.c optional geom_bsd geom/geom_bsd_enc.c optional geom_bsd geom/geom_mbr.c optional geom_mbr geom/geom_mbr_enc.c optional geom_mbr -hal.o optional ath_hal \ - compile-with "ATH_HAL_CPU=`echo ${CONF_CFLAGS}|sed 's/.*-mcpu=\([a-zA-Z0-9]*\).*/\1/'`; ATH_ENDIAN=`if (echo ${CC}|grep mbig-endian>/dev/null); then echo be; else echo le; fi;`; uudecode < $S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.hal.o.uu" \ - no-implicit-rule -opt_ah.h optional ath_hal \ - compile-with "ATH_HAL_CPU=`echo ${CONF_CFLAGS}|sed 's/.*-mcpu=\([a-zA-Z0-9]*\).*/\1/'`; ATH_ENDIAN=`if (echo ${CC}|grep mbig-endian>/dev/null); then echo be; else echo le; fi;`; rm -f opt_ah.h; cp $S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.opt_ah.h opt_ah.h" \ - no-obj no-implicit-rule before-depend \ - clean "opt_ah.h" libkern/arm/divsi3.S standard libkern/arm/ffs.S standard libkern/arm/muldi3.c standard Modified: head/sys/conf/files.i386 ============================================================================== --- head/sys/conf/files.i386 Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files.i386 Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -46,16 +46,6 _at__at_ ukbdmap.h optional ukbd_dflt_keymap \ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # -hal.o optional ath_hal \ - dependency "$S/contrib/dev/ath/public/i386-elf.hal.o.uu" \ - compile-with "uudecode < $S/contrib/dev/ath/public/i386-elf.hal.o.uu" \ - no-implicit-rule -opt_ah.h optional ath_hal \ - dependency "$S/contrib/dev/ath/public/i386-elf.opt_ah.h" \ - compile-with "rm -f opt_ah.h; cp $S/contrib/dev/ath/public/i386-elf.opt_ah.h opt_ah.h" \ - no-obj no-implicit-rule before-depend \ - clean "opt_ah.h" -# nvenetlib.o optional nve pci \ dependency "$S/contrib/dev/nve/i386/nvenetlib.o.bz2.uu" \ compile-with "uudecode $S/contrib/dev/nve/i386/nvenetlib.o.bz2.uu ; bzip2 -df nvenetlib.o.bz2" \ Modified: head/sys/conf/files.mips ============================================================================== --- head/sys/conf/files.mips Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files.mips Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -75,13 +75,6 _at__at_ geom/geom_bsd.c optional geom_bsd geom/geom_bsd_enc.c optional geom_bsd geom/geom_mbr.c optional geom_mbr geom/geom_mbr_enc.c optional geom_mbr -hal.o optional ath_hal \ - compile-with "ATH_HAL_CPU=mips; ATH_ENDIAN=`if ([ x${TARGET_BIG_ENDIAN} = x ]); then echo le; else echo be; fi;`; uudecode < $S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.hal.o.uu" \ - no-implicit-rule -opt_ah.h optional ath_hal \ - compile-with "ATH_HAL_CPU=mips; ATH_ENDIAN=`if ([ x${TARGET_BIG_ENDIAN} = x ]); then echo le; else echo be; fi;`; rm -f opt_ah.h; cp $S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.opt_ah.h opt_ah.h" \ - no-obj no-implicit-rule before-depend \ - clean "opt_ah.h" libkern/ashldi3.c standard libkern/ashrdi3.c standard libkern/divdi3.c standard Modified: head/sys/conf/files.pc98 ============================================================================== --- head/sys/conf/files.pc98 Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files.pc98 Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -38,16 +38,6 _at__at_ ukbdmap.h optional ukbd_dflt_keymap \ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # -hal.o optional ath_hal \ - dependency "$S/contrib/dev/ath/public/i386-elf.hal.o.uu" \ - compile-with "uudecode < $S/contrib/dev/ath/public/i386-elf.hal.o.uu" \ - no-implicit-rule -opt_ah.h optional ath_hal \ - dependency "$S/contrib/dev/ath/public/i386-elf.opt_ah.h" \ - compile-with "rm -f opt_ah.h; cp $S/contrib/dev/ath/public/i386-elf.opt_ah.h opt_ah.h" \ - no-obj no-implicit-rule before-depend \ - clean "opt_ah.h" -# compat/linprocfs/linprocfs.c optional linprocfs compat/linsysfs/linsysfs.c optional linsysfs compat/linux/linux_emul.c optional compat_linux Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files.powerpc Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -14,16 +14,6 _at__at_ font.h optional sc \ no-obj no-implicit-rule before-depend \ clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" # -hal.o optional ath_hal \ - dependency "$S/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu" \ - compile-with "uudecode < $S/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu" \ - no-implicit-rule -opt_ah.h optional ath_hal \ - dependency "$S/contrib/dev/ath/public/powerpc-be-elf.opt_ah.h" \ - compile-with "rm -f opt_ah.h; cp $S/contrib/dev/ath/public/powerpc-be-elf.opt_ah.h opt_ah.h" \ - no-obj no-implicit-rule before-depend \ - clean "opt_ah.h" -# crypto/blowfish/bf_enc.c optional crypto | ipsec crypto/des/des_enc.c optional crypto | ipsec | netsmb Modified: head/sys/conf/files.sparc64 ============================================================================== --- head/sys/conf/files.sparc64 Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/files.sparc64 Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -22,16 +22,6 _at__at_ ukbdmap.h optional ukbd_dflt_keymap \ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # -hal.o optional ath_hal \ - dependency "$S/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu" \ - compile-with "uudecode < $S/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu" \ - no-implicit-rule -opt_ah.h optional ath_hal \ - dependency "$S/contrib/dev/ath/public/sparc64-be-elf.opt_ah.h" \ - compile-with "rm -f opt_ah.h; cp $S/contrib/dev/ath/public/sparc64-be-elf.opt_ah.h opt_ah.h" \ - no-obj no-implicit-rule before-depend \ - clean "opt_ah.h" -# crypto/blowfish/bf_enc.c optional crypto | ipsec crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/atkbdc/atkbd.c optional atkbd atkbdc Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/kern.pre.mk Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -66,8 +66,8 _at__at_ INCLUDES+= -I$S/contrib/ipfilter # ... and the same for pf INCLUDES+= -I$S/contrib/pf -# ... and the same for Atheros HAL -INCLUDES+= -I$S/dev/ath +# ... and the same for ath +INCLUDES+= -I$S/dev/ath -I$S/dev/ath/ath_hal # ... and the same for the NgATM stuff INCLUDES+= -I$S/contrib/ngatm Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/conf/options Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -740,6 +740,21 _at__at_ ATH_RXBUF opt_ath.h ATH_DIAGAPI opt_ath.h ATH_TX99_DIAG opt_ath.h +# options for the Atheros hal +AH_SUPPORT_AR5416 opt_ah.h + +AH_DEBUG opt_ah.h +AH_ASSERT opt_ah.h +AH_DEBUG_ALQ opt_ah.h +AH_REGOPS_FUNC opt_ah.h +AH_WRITE_REGDOMAIN opt_ah.h +AH_DEBUG_COUNTRY opt_ah.h +AH_WRITE_EEPROM opt_ah.h +AH_PRIVATE_DIAG opt_ah.h +AH_NEED_DESC_SWAP opt_ah.h +AH_USE_INIPDGAIN opt_ah.h +AH_SUPPORT_11D opt_ah.h + # options for the Marvell 8335 wireless driver MALO_DEBUG opt_malo.h MALO_TXBUF opt_malo.h Modified: head/sys/dev/ath/ah_osdep.c ============================================================================== --- head/sys/dev/ath/ah_osdep.c Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/ah_osdep.c Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -43,7 +43,7 _at__at_ #include <net/ethernet.h> /* XXX for ether_sprintf */ -#include <contrib/dev/ath/ah.h> +#include <dev/ath/ath_hal/ah.h> /* * WiSoC boards overload the bus tag with information about the _at__at_ -56,7 +56,7 _at__at_ #define BUSTAG(ah) \ ((bus_space_tag_t) ((struct ar531x_config *)((ah)->ah_st))->tag) #else -#define BUSTAG(ah) ((bus_space_tag_t) (ah)->ah_st) +#define BUSTAG(ah) ((ah)->ah_st) #endif extern void ath_hal_printf(struct ath_hal *, const char*, ...) _at__at_ -90,9 +90,6 _at__at_ SYSCTL_INT(_hw_ath_hal, OID_AUTO, debug, TUNABLE_INT("hw.ath.hal.debug", &ath_hal_debug); #endif /* AH_DEBUG */ -SYSCTL_STRING(_hw_ath_hal, OID_AUTO, version, CTLFLAG_RD, ath_hal_version, 0, - "Atheros HAL version"); - /* NB: these are deprecated; they exist for now for compatibility */ int ath_hal_dma_beacon_response_time = 2; /* in TU's */ SYSCTL_INT(_hw_ath_hal, OID_AUTO, dma_brt, CTLFLAG_RW, _at__at_ -195,7 +192,7 _at__at_ HALDEBUGn(struct ath_hal *ah, u_int leve */ #include <sys/alq.h> #include <sys/pcpu.h> -#include <contrib/dev/ath/ah_decode.h> +#include <dev/ath/ath_hal/ah_decode.h> static struct alq *ath_hal_alq; static int ath_hal_alq_emitdev; /* need to emit DEVICE record */ _at__at_ -273,7 +270,7 _at__at_ void ath_hal_reg_write(struct ath_hal *ah, u_int32_t reg, u_int32_t val) { bus_space_tag_t tag = BUSTAG(ah); - bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh; + bus_space_handle_t h = ah->ah_sh; if (ath_hal_alq) { struct ale *ale = ath_hal_alq_get(ah); _at__at_ -297,7 +294,7 _at__at_ u_int32_t ath_hal_reg_read(struct ath_hal *ah, u_int32_t reg) { bus_space_tag_t tag = BUSTAG(ah); - bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh; + bus_space_handle_t h = ah->ah_sh; u_int32_t val; #if _BYTE_ORDER == _BIG_ENDIAN _at__at_ -349,7 +346,7 _at__at_ void ath_hal_reg_write(struct ath_hal *ah, u_int32_t reg, u_int32_t val) { bus_space_tag_t tag = BUSTAG(ah); - bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh; + bus_space_handle_t h = ah->ah_sh; #if _BYTE_ORDER == _BIG_ENDIAN if (reg >= 0x4000 && reg < 0x5000) _at__at_ -363,7 +360,7 _at__at_ u_int32_t ath_hal_reg_read(struct ath_hal *ah, u_int32_t reg) { bus_space_tag_t tag = BUSTAG(ah); - bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh; + bus_space_handle_t h = ah->ah_sh; u_int32_t val; #if _BYTE_ORDER == _BIG_ENDIAN _at__at_ -415,37 +412,3 _at__at_ ath_hal_memcpy(void *dst, const void *sr { return memcpy(dst, src, n); } - -/* - * Module glue. - */ - -static int -ath_hal_modevent(module_t mod, int type, void *unused) -{ - const char *sep; - int i; - - switch (type) { - case MOD_LOAD: - printf("ath_hal: %s (", ath_hal_version); - sep = ""; - for (i = 0; ath_hal_buildopts[i] != NULL; i++) { - printf("%s%s", sep, ath_hal_buildopts[i]); - sep = ", "; - } - printf(")\n"); - return 0; - case MOD_UNLOAD: - return 0; - } - return EINVAL; -} - -static moduledata_t ath_hal_mod = { - "ath_hal", - ath_hal_modevent, - 0 -}; -DECLARE_MODULE(ath_hal, ath_hal_mod, SI_SUB_DRIVERS, SI_ORDER_ANY); -MODULE_VERSION(ath_hal, 1); Modified: head/sys/dev/ath/ah_osdep.h ============================================================================== --- head/sys/dev/ath/ah_osdep.h Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/ah_osdep.h Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -33,13 +33,29 _at__at_ /* * Atheros Hardware Access Layer (HAL) OS Dependent Definitions. */ +#include <sys/cdefs.h> #include <sys/param.h> #include <sys/systm.h> #include <sys/endian.h> +#include <sys/linker_set.h> #include <machine/bus.h> /* + * Bus i/o type definitions. + */ +typedef void *HAL_SOFTC; +typedef bus_space_tag_t HAL_BUS_TAG; +typedef bus_space_handle_t HAL_BUS_HANDLE; + +/* + * Linker set writearounds for chip and RF backend registration. + */ +#define OS_DATA_SET(set, item) DATA_SET(set, item) +#define OS_SET_DECLARE(set, ptype) SET_DECLARE(set, ptype) +#define OS_SET_FOREACH(pvar, set) SET_FOREACH(pvar, set) + +/* * Delay n microseconds. */ extern void ath_hal_delay(int); Modified: head/sys/dev/ath/ath_rate/amrr/amrr.c ============================================================================== --- head/sys/dev/ath/ath_rate/amrr/amrr.c Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/ath_rate/amrr/amrr.c Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -78,7 +78,7 _at__at_ __FBSDID("$FreeBSD$"); #include <dev/ath/if_athvar.h> #include <dev/ath/ath_rate/amrr/amrr.h> -#include <contrib/dev/ath/ah_desc.h> +#include <dev/ath/ath_hal/ah_desc.h> static int ath_rateinterval = 1000; /* rate ctl interval (ms) */ static int ath_rate_max_success_threshold = 10; Modified: head/sys/dev/ath/ath_rate/onoe/onoe.c ============================================================================== --- head/sys/dev/ath/ath_rate/onoe/onoe.c Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/ath_rate/onoe/onoe.c Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -67,7 +67,7 _at__at_ __FBSDID("$FreeBSD$"); #include <dev/ath/if_athvar.h> #include <dev/ath/ath_rate/onoe/onoe.h> -#include <contrib/dev/ath/ah_desc.h> +#include <dev/ath/ath_hal/ah_desc.h> /* * Default parameters for the rate control algorithm. These are Modified: head/sys/dev/ath/ath_rate/sample/sample.c ============================================================================== --- head/sys/dev/ath/ath_rate/sample/sample.c Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/ath_rate/sample/sample.c Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -75,7 +75,7 _at__at_ __FBSDID("$FreeBSD$"); #include <dev/ath/if_athvar.h> #include <dev/ath/ath_rate/sample/sample.h> -#include <contrib/dev/ath/ah_desc.h> +#include <dev/ath/ath_hal/ah_desc.h> /* * This file is an implementation of the SampleRate algorithm _at__at_ -1018,5 +1018,4 _at__at_ static moduledata_t sample_mod = { }; DECLARE_MODULE(ath_rate, sample_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); MODULE_VERSION(ath_rate, 1); -MODULE_DEPEND(ath_rate, ath_hal, 1, 1, 1); /* Atheros HAL */ MODULE_DEPEND(ath_rate, wlan, 1, 1, 1); Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/if_ath.c Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -77,8 +77,7 _at__at_ __FBSDID("$FreeBSD$"); #endif #include <dev/ath/if_athvar.h> -#include <contrib/dev/ath/ah_desc.h> -#include <contrib/dev/ath/ah_devid.h> /* XXX for softled */ +#include <dev/ath/ath_hal/ah_devid.h> /* XXX for softled */ #ifdef ATH_TX99_DIAG #include <dev/ath/ath_tx99/ath_tx99.h> Modified: head/sys/dev/ath/if_ath_pci.c ============================================================================== --- head/sys/dev/ath/if_ath_pci.c Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/if_ath_pci.c Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -56,7 +56,6 _at__at_ __FBSDID("$FreeBSD$"); #include <net80211/ieee80211_var.h> #include <dev/ath/if_athvar.h> -#include <contrib/dev/ath/ah.h> #include <dev/pci/pcivar.h> #include <dev/pci/pcireg.h> _at__at_ -254,6 +253,5 _at__at_ static devclass_t ath_devclass; DRIVER_MODULE(if_ath, pci, ath_pci_driver, ath_devclass, 0, 0); DRIVER_MODULE(if_ath, cardbus, ath_pci_driver, ath_devclass, 0, 0); MODULE_VERSION(if_ath, 1); -MODULE_DEPEND(if_ath, ath_hal, 1, 1, 1); /* Atheros HAL */ MODULE_DEPEND(if_ath, wlan, 1, 1, 1); /* 802.11 media layer */ MODULE_DEPEND(if_ath, ath_rate, 1, 1, 1); /* rate control algorithm */ Modified: head/sys/dev/ath/if_athvar.h ============================================================================== --- head/sys/dev/ath/if_athvar.h Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/dev/ath/if_athvar.h Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -35,8 +35,8 _at__at_ #ifndef _DEV_ATH_ATHVAR_H #define _DEV_ATH_ATHVAR_H -#include <contrib/dev/ath/ah.h> -#include <contrib/dev/ath/ah_desc.h> +#include <dev/ath/ath_hal/ah.h> +#include <dev/ath/ath_hal/ah_desc.h> #include <net80211/ieee80211_radiotap.h> #include <dev/ath/if_athioctl.h> #include <dev/ath/if_athrate.h> Modified: head/sys/i386/conf/GENERIC ============================================================================== --- head/sys/i386/conf/GENERIC Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/i386/conf/GENERIC Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -264,10 +264,11 _at__at_ device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's -device ath_hal # Atheros HAL (Hardware Access Layer) +device ath_hal # pci/cardbus chip support +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath device ral # Ralink Technology RT2500 wireless NICs. -device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +#device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. #device wl # Older non 802.11 Wavelan wireless NIC. # Pseudo devices. Modified: head/sys/i386/conf/NOTES ============================================================================== --- head/sys/i386/conf/NOTES Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/i386/conf/NOTES Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -565,6 +565,20 _at__at_ hint.ar.0.at="isa" hint.ar.0.port="0x300" hint.ar.0.irq="10" hint.ar.0.maddr="0xd0000" +device ath # Atheros pci/cardbus NIC's +device ath_hal # pci/cardbus chip support +#device ath_ar5210 # AR5210 chips +#device ath_ar5211 # AR5211 chips +#device ath_ar5212 # AR5212 chips +#device ath_rf2413 +#device ath_rf2417 +#device ath_rf2425 +#device ath_rf5111 +#device ath_rf5112 +#device ath_rf5413 +#device ath_ar5416 # AR5416 chips +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors +device ath_rate_sample # SampleRate tx rate control for ath device ce device cp device cs _at__at_ -617,13 +631,6 _at__at_ options WLCACHE # enables the signal-s options WLDEBUG # enables verbose debugging output device wpi -device ath -device ath_hal # Atheros HAL (includes binary component) -#device ath_rate_amrr # AMRR rate control for ath driver -#device ath_rate_onoe # Onoe rate control for ath driver -device ath_rate_sample # SampleRate rate control for the ath driver -#device wlan # 802.11 layer - # # ATA raid adapters # Modified: head/sys/i386/conf/PAE ============================================================================== --- head/sys/i386/conf/PAE Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/i386/conf/PAE Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -78,7 +78,7 _at__at_ nodevice xe nodevice an nodevice ath # Atheros pci/cardbus NIC's -nodevice ath_hal # Atheros HAL (Hardware Access Layer) +nodevice ath_hal nodevice ath_rate_sample # SampleRate tx rate control for ath nodevice ral nodevice wi Modified: head/sys/mips/conf/IDT ============================================================================== --- head/sys/mips/conf/IDT Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/mips/conf/IDT Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -44,7 +44,8 _at__at_ device wlan # 802.11 support device wlan_wep # 802.11 WEP support device wlan_tkip # 802.11 TKIP support device ath # Atheros pci/cardbus NIC's -device ath_hal # Atheros HAL (Hardware Access Layer) +device ath_hal # pci/cardbus chip support +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath options ATH_DEBUG Modified: head/sys/mips/conf/SENTRY5 ============================================================================== --- head/sys/mips/conf/SENTRY5 Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/mips/conf/SENTRY5 Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -79,7 +79,8 _at__at_ device miibus # attachments # pci devices # notyet: #device ath # in pci slot -#device ath_hal # in pci slot +#device ath_hal # pci chip support +#options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device usb # USB Bus (required) device uhci # UHCI PCI->USB interface Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/modules/Makefile Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -29,11 +29,10 _at__at_ SUBDIR= ${_3dfx} \ ${_asmc} \ ${_asr} \ ata \ - ${_ath} \ - ${_ath_hal} \ - ${_ath_rate_amrr} \ - ${_ath_rate_onoe} \ - ${_ath_rate_sample} \ + ath \ + ath_rate_amrr \ + ath_rate_onoe \ + ath_rate_sample \ aue \ ${_auxio} \ axe \ _at__at_ -376,11 +375,6 _at__at_ _aout= aout _apm= apm _ar= ar _arcnet= arcnet -_ath= ath -_ath_hal= ath_hal -_ath_rate_amrr= ath_rate_amrr -_ath_rate_onoe= ath_rate_onoe -_ath_rate_sample=ath_rate_sample _bktr= bktr _cardbus= cardbus _cbb= cbb _at__at_ -513,11 +507,6 _at__at_ _agp= agp _an= an _arcmsr= arcmsr _asmc= asmc -_ath= ath -_ath_hal= ath_hal -_ath_rate_amrr= ath_rate_amrr -_ath_rate_onoe= ath_rate_onoe -_ath_rate_sample=ath_rate_sample _cardbus= cardbus _cbb= cbb _cmx= cmx _at__at_ -625,11 +614,6 _at__at_ _xe= xe .if ${MACHINE_ARCH} == "powerpc" _an= an -_ath= ath -_ath_hal= ath_hal -_ath_rate_amrr= ath_rate_amrr -_ath_rate_onoe= ath_rate_onoe -_ath_rate_sample=ath_rate_sample _bm= bm _nvram= powermac_nvram _smbfs= smbfs _at__at_ -637,11 +621,6 _at__at_ _upgt= upgt .endif .if ${MACHINE_ARCH} == "sparc64" -_ath= ath -_ath_hal= ath_hal -_ath_rate_amrr= ath_rate_amrr -_ath_rate_onoe= ath_rate_onoe -_ath_rate_sample=ath_rate_sample _auxio= auxio _em= em _i2c= i2c Modified: head/sys/modules/ath/Makefile ============================================================================== --- head/sys/modules/ath/Makefile Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/modules/ath/Makefile Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -1,5 +1,5 _at__at_ # -# Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting +# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting # All rights reserved. # # Redistribution and use in source and binary forms, with or without _at__at_ -12,13 +12,6 _at__at_ # similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any # redistribution must be conditioned upon including a substantially # similar Disclaimer requirement for further binary redistribution. -# 3. Neither the names of the above-listed copyright holders nor the names -# of any contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# Alternatively, this software may be distributed under the terms of the -# GNU General Public License ("GPL") version 2 as published by the Free -# Software Foundation. # # NO WARRANTY # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS _at__at_ -36,30 +29,48 _at__at_ # $FreeBSD$ # -.PATH: ${.CURDIR}/../../dev/ath +.PATH: ${.CURDIR}/../../dev/ath \ + ${.CURDIR}/../../dev/ath/ath_hal \ + ${.CURDIR}/../../dev/ath/ath_hal/ar5210 \ + ${.CURDIR}/../../dev/ath/ath_hal/ar5211 \ + ${.CURDIR}/../../dev/ath/ath_hal/ar5212 \ + ${.CURDIR}/../../dev/ath/ath_hal/ar5416 + +AR5210_SRCS=ah_eeprom_v1.c \ + ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \ + ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \ + ar5210_recv.c ar5210_reset.c ar5210_xmit.c +AR5211_SRCS=ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \ + ar5211_keycache.c ar5211_misc.c ar5211_phy.c ar5211_power.c \ + ar5211_recv.c ar5211_reset.c ar5211_xmit.c +AR5212_SRCS=ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \ + ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \ + ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \ + ar5212_rfgain.c ar5212_xmit.c \ + ar2413.c ar2425.c ar5111.c ar5112.c ar5413.c +AR5416_SRCS=ah_eeprom_v14.c \ + ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_cal.c \ + ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \ + ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \ + ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_recv.c \ + ar5416_reset.c ar5416_xmit.c \ + ar2133.c +AR9160_SRCS=ar9160_attach.c KMOD= if_ath SRCS= if_ath.c if_ath_pci.c -SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h - -HAL= ${.CURDIR}/../../contrib/dev/ath -CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${HAL} - -opt_ath.h: - echo > $_at_ +# NB: v3 eeprom support used by both AR5211 and AR5212; just include it +SRCS+= ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c +SRCS+= ${AR5210_SRCS} +SRCS+= ${AR5211_SRCS} +SRCS+= ${AR5212_SRCS} +SRCS+= ${AR5416_SRCS} +SRCS+= ${AR9160_SRCS} +SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_route.h opt_ath.h opt_ah.h -# patch for hal naming difference -.if ${MACHINE_ARCH} == "amd64" -ATH_MODULE_ARCH=x86_64 -.elif ${MACHINE_ARCH} == "sparc64" -ATH_MODULE_ARCH=sparc64-be -.elif ${MACHINE_ARCH} == "powerpc" -ATH_MODULE_ARCH=powerpc-be -.else -ATH_MODULE_ARCH=${MACHINE_ARCH} -.endif +CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal -opt_ah.h: ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h - cp ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h ${.TARGET} +opt_ah.h: + echo '#define AH_SUPPORT_AR5416 1' > $_at_ .include <bsd.kmod.mk> Modified: head/sys/modules/ath_rate_amrr/Makefile ============================================================================== --- head/sys/modules/ath_rate_amrr/Makefile Mon Dec 1 16:43:08 2008 (r185521) +++ head/sys/modules/ath_rate_amrr/Makefile Mon Dec 1 16:53:01 2008 (r185522) _at__at_ -1,5 +1,5 _at__at_ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***Received on Mon Dec 01 2008 - 16:03:40 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC