History log of /drivers/net/wireless/iwlwifi/iwl-2000.c
Revision Date Author Comments
784c9700444d2ebbace0a1d3a3ac48c3d5852164 16-May-2012 Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> iwlwifi: do not use shadow registers by default

commit 66a770729a5cdd24efed8afa5258f81232d8bba2 upstream.

Shadow registers in the device are meant to
allow the driver to update certain device
registers without needing to wake up all
components of the device. However, using
this feature in the device causes
communication between the driver and the
device to become unreliable, resulting in
host command timeouts.

Disable this feature by default till a fix is
available for the bug.

Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
78cbcf2b9dbe0565820dc7721316f9c401000a68 22-Apr-2012 Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> iwlwifi: use correct released ucode version

Report correctly the latest released version
of the iwlwifi firmware for all
iwlwifi-supported devices.

Cc: stable@vger.kernel.org #3.3+
Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
1745e4405b2c0da6db2ec4b6bc0ad930612d8295 09-Mar-2012 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlwifi: fix the delta for remove max_txq_num patch

BIg portion of "iwlwifi: remove max_txq_num from hw_params" was
missing during merge, here is the fix for it.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
9563fe1696fa0ced8cfa3f935736d4662a81c1c3 07-Mar-2012 Johannes Berg <johannes.berg@intel.com> iwlwifi: remove unused max_nrg_cck from sensitivity and constify

The sensitivity parameters are never modified, so they
should be const. Also remove the unused max_nrg_cck
value to save some space.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
51dc51d12bd609644bbe9877825a1a25a6016639 07-Mar-2012 Johannes Berg <johannes.berg@intel.com> iwlwifi: make EEPROM enhanced TX power a bool

There's no need to carry around the function
pointer when a boolean indicating that the
EEPROM stores enhanced TX power information
is sufficient.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
562f08eb8020cf3672c3743752f82d962ecb7788 07-Mar-2012 Johannes Berg <johannes.berg@intel.com> iwlwifi: remove BT handlers from lib_ops

There's no need to have operations for
these as they simply depend on whether
the device has built-in bluetooth, so
just duplicate the information already
there (whether bt_params is present or
not).

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6794f3ee1dc4a2f7ebed99a4c075f00bbebbcfdc 06-Mar-2012 Johannes Berg <johannes.berg@intel.com> iwlwifi: constify remaining config data

The HW configuration settings base_params, ht_params
and bt_params all should be const, make it so.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ae9625a1a947f33579c244b730001f2ea7d15045 06-Mar-2012 Johannes Berg <johannes.berg@intel.com> iwlwifi: remove num_of_queues module parameter

This is a hardware parameter, so it shouldn't
be configurable by the user. Users can disable
aggregation (which is the only thing affected)
with 11n_disable.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
706c4ff67cb86134a3a93413a595a7c5559b7cc2 05-Mar-2012 Johannes Berg <johannes.berg@intel.com> iwlwifi: make config const

Writing to the global config structures
is always wrong. To protect against such
mistakes in the future, mark them const.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7e79a3937a44b1dc5f457e6dbb8c50e93719286a 05-Mar-2012 Johannes Berg <johannes.berg@intel.com> iwlwifi: use valid TX/RX antenna from hw_params

It's not really a good idea to write to the
global static configuration. Use the valid
TX/RX antenna information only from the HW
params struct except in the case where the
values from the config are used to override
the values from the EEPROM.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
dae66d0d2ee1a188fcfd437c4e6b2bf32dc7a1b2 06-Feb-2012 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlwifi: SRAM size moves from hw_params to cfg

This will allow to set the hw_params after we fetch the uCode.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
6d4dec7ba4b0275c97c39b694cfe60e9aeafdf60 17-Feb-2012 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlwifi: iwl_set_hw_params returns always 0

Remove the return value.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
87272af74e98225672c9165a20b0604a7db758cf 26-Jan-2012 Don Fry <donald.h.fry@intel.com> iwlwifi: move bcast_sta_id init to common routine

There is nothing device specific in the initialization of the
bcast_sta_id so move it to the common inititalization routine.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
1042db2af183b96cdce5972014d85e8bca0634ad 03-Jan-2012 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlwifi: give trans to all the read / write functions

From now on, the transport layer in charge of providing access to the
device. So change all the driver to give a pointer to the transport
to all the low level functions that actually access the device.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
fb4961dbc27d40cdbed297aa9bd74fa4a0e2ba6c 06-Jan-2012 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlwifi: update Copyright

Update Copyright to 2012

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
4e3182626a914443a5e0fbe014813f03e51a75df 27-Dec-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlwifi: update Copyright

Update Copyright to 2012

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
6195d135b78e4067c24b5340552c89e7acf88d22 06-Dec-2011 Don Fry <donald.h.fry@intel.com> iwlwifi: Add official names for new devices

Replace the engineering names with the marketing names for the
new devices.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
3862241945026a8fa165ab73c57739df77b8e1fb 16-Dec-2011 Don Fry <donald.h.fry@intel.com> iwlwifi: move iwl_cfg from iwl_priv to iwl_shared

Move the configuration pointer from the upper level iwl_priv to the
lower level iwl_shared structure, with associated code fixes.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
c27bdc84d6310914cfdd59280c2e663588392d01 25-Nov-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove calibration knowledge

The init microcode knows very well which calibrations
are required and sends us results for those that are.
Consequently, we can just send all of those to the RT
uCode again.

The problem with having the driver know about this is
that it is a uCode feature, not a hardware feature so
the config is completely unsuitable.

The only thing we need to check is whether the device
needs crystal calibration or not, add a new parameter
to the configuration for that.

This makes new uCode work on 6000 series devices.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
93b64105e5642728cfc441e20a42164323fe4ad0 17-Nov-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove calibration knowledge

The init microcode knows very well which calibrations
are required and sends us results for those that are.
Consequently, we can just send all of those to the RT
uCode again.

The problem with having the driver know about this is
that it is a uCode feature, not a hardware feature so
the config is completely unsuitable.

The only thing we need to check is whether the device
needs crystal calibration or not, add a new parameter
to the configuration for that.

This makes new uCode work on 6000 series devices.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
b6cb406a023184733bffc7762a75a2e204fff6b9 10-Nov-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlwifi: remove un-supported SKUs

BG only SKUs are no longer supported by 2000 and 1x5 series. Remove it

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6a686c600268b71619f93d35f9373e2b6ab5947b 10-Oct-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: move iwl_enable_rfkill_int and kill iwl-helpers.h

Move iwl_enable_rfkill_int to iwl-core.h, and remove the empty
iwl-helpers.h

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
02f13d853c0632033f07752c87b0bfd74fd40b0b 10-Oct-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove 6000 hw header

The constants can be moved together with
the similar ones for other devices and we
can then remove the file.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
c745f55baf63d08d6e9bb20682102fb8bae8f67a 10-Oct-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: merge station management functions

After driver split, no need to separate station management functions
in two files, merge it

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
b319d3eb964a602dd1f77bd04b033c40f896e06f 10-Oct-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: Add "_d" sku to 105 series of devices

Add additional sku to 105 series

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
3eae4bb176d3d51f6c61b8b1679116e58586d669 10-Oct-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: kill hw_params.max_stations

Not needed since driver split.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
c6f30347a79502cc81e8ec55248b569b3a90ba2a 15-Sep-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: add support for v2 of temperature offset calibration

For 2000 series of NICs, version 2 of temperature offset calibration
should be used.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
cebcbd752a2e8b3a4da1d554cc570fc5310af057 15-Sep-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: rename iwl-pci.h to iwl-cfg.h

There's nothing PCI(E) specific in this file.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
403ba56aedf2b3092e12219188e5c248f04c5acc 15-Sep-2011 Don Fry <donald.h.fry@intel.com> iwlagn: replace beacon_time_fsf_bits variable with #define

All devices use the same value for beacon_time_tsf_bits. Use the #define

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
b8c2b05e14fbe1ba3fffa31931a1a9ef8da933f9 15-Sep-2011 Fry, Donald H <donald.h.fry@intel.com> iwlagn: simplify chain_noise_num_beacons indirection

chain_noise_num_beacons is set and never changes. Use the #define
rather than 3 levels of indirection.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
5092e47afcbe6c470094c32095794b16083dfac2 15-Sep-2011 Fry, Donald H <donald.h.fry@intel.com> iwlagn: fix modinfo display for 135 ucode.

The modinfo report for 135 ucode is iwlwifi-135-IWL135_UCODE_API_MAX.ucode
Change to show the value of the define: iwlwifi-135-6.ucode

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ec8f734f1b1b582f4a5800565b46e9279858bc77 06-Sep-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: enable 11n support for "_d" sku

"_d" SKU is 11n enabled device

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
1603dd495f87ae97763870d57237744d90bc2bab 26-Aug-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: adding special "D" SKU for 2000 series

One more sku for 2000 series with different Subsystem ID

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
332a4bad975616f33c2d1bf94c4ace2ea4113835 26-Aug-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: iwl-pci doesn't include iwl-dev any more

Move all the iwlXXX_abgn_cfg forward declaration to a separate file
so that iwl-pci.c doesn't need to include iwl-agn.h that includes
all iwl-dev.h
This allows to provide real encapsulation. Dereferencing iwl_priv
in the bus layer will now lead to a compilation error.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
83ed90155f98bd949735c2cc22d832b557a6d7d1 26-Aug-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: all function iwl-io.c receive iwl_bus

Which means that iwl-io.c doesn't need to include iwl-dev.h any more.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ab9e212e92aa2820a5b961c42142d36257b0742c 26-Aug-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: remove unused parameters from hw_params

Some of them weren't used at all, the others always had the same value since
the driver split.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d618912417fbce4f6514fe1cbef7df2e73bdb6c2 26-Aug-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: hw_params moves to iwl_shared

Since it is used by all the layers, it needs to move to iwl_shared.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
48f20d354e729afcfb29ff41aca7583ebb94613d 26-Aug-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: introduce iwl-shared.h

It will hold declaration of functions and forward declaration of struct that
are used by several layers.
This will allow modules not to include iwl_priv. iwl_bus and iwl_trans are
still visible to all.

All the layers share the module parameters, move the struct to iwl-shared.h.
Also add all module parameters to iwl_mod_params instead of having them as
global static. This includes

* debug_level
* ant_coupling
* bt_ch_announce
* wanted_ucode_alternative

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
b39488a9bd00c520e46682bf75ba484aadc82af7 26-Aug-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: Rename iwlcore prefix

There are number of functions with "iwlcore_" prefix which not feels right,
rename those to "iwl_".

No functional changes by making the renames.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ae7f9a740b4ac5a64306abc47a440b794c5b827a 23-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: support v2 of enhanced sensitivity table

Add support for v2 of enhanced sensitivity table for 2000 series products

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ca9a46056908d3cade6957b3d5b2e698356b29fc 23-Jul-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: bump firmware API for some devices

We're working on improvements for the firmware
for some devices, and need to bump the API for
those since they won't be backward compatible
completely (the earlier patch reserving queue
10 for P2P).

Bump the API version to 6 for those devices
but don't warn users of version 5 yet.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
306584c038c2d801a2be772807a89d6a397f0938 23-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: Remove ht40 support from 5.2GHz for _bgn devices

For _bgn device, remove ht40 support for 5.2GHz, it is probably ok since
the "band" is not support but just feel strange.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
29a34f92b5f1776f011272da315daba827a2d950 13-Jul-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove wireless extensions inclusions

linux/wireless.h and net/iw_handler.h headers are
for wireless extensions only, so mac80211 drivers
shouldn't be including them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d62b39e105e427510f8996c03db9ce1bf83fcad8 19-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove "disable otp refresh" W/A

Remove the "disable otp refresh" work-around, not needed anymore.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
21489ec2f18b56eaebc70c0dae928c1adae4c5f5 18-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: write iq invert register for 105/135 device

For 105/135 series of devices, we need to do I/Q invert just like 2000
series devices.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
6bd4dba3d2b8a90d27dfd32b306fa965650599b4 03-Jul-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: kill iwlagn_setup_deferred_work

Since iwlagn_setup_deferred_work is always called, fold it into
iwl_setup_deferred_work. BT related works are setup by the new
bt_setup_deferred_work lib_ops.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.guy@intel.com>
8d30119346d52516f289016e1c57f853a835cb4a 03-Jul-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: kill iwlagn_rx_handler_setup

Since iwlagn_rx_handler_setup is always called, fold it into
iwl_rx_handler_setup. BT related handlers are setup by the new
bt_rx_handler_setup lib_ops.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.guy@intel.com>
4caab328eeea02b244765c355f9d875f8f5f6093 08-Jul-2011 Fry, Donald H <donald.h.fry@intel.com> iwlagn: remove indirection for iwlagn_hw_valid_rtc_data_addr

Not needed since the driver split.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
45d50024a766ef757f3ef7ca7d4f8fb38c5a79f0 07-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: calibration bitmap

Define bitmap for calibration

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
90c300cbd89e76789dbff101a1cb1ec226af277f 07-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove dual-indirect call to simply the code

After driver split, no need to make the code so complex

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
5c3d29fc0d083e674c09407f1bc78e9dbf4ae8a5 08-Jul-2011 Don Fry <donald.h.fry@intel.com> iwlagn: remove iwlagn_hcmd_utils structure and call directly

Not needed since the driver split. Move single use routines to
calling location and keep static where possible.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
0a49b2c2a6bf2f774675e472afe68951900596fb 08-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: use bt handler for 2030 and 135 series devices

For bt combo devices, need to use bt enabled handlers and functions

Reported-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
909fc3cba374560ada33a7dc3ab242d0f1d2a135 08-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove double level temperature indirect call

No need to do double level indirect call after driver split
no functional changes

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
70e3e8a6e831bf58a7eb98187c186221f01d5b64 08-Jul-2011 Fry, Donald H <donald.h.fry@intel.com> iwlagn: remove indirection for eeprom_query_addr

Not needed since the driver split. Eliminate redundant routine.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e4c598b7ce36f4416f7672617265bc1fa92e5a5f 08-Jul-2011 Fry, Donald H <donald.h.fry@intel.com> iwlagn: remove the indirection for iwl_apm_init

Not needed since the driver split.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6b6db91c8aa14fa9bd041321026d69b9f6ea42ff 08-Jul-2011 Fry, Donald H <donald.h.fry@intel.com> iwlagn: remove the indirection for update_chain_flags

Not needed since the driver split.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
02f6f659b0080e60021aae3503163576f88c5ba8 08-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove the indirection for the dma channel num

Not needed since the driver split.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
252e735d64880b011f6cdeb41ebcac2eaeb58fd3 28-Jun-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: remove the indirection for the rx write pointer

Not needed since the driver split.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
e3f10cea039b235c1de12648ea87b752990c11bf 01-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove hcmd ops

All "agn" devices use the same hcmd functions, no need to call indirectly.
remove hcmd_ops

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
54e9c409a5f9e58465d80d6774afd85a449a4615 01-Jul-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: add correct firmware name for 135 series

135 series are WiFi/BT combo and require different uCode from 105 series.
[A
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
8fcbd4dc7a1b338b393dcd6869deb1725cf1a9f3 12-Jun-2011 Evgeni Golov <sargentd@die-welt.net> iwlagn: fix *_UCODE_API_MAX output in the firmware field

Currently (3.0-rc2), modinfo iwlagn shows:
firmware: iwlwifi-5150-IWL5150_UCODE_API_MAX.ucode
firmware: iwlwifi-5000-IWL5000_UCODE_API_MAX.ucode
firmware: iwlwifi-6000g2b-IWL6000G2_UCODE_API_MAX.ucode
firmware: iwlwifi-6000g2a-IWL6000G2_UCODE_API_MAX.ucode
firmware: iwlwifi-6050-IWL6050_UCODE_API_MAX.ucode
firmware: iwlwifi-6000-IWL6000_UCODE_API_MAX.ucode
firmware: iwlwifi-100-IWL100_UCODE_API_MAX.ucode
firmware: iwlwifi-1000-IWL1000_UCODE_API_MAX.ucode
firmware: iwlwifi-105-IWL105_UCODE_API_MAX.ucode
firmware: iwlwifi-2030-IWL2030_UCODE_API_MAX.ucode
firmware: iwlwifi-2000-IWL2000_UCODE_API_MAX.ucode

which is obviously wrong, the user should not see the *_UCODE_API_MAX
macros but the actual ucode API versions here.

The problem are the
#define *_MODULE_FIRMWARE(api) *_FW_PRE #api ".ucode"
which do not expand api correctly (because this is a macro itself).

Fixed by using __stringify() from linux/stringify.h.

Further information about macro stringification can be found here:
http://gcc.gnu.org/onlinedocs/cpp/Stringification.html

Signed-off-by: Evgeni Golov <sargentd@die-welt.net>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
86cb3b4e08a106594ee79c94dec9c7ca289cf999 15-Jun-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: merge duplicate code into single function

Same operation needed by multiple devices, move to single function.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
916b337310969dd5eef35be0988a6bf768c138f9 14-Jun-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: code alignment

Code alignment, no functional changes.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
c6ca8bc46cc320e31e8fcb8b104eeed044febd6f 30-May-2011 Emmanuel Grumbach <emmanuel.grumbach@intel.com> iwlagn: remove uneeded include to pci.h and dma_mapping.h from a few files

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
c68744fb935400964f7af4835017cad5014c8c88 18-Jun-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: Remove un-necessary indirect call

After driver split, no need to make indirect call to txfifo flush function

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
6f213ff1919fab6f8244ceae55631b5d6ef750a7 02-Jun-2011 Stanislaw Gruszka <sgruszka@redhat.com> iwlagn: fix channel switch locking

We use priv->mutex to avoid race conditions between iwl_chswitch_done()
and iwlagn_mac_channel_switch(), when marking channel switch in
progress. But iwl_chswitch_done() can be called in atomic context
from iwl_rx_csa() or with mutex already taken from iwlagn_commit_rxon().

These bugs were introduced by:

commit 79d07325502e73508f917475bc1617b60979dd94
Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Date: Thu May 6 08:54:11 2010 -0700

iwlwifi: support channel switch offload in driver

To fix remove mutex from iwl_chswitch_done() and use atomic bitops for
marking channel switch pending.

Also remove iwl2030_hw_channel_switch() since 2000 series adapters are
2.4GHz only devices.

Cc: stable@kernel.org # 2.6.36+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
5beaaf3756aef42f31747d81b0676c8ccf59c6c4 27-May-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove un-necessary tx power ops

All agn devices use the same tx power function, remove the ops

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
214d14d4d323aab5d455b409e279f9e1e6631123 04-May-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: clean up TXQ indirection

All of these functions no longer need to be
accessed indirectly since they're shared in
all AGN devices.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
3fa507386dc4cdf731344cb9361e9cca373cedb9 04-May-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: prepare for multi-TB commands

In a subsequent patch, I want to make commands use
multiple TBs in a TFD. This is a simple change to
prepare the data structures for this, with as of
now still just a single TB supported.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
94b00658ffc719427c9c09d7920957bc35915c6f 28-Apr-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove bytecount indirection

All AGN devices need the bytecount table, so
remove the indirection and make the functions
static again.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
d6d023a1948d13652d719238f8039c09acceda8c 30-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove un-necessary debugfs callback

After driver split, no need for debugfs callback, remove those

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
16b80b714f8ef86d47680e4afa0eeb8cc61daef4 21-Apr-2011 Don Fry <donald.h.fry@intel.com> iwlagn: semaphore and calib cleanup

All agn devices use the same eeprom semaphore and calib version routines.
Delete the indirection and move the semaphore routines to where they are
used and make static.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
9d143e9a0d68025efe902d86eb6207cbec36dcdb 21-Apr-2011 Don Fry <donald.h.fry@intel.com> iwlagn: mod param cleanup

All agn devices use the same module parameter structure. Delete the
indirection and access the structure diretly.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
b4ed221daba1b129c3efff8a7352d9791d034330 30-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: new 105 series device

Correction for new 105 series devices

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
119ea186cad7643ea82b7290374ebb8e780c35b6 18-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove un-necessary ieee80211_ops

After driver split, no need to use ieee80211_ops, remove it

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
5cab35e7f4feda1a0bfd4f48b7686391004be9de 07-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: no 5.2GHz/HT40 support for bgn devices

For bgn devices, there were no HT40 channels value in EEPROM

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
f42e7662815647c1a6f73e160abcdf812d3057d2 18-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: temperature should be measure for all _agn devices

Thermal throttling functions are available for all _agn devices, call the
functions directly.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
b7af6a99690503a48c63ce5e587b4e4555f31cdb 07-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: always support uCode trace

All _agn devices support continuous uCode trace, remove checking

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
e79b1ca75bb48111e8d93fc576f50e24671f5f9d 05-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: use direct call for led functions

After driver split, no need to call led functions through callback

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
0da0e5bf1522d75d446f5124e17016628d0a149e 08-Apr-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: clean up & autodetect statistics

There's no need to keep both normal and BT statistics
versions around all the time in memory when we only
use a subset of both. So keep only the subsets that
we need in memory, depending on the debug config).

Also, in doing so, we can remove all the calls to
iwl_bt_statistics() in the driver as we'll just
access the copied statistics now.

Finally, also remove this call from the one place
where it might still be needed and automatically
detect what kind of statistics the device is sending
based on their size. This way, we don't need to keep
track of which devices do what any more, which is
good since this is subject to change based on the
ucode version (as some ucode even for non-BT devices
will in fact use BT statistics).

Warn upon encountering a statistics command from the
ucode that isn't known, so we will find such issues
earlier in the future.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Tested-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
703bc583cb98a24eeedd297ee59dfa12852897d1 03-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: sensitivity and chain noise done by driver

_agn driver should perform both sensitivity and chain noise calib.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
15ade3ca647d95611814333cfe0885fd0184481e 02-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove un-needed configuration

After driver split, set_l0s config is no longer needed, remove it

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
dcf6640f0f58affa93f158d8573b6868136e3d62 01-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: PAPD read for 2000 series devices

For 2000 series NICs, disable OTP refresh in order to read correct
PAPD table from high OTP block

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
3ecccbcd3c67374aeee447c08fcb9e39a99f7ee5 30-Mar-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: remove un-necessary function pointer

After driver split, no need to use function pointer for those event and
register dump function.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
1d5cc5559aaf5273cc1f9aac9b428e3a99d41de6 29-Mar-2011 root <root@wtplsrv02.(none)> iwlwifi: remove extranious macro from firmware define

define of firmware filenames use extra macro to build the files name.

Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
519d8abd358afad825a1b919a2421d76779f23cd 05-Apr-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove ISR ops

The ISR (interrupt service routine) ops are now
no longer necessary since they are the same for
all devices this driver now handles.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
917b6777b45ac49c436570e36eb09d9b8b84c434 05-Apr-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove BSM clock setting

Again, a 4965 specific code path that we no
longer need in iwlagn.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
901069c71415a76d731857ccda814e18ded062f7 05-Apr-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: change Copyright to 2011

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
1fc352765fb461e4afafff4d650624df8ab6b6d6 05-Apr-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: remove bootstrap code

Only 4965 had a bootstrap microcode image, so
the agn driver can completely ignore that and
we can remove some code from it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7102762ef0ef330ab0601b6c3bc92bf9be5b1317 05-Apr-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: clean up ucode loading

All agn devices behave the same, so there's no
need to go through function pointers for any
of the ucode loading functionality.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7ffef13d7a24654292c4641450f2794224b9eb5d 15-Mar-2011 Johannes Berg <johannes.berg@intel.com> iwlagn: clean up TX aggregation code

Since the driver split, there's no need for
function pointers any more for aggregation
queue setup and teardown as all devices now
share the same code. Simplify this.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
d103e3448a3ecb9f81babd1f6d7f5a678e213c82 10-Mar-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: use 6030 configuration for 6035 series

6035 series of devices should use the same uCode as 6030 series,
change it.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
ad6e82a5348e494c0023d77fa55933f23b55711c 28-Feb-2011 Stanislaw Gruszka <sgruszka@redhat.com> iwlwifi: move check health code into iwl-rx.c

Remove check_plcp_health and check_ack_health ops methods, they are
unneeded after iwlegacy driver split. Merge check health code into to
iwl-rx.c and make functions static.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6013270a030e370400e459922176c467a6c19293 19-Feb-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: enable BT session 2 type UART for 2000 series

For 2000 series device, use session 2 type of BT UART message

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
caebbb7a4ac3e31b259954b757b15b8f0ac708d5 06-Feb-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: handle bt defer work in 2000 series

For 2000 series, need to handle bt traffic changes when
receive notification from uCode

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
96234cc84e0cce55421e981a865a4817db24ba4a 24-Jan-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: use 2030 macro for 2030 devices

For 2030 series of devices, 2030 macro need to be used.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
9dc2153315650eae220898668b6aa56a25c130be 17-Jan-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlwifi: always support idle mode for agn devices

For agn devices, always support idle mode which help power
consumption in idle unassociated state.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
52e6b85fe07ed1d2b5c76fd42ce1d77f1a190c72 18-Jan-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: add IQ inversion support for 2000 series devices

The I/Q swapping is extremely important and should be dealt with extra care.
It will affects OFDM and CCK differently.

For 6000/6005/6030 series devices, the I/Q were swapped, and for 2000 series
devices, it is in non-swapped status (but its swapped with respected to 6000/6005/6030).
so the CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER register need to be set to support
the correct behavior.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
c5a5e1853a6d87eb9f58bf8930e267d619dd24f6 22-Jan-2011 Wey-Yi Guy <wey-yi.w.guy@intel.com> iwlagn: 2000 series devices support

Adding 2000 series devices supports, the 2000 series devices has
many different SKUs which includes 1x1 and 2x2 devices,also with
and without BT combo.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>