Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Dec 2019 00:31:39 -0800
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        malepati vishnuvardhan <malepativishnuvardhan1997@gmail.com>
Cc:        "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>
Subject:   Re: Regarding Chipset selection By the driver
Message-ID:  <CAJ-Vmo=uzHNOyRJH8vYM3HX4Pko09GJHbkgvij-ST_iwhA801Q@mail.gmail.com>
In-Reply-To: <CAMU65Xz_Ch9bQXoEBdtWtsVfESA%2BN%2B1d9-Va%2BrFVQUT7iGK5KQ@mail.gmail.com>
References:  <CAMU65Xz_Ch9bQXoEBdtWtsVfESA%2BN%2B1d9-Va%2BrFVQUT7iGK5KQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi!

I've documented the layout in the wiki:

wiki.freebsd.org/dev/ath(4) and wiki.freebsd.org/dev/ath_hal(4) . You
should start there.

The HAL code is a bit twisty:

* the driver - if_ath_*[ch] is common for everything;
* the if_ath_pci.c code detects the NIC and creates the if_ath context
and sets up the driver;
* the ar9287 related bits are in sys/dev/ath/ath_hal/ar9002/ar9287_*.[ch]
* I think it also uses a bit of code in the ar9280_.*[ch] and the RF
frontend in that directory
* the bulk of the MAC support is the same as the other 11n chips, and
that's in sys/dev/ath/ath_hal/ar5416/ ; and
* to save code duplication, the ar5416 HAL actually uses the code in
sys/dev/ath/ath_hal/ar5212/ where the chipset support is the same.

The reasons are!

* The AR5416 is the first 11n chipset by atheros, and although the
radio and chunks of the MAC are different (to do 11n!), the queue and
airtime management parts of the MAC are the same as as the AR5212. So
to save on code duplication, the original contributor called the
AR5212 routines from the AR5416 HAL where the hardware was the same;
* The AR9287 is an evolution of the AR9280 NIC, albeit 2G only with
some specific extensions which we don't support.

I hope that helps!



-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=uzHNOyRJH8vYM3HX4Pko09GJHbkgvij-ST_iwhA801Q>