Date: Wed, 22 Dec 2010 23:24:01 +0800 From: Adrian Chadd <adrian@freebsd.org> To: freebsd-arch@freebsd.org Subject: Initial 802.11n / ath support merge plan Message-ID: <AANLkTi=e4u3BAzodoE7DAbuC3S2bWNwZ_0xUaDTQqN8L@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi all, I'd like to start the process for merging in my initial 802.11n support into -HEAD and -8. My 802.11n work can be broken into a few chunks. The details aren't exhaustive, but they give a good idea of the breadth of the development I've been doing here. What I'd like to do is commit bits and pieces of work, rather than just doing a big "code drop" that changes a whole lot of stuff. Then let it bake for time, let users test it, etc, before moving onto the next bits. * net80211 work: + mostly to handle some of the 802.11n station related bits - enough for 2.4ghz HT/20 association. I've not tried 5ghz 11n; and HT/40 doesn't yet seem to work for whatever reason; * if_ath HAL work: + move 91xx and 92xx support into different chipset directories in the ath_hal directory + added support for the AR9100 + merged in some changes from Linux ath9k + some chipset reset path refactoring/restructuring + a set of "hardware ops" to abstract out the per-chipset differences of the AR5416 and later chips - again, based on ath9k - to make it easier in the future to port ath9k code to our HAL + added new hooks to tidy up handling TX descriptor completion for multi-rate stuff * ath_rate work: + ath_rate_sample now knows about _basic_ 802.11n stuff; enough to TX MCS rates + ath_rate_sample now calls a HAL method to pull the multi-rate TX completion data out, rather than fondling the TX descriptors directly + ath_rate_sample provides the TX rate list as an array, rather than directly calling the HAL to set up the TX descriptor * if_ath work: + refactored out the TX, RX, beacon, TDMA and debug code into separate source files + enabled some 802.11n related bits facing net80211 + added basic non-aggregate 11n TX support (incomplete so far) + disabled multicast hw crypto for now - this breaks AES-CCMP encryption which is needed for 11n WPA What I'd like to do in the short short term: * merge in the net80211 changes into HEAD, then backport those to RELENG_8. This sets up the scene to support 802.11n in station mode, but shouldn't break existing setups; * maintain the ath/ath_hal/ath_rate stuff in my GIT tree for now, and release drop-in snapshots for people to play with (and I've verified that the code does work under RELENG_8 :-); What I'd like to do moving forward, beginning in early Jan 2011: * Bring over the changes to the rate control modules to tidy up how they fondle the hardware - these changes are reasonably self-contained * Bring over the ath_hal changes. This brings over the AR9100 support, the re-factored HAL structure and changes from ath9k. I could try to separate that work out into separate patches but it's likely going to be a lot of of work for little gain. * Let users then test the AR5416, AR9160, AR9280, AR9285 support - and then find/fix whatever bugs crop up there (and the bugs that still exist!) * Finally, once that's done, look at attacking the if_ath code to enable the initial 11n support. What do people think? Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=e4u3BAzodoE7DAbuC3S2bWNwZ_0xUaDTQqN8L>