04cf6824a5e92e6f86c0abcb38ac65ee744c3d34 |
|
23-Nov-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: tid_data moves to iwl_priv The transport doesn't need to access it any more. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
45c30dba1c9358b5446559eff07282c56ada3b4b |
|
01-Dec-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlwifi: move calib_results list from iwl_priv to iwl_trans Move the calib_results list from the upper layer iwl_priv structure to the lower layer iwl_trans structure. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ae6130fc9b5e9957aaf26355b80e0a5ef7f8f537 |
|
01-Dec-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlwifi: move device_pointers from iwl_priv to iwl_shared Move the low level ucode device_pointers structure to iwl_shared. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ab36eab24e7847d6d92872c55b46554c8ac4c4b3 |
|
01-Dec-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlwifi: move eeprom pointer from iwl_priv to iwl_shared The eeprom image is a device level component, move from iwl_priv to iwl_shared, with associated code changes. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5ef15ccc648638a2cf00b3a13caa770559aa4e91 |
|
30-Nov-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: rename CONFIG_IWLWIFI_DEVICE_SVTOOL to CONFIG_IWLWIFI_DEVICE_TESTMODE Change the name to match the works Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c4db616623030e9a75a990a2db4d733b5112acb1 |
|
30-Nov-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove reference to legacy devices After driver split, no need to reference to legacy devices, remove comments Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dd5fe1046cb07d2a6665b6dbbfc6989b39ae063b |
|
29-Nov-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlwifi: move ucode notification from iwl_priv to iwl_shared Move the notification structures for ucode operations from the iwl_priv structure to the iwl_shared structure, with associated code changes. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3d6acefc0a24bf90746c1f259e9d65d1ed7ea5e2 |
|
29-Nov-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlwifi: move ucode_type from iwl_priv to iwl_shared Move the ucode_type variable from the iwl_priv to the iwl_shared structure with associated code changes. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
306713fd1a04801ab3c9b5c0f76b615f1db46e6d |
|
23-Nov-2011 |
Hsu, Kenny <kenny.hsu@intel.com> |
iwlwifi: add tm commands for sram reading by dumpit Create new testmode commands and attributes to suppot sram data reading. Because the amount of sram data may exceed single skb packet size. Using the nl80211 dump it funtion to deliver sram data to userspace. - IWL_TM_CMD_APP2DEV_READ_SRAM - IWL_TM_CMD_APP2DEV_DUMP_SRAM - IWL_TM_ATTR_SRAM_ADDR - IWL_TM_ATTR_SRAM_SIZE - IWL_TM_ATTR_SRAM_DUMP Signed-off-by: Kenny Hsu <kenny.hsu@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f02c2fd383f4c771c75daf391abdbdcb88848439 |
|
17-Nov-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: dynamically allocate & reflect calibration data This makes handling the calibration data more generic and no longer requires updating IWL_CALIB_MAX when a new uCode comes with more calibration packets. Since we just copy the data back, there's also no need for understanding which calibration we received -- we can just reflect it back to the runtime uCode. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
97b52cfd1ae0c2f7284ee36e80ea0c22000f90bf |
|
10-Nov-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlagn: move nvm_device_type from iwl_priv to iwl_trans The nvm_device_type is eeprom related and does not need to be part of the iwl_priv structure. Move it and eliminate access to the iwl_priv structure. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
de7f5f92dbda0652dcb850fd02762e628556f645 |
|
10-Nov-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlagn: move ucode files out of the iwl_priv structure Relocate the ucode files and update relevant code. More code refactoring. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5703ddb01328c8ee3fa315273ea3b29f6524fb38 |
|
10-Nov-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlagn: move ucode_write_complete from priv to trans structure ucode_write_complete is used for ucode loading. Move it as part of restructuring work out of the priv structure. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
79d3eef89190ee0a7ee585e3949873241bc382e3 |
|
10-Nov-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: add P2P NoA to probe responses Whether to use NoA or not is entire controlled by the uCode right now, and it also adds the attribute to beacons. We do need to add it to probe responses in the driver though. Keep track of the NoA notification from the uCode and add the data to probe responses when such are transmitted. Use RCU to manage the lifetime. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
26bfc0cfdb6b9a12911f8dde4f96c958aef357ae |
|
10-Oct-2011 |
Don Fry <donald.h.fry@intel.com> |
iwlagn: eliminate bus pointer from iwl_priv structure A pointer to the bus structure is still in iwl_priv. Finish cleanup and remove it. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0288356272153f916f31b8331780a7336872f63b |
|
23-Sep-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove Kelvin support Only 5150 series devices report their temperature in Kelvin, and for those we already convert it to Celsius when storing into priv->temperature, so there's no way priv->temperature will ever be in Kelvin. Remove support for this. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
247c61d625154e18a105d663281c52376a882762 |
|
21-Sep-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: remove the callback in host commands Before this patch, the upper layer could register a callback for each host command. This mechanism allowed the upper layer to have different callbacks for the same command ID. In fact, it wasn't used and the rx_handlers is enough: same callback for all the command with a specific command ID. The iwl_send_add_station needs the access the command that was sent while handling the response (regardless if the command was sent in SYNC or ASYNC mode). So now, all the handlers receive the host command that was sent. This implies a change in the handler signature. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
390808db4ab5c658dc1eb8078d82027ce7d0ea78 |
|
21-Sep-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: split remain-on-channel If we're associated and want to do P2P at the same time, the scan for remain-on-channel is currently limited to 80ms because of the way the device will behave in that case. Instead of doing that, split up the dwell times into little pieces. It will not actually be a single big dwell time then, but will be close enough. This improves robustness of P2P in such scenarios. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c68929060181eb088bef252c5f493a66a44e77b1 |
|
21-Sep-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove common station priv Since the driver split there's no more need for shared/non-shared private station data so remove struct iwl_station_priv_common entirely. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
859cfb0a99369cf51dc2125ebc3476382a15c322 |
|
15-Sep-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move iwl_stop / wake_queue to the upper layer Add a wrapper in the upper layer to call the mac80211's function. This allows not to have the transport layer call mac80211 directly. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7a10e3e4076d09779da5a02b0ab6ce551d964d48 |
|
06-Sep-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: iwl-trans.c can't dereference iwl_priv any more This reaches encapsulation for this file. In order to reach this: * move priv->valid_context to iwl_shared * move the last_rejected initialization to the upper layer * define a wrapper iwl_nic_config in the upper layer that calls to cfg->lib->ops->nic_config 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
522376d206da66cecc90929134ad70c0446e874b |
|
06-Sep-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: clean up of transport layer Move a few declarations needed by the transport layer to iwl-shared.h Move iwl_cmd_meta, iwl_tx_queue and friends to the internal transport header file. Move iwl_device_cmd iwl_host_cmd and friends to iwl-trans.h since these structs are used in the API to the transport layer. Move get_cmd_string to the upper layer with a declaration in iwl-shared.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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3e10caeb55b2693b38f1f80c67c79d918fc42e42 |
|
06-Sep-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: remove priv dereferences from the transport layer Another round of clean up on the transport layer. Define a wrapper around wiphy_rfkill_set_hw_state to prevent the transport layer from accessing priv->hw. Also move wait_command_queue to the transport layer. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
debcf734287a4e15710e6da7add0febca349d5b4 |
|
26-Aug-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: handle GO powersave In order to implement support for GO powersave on the P2P client side, the ucode needs to know what GO we're trying to authenticate/associate with, it needs to have a station entry and the BSSID in the RXON set. Implement the new mac80211 callbacks to give this data to the device. Since this is also useful for the device when a normal connection is established, also program it with the information in that case. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8ad71bef4a9d8173cbcfbb2f796b08d33d4ca01b |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move tx queues to transport layer This finalizes the move of the data path to the transport layer. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e20d434170c3a7f388d5e916825499c9c0738606 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move the stop / wake queue logic to transport layer priv->mac80211_registered and priv->hw needed to move to shared. stop_queue API was added in order to allow the upper layer to stop the SW queues for regulatory purposes. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e13c0c59e0ec38558ac853d56555e915b4dc7dc2 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move the mapping ac to queue / fifo to transport This mapping is transport related. This allows us to remove the notion of tx queue from the tx path in the upper layer. iwl_wake_any_queue moved to transport layer since it needs to access these mappings. The TX API is nicer now: int (*tx)(struct iwl_trans *trans, struct sk_buff *skb, struct iwl_device_cmd *dev_cmd, u8 ctx, u8 sta_id); 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dfa2bdbab70901ddda3ec41f2e55f8396af9095f |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: upper layer uses slabs to allocate tx cmds In a near future, the upper layer won't be aware of the tx queues. This allows to remove one place where the upper layer needed to provide the tx queue index to the transport layer. This also saves around 1.5MB. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ba562f71198a2cb03bb8d20640ffdf996275c3f0 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: set tx_fifo for ampdu in transport layer the mapping tx_queue -> fifo is really transport related. The upper layer should be involved in such things. Note that upon agg_disable, the queue is always mapped to fifo 0, but this doesn't matter since when the queue will be setup again for a new BA session, it will be configured to the good fifo anyway. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2c452297ff3eaafad41d24fa03d54a169ced8de1 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: upper layer stores iwl_rxon_context in skb's CB This removes the need for iwl_tx_info. Each tx queue holds an array of skbs, the transport layer doesn't need to know anything about the context in which a specific skb is sent. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fd656935cd05f522d7db97386633f6a0d7751218 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: remove dereferences of priv from transport There are still quite a few, but much less. A few fields have been moved /copied to hw_params which sits in the shared area: * priv->cfg->base_params->num_of_ampdu_queues * priv->cfg->base_params->shadow_reg_enable * priv->cfg->sku * priv->ucode_owner 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5f85a7890cbfd2be8f4c6620b2a6774d6b5ac647 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: iwl_tid_data moves to iwl-shared The rate scaling and the transport need to access the data in iwl_tid_data, hence the move. Note that the only component in the upper layer that needs this data is the rate scaling. Refactoring the rate scaling may help to move iwl_tid_data from the shared area to the transport area. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a72b8b088c3465b28192c1a14ba97be8223a8cec |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add missing includes a few h files weren't self contained. Fix that. Move iwl_dma_ptr to transport layer since it is not used by the upper layer 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
9d6b2cb1ccf9c1e00a0891eff78b93eb1a1fc372 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move Keep Warm to transport layer It is relevant for PCIe only. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dda61a4482661d71034cc132d1f474f19ce34a4d |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: iwl-dev.h doesn't include iwl-fh.h any more Since iwl-fh.h contains transport related data, it shouldn't be included by the upper layer. Only the transport layer and iwl-agn-ucode.c includes it. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
72012474b01e2f2d433e4253505f5dcfb3345d17 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move hcmd_lock to transport layer Since it is needed for host commands only, it is needed in transport layer only 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
790428b6552c698b2f295457b5dee686323cb732 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move iwl_free_pages to iwl-shared.h This helper is used by the transport and the upper layer. Kill __iwl_free_pages which was used in the transport only. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
105183b156b7c220b47c3162e087101a0a6abc9f |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move scd_bc_tbls and scd_base_addr to iwl_trans_pcie Needed for PCIe only 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a0eaad713f6fc1f63fe293ad6ce63cb01e05c03c |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: reclaim the packets in transport layer The reclaim flow is really transport related. Define a simple API to allow the upper layer to request from the transport layer to reclaim packets until an index written in the Tx response / BA notification. The transport layer prepares a list of the packets that are being freed and passes this list to the upper layer. Between the two layers, the CB of the skb is used to pass a pointer to the context (BSS / PAN) in which the skb was sent. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1f7b6172db86e9ab2b4cd794441bb2c40ab287fc |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move isr_statistics to transport layer It is accessed by the transport layer only, hence the move. The debugfs handlers that accessed it moved to the transport layer too. The rx_handlers part of it stayed in the upper layer and a special debugfs has been added for it Also add missing includes to iwl-commands.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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0c325769a394559941acda83e888a1d9b1ef8b7f |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move ISR related data to transport layer Since the ISR is entirely in the transport layer, its data should be in the pcie specific region. Change sync_irq to first disable and then synchronize the IRQ. iwl_isr and iwl_isr_ict now receive iwl_trans. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
57210f7c9f04a2509ee54a0f454003a714db96dd |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move iwl_suspend / iwl_resume to the transport layer These flows needs to access the APM and a few other registers that can differ between different transports. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5a878bf60b2bb1f1509f49b8b1784e3c9f204c64 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: iwl_rx_queue moves to the iwl_trans_pcie Since this struct is specific to pcie transport, move it the the pcie specific transport layer. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e6bb4c9c00892c488f3218ea317dc6a71674faf4 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: bus layer chooses its transport layer Remove iwl_transport_register which was a W/A. The bus layer knows what transport to use. So now, the bus layer gives the upper layer a pointer to the iwl_trans_ops struct that it wants to use. The upper layer then, allocates the desired transport layer using iwl_trans_ops->alloc function. As a result of this, priv->trans, no longer exists, priv holds a pointer to iwl_shared, which holds a pointer to iwl_trans. This required to change all the calls to the transport layer from upper layer. While we were at it, trans_X inlines have been renamed to iwl_trans_X to avoid confusions, which of course required to rename the functions inside the transport layer because of conflicts in names. So the static API functions inside the transport layer implementation have been renamed to iwl_trans_pcie_X. Until now, the IRQ / Tasklet were initialized in iwl_transport_layer. This is confusing since the registration doesn't mean to request IRQ, so I added a handler for that. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f39c95e8d7a152b409977687a999356f0e54bde6 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: priv->sta_lock 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6ac2f839b0b21225a65f41802c5f0df5eff4f16c |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: priv->mutex 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
10b15e6f67ba4d9abb8788100a5267341cc98b7b |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: priv->lock 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
63013ae30159c90d2a873e20e680e7810fa533fa |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: priv->status 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
74e28e44095e30ffd2d0258e4fe91826a15247e7 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: workqueue 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
cefeaa5fa0be02cd51968975fec9cfaf7973bb3a |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: cmd_queue 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8f470ce31de1a9dfe6b53e0967eaa7e72b741714 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: debug_level moves to struct iwl_shared This will allow all the modules to look at it. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
cac988a682d45d07276fef1cc1e035ef86d39849 |
|
26-Aug-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: introduce struct iwl-shared - known by all layers This struct will hold pointers to all the layers, so that every layer will find the pointers it needs when calling another layer. Note that the drv_data set to struct device is now a pointer to struct iwl_shared. This solves of bug that I introduced in iwlagn: simplify the bus architecture Bug description: sysfs gets the the driver data from struct device. Till the aforementioned patch, dev_get_drvdata would return iwl_priv. After the patch, dev_get_drvdata return iwl_bus which is buggy since the sysfs handlers rely on this value, and sysfs handlers need iwl_priv. Now, dev_get_drvdata return iwl-shared. Since we have pointers to all the layers in iwl_shared, every layer will be able to get the pointer it needs: bus layer will gets iwl_bus from the PCI suspend callbacks, and the sysfs handlers will get the iwl_priv they need. In order to keep good encapsulation, we need to avoid to dereference iwl_priv from a different layer. This is why instead of including iwl-dev.h from iwl-shared.h, I added a forward declaration to iwl_priv. Moreover we keep type safety while providing encapsulation. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c6baf7fb40cb141c4b510372f7dac829621ccf3f |
|
23-Jul-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: support new P2P implementation The previous P2P implementation turned out to not work well and new uCode capabilities were added to support P2P. Modify the driver to take advantage of those, and also discover P2P support automatically based on a uCode flag instead of having a Kconfig symbol for P2P. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
72c04ce0164aad6da5dc7d0b7267a84c60970165 |
|
23-Jul-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: reserve queue 10 for TX during scan dwell New uCode images will use queue 10 for TX during scan (for P2P offchannel operation scan). We'll bump the API version of those, but before we need to reserve queue 10 and stop using it for aggregation. To simplify the code, always reserve it, we could continue using it on older uCode images but that'd be rather complicated. Also, we'll set it up to map to the right FIFO as needed later, but as we don't use the queue now that doesn't hurt. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
41bf37117b47fc5ce2aae91f6a108e7e42e0b046 |
|
22-Jul-2011 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
|
bbb05cb55a1b57003b17d47b5a7ac809bab60f80 |
|
18-Jul-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: track beacon interval sent to device Sometimes, when mac80211 changes the beacon interval or when it isn't yet set in mac80211 before association, the uCode will sysassert because we send it confusing RXON timing vs. PAN parameters. To fix this, track the last beacon interval sent to the device and use that in PAN parameter calculations. This fixes a bug during P2P group formation as a client (and possibly association to a regular AP) while connected to another AP. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c8ac61cf6e53fefb3b439fc58390fb65d2730e63 |
|
15-Jul-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: implement WoWLAN Implement WoWLAN support in iwlagn. The device supports a number of wakeup triggers and can do GTK rekeying when asleep (if HW crypto is used). Unfortunately, we need to disconnect from the AP after resume since we can't yet get all the info out of the wowlan uCode to stay connected safely. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
898ed67be047d0762cc7592f67bf1313dff53ca9 |
|
13-Jul-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: remove un-necessary "_agn" After driver split, extra _agn in priv structure is no needed, remove it. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a920bffb88260aac36bfd05745696dc6aa256627 |
|
13-Jul-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove keyinfo cache iwlagn keeps a copy of key stuff internally but never actually uses it, so remove it. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c10e2c102ff180998bf91404c2d76ca66ced46a0 |
|
13-Jul-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: testmode fixed rate available for testmode only Move tm_fixed_rate inside CONFIG_IWLWIFI_DEVICE_SVTOOL and only available when the option is enable. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d593411084a56124aa9d80aafa15db8463b2d8f7 |
|
11-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: simplify the bus architecture Call iwl_probe with a ready iwl_bus struct. This means that the bus layer assigns the irq, dev and iwl_bus_ops pointers to iwl_bus before giving it to iwl_probe. The device specific struct is allocated together with the common iwl_bus struct by the bus specific layer. The pointer to the aggregate struct is passed to the upper layer that holds a pointer to iwl_bus instead of an embedded iw_bus. The private data given to the PCI subsystem is now iwl_bus and not iwl_priv. Provide bus_* inliners on the way in order to simplify the syntax. Rename iwl-pci.h -> iwl-bus.h since it is bus agnostic and represent the external of the bus layer. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
41c50542669cd7aec45ad708f5120ff8fdaa1194 |
|
11-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: transport layer receives struct iwl_trans* It still holds a pointer to iwl_priv. But hopefully this will disappear at some point. Also add the multiple inclusion protection to iwl-trans.h that was forgotten. Move iwl-trans structures to iwl-trans.h Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0286cee0d2b6357e8e30d817bbce8ff166f358b5 |
|
10-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move iwl_prepare_card_hw to the transport layer This function is really related to the transport layer - move it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
392f8b789a4c96b39d527ff8ea5ceba20cd79d56 |
|
10-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move more functions from the start flow to the transport layer Basically all the nic_init flow should be in the transport layer. iwl_prepare_card_hw will move to the transport too in a separate patch. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
48d42c426947d8ffba0caa3cf9c58be6903302e0 |
|
10-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: SCD configuration for AMPDU moves to transport layer All the configurations of the HW for AMPDU are now in the transport layer. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
56d90f4c8ac186a708e6af290d23857ea901ba05 |
|
07-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add kick_nic API to transport layer kick_nic means to remove the RESET bit from the embedded CPU Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b3c2ce131c7cd8c53b72b0cc04241cde17ce0c1d |
|
07-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add tx start API to transport layer tx start will start the tx queues: basically configure the SCD Remove the IWLAGN prefix to SCD defines on the way. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ab6cf8e816bad473a1496f2006bea3a3849c2519 |
|
07-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move iwlagn_stop_device to transport layer Since iwlagn_stop_device was the only caller to the rx_stop / tx_stop, these two don't need to be API any more. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
47365ab858a7f452e79437d1a44488245e903f37 |
|
07-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add comment to tx and get_tx_cmd in iwl_trans_ops Those comments were missed in a previous commit. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a27367d25da06c24e0379ad4489542016ff11dbb |
|
04-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move sync_irq to transport layer Since all the irq / tasklet is now handled in the transport layer, it should give an API to ensure that all the irq / tasklet have finished running. This will allow the upper layer to release all its resources. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
34c1b7ba127d1815b3dd1cb81cc4338ce0e712b7 |
|
04-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move the tasklet / irq to the transport layer PCIe doesn't provide any ISR registration API, whereas other buses do. Hence, we need to move the tasklet and irq to the transport layer to allow this flexibility. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
47c1b496015e41e1068878814596af9a45d4fa84 |
|
03-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move Tx datapath to transport layer Split the Tx datapath in two parts: * the first deals with the Tx cmd composition * the second attaches the skb + Tx cmd to the queues Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
95a943c162d74b20d869917bdf5df11293c35b63 |
|
15-Jul-2011 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: net/bluetooth/l2cap_core.c
|
4e308119771573f949203f9f4732bcbfb9628279 |
|
08-Jul-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: separate and enhance the fixed rate from For testing purpose, we need better control of msc from user application. Separate the fixed_rate between debugfs and testmode and enforce it. Signed-off-by: Kenny Hsu <kenny.hsu@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e98a1939a2d75354631487328339fe8d2117fce9 |
|
08-Jul-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: allow application own the uCode operation Since we open the door to allow application control the device behavior through testmode, add command to allow application request the ownership of the uCode Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c7c1115b8ff485d3a48b70bb7135776a696778ad |
|
08-Jul-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: add CMD_ON_DEMAND flag for host command from testmode For all the hist command request from testmode, set the CMD_ON_DEMAND flag. this flag will be used later to control the uCode behavior Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
207ecc5eab908843449c167f7264a35d7d5d5e0b |
|
08-Jul-2011 |
Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> |
iwlagn: Enable/disable PS poll based on RSSI and BT coex traffic state WiFi throughput drops drastically when BT is turned on, BT and WiFi are simultaneously transmitting/receiving traffic. This is particularly true when BT has higher priority over WiFi, and hence the device defers TX frames. The AP assumes that the channel is bad and reduces the data rate, implying longer airtime, which exacerbates the problem further, resulting ultimately in what is popularly called the "death-spiral" phenomenon. The use of PS-poll in such scenarios guarantees a low but consistent throughput. Since the death-spiral phenomenon is observed only when the RSSI is low, use PS-poll only when RSSI is low and disable when high, with a known hysterisis. This feature specifies the high and low thresholds and implements the callbacks registered with mac80211, which will be called when threshold events occur. iwlwifi: dynamic pspoll: optimize rssi monitor code 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e419d62d72b23392e7f9a5da047fb17d70edc54a |
|
08-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: consolidate the API that sends host commands and move to transport Now, there are only two functions to send a host command: * send_cmd that receives a iwl_host_cmd * send_cmd_pdu that builds the iwl_host_cmd itself and received flags The flags CMD_ASYNC / CMD_SYNC / CMD_WANT_SKB are not changed by the API functions. Kill the unused flags CMD_SIZE_NORMAL / CMD_NO_SKB on the way. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c170b867cc119fb9f6e9cac3a8245a3347bc718c |
|
08-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add an API for TX stop Tx stop moves to transport layer. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c2c52e8bed1a186d060166ec57228e2a123cab2e |
|
08-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add an API for RX stop Rx stop moves to transport layer. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1359ca4f305a1680ea6a1347a43bea76c352097c |
|
08-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add an API to free the TX context Tx free functions move to the transport layer. Unify the functions that deal with tx queues and cmd queue. Since the CMD queue is not fully allocated, but uses the q->n_bd / q->window trick, the release flow of TX queue and CMD queue was different. iwlagn_txq_free_tfd receives now the index of the TFD to be freed, which allows to unify the release flow for all the queues. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
afaf6b5742f85bab46232faae97fdd1493061173 |
|
08-Jul-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: remove the CMD_MAPPED flag It is uneeded since Johannes removed the HUGE flag. The DMA mapping is always held in the same index as the command. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
204d1641d200709c759d8c269458cbc7de378c40 |
|
08-Jul-2011 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
02aca585f58a331288026cf78fd4f4ca404cbe12 |
|
28-Jun-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move the tx allocation funcs to the transport layer These functions allocate all the Tx context. Only the simple tx_init is exported as API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a0f6b0a211fbdfbae603ffa434f0d9e691e55ab9 |
|
21-Jun-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add rx_free to transport layer The transport layer ness to release all rx ressources. This function is an API for it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c85eb6196958ae54eba3ff0660d2b5af3d58521a |
|
14-Jun-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: introduce transport layer and implement rx_init The transport layer is responsible for all the queues, DMA rings etc... This is the beginning of the separation of all the code that is tighly related to HW design to the aforementioned transport layer. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
98a648e10a3c4eb30f8043281345506e17ace007 |
|
27-Jun-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: verify mutex held for sync commands Emmanuel noticed that there's no explicit checking that prevents the driver from attempting to issue multiple synchronous commands at the same time and wrote a patch to check. However, his patch warns only if a collision actually happened, an unlikely thing since the driver mutex should be held for synchronous command submissions. So instead of checking that a collision happened add a check that the mutex is held which ensures that collisions can't happen. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
36099365c7cc64e5184b66b6eb094950a13f540c |
|
24-Jun-2011 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/rtlwifi/pci.c include/linux/netlink.h
|
705cd4513a2fc561d8a2d5853cffb102bf183d70 |
|
18-Jun-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: store the irq number to iwl_bus just like dev Since the irq number is just an unsigned int, store it inside iwl_bus instead of calling the get_irq ops every time it is needed. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4b55b07fc9e5eccfd204cad75509bf062d3c22a3 |
|
09-Jun-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: warn about nested SYNC commands Since there is no protection around SYNC host command mechanism, at least WARN when collision happens between two SYNC host comamnds. I am not sure there is a real issue (beyond the HCMD_ACTIVE flag maintenance) with having two SYNC host commands at the same time, but at least now, we will know about it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ea3aa93055508ae3e3a62f90580c24ec381dcbe2 |
|
31-May-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: finally kill the pointer to pci_dev from iwl-dev.h All pci related stuff is in iwl-pci.c. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
08321c062f77e379c4a539f1522220b83ab1e84e |
|
10-Jun-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add a get_irq method to iwl_bus_ops and use it In order to remove a few more dereference to priv->pdev that will be killed [Asoon, there is now a method to get the IRQ number. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
19707bac16129ccebc398dbff9d2b44b17b24fea |
|
10-Jun-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add a method to get the HW ID description as a string to iwl_bus_ops Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d57fa99d91bd6e8ca8217c115824b2732f4d3639 |
|
10-Jun-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: move PCI power related functions to the PCI layer Continue to popule the PCI layer and the iwl_bus_ops with the power related stuff. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
084dd79172cb3aad11d2b7ee5628d57badca7c6e |
|
31-May-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: move PCI related operations from probe and remove to PCI layer Since we have now a PCI layer, all the init and deinit code that is PCI related should move to there. Also move the IO functions: read8/read32/write32. They need hw_base which is killed from priv. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3599d39a8525b01540e2c7ec8c5d0df0dd11d6cf |
|
31-May-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add get_dev to iwl_bus_ops Bus specific layer must know how to return the struct device* of the device. Implement that as a callback of iwl_bus_ops and use that callback instead of using the priv->pdev pointer which is meant to disappear soon. Since the struct device * is needed in hot path, iwl_bus holds a pointer to it instead of calling get_dev all the time. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a48709c5d076aa3a3f9b6426f462abe6bf432b11 |
|
31-May-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: introduce iwl_bus and iwl_bus_ops iwl_bus will represent a bus, and iwl_bus_ops all the operations that can be done on this bus. For the moment only set_prv_data is implemented. More to come... Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
48d1a2110ad9cb86e5cb0d790729824fa3cca83b |
|
24-May-2011 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlagn: add a iwl_pci.[ch] files that will contain all PCI specific code Move some PCI functionality to the new iwl_pci.[ch] files: * the PCI_DEVICE_TABLE * the pci_driver struct definition * the PCI probe / remove functions * the PCI suspend / resume functions All these functions are now split: the trigger comes from the PCI layer which calls to the bus generic code located in the other files. This is the beginning only. There are still a lot of PCI related code needs to be gathered. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
872907bb17fe2d8d01d0e9723f72f91cb4ea103f |
|
06-Jun-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: don't check ucode subtype The ucode subtypes keep changing, and there's no particular reason to be checking them (other than a paranoid sanity check). Since the numbers are also in conflict between different ucode images now, simply don't check them any more and rely on the images being built correctly. Also, to indicate that, rename the constants and the enum, moving it to a different file. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
eb64dca0c9d73e191026ed37d1075f22e48b3f1c |
|
31-May-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: add dumpit support for testmode trace function For testmode trace function, huge amout of data need to pass to userspace. Use the build-in nl80211 dumpt it function Require nl80211 testmode dumpit support patch. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
49b72100165e3b2046be15a8e4f766f5169e708d |
|
30-May-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: usersapce application decide the size of trace buffer For testmode trace function, allow userspace application to request the size of trace buffer. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c0c33addcba2ce753b4e2746db99feaae2f82a85 |
|
08-Jun-2011 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
|
a6b7a407865aab9f849dd99a71072b7cd1175116 |
|
06-Jun-2011 |
Alexey Dobriyan <adobriyan@gmail.com> |
net: remove interrupt.h inclusion from netdevice.h * remove interrupt.g inclusion from netdevice.h -- not needed * fixup fallout, add interrupt.h and hardirq.h back where needed. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
51b7ef058c44c15af20ab4f7aed1dbb959cbd06d |
|
11-May-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: change default beacon interval When the PAN context is active, but unused, it may still block scans that take more dwell time than its beacon interval (which is odd). Work around this problem by using a default beacon interval of 200 so scans will fit between. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6489854b9cbc2faa6709532e61c3ea221cf8583b |
|
04-May-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: add testmode set fixed rate command Add support in testmode for setting fixed rate Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7a4e5281d1b3335a3dc90841415390473cccebf3 |
|
06-May-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: add testmode trace command Adding testmode trace/debug capability Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4ce7cc2b09553a91d4aea014c39674685715173a |
|
13-May-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: support multiple TBs per command The current "huge" command handling is a bit confusing, and very limited since only one command may be huge at a time. Additionally, we often copy data around quite pointlessly since we could instead map the existing scan buffer for example and use it directly. This patch makes that possible. The first change is that multiple buffers may be given to each command (this change was prepared earlier so callsites don't need to change). Each of those can be mapped attached to a TB in the TFD, and the command header can use a TB (the first one) in the TFD as well. Doing this allows getting rid of huge commands in favour of mapping existing buffers. The beacon transmission is also optimised to not copy the SKB at all but use multiple TBs. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4c42db0f04e55d48f0ea9f424144a5211b7a155c |
|
04-May-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove unused pad argument The pad argument to iwlagn_txq_free_tfd isn't used, remove it. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
054ec924944912413e4ee927b8cf02f476d08783 |
|
06-May-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: fix iwl_is_any_associated The function iwl_is_any_associated() was intended to check both contexts, but due to an oversight it only checks the BSS context. This leads to a problem with scanning since the passive dwell time isn't restricted appropriately and a scan that includes passive channels will never finish if only the PAN context is associated since the default dwell time of 120ms won't fit into the normal 100 TU DTIM interval. Fix the function by using for_each_context() and also reorganise the other functions a bit to take advantage of each other making the code easier to read. Cc: stable@kernel.org 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8a98d49ec1f38d9f3eef7e34f148c3f1f5590fdf |
|
29-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove frame pre-allocation The frame pre-allocation is quite a bit of complex code, all to avoid a single allocation. Remove it and consolidate the beacon sending code. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4613e72dbdc9a44bfc4625d835511264121c4244 |
|
06-May-2011 |
Cindy H. Kao <cindy.h.kao@intel.com> |
iwlwifi: support the svtool messages interactions through nl80211 test mode This patch adds the feature to support the test mode operation through the generic netlink channel NL80211_CMD_TESTMODE between intel wireless device iwlwifi and the user space application svtool. The main purpose is to create a transportation layer between the iwlwifi device and the user space application so that the interaction between the user space application svtool and the iwlwifi device in the kernel space is in a way of generic netlink messaging. The detail specific functions are: 1. The function iwl_testmode_cmd() is added to digest the svtool test command from the user space application. The svtool test commands are categorized to three types : commands to be processed by the device ucode, commands to access the registers, and commands to be processed at the driver level(such as reload the ucode). iwl_testmode_cmd() dispatches the commands the corresponding handlers and reply to user space regarding the command execution status. Extra data is returned to the user space application if there's any. 2. The function iwl_testmode_ucode_rx_pkt() is added to multicast all the spontaneous messages from the iwlwifi device to the user space. Regardless the message types, whenever there is a valid spontaneous message received by the iwlwifi ISR, iwl_testmode_ucode_rx_pkt() is invoked to multicast the message content to user space. The message content is not attacked and the message parsing is left to the user space application. Implementation guidelines: 1. The generic netlink messaging for iwliwif test mode is through NL80211_CMD_TESTMODE channel, therefore, the codes need to follow the regulations set by cfg80211.ko to get the actual device instance ieee80211_ops via cfg80211.ko, so that the iwlwifi device is indicated with ieee80211_ops and can be actually accessed. Therefore, a callback iwl_testmode_cmd() is added to the structure iwlagn_hw_ops in iwl-agn.c. 2. It intends to utilize those low level device access APIs from iwlwifi device driver (ie. iwlagn.ko) rather than creating it's own set of device access functions. For example, iwl_send_cmd(), iwl_read32(), iwl_write8(), and iwl_write32() are reused. 3. The main functions are maintained in new files instead of spreading all over the existing iwlwifi driver files. The new files added are : drivers/net/wireless/iwlwifi/iwl-sv-open.c - to handle the user space test mode application command and reply the respective command status to the user space application. - to multicast the spontaneous messages from device to user space. drivers/net/wireless/iwlwifi/iwl-testmode.h - the commonly referenced definitions for the TLVs used in the generic netlink messages Signed-off-by: Cindy H. Kao <cindy.h.kao@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d2690c0db7146b12e4fc2d572053c823e512758a |
|
20-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: use proper good CRC threshold behaviour New microcode versions use the good CRC threshold field differently, as a flag, and in that case we should set it to 1/0 instead of 1/65535 for an active/passive scan. The new behaviour is advertised by the uCode with a feature flag. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4cd2bf76a40a148bc92f4a3d17bc7f94277b0410 |
|
13-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove hw_ready variable This variable is only ever checked right after the function that sets it, but the same function will also return the status, so we can pass it through instead of checking hw_ready later. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dbf28e21ca391110e90ccad05dda79d2e2f60e0e |
|
16-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: combine firmware code/data On new hardware, ucode images always come in pairs: code and data. Therefore, combine the variables into an appropriate struct and use that when both code and data are needed. Also, combine allocation and copying so that we have less code in total. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ca7966c88e44233fac113579071a6f55e00ef5ac |
|
22-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: implement synchronous firmware load The current firmware loading mechanism in iwlwifi is very hard to follow, and thus hard to maintain. To make it easier, make the firmware loading synchronous. For now, as a side effect, this removes a number of retry possibilities we had. It isn't typical for this to fail, but if it does happen we restart from scratch which this also makes easier to do should it be necessary. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e74fe2330a5a721610b2b69652d2ec2ebbd302e0 |
|
13-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: leave notification waits on firmware errors When the firmware encounters an error while the driver is waiting for a notification, it will never get that notification. Therefore, instead of timing out, bail out on errors when waiting for notifications. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
09f18afe766ea3f2c749e3af195bf65fde71b62e |
|
13-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: extend notification wait function A notification wait function is called with the command, but currently has no way of passing data back to the caller -- fix that by adding a void pointer to the function that can be used between the caller and the function. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ae89726a02049e8f61bb3c8bf5dbf1fc06527a07 |
|
02-Apr-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: tx power calib always done in firmware Remove the config flag for tx power calib Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
68b993118f715cc631b62b6a50574e4701fe9ace |
|
30-Mar-2011 |
Garen Tamrazian <garenx.tamrazian@intel.com> |
iwlagn: fix radar frame rejection The microcode may sometimes reject TX frames when on a radar channel even after we associated as it clears information during association and needs to receive a new beacon before allowing that channel again. This manifests itself as a TX status value of TX_STATUS_FAIL_PASSIVE_NO_RX. So in this case, stop the corresponding queue and give the frame back to mac80211 for retransmission. We start the queue again when a beacon from the AP is received which will make the regulatory enforcement in the device allow transmitting again. Signed-off-by: Garen Tamrazian <garenx.tamrazian@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0e5884458eeadbb48ab3eb1d5f63b4a53a044a95 |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove rxb page bookkeeping We never use the value in alloc_rxb_page, so there's no point in keeping it either. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c2974a1d18832a9fffb2eb389c3878f5c4ed92f1 |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove rev_id The rev_id variable is only printed, we don't need to store 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e98a130259ed6f88bc2833fa525b10453c92c047 |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove hw_rev The hw_rev variable is used only during init, so there's no need to keep it around. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bc255930639122d788d1b6ce10d3c01cc2946398 |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove hw_wa_rev The variable is never used. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d7d5783c6668b54111cc77005755799e94261497 |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: clean up alive handling Devices newer than 4965 don't actually send two different versions of the ALIVE command, so we always had a bug here since before this patch we copy more data than we got. Remove the iwl_init_alive_resp struct and don't use it. Since we also really don't need to track all the data received in ALIVE as we only use the error and log event tables later, we can also save space by just keeping those and not more data around in memory. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3997ff39faa184a2ff670a6792cdb89ff51cf78f |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: add feature flags Some new devices and microcode files will a greater variety of features, so the TLV-per-feature approach we took before will quickly make things harder to manage and increase the file size. Add a new TLV that has feature flags. Currently, it will contain: 1) a PAN feature flag, which moves from a separate TLV 2) a new BT stats bit that indicates whether the microcode image uses bluetooth statistics 3) a new MFP flag for management frame protection which can be enabled once the device/microcode supports 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6009c39c6fc1cb988bdc90a395d9cce273afc7d5 |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove ucode_data_backup This was used only on 4965 in conjunction with the bootstrap ucode. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3240cab3ddfb2637cfca3a078078cdeda44d0a99 |
|
05-Apr-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: clean up some 3945/4965 remnants When the driver was split, a bunch of definitions for the 3945 and 4965 devices stayed around, but they're now useless so remove (some of) them. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8447c163afeaa7e9f6f015088177b1c8511e0877 |
|
31-Mar-2011 |
Stanislaw Gruszka <sgruszka@redhat.com> |
iwlwifi: remove sync_cmd_mutex We now use priv->mutex to serialize sync command, remove old priv->sync_cmd_mutex and add assertion that priv->mutex must be locked. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3598e1774c94e55c71b585340e7dc4538f310e3f |
|
31-Mar-2011 |
Stanislaw Gruszka <sgruszka@redhat.com> |
iwlwifi: fix enqueue hcmd race conditions We mark command as huge by using meta->flags from other (non huge) command, but flags can be possibly overridden, when non huge command is enqueued, what can lead to: WARNING: at lib/dma-debug.c:696 dma_debug_device_change+0x1a3/0x1f0() DMA-API: device driver has pending DMA allocations while released from device [count=1] To fix introduce additional CMD_MAPPED to mark command as mapped and serialize iwl_enqueue_hcmd() with iwl_tx_cmd_complete() using hcmd_lock. Serialization will also fix possible race conditions, because q->read_ptr, q->write_ptr are modified/used in parallel. On the way fix whitespace. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c8823ec1337017e23b99fb0814e2f3d62537f811 |
|
15-Mar-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: fix aggregation queue scheduler setup iwlagn's hardware scheduler needs to be set up with the right aggregation frame limit and buffer sizes. To achieve this, we need to move the hardware queue setup to when the session becomes operational. Tested-by: Daniel Halperin <dhalperi@cs.washington.edu> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
266af4c745952e9bebf687dd68af58df553cb59d |
|
11-Mar-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: support off-channel TX Add support to iwlagn for off-channel TX. The microcode API for this is a bit strange in that it uses a hacked-up scan command, so the scan code needs to change quite a bit to accomodate that and be able to send it out. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
410f2bb30d27252cc55a5f41668de60de62e5dc8 |
|
04-Mar-2011 |
Stanislaw Gruszka <sgruszka@redhat.com> |
iwlwifi: avoid too frequent recover from statistics Usually H/W generate statistics notify once per about 100ms, but sometimes we can receive notify in shorter time, even 2 ms. This can be problem for plcp health and ack health checking. I.e. with 2 plcp errors happens randomly in 2 ms duration, we exceed plcp delta threshold equal to 100 (2*100/2). Also checking ack's in short time, can results not necessary false positive and firmware reset, for example when channel is noised and we do not receive ACKs frames or when remote device does not send ACKs at the moment. Patch change code to do statistic check and possible recovery only if 99ms elapsed from last check. Forced delay should assure we have good statistic data to estimate hardware state. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
be663ab67077fac8e23eb8e231a8c1c94cb32e54 |
|
21-Feb-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: split the drivers for agn and legacy devices 3945/4965 Intel WiFi devices 3945 and 4965 now have their own driver in the folder drivers/net/wireless/iwlegacy Add support to build these drivers independently of the driver for AGN devices. Selecting the 3945 builds iwl3945.ko and iwl_legacy.ko, and selecting the 4965 builds iwl4965.ko and iwl_legacy.ko. iwl-legacy.ko contains code shared between both devices. The 3945 is an ABG/BG device, with no support for 802.11n. The 4965 is a 2x3 ABGN device. Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Acked-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4bc85c1324aaa4a8bb0171e332ff762b6230bdfe |
|
21-Feb-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
Revert "iwlwifi: split the drivers for agn and legacy devices 3945/4965" This reverts commit aa833c4b1a928b8d3c4fcc2faaa0d6b81ea02b56.
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
aa833c4b1a928b8d3c4fcc2faaa0d6b81ea02b56 |
|
21-Feb-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: split the drivers for agn and legacy devices 3945/4965 Intel WiFi devices 3945 and 4965 now have their own driver in the folder drivers/net/wireless/iwlegacy Add support to build these drivers independently of the driver for AGN devices. Selecting the 3945 builds iwl3945.ko and iwl_legacy.ko, and selecting the 4965 builds iwl4965.ko and iwl_legacy.ko. iwl-legacy.ko contains code shared between both devices. The 3945 is an ABG/BG device, with no support for 802.11n. The 4965 is a 2x3 ABGN device. Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Acked-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
491bc292766330473eac4569be5d57f9aeb80112 |
|
09-Feb-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Limit number of firmware reload If device has serious problem and cause firmware can not recover itself. Keep reloading firmware will not help, it can only fill up the syslog and lock up the system because busy reloading. Introduce the limit reload counter, if the reload reach the maximum within the pre-defined duration;stop the reload operation. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
187bc4f6b2f81e1c8f6b1e9d5dee3e8e9018ebbf |
|
27-Jan-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: remove unsupported BT SCO command During the period of BT coex changes, REPLY_BT_COEX_SCO host command is no longer needed to support SCO/eSCO type of traffic. delete it. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7b09068721b1a1bbba9372d0293c21d2425b14de |
|
19-Jan-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: use maximum aggregation size Use the values from the peer to set up the ucode for the right maximum number of subframes in an aggregate. Since the ucode only tracks this per station, use the minimum across all aggregation sessions with this peer. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a839cf6955fb6cb731235c310cb0c72c1a2fecbe |
|
28-Jan-2011 |
Stanislaw Gruszka <sgruszka@redhat.com> |
iwlwifi: remove unneeded __packed struct iwl_queue is not part of firmware interface, so __packed is not needed. Remove it since is may affect performance. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
9b9190d9688ccf531a3a5dac84d7b9654a08bfc5 |
|
06-Jan-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: implement remain-on-channel For device supporting PAN/P2P, use the PAN context to implement the remain-on-channel operation using device offloads so that the filters in the device will be programmed correctly -- otherwise we cannot receive any probe request frames during off-channel periods. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5ed540aecc2aae92d5c97b9a9306a5bf88ad5574 |
|
22-Jan-2011 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: use mac80211 throughput trigger Instead of keeping track of LED blink speed in the driver, use the new mac80211 trigger and link it up with an LED classdev that we now register. This also allows users more flexibility in how they want to have the LED blink or not. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7194207ceea7a54c846e0865d2459f4887fe1e0d |
|
05-Jan-2011 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: add support for waiting for notifications In order to implement waiting for notifications, add a structure that captures the information, and a list of such structures that will be traversed when a command is received from the ucode. Use sparse checking to make sure calls to the prepare/wait/cancel functions are always nested correctly. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f21dd005df95e0fc6a578342c61b5333ce2abc2b |
|
09-Dec-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: keep track of bt coex enable/disable stage For debugging purpose, keep track of the bt coex enable/disable state. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
22de94de7de78b8de2fb1f2df5aa85b5556cfcfd |
|
03-Dec-2010 |
Stanislaw Gruszka <sgruszka@redhat.com> |
iwlwifi: jiffies based tx queues watchdog This patch replace monitor/recover timer by watchdog based on time stamp. New code allow to discover hangs more precisely. Timeout values are currently doubled monitoring period values of previous timer. This have to be tuned based of firmware timing capabilities. Tested on 3945, 4965, 5300, 6300. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
66e863a527f9ed3a871797862aaf0d62b0954813 |
|
08-Nov-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: support dynamic aggregation for BT coex Use dynamic aggregation threshold if bt traffic load is high to reduce the impact on aggregated frame. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2295c66b68ae160dde2e6e2dc4f3061105153bfc |
|
23-Oct-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: new RXON processing for modern devices In order to simplify the flow, and make new enhancements easier, separate out the RXON processing for modern AGN (5000 and newer) from RXON processing for the older 3945 and 4965 devices. Avoid changing these old ones to avoid regressions and move their code to a new file (iwl-legacy.c). 4965 gets the commit_rxon that used to be common for all AGN devices, but with removed PAN support. The new RXON processing is more central and does more work in committing, so that it is easier to follow. To make it more evident what is split out for legacy, split the necessary operations for that into a new struct iwl_legacy_ops. Those parts that still exist in the new AGN code don't need to be parametrized. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a25a66ac94db88190653d5725c563e3f8faeee61 |
|
22-Oct-2010 |
Stanislaw Gruszka <sgruszka@redhat.com> |
iwlwifi: fix set_tx_power vs scan According to comment in iwl_bg_scan_completed, setting tx power should be deferred during pending scan, but we are not doing this. This patch change code to really defer setting tx power after scan complete. Additionally refactor iwl_set_tx_power code and call lib->send_tx_power() directly from iwlagn_commit_rxon. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
12e934dc602fafba946b33587c38077ebceb3698 |
|
04-Oct-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: rename ibss_beacon variable Since we're also going to support AP (GO) mode, the variable isn't used for just IBSS beacons any more -- rename it to not mislead readers. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bf53f939e02c0e818df93ab130fedc0e4ba95796 |
|
22-Sep-2010 |
Shanyu Zhao <shanyu.zhao@intel.com> |
iwlagn: add temperature offset calib for 6000g2 6000g2 devices need to have temperature offset calibration. The runtime uCode needs to receive the calibration results just like BB and LO calibration. To do this, driver reads the offset value from NVM and send it to uCode after runtime uCode is alive. Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
9597ebac91e5a88f558d236a51d776508d42a237 |
|
22-Sep-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove set_pwr_src operation The set_pwr_src operation is only ever used from within the same sub-driver that it is declared in, so it can just be called directly instead of being an operation. Also, it is never called to set the power source to V_aux, so change the two functions accordingly (but keep the V_aux code for documentation purposes in a comment). Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
69fdb710b29d096bc50123f7c97891e31ffe45f9 |
|
22-Sep-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move tx fail code to agn The code to print out TX failure reasons is AGN specific, so it can be in the AGN module. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6d6a1afdc591e3f3ee66c39206923def43044ab6 |
|
15-Sep-2010 |
Shanyu Zhao <shanyu.zhao@intel.com> |
iwlwifi: send DC calib config to runtime ucode Since uCode is responsible for doing DC calibration, there's no need to let init uCode to do initial DC calibration then send results back to driver, then driver sends the results to runtime uCode. Driver can simply tell runtime uCode to do DC calibration. Actually, this patch does not disable DC calib for init uCode. It just prevent driver from saving and sending the DC calib results (from init ucode) to runtime uCode. The driver still uses 0xffffffff in CALIB_CFG_CMD for init ucode. Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
814665fef7562b31d32e515c4d91b06c8b956560 |
|
05-Sep-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: keep track of aggregated tx frames failure counter When uCode completed the aggregated frames transmission attempt, it will send tx command response with aggregated frame status. Keep track of the failure counter which help indicate any transmission error condition. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
91835ba401189a81e5ad1f932f880d8eed8c9db2 |
|
05-Sep-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: keep track fail tx reason counter If uCode fail to transmit frame, it will send reply tx back to driver with failure status; keep the counters of each failure cases for debugging. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
763cc3bf5c2ae189a929fce54759c5bd94b8ba16 |
|
03-Sep-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: avoid sending too many commands When the PAN context is unused, there's no need to continually update it in the device. So track which contexts are active (with the special case that the WLAN context is always active ...) and only send their commands to the device when needed. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6e6ebf4befa75ebdf28130d0135f3ad3aadc02f8 |
|
27-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remember the last uCode sysassert error code When sysassert happen, uCode will report the error code, driver dump the information to dmesg. Here also remember the last error code for future reference. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d0fe478c9f42dbc4916aa8d1d7a05d7f669d2209 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: allow using multiple contexts We're now ready to start using multiple contexts. We do this by keeping track of the valid interface types per context (exclusive [ibss] and normal) and checking which context is "free" when a new interface is added. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e72f368be61d9835c98cd00ee1f330d28e2488ef |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: queue frames according to context Frames for different contexts need to be put on different queues, and multicast after DTIM frames have a special queue yet which also depends on the context, so put all this into the context. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ece9c4ee5e590f96d7221c746126eaafac15a60c |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: detect PAN capability Detect whether or not the ucode is PAN capable and adjust the valid contexts accordingly. To be able to do this, add the PAN context to the array as well. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
76d048151cf935281998b591e070581fc438e27e |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: introduce beacon context Only one context can be beaconing at a time, but we need to track which one. Introduce a new variable priv->beacon_ctx to do that. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7e6a588601eb85feb10c7e8898f1f69c3b229a20 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move HT configuration data into context A lot of HT configuration semantically belongs into the context, even if right now it will never be different between contexts. Move it so we're better prepared for future changes in mac80211. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
238d781d33dcd7941e7ab799c59156e5f7ebda9d |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: add context pointer to station Sometimes we only pass around station pointers but need to find the context they belong to, so store it in there. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
770e13bdda27065e31b3ab4daa3a04b6429719a1 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: store default station flags in context Since the default context is initialised to zero, and the default flags are zero, no more code is needed to initialise them right now, but another context can have different default flags. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c10afb6e844b7936092396f719b794c4d0038f27 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: make hw crypto context aware HW crypto needs to be aware of the context, and there are different command IDs for the WEP keys per context, so move the key tracking variables and command IDs into the context structure. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2995bafafd4d9d2f840b51b0121997be09fb8b47 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move AP sta ID to context Each context needs to use a different AP sta ID, so we need to move that into the context struct instead of hardcoding it. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8bd413e611d4324f17e54a2a89b4d09216c22a37 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move virtual interface pointer into context iwlwifi occasionally needs to find the virtual interface pointer to give it to mac80211, but right now it only keeps one. Move it into the context so that we can keep one pointer each. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c90cbbbd78e45abbefd5e9e1c3c179d6126e3ddf |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: add context into tx descriptor In status processing we'll need to find the context for a given frame, so add a context pointer to the TX info for each frame. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8dfdb9d5757424f7018a643258065c4fc8e6a439 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move QoS into context Since mac80211 doesn't currently enable/disable QoS per interface, we can't yet do it properly, but we can already prepare for it and move the QoS data and command ID into the context struct. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8f2d3d2ae17855e396483724f152f223e6f01bfe |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: contextify command sending Some commands will have different command IDs for different contexts, so we need to store those IDs in the context structure and use them instead of hardcoding the commands. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dcef732c72fbe960de5069d3921bb6ce6847be58 |
|
27-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: contextify-stations-completely The microcode tracks stations per context, so the driver needs to do that as well for adding, deleting and restoring them, especially in the implicit removal case when we send an RXON. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a194e3249baf954dc34c67cdad5b8bed36f49e72 |
|
27-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: contextify broadcast station The broadcast station ID is per context, so add a variable for the ID in the context and use it everywhere we previously hardcoded it. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
751ca305d0e37f0d44b6a261e7db31aa6b60fbf4 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: define PAN queues/FIFOs PAN capable microcode has a different queue assignment (not just more queues for PAN) due to the way multicast is handled for AP mode. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
13bb9483e190b95b04b22280ec9efa6b48469fd6 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: prepare for PAN queue/fifo assignment PAN ucode will require a different queue assignment, in particular queue 9 instead of 4 should be used for commands. This is required because the ucode will stop/start queues 4 and 8 depending on the PAN state, since queue 8 will be used for PAN multicast (after DTIM). Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
246ed355221076884d225f9d8a4c30a048be8162 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: initial contextification In order to support multiple interfaces, we must move a lot of data into per-context structures so we can use the contexts the device offers. To start with, this makes a lot of code context-aware, more changes will move more things into the context structure. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
da5dbb971573efda54c7c39e7e4ccd3fc7c86e49 |
|
23-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: set traffic load based on multiple factors Current BT traffic load should based on the following conditions: 1. BT On/Off status 2. Channel announcement enable/disable 3. Curren traffic load report from uCode Need to modify rate scale to down-grade from MIMO to SISO if detected high BT traffic load. Also need to make sure not using chain "B" with high BT traffic or if it is in "full concurrency" mode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f37837c962c309f1d90636626c779497b614be42 |
|
23-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: add bt_ch_announce module parameter Add bt_ch_announce module parameter to enable/disable BT channel announcement mode; default is "enable" Based on the bt channel announcement module parameter to configure the bt_config host command. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
22bf59a03aacc221483e5aad1af903fc191ae958 |
|
23-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: add additional bt related parameters Add additional bt coex related parameters and initialize at init time. Thoese parameters will be used in later implementations. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fbba94104fb44d2f984e767cd8ac1edd80cb03d5 |
|
23-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: parsing uart message and take actions 1. Based on uart message from uCode, re-configure BT kill ack mask messages from uCode 2. send REPLY_BT_COEX_SCO command to uCode based on the uart frame received from uCode Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7bdc473c7a52497af9fe8c73e4745615a2825aaa |
|
23-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add debugfs to control stuck queue timer In current implementation, stuck queue timer is fixed to 1 second. Add debugfs file to modify the timer to enhance the flexibility: Set the monitor_period as following: 0: disable stuck queue force reset function 1 - 60000: monitor period (1 - 60 second) Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bee008b78307ccc2e17c7ec152dd2098d5f2e1fa |
|
23-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add bt full concurrency support Adding the bluetooth full concurrency support for WiFi/BT combo devices. Driver should configure uCode to operate in "full concurrency" mode (via LUT) if both conditions are met: - Antenna Coupling is more than 35dB - WiFi Channel Inhibition Request is hornored by BT Core Currently, there is no antenna coupling information provided by uCode; use module parameter to specified the antenna coupling in dB. When in "full concurrency" mode, driver need to download different LUT to uCode while sending bt configuration command; also, driver need to configure the device operate in 1x1 while in full concurrency mode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
59079949faed96cc2756d5a59c185b304f1bc840 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: disable gen2b BT coexistence in IBSS IBSS doesn't allow for coexistence, so it should be disabled. Additionally, disable reacting to the BT profile notification when in IBSS mode, it likely won't be sent by the device to start with though. Also, in IBSS mode, BT coexistence isn't as fully-featured and we must use a single antenna only. So instead of peppering the code with new checks, simply pretend we are in high BT traffic load, which has the needed effect of disabling antenna B use. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
9e4afc21895476114f131b70d1e8fdc3a9c75bb3 |
|
23-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: add BT notification support for bt coex When advanced bt coex enabled, uCode will send bt status notification to driver, here add support for 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
268bae0b6879f238ba57f5f801958d1254e136f7 |
|
24-Aug-2010 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/iwlwifi/iwl-core.h
|
172c1d112a38c8721fe1d7114e2ce1e8a91451c1 |
|
04-Aug-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: configurable ampdu factor and density Add ampdu factor and density to .cfg, this allow both parameters can be configure per device based. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
9c82d0a73f54adc2c8cc0ea10f91efc366b50992 |
|
23-Jul-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove unused define IWL_SIXTY_SECS is not been used, remove it Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0975cc8fbf5b61b188734f2edd9e588c7edff2a1 |
|
31-Jul-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: separate thermal throttling function "Thermal Throttling" is an advance feature which only available for newer _agn devices. Move from iwl-core to iwl-agn for better code organization. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
97359d1235eaf634fe706c9faa6e40181cc95fb8 |
|
10-Aug-2010 |
Johannes Berg <johannes.berg@intel.com> |
mac80211: use cipher suite selectors Currently, mac80211 translates the cfg80211 cipher suite selectors into ALG_* values. That isn't all too useful, and some drivers benefit from the distinction between WEP40 and WEP104 as well. Therefore, convert it all to use the cipher suite selectors. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a85d7cca1204f2dba86d2f61693f0fe8c48f0fa5 |
|
31-Jul-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: track IBSS manager status Only the IBSS manager, ie. the station that sent the IBSS beacon last, should be replying to probe responses. This requires implementing the mac80211 tx_last_beacon callback, which we can do thanks to the ucode beacon notification. 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>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ce60659ad838a77d71aa817a6781659799970ae1 |
|
23-Jul-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: long monitor timer Change the name for monitor timer, also adding define for long monitor timer; long monitor timer can be used for the type of devices require longer time to determine the uCode is stuck on tx and needed reload. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
800f65bba8d2030b3fef62850e203f9f176625a8 |
|
27-Jul-2010 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-commands.h
|
c6fa17ed3fadaf056173c409c0877df428a152ec |
|
15-Jul-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: read multiple MAC addresses Some devices may have multiple MAC addresses in their EEPROM, read them and advertise them to cfg80211. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6a822d060c439bb700f2369767105f49135b94f8 |
|
14-Jul-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add TLV to specify the size of phy calibration table Different devices have different size of phy calibration table; add new TLV to specify the size. If the TLV is not part of uCode header, the default table size will be used to make sure the backward compatibilities. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7980fba54ec42f7c206b2bb469baeb3a0a2e8a93 |
|
14-Jul-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlagn: Add support for bluetooth statistics notification WiFi/BT combo devices has different statistics notification structure, adding the support here to make sure the structure align correctly. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e300d955debdadf599c36e47eb0bc16f5976215c |
|
13-Jul-2010 |
John W. Linville <linville@tuxdriver.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/wl12xx/wl1271_cmd.h
|
c8312facd99b4cd05998fe3440926b667a896c9e |
|
28-Jun-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: adding enhance sensitivity table entries For newer devices (6000g2a and 6000g2b), the sensitivity table send to uCode require additional table entries to help sensitivity calibration. All the additional entries has fix data for now, but do expect the value will be change in the future when device become more stable. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6555063666fea1fc81a14396aca53ab021ccb4f2 |
|
24-Jun-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add support for device tx flush request "Flush" request can come from two different sources, it can either from mac80211, or from device when the operation is needed. Here adding the support for device issue "flush" request. When receive tx complete with status is TX_STATUS_FAIL_RFKILL_FLUSH, issue REPLY_TXFIFO_FLUSH command to uCode to flush out all the tx frames in queues. In this condition, since mac80211 has no knowledge of "flush" operation, driver need to stop all the tx queues and wait for the operation completed before wake up the queues for frames transmission. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
05318bc905467237d4aa68a701f6e92a2b332218 |
|
02-Jul-2010 |
David S. Miller <davem@davemloft.net> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/libertas/host.h
|
680788aca3dcc24b932eb7a4219ab921ac5bf2d0 |
|
18-Jun-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add a mechanism to disable plcp error checking For some devices, especially the upcoming new devices, the plcp error rate is different. Before the correct error rate can be determine, also for the debugging purpose; add the mechanism to disable plcp error checking which cause radio reset happen. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f3aebeeebc9a18aa548f8c1da18f6cda28d8b732 |
|
15-Jun-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: move _agn statistics related structure agn and 3945 has different statistics_notif data structure; since 3945 has it statistics_notif data structure inside the _3945 portion of iwl_priv, it make sense to move the agn statistics_notif into _agn portion. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bb9c03d8a6893517737b16fdbeb54be3c73b3023 |
|
17-Jun-2010 |
David S. Miller <davem@davemloft.net> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
|
d5b25c904755676d2de00cfcc24515ef554cb2bf |
|
07-Jun-2010 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: rename rxq->dma_addr Rename rxq->dma_addr to rxq->bd_dma to better emphasize that the physical address stands for the receive buffer descriptor's address. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
14599f1e341ee219abdd15f4eee5872d6f2d29f1 |
|
11-Jun-2010 |
David S. Miller <davem@davemloft.net> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/wireless/wl12xx/wl1271.h drivers/net/wireless/wl12xx/wl1271_cmd.h
|
dc1dfe47445d45b3076ea940dda8f46a4b96e386 |
|
07-Jun-2010 |
John W. Linville <linville@tuxdriver.com> |
iwlwifi: fix-up botched revert In the revert of "iwlwifi: move _agn statistics related structure", I need to use CONFIG_IWLWIFI_DEBUGFS instead of CONFIG_IWLWIFI_DEBUG in the private structure definition. Without this patch, it is possible to get this: drivers/net/wireless/iwlwifi/iwl-rx.c: In function 'iwl_accumulative_statistics': drivers/net/wireless/iwlwifi/iwl-rx.c:304: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:305: error: 'struct iwl_priv' has no member named 'delta_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:306: error: 'struct iwl_priv' has no member named 'max_delta' drivers/net/wireless/iwlwifi/iwl-rx.c:321: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:323: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:325: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:327: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:329: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:331: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c: In function 'iwl_reply_statistics': drivers/net/wireless/iwlwifi/iwl-rx.c:484: error: 'struct iwl_priv' has no member named 'accum_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:486: error: 'struct iwl_priv' has no member named 'delta_statistics' drivers/net/wireless/iwlwifi/iwl-rx.c:488: error: 'struct iwl_priv' has no member named 'max_delta' Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
18ab9f1ea615a1beae2ef3364e732a990e02d9ea |
|
22-May-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove unused parameter framecnt_to_us is not used, remove it Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f84b29ec0a1ab767679d3f2428877b65f94bc3ff |
|
18-May-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: queue user-initiated scan when doing internal scan The internal scanning created a problem where when userspace tries to scan, the scan gets rejected. Instead of doing that, queue up the user-initiated scan when doing an internal scan. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ff0d91c3eea6e25b47258349b455671f98f1b0cd |
|
17-May-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: reduce memory allocation Currently, the driver allocates up to 19 skb pointers for each TFD, of which we have 256 per queue. This means that for each TX queue, we allocate 19k/38k (an order 4 or 5 allocation on 32/64 bit respectively) just for each queue's "txb" array, which contains only the SKB pointers. However, due to the way we use these pointers only the first one can ever be assigned. When the driver was initially written, the idea was that it could be passed multiple SKBs for each TFD and attach all those to implement gather DMA. However, due to constraints in the userspace API and lack of TCP/IP level checksumming in the device, this is in fact not possible. And even if it were, the SKBs would be chained, and we wouldn't need to keep pointers to each anyway. Change this to only keep track of one SKB per TFD, and thereby reduce memory consumption to just one pointer per TFD, which is an order 0 allocation per transmit queue. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3779db10f6f7de0455dd898a877a0336068f82ed |
|
14-May-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove priv->mac_addr This variable is now no longer used, so it can be removed completely. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a0ee74cf080389aee4fbf198ffa7e85b3480b661 |
|
06-May-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: beacon format related helper function Move the ucode beacon formation related helper function from 3945 to iwlcore, so both _3945 and _agn devices can utilize those functions. When driver pass the beacon related timing information to uCode in both spectrum measurement and channel switch commands, the beacon timing parameter require in uCode beacon format; those helper functions will do the conversation from uSec to the correct uCode format Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ae0bce029e3b96d3ba2cc868bc6a65a125666ab8 |
|
08-May-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove unused parameter in iwl_priv restrict_refcnt is no longer used, remove it from iwl_priv structure Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2e724443f328cca90aa3b62d65852a5d7f5223f7 |
|
03-Jun-2010 |
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
iwlwifi: use the DMA state API instead of the pci equivalents This can be cleanly applied to wireless-2.6 and iwlwifi git trees. = From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Subject: [PATCH] iwlwifi: use the DMA state API instead of the pci equivalents This replace the PCI DMA state API (include/linux/pci-dma.h) with the DMA equivalents since the PCI DMA state API will be obsolete. No functional change. For further information about the background: http://marc.info/?l=linux-netdev&m=127037540020276&w=2 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2daf6c157500b832687f675e323879e3a4c3fe27 |
|
03-Jun-2010 |
John W. Linville <linville@tuxdriver.com> |
Revert "iwlwifi: move _agn statistics related structure" This reverts commit a2064b7a4a22d118087898e4308670da7ac07911. when CONFIG_IWLAGN=n: drivers/net/wireless/iwlwifi/iwl-rx.c:254: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:303: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:304: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:305: error: 'struct iwl_priv' has no member named '_agn' drivers/net/wireless/iwlwifi/iwl-rx.c:306: error: 'struct iwl_priv' has no member named '_agn' and many more. Conflicts: drivers/net/wireless/iwlwifi/iwl-agn-debugfs.c drivers/net/wireless/iwlwifi/iwl-debugfs.c drivers/net/wireless/iwlwifi/iwl-dev.h drivers/net/wireless/iwlwifi/iwl-rx.c Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ba2d3587912f82d1ab4367975b1df460db60fb1e |
|
02-Jun-2010 |
Eric Dumazet <eric.dumazet@gmail.com> |
drivers/net: use __packed annotation cleanup patch. Use new __packed annotation in drivers/net/ Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d73e4923d1b3311dda4cd1bd5d3596d75af1d1c3 |
|
06-May-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: split debug and debugfs options It may be desirable in some systems to have insight into the driver via debugfs, but not affect its operation via the debug logging code that is inserted everywhere when DEBUG is configured. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5a2a780cb142f16f33c948af5f3d588099b59df6 |
|
06-May-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: modify out-dated comments Some comments in iwl-dev.h still refer to 4965 but used by all the _agn devices. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bd93cbedfc4b280a0eeb6665ad310c3cc96cd669 |
|
06-May-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: code cleanup for _agn devices Move configuration structure for _agn devices from iwl-dev.h to iwl-agn.h. Those data structures are for _agn devices and should be keep for _agn devices only. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1808972f16adba592ceb10a47dee42ef8ee39cee |
|
06-May-2010 |
Shanyu Zhao <shanyu.zhao@intel.com> |
iwlwifi: enable remaining 6000 Gen2 devices This patch enables all remaining 6000 series Gen2 devices. To work-around a firmware crash problem, we disable sending bt coex command for 6000g2b series devices. Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com> Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b2e640d4851abfe6b03fc91597d0b8378c629907 |
|
06-May-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: use firmware event/error log information In order to debug problems before the ALIVE notification is received, new firmware files contain the event/error log information in the file. Use that information. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
9c5ac091b269912cd30fade987f4bc615ef3be90 |
|
05-May-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: fix and add missing sta_lock usage There are a few places where sta_lock is used, but the station information protected by it is accessed outside of the lock. Address this in two ways, if the access won't sleep then just move the access into the lock, if the access can sleep then copy the needed station information to the stack to be accessed without risk of it changing while access in progress. Additionally, a number of other places access station station information without holding the sta_lock, fix those as well. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f862a2367b429d46d12362fea07d844c2bf55969 |
|
03-May-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwl3945: remove sequence number assignment Unlike agn, where the sequence numbers must match with the TFD index, the driver for 3945 devices can use the sequence numbers provided by mac80211 for QoS frames. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a2064b7a4a22d118087898e4308670da7ac07911 |
|
30-Apr-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: move _agn statistics related structure agn and 3945 has different statistics_notif data structure; since 3945 has it statistics_notif data structure inside the _3945 portion of iwl_priv, it make sense to move the agn statistics_notif into _agn portion. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fd1af15d0a82ae681ecf34192150e27455c9c494 |
|
30-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: track station IDs mac80211 allows us to store private data per station, so put the station ID there. This allows us to avoid the station ID lookup when removing regular stations. To also be able to avoid the lookup to remove the special IBSS BSSID station, track its ID in the per-vif private data. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
59c02b4149183cb53d95b1ce3a8188cbee63f57f |
|
29-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: note that priv->bssid is used only by 3945 The bssid member of struct iwl_priv is now only used by 3945 code, so note that. It shouldn't be used by any other code in the future. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1dda6d28377bec52f96767e8d4a59aa95102b9dd |
|
29-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: push virtual interface through Rather than keeping every bit of information around in priv and the virtual interface, add a virtual interface to many functions and use the information directly from it. This removes beacon_int, assoc_capability and assoc_id from struct iwl_priv. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
159605dd5ec6356f5a7f0c56d9b9e63e0e61f3a8 |
|
29-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove rts_threshold We never use that member of struct iwl_priv. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dd7a2509b3a79b290730a9c6a784bf03fedabb9a |
|
29-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: implement loading a new firmware file type The old firmware file type does not allow indicating any firmware capabilities, which we frequently want to make things easier. This implements a new firmware type that is based on a TLV structure, and adds a TLV for the maximum length of probe requests in scans. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
22adba2a6995dc24663251ffb954f8856968f26e |
|
28-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove ucode virtual functions AGN devices all use the same ucode operations, except for 4965, because 4965 uses only v1 file headers. Therefore, we can remove all the indirection we have here and just code the API distinction in place, with a small special case for 4965. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
95b13014bb761a267db8bc1a47cbb35ddde587ef |
|
21-Apr-2010 |
Shanyu Zhao <shanyu.zhao@intel.com> |
iwlwifi: rename 6000 series Gen2 devices to Gen2a Rename the current 6000 series Gen2 devices to Gen2a. Rename the ucode name prefix to iwlwifi-6000g2a. Also corrected the device IDs for Gen2a series devices. Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com> Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a15707d80ee9a0e0812c5f1a1ed8e41e0a6e52f3 |
|
11-May-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
Merge branch 'wireless-2.6' into wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-dev.h
|
562db532760827f6ce30801a08e6b568848bc9f2 |
|
29-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: wait for asynchronous firmware loading When we kick off a firmware loading process, and then unbind from the pci device right away, we get into trouble. Avoid that by waiting for the firmware loading to finish (whether successfully or not) before the unbind in iwl_pci_remove. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
17f36fc6ef3d1ab15f9d2160a9daa107db0887ca |
|
16-Apr-2010 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwl3945: add ucode statistics Add general, rx and tx uCode statistics to 3945. This will help in debugging Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
33e6f816105b5cfaafbbf42682807cc317e87cb5 |
|
09-Apr-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: PA type for 6000g2 series For 6000g2 series of NICs, PA type is determined by uCode, driver do not have to set the register for internal/external PA. It is a workaround just for 6000 series NICs. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4b3e8062807822271e02aafc0432e9a2497cb46c |
|
08-Apr-2010 |
Shanyu Zhao <shanyu.zhao@intel.com> |
iwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters This patch is to bring up 6000 Series 2x2 AGN Gen2 adapters. Seperate various version numbers from 6000 Series definitions; Add module firmware declaration for the new adapters; Add additional device IDs and subsystem IDs; Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b6e4c55aaee4fd40526a6816e60c68dd62e565c4 |
|
06-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: trigger scan synchronously Scan requesting doesn't need to be asynchronous since all code paths leading up to it can sleep. Make the scan request a new util operation that is hw-specific (to account for 3945 vs. agn) and call it right in place. This patch moves a lot of code into iwlagn as it need not be in iwlcore. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
811ecc995b18eb58067ffa75b961ece3b84a1f03 |
|
06-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: rename priv->scan to priv->scan_cmd I keep checking what "priv->scan" is, so rename it to "priv->scan_cmd" which more clearly tells us what it is. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b165cf09c0248262232c7566df5ae40284cee7d6 |
|
06-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove scan_pass_start Since we no longer do a multi-pass scan, keeping track of how long each pass took is pointless since there will only be one. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
92ae80eec7ac642f249b7a2fc02f41441d128a62 |
|
06-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove next_scan_jiffies This logic is just confusing, if anything it belongs into mac80211. Also, even if we do scan during the EAPOL handshake, that will not cause any problems, just a short delay. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
00700ee007cf842ef2eb20201080ceddcfdaf9ad |
|
06-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove scan_bands logic Since mac80211 will now never request scanning multiple bands, we can remove all the associated logic and scan a single band only in each scan. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8715fa28fb4fad62f6004d276ec8e1aa5e664e76 |
|
16-Apr-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
Merge branch 'wireless-2.6' into wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-6000.c
|
88be026490ed89c2ffead81a52531fbac5507e01 |
|
07-Apr-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: fix scan races When an internal scan is started, nothing protects the is_internal_short_scan variable which can cause crashes, cf. https://bugzilla.kernel.org/show_bug.cgi?id=15667. Fix this by making the short scan request use the mutex for locking, which requires making the request go to a work struct so that it can sleep. Reported-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
05d5752027d02ca9204d1ece5074d41000fee23d |
|
31-Mar-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: clean up last_phy_res The last_phy_res[100] variable is used in an odd way. The first byte of it is used as a flag, and the rest as the data. Thus, the array need only be 61 bytes, since it is just the flag and a struct iwl_rx_phy_res (which is 60 bytes). Clean this up by splitting the variable into two: last_phy_res and last_phy_res_valid, using correct types for both (struct and bool). While doing all this also move the variables to the _agn part of the hw-specific union since they only apply to A-MPDUs. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
335348b1702cf78c9e79987a3d66e85a05c98b5c |
|
30-Mar-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: make WEP key restoring explicit The firmware clears default WEP keys on transitions to !associated, so we need to restore them just like stations. This is rather implicit as part of sending a station right now, which is odd. Make it explicit instead and only for agn since 3945 doesn't use hw crypto for WEP. Due to that, iwl_send_static_wepkey_cmd is now only used in iwl-sta.c and can be static. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b744cb79aec7d95905943c0bc64699eb02de143b |
|
23-Mar-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: code cleanup for generic defines Some defines used by all agn devices, but the definitions were in iwl-4965-hw.h, move those to iwl-agn-hw.h which is the better place for those. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e61146e36b40fd9d346118c40285913236c329f3 |
|
29-Mar-2010 |
Stanislaw Gruszka <sgruszka@redhat.com> |
iwlwifi: manage QoS by mac stack We activate/deactivate QoS and setup default queue parameters in iwlwifi driver. Mac stack do the same, so we do not need repeat that work here. Stack also will tell when disable QoS, this will fix driver when working with older APs, that do not have QoS implemented. Patch make "force = true" in iwl_active_qos() assuming we always want to do with QoS what mac stack wish. Patch also remove unused qos_cap bits, do not initialize qos_active = 0, as we have it initialized to zero by kzalloc. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ecdf94b81237d272b1514b76f27a5d22782bcaa6 |
|
29-Mar-2010 |
Zhu Yi <yi.zhu@intel.com> |
iwlwifi: remove skb_linearize for rx frames Remove skb_linearize() in the iwlwifi drivers since mac80211 supports paged rx SKBs now. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ed1b6e99b5e64d2b9cdf764754a072c7fdc1c3c4 |
|
18-Mar-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove noise reporting We go to great lengths to calculate this value that is never used by mac80211. Additionally, it is now deprecated by mac80211 and is causing driver compilation to give warnings. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
510cb791ab32a6296e45ebc425a011551bed7bd1 |
|
16-Mar-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove non-exist extern functions and structures After re-structure the agn files layout and move all the agn shared functions out from iwl-5000.c, all those functions and data structures do not need to be declare "extern" from iwl-5000.c in iwl-dev.h. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0b5af201b25334f7b9c991b2800693dd4cb4b5f7 |
|
18-Mar-2010 |
Jay Sternberg <jay.e.sternberg@intel.com> |
iwlwifi: enable '6000 Series 2x2 AGN Gen2' adaptors Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d5a0ffa3eaf9e898f25a925813f1a723be7808f8 |
|
04-Mar-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Recover TX flow failure Monitors the tx statistics to detect the drop in throughput. When the throughput drops, the ratio of the actual_ack_count and the expected_ack_count also drops. At the same time, the aggregated ba_timeout (the number of ba timeout retries) also rises. If the actual_ack_count/expected_ack_count ratio is 0 and the number of ba timeout retries rises to BA_TIMEOUT_MAX, no tx packets can be delivered. Reloading the uCode and bring the system back to normal operational state. Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b74e31a9bc1013e69b85b139072485dc153453dd |
|
02-Mar-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Recover TX flow stall due to stuck queue Monitors the internal TX queues periodically. When a queue is stuck for some unknown conditions causing the throughput to drop and the transfer is stop, the driver will force firmware reload and bring the system back to normal operational state. The iwlwifi devices behave differently in this regard so this feature is made part of the ops infrastructure so we can have more control on how to monitor and recover from tx queue stall case per device. Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fe6b23dd361199bfbc50b0cbce6bed37c5797c75 |
|
23-Feb-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: implement new mac80211 station add/remove calls mac80211 recently implemented two new callbacks that are used to request station add/remove from the driver. The benefot from these new callbacks are that they enable the driver to sleep while performing this work. This is a big patch since a few things need to be coordinated in this move. First we need to decouple station management from rate scaling, which caused a lot of code to be moved and/or deleted. Next we needed to tie in with mac80211's station management callback and let it direct our station management as well as trigger the rate scaling initialization. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
edc1a3a090e83c48d4b33c23aa16c54b3b790ef5 |
|
24-Feb-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: clean up queue/fifo handling 4965 hardware has 7 queues reserved and the remaining ones used for aggregation, 5000 and higher need to have 10 reserved. This is not very clear in the code right now, unfortunately. Introduce a new IWL_TX_FIFO_UNUSED constant and make the queue/FIFO mapping arrays able to hold that value, and change the setup code to reserve all queues in the arrays (the queue number is the index) and use the new unused constant to not map those queues to any FIFO. Additionally, clear up the AC/queue mapping code to be more understandable. The mapping is the identity mapping right now, but with the mapping function I think it's easier to understand what happens there. Finally, HCCA isn't implemented at all and I think newer microcode removed it, so let's remove all mention of it in the code, some comments remain for 4965. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
72e15d71b02a21fd7b94ee1af4ba3a41f722b1f3 |
|
19-Feb-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: change WEP key protection to use mutex For later station notification support we would like WEP key setting to be done synchronously always. Currently all places from which WEP key is set can sleep, but the usage of sta_lock prevents it to do so. Modify the locking to use priv->mutex instead and thus enable this call to sleep. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
67d613aed70194387edb1f8bf990f9cf197d3717 |
|
17-Feb-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move 3945 clip groups to 3945 data Only used on 3945, so it can be in the 3945-specific part of the data. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4a02886bae3f2362d4e6efc6fb25dd3507bde8b9 |
|
21-Jan-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove priv->active_rate_basic This variable is assigned a default value, but then assigned zero as soon as mac80211 calls a change channel (which will happen right after the hw is started) and after that it never changes again. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
470ab2dd6a7b0719e59830e11d7bc2e710867b94 |
|
21-Jan-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove never-changing priv->rates_mask variable It's always just IWL_RATES_MASK. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e99f168c7cc2f78c07c23250fe933362847cb3e0 |
|
19-Jan-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlagn: remove write-only variables Updating the variables last_rx_rssi, last_tsf and last_beacon_time needs a lot of code but they are not actually used in iwlagn (only in 3945) so we can move them to the 3945 specific data. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a4c8b2a692601de0a7bcb032b69f806050944dff |
|
21-Jan-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move ICT data to agn part of union Since the ICT data is all AGN specific, it can be the first data to create the _agn part of the device-specific union in the priv struct. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ee525d13f501baeaa33209620398adaf0a820629 |
|
21-Jan-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: move 3945 specific data into union To be obviously correct, this patch only modifies 3945 files and the struct definition. A follow-up patch will create the AGN part of the union. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b08dfd0435333818a03b38867c556ebcbb3abc02 |
|
29-Jan-2010 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: load firmware asynchronously before mac80211 registration At the wireless summit in Portland we discussed a way of loading firmware asynchronously from ->probe() before registration to mac80211, in order to register with the wireless subsystems with complete information in cases where firmware is required to know parameters. This is not yet the case in iwlwifi, but for some new features we're working on it will be the case since those will only be supported by new firmware images. Hence, to start with, convert iwlwifi to load firmware asynchronously from probe, unbinding the device when firmware loading fails, and only registering with the wireless subsystems after firmware has been loaded successfully. Future patches will hook into this to register the new firmware capabilities, depending on the firmware API version. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ab9bdc34d68dafc6fea0ba733231f1c9696ce9c4 |
|
23-Feb-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
Revert "iwlwifi: Monitor and recover the aggregation TX flow failure" This reverts commit 1db5950f1d0b82e07371b211a48317b8972da063. The goal of "iwlwifi: Monitor and recover the aggregation TX flow failure" is to first detect when data transmission stalls and then to recover from this situation with a reset of the radio or the firmware, depending on how bad the transmission failures are. Unfortunately we have found that this change causes excessive resets with its current detection algorithm. It also performs its recovery action when none is really needed, like when we are not associated. Revert this change until the issues have been addressed. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8a472da431998b7357e6dc562e79a3061ed56cad |
|
19-Feb-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: separated time check for different type of force reset Use different timing duration check for different type of force reset, force reset request can come from different source and based on different reason; one type of reset request should not block other type of reset request. Adding structure to keep track of different force reset request. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d2dfe6df755abb365aa3e2e67d88bda3cce5fd12 |
|
19-Feb-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: enable serialization of synchronous commands Until now it was only possible to have one synchronous command running at any time. If a synchronous command is in progress when a second request arrives then the second command will fail. Create a new mutex specific for this purpose to only allow one synchronous command at a time, but enable other commands to wait instead of fail if a synchronous command is in progress. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1db5950f1d0b82e07371b211a48317b8972da063 |
|
10-Feb-2010 |
Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> |
iwlwifi: Monitor and recover the aggregation TX flow failure This change monitors the tx statistics to detect the drop in throughput. When the throughput drops, the ratio of the actual_ack_count and the expected_ ack_count also drops. At the same time, the aggregated ba_timeout (the number of ba timeout retries) also rises. If the actual_ack_count/expected_ack_count ratio is 0 and the number of ba timeout retries rises to 16, no tx packets (tcp, udp, or ping - icmp) can be delivered. The driver recovers from this situation by reseting the uCode firmware. If the actual_ack_count/expected_ ack_count ratio drops below 50% (but not 0) and the aggregated ba_timeout retries just exceed 5 (but not 16), then the driver can reset the radio to bring the throughput up. Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6c3872e1d52290dcd506473028867cacc6b7393d |
|
08-Feb-2010 |
Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> |
iwlwifi: Adjusting PLCP error threshold for 1000 NIC While testing the station with the NIC 1000 family, it is found that the plcp error can easily exceed 50 value in 100mSecs. This creates unneccessary radio reset/tuning. This patch raises the PLCP error threshold of the NIC 1000 from 50 to 200 error count. Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a93e7973d0983d22fcbe5f691244736211639fe7 |
|
03-Feb-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: multiple force reset mode Provide the function to perform different type of uCode reset/reload operation. When uCode detect error and can not fix itself, this iwl_force_reset() function allow driver to perform the necessary reset/reload functions and help to bring uCode back to normal operation state. Currently only 2 type of force reset are available: - reset radio - reload firmware Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
71d75cf9ab858b99d072fece9784ab338af8e388 |
|
21-Jan-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove unused work structs auth_work, calibrated_work, update_link_led and report_work are never used, so remove them. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
80676518da523e926e70794ac2767829effcf3ba |
|
21-Jan-2010 |
Johannes Berg <johannes.berg@intel.com> |
iwlwifi: remove bg_up work There's no need to queue a work struct from within a work struct, just move the code to execute directly. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
81963d68575d497d626ce13e42c84518a931cc12 |
|
22-Jan-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: cleanup spectrum measurement command support In iwlagn the support for spectrum measurement command has been disabled since v2.6.29 without any requests for it. In addition to this when this command is indeed enabled it has been found to trigger firmware SYSASSERT on at least 4965 and 5100 hardware (see http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1952 ). Since then this code has been bitrotting and cannot just be enabled without porting. Remove support for spectrum measurement command from iwlagn. It can be added back if there is a future need and the firmware problem it triggers has been fixed. Support for the spectrim measurement notification remains as it has been enabled all the time. In addition to this remove the 3945 spectrum measurement command Kconfig option and make this command always supported. The code added by this enabling is minimal and only run when user triggers a spectrum measurement request via sysfs. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4c84a8f1679f754d6080e49892f5cae2c88c91a8 |
|
22-Jan-2010 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: clean up debugfs code The debugfs code can be made a whole lot more efficient by using debugfs_remove_recursive(), the large chunk of variables can completely go away and by moving two variables we no longer need to allocate an extra chunk of memory. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3e4fb5faefb57824f2e42305b3d5907845af978c |
|
22-Jan-2010 |
Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> |
iwlwifi: Tune radio to prevent unexpected behavior We have seen the throughput dropped due to external noisy environment and the radio is out of tune. There are lot of plcp errors indicating this condition. Eventually the station can get de-authenticated by the Access Point. By resetting and tuning the radio, the plcp errors are reduced or eliminated and the throughput starts to rise. To prevent unexpected behavior such as drop in throughput or deauthentication, - The change provides the driver feature to monitor and tune the radio base on the statistics notification from the uCode. - It also allows the setting of the plcp error rate threshold via the plcp_delta under debugfs interface. Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d4d59e88cb746165c6fe33eacb6f582d525c6ef1 |
|
22-Jan-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Logic to control how frequent radio should be reset if needed Add additional logic for internal scan routine to control how frequent this function should be performed. The intent of this function is to reset/re-tune the radio and bring the RF/PHY back to normal state, it does not make sense calling it too frequent, if reset the radio can not bring it back to normal state, it indicate there are other reason to cause the radio not operate correctly. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
220575f78fb0b8d2a1c41cd28115d52ae8d132ee |
|
22-Jan-2010 |
Henry Zhangh <hongx.c.zhang@intel.com> |
iwlwifi: Fix A band scanning when associated This patch allows A band to be scanned when driver is associated to AP. Scan mechanism is that mac80211/cfg80211 requests driver to scan G band first and then immediately to scan A band. Original code require driver to wait for 2 seconds after any scan before another scan will be performed. This caused driver to service G band scan request from mac80211/cfg80211 but deny the A band scan request. Signed-off-by: Henry Zhangh <hongx.c.zhang@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
afbdd69af0e6a0c40676d4d4b94a0a4414708eaa |
|
22-Jan-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add function to reset/tune radio if needed Adding "radio reset" function to help reset and stabilize the radio. During normal operation, sometime for unknown reason, radio encounter problem and can not recover by itself; the best way to recover from it is to reset and re-tune the radio. Currently, there is no RF reset command available, but since radio will get reset when switching channel, use internal hw scan request to force radio reset and get back to normal operation state. The internal hw scan will only perform passive scan on the first available channel (not the channel being used) in associated state. The request should be ignored if already performing scan operation or STA is not in associated state. Also include an "internal_scan" debugfs file to help trigger the internal scan from user mode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a13d276f1e49ae0bc4ad18ce8ea3c90656c9e8d4 |
|
22-Jan-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: configure missed beacon threshold Add support to configure missed beacon threshold, by default, if receive "missed beacon" notification from uCode and has more than 5 consecutive beacon missed, then perform sensitivity calibration; with this change, allow user to adjust the missed beacon threshold from debugfs in case more sensitivity calibration required for better performance in noisy environment The default value (=5) should be good enough for the normal condition, but for very noisy environment, more sensitivity calibration could help improve the throughput, so by setting the missed beacon threshold to lower number, user might experience better performance result. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1f44780827c6bbbcd1f12d5c6b6ce84f49a96bc0 |
|
15-Jan-2010 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: update copyright year to 2010 Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2be76703a3afb281155894ac52d34f7f5d736633 |
|
15-Jan-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: set interrupt coalescing timer range and default For interrupt coalescing timer, the CSR_INT_COALESCING is an 8 bit register in 32-usec unit, the range can go from 0x00 - 0xFF. set the range and default timeout value for both calibration mode and operation mode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e3ef2164386a13a37714ec033e30811d052c7999 |
|
15-Jan-2010 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: format and show statistics counter from uCode To help debug uCode related problem, adding "delta" and "max" information in debugfs statistics counters display. Those information show the delta between two statistics report from uCode, user can monitor the counters for any "un-normal" behavior. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Jay Sternberg<jay.e.sternberg@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
031cf0e94c9c8302a4592707939d6c2039f17f28 |
|
19-Jan-2010 |
John W. Linville <linville@tuxdriver.com> |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
|
c8106d7625a58ee4387cb2efe3e82320ad44b467 |
|
08-Jan-2010 |
Zhu Yi <yi.zhu@intel.com> |
iwlwifi: fix iwl_queue_used bug when read_ptr == write_ptr When txq read_ptr equals to write_ptr, iwl_queue_used should always return false. Because there is no used TFD in this case. This is a complementary fix to the fix already included in commit "iwl3945: fix panic in iwl3945 driver". Both fixes are needed to address the panic below. This problem was discussed on linux-wireless in http://thread.gmane.org/gmane.linux.kernel.wireless.general/43568 <1>[ 7290.414172] IP: [<ffffffffa0dd53a1>] iwl3945_rx_reply_tx+0xc1/0x450 [iwl3945] <4>[ 7290.414205] PGD 0 <1>[ 7290.414214] Thread overran stack, or stack corrupted <0>[ 7290.414229] Oops: 0002 [#1] PREEMPT SMP <0>[ 7290.414246] last sysfs file: /sys/devices/platform/coretemp.1/temp1_input <4>[ 7290.414265] CPU 0 <4>[ 7290.414274] Modules linked in: af_packet nfsd usb_storage usb_libusual cpufreq_powersave exportfs cpufreq_conservative iwl3945 nfs cpufreq_userspace snd_hda_codec_realtek acpi_cpufreq uvcvideo lockd iwlcore snd_hda_intel joydev coretemp nfs_acl videodev snd_hda_codec mac80211 v4l1_compat snd_hwdep sbp2 v4l2_compat_ioctl32 uhci_hcd psmouse auth_rpcgss ohci1394 cfg80211 ehci_hcd video ieee1394 snd_pcm serio_raw battery ac nvidia(P) usbcore output sunrpc evdev lirc_ene0100 snd_page_alloc rfkill tg3 libphy fuse lzo lzo_decompress lzo_compress <6>[ 7290.414486] Pid: 0, comm: swapper Tainted: P 2.6.32-rc8-wl #213 Aspire 5720 <6>[ 7290.414507] RIP: 0010:[<ffffffffa0dd53a1>] [<ffffffffa0dd53a1>] iwl3945_rx_reply_tx+0xc1/0x450 [iwl3945] <6>[ 7290.414541] RSP: 0018:ffff880002203d60 EFLAGS: 00010246 <6>[ 7290.414557] RAX: 000000000000004f RBX: ffff880064c11600 RCX: 0000000000000013 <6>[ 7290.414576] RDX: ffffffffa0ddcf20 RSI: ffff8800512b7008 RDI: 0000000000000038 <6>[ 7290.414596] RBP: ffff880002203dd0 R08: 0000000000000000 R09: 0000000000000100 <6>[ 7290.414616] R10: 0000000000000001 R11: 0000000000000000 R12: 00000000000000a0 <6>[ 7290.414635] R13: 0000000000000002 R14: 0000000000000013 R15: 0000000000020201 <6>[ 7290.414655] FS: 0000000000000000(0000) GS:ffff880002200000(0000) knlGS:0000000000000000 <6>[ 7290.414677] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b <6>[ 7290.414693] CR2: 0000000000000041 CR3: 0000000001001000 CR4: 00000000000006f0 <6>[ 7290.414712] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 <6>[ 7290.414732] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 <4>[ 7290.414752] Process swapper (pid: 0, threadinfo ffffffff81524000, task ffffffff81528b60) <0>[ 7290.414772] Stack: <4>[ 7290.414780] ffff880002203da0 0000000000000046 0000000000000000 0000000000000046 <4>[ 7290.414804] <0> 0000000000000282 0000000000000282 0000000000000282 ffff880064c12010 <4>[ 7290.414830] <0> ffff880002203db0 ffff880064c11600 ffff880064c12e50 ffff8800512b7000 <0>[ 7290.414858] Call Trace: <0>[ 7290.414867] <IRQ> <4>[ 7290.414884] [<ffffffffa0dc8c47>] iwl3945_irq_tasklet+0x657/0x1740 [iwl3945] <4>[ 7290.414910] [<ffffffff8138fc60>] ? _spin_unlock+0x30/0x60 <4>[ 7290.414931] [<ffffffff81049a21>] tasklet_action+0x101/0x110 <4>[ 7290.414950] [<ffffffff8104a3d0>] __do_softirq+0xc0/0x160 <4>[ 7290.414968] [<ffffffff8100d01c>] call_softirq+0x1c/0x30 <4>[ 7290.414986] [<ffffffff8100eff5>] do_softirq+0x75/0xb0 <4>[ 7290.415003] [<ffffffff81049ee5>] irq_exit+0x95/0xa0 <4>[ 7290.415020] [<ffffffff8100e547>] do_IRQ+0x77/0xf0 <4>[ 7290.415038] [<ffffffff8100c7d3>] ret_from_intr+0x0/0xf <0>[ 7290.415052] <EOI> <4>[ 7290.415067] [<ffffffff81234efa>] ? acpi_idle_enter_bm+0x270/0x2a5 <4>[ 7290.415087] [<ffffffff81234f04>] ? acpi_idle_enter_bm+0x27a/0x2a5 <4>[ 7290.415107] [<ffffffff81234efa>] ? acpi_idle_enter_bm+0x270/0x2a5 <4>[ 7290.415130] [<ffffffff812c11f3>] ? cpuidle_idle_call+0x93/0xf0 <4>[ 7290.415149] [<ffffffff8100b0d7>] ? cpu_idle+0xa7/0x110 <4>[ 7290.415168] [<ffffffff8137b3d5>] ? rest_init+0x75/0x80 <4>[ 7290.415187] [<ffffffff8158cd0a>] ? start_kernel+0x3a7/0x3b3 <4>[ 7290.415206] [<ffffffff8158c315>] ? x86_64_start_reservations+0x125/0x129 <4>[ 7290.415227] [<ffffffff8158c3fd>] ? x86_64_start_kernel+0xe4/0xeb <0>[ 7290.415243] Code: 00 41 39 ce 0f 8d e8 01 00 00 48 8b 47 40 48 63 d2 48 69 d2 98 00 00 00 4c 8b 04 02 48 c7 c2 20 cf dd a0 49 8d 78 38 49 8d 40 4f <c6> 47 09 00 c6 47 0c 00 c6 47 0f 00 c6 47 12 00 c6 47 15 00 49 <1>[ 7290.415382] RIP [<ffffffffa0dd53a1>] iwl3945_rx_reply_tx+0xc1/0x450 [iwl3945] <4>[ 7290.415410] RSP <ffff880002203d60> <0>[ 7290.415421] CR2: 0000000000000041 <4>[ 7290.415436] ---[ end trace ec46807277caa515 ]--- <0>[ 7290.415450] Kernel panic - not syncing: Fatal exception in interrupt <4>[ 7290.415468] Pid: 0, comm: swapper Tainted: P D 2.6.32-rc8-wl #213 <4>[ 7290.415486] Call Trace: <4>[ 7290.415495] <IRQ> [<ffffffff8138c040>] panic+0x7d/0x13a <4>[ 7290.415519] [<ffffffff8101071a>] oops_end+0xda/0xe0 <4>[ 7290.415538] [<ffffffff8102e1ea>] no_context+0xea/0x250 <4>[ 7290.415557] [<ffffffff81038991>] ? select_task_rq_fair+0x511/0x780 <4>[ 7290.415578] [<ffffffff8102e475>] __bad_area_nosemaphore+0x125/0x1e0 <4>[ 7290.415597] [<ffffffff81038d0c>] ? __enqueue_entity+0x7c/0x80 <4>[ 7290.415616] [<ffffffff81039201>] ? enqueue_task_fair+0x111/0x150 <4>[ 7290.415636] [<ffffffff8102e53e>] bad_area_nosemaphore+0xe/0x10 <4>[ 7290.415656] [<ffffffff8102e8fa>] do_page_fault+0x26a/0x320 <4>[ 7290.415674] [<ffffffff813905df>] page_fault+0x1f/0x30 <4>[ 7290.415697] [<ffffffffa0dd53a1>] ? iwl3945_rx_reply_tx+0xc1/0x450 [iwl3945] <4>[ 7290.415723] [<ffffffffa0dc8c47>] iwl3945_irq_tasklet+0x657/0x1740 [iwl3945] <4>[ 7290.415746] [<ffffffff8138fc60>] ? _spin_unlock+0x30/0x60 <4>[ 7290.415764] [<ffffffff81049a21>] tasklet_action+0x101/0x110 <4>[ 7290.415783] [<ffffffff8104a3d0>] __do_softirq+0xc0/0x160 <4>[ 7290.415801] [<ffffffff8100d01c>] call_softirq+0x1c/0x30 <4>[ 7290.415818] [<ffffffff8100eff5>] do_softirq+0x75/0xb0 <4>[ 7290.415835] [<ffffffff81049ee5>] irq_exit+0x95/0xa0 <4>[ 7290.415852] [<ffffffff8100e547>] do_IRQ+0x77/0xf0 <4>[ 7290.415869] [<ffffffff8100c7d3>] ret_from_intr+0x0/0xf <4>[ 7290.415883] <EOI> [<ffffffff81234efa>] ? acpi_idle_enter_bm+0x270/0x2a5 <4>[ 7290.415911] [<ffffffff81234f04>] ? acpi_idle_enter_bm+0x27a/0x2a5 <4>[ 7290.415931] [<ffffffff81234efa>] ? acpi_idle_enter_bm+0x270/0x2a5 <4>[ 7290.415952] [<ffffffff812c11f3>] ? cpuidle_idle_call+0x93/0xf0 <4>[ 7290.415971] [<ffffffff8100b0d7>] ? cpu_idle+0xa7/0x110 <4>[ 7290.415989] [<ffffffff8137b3d5>] ? rest_init+0x75/0x80 <4>[ 7290.416007] [<ffffffff8158cd0a>] ? start_kernel+0x3a7/0x3b3 <4>[ 7290.416026] [<ffffffff8158c315>] ? x86_64_start_reservations+0x125/0x129 <4>[ 7290.416047] [<ffffffff8158c3fd>] ? x86_64_start_kernel+0xe4/0xeb Reported-by: Maxim Levitsky <maximlevitsky@gmail.com> Tested-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> CC: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ea1e4b842049fcc4741096538114871a74859314 |
|
28-Dec-2009 |
John W. Linville <linville@tuxdriver.com> |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
|
ba37a3d0395a66b3c9164c4f4d1318317da32e96 |
|
10-Dec-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: use new mac80211 SMPS Instead of hard-coding the SM PS mode per hardware, this makes iwlwifi support the new mac80211 API for controlling the SM PS mode. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a9e1cb6a78ea8a74c49bf76726a2942f636a833b |
|
10-Dec-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add continuous uCode event log capability In order to help uCode debugging, adding the capability to provide continuous uCode event logging function. uCode events is located in round-robin event queue and filled by uCode, by enable continuous event logging, driver check the write pointer and log the newly added events in iwl_bg_ucode_trace() timer function. There is still possibility of missing events if event queue being wrapped before next event dump; but with this capability, we can have much better understanding of the uCode behavior during runtime; it can help to debug the uCode related issues. Methods to enable/disable the continuous event log: step 1: enable ucode trace timer "echo 1 > /sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing" step 2: start ftrace sudo ./trace-cmd record -e iwlwifi_ucode:* sleep 1d step 3: stop ftrace sudo ./trace-cmd report trace.dat step 4: disable ucode trace timer "echo 0 > /sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing" use "ucode_tracing" debugfs file to display number of event queue wrapped when driver attempt the continuous event logging. If event queue being wrapped more than once when driver has opportunity to log the event; it indicated there are events missing in the event log trace. This continuous event log function only available for 4965 and newer NICs. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
af6b8ee38833b39f70946f767740565ceb126961 |
|
14-Dec-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: fix EEPROM/OTP reading endian annotations and a bug The construct "le16_to_cpu((__force __le16)(r >> 16))" has always bothered me when looking through the iwlwifi code, it shouldn't be necessary to __force anything, and before this code, "r" was obtained with an ioread32, which swaps each of the two u16 values in it properly when swapping the entire u32 value. I've had arguments about this code with people before, but always conceded they were right because removing it only made things not work at all on big endian platforms. However, analysing a failure of the OTP reading code, I now finally figured out what is going on, and why my intuition about that code being wrong was right all along. It turns out that the 'priv->eeprom' u8 array really wants to have the data in it in little endian. So the force code above and all really converts *to* little endian, not from it. Cf., for instance, the function iwl_eeprom_query16() -- it reads two u8 values and combines them into a u16, in a little-endian way. And considering it more, it makes sense to have the eeprom array as on the device, after all not all values really are 16-bit values, the MAC address for instance is not. Now, what this really means is that all the annotations are completely wrong. The eeprom reading code should fill the priv->eeprom array as a __le16 array, with __le16 values. This also means that iwl_read_otp_word() should really have a __le16 pointer as the data argument, since it should be filling that in a format suitable for priv->eeprom. Propagating these changes throughout, iwl_find_otp_image() is found to be, now obviously visible, defective -- it uses the data returned by iwl_read_otp_word() directly as if it was CPU endianness. Fixing that, which is this hunk of the patch: - next_link_addr = link_value * sizeof(u16); + next_link_addr = le16_to_cpu(link_value) * sizeof(u16); is the only real change of this patch. Everything else is just fixing the sparse annotations. Also, the bug only shows up on big endian platforms with a 1000 series card. 5000 and previous series do not use OTP, and 6000 series has shadow RAM support which means we don't ever use the defective code on any cards but 1000. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: stable@kernel.org Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
64a76b504b04b5da16d1e7658a95dd126594e02f |
|
10-Dec-2009 |
Zhu Yi <yi.zhu@intel.com> |
iwlwifi: allocated rx page accounting cleanup In iwlwifi, priv->alloc_rxb_page is used to keep track of the Rx pages allocated by the driver. This cleans up the page free routines by introducing __iwl_free_pages/iwl_free_pages so that the accounting is more accurate and less error prone. This also fixes two instances where the counter was not updated. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ac592574a577162183b5c1dd040a188caa068a29 |
|
20-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: update supported PCI_ID list for 5xx0 series Update the PCI_ID list for 5xx0 series. Remove all the PCI_IDs which never made into production or not longer in production. Also make sure the supported bands(a/b/g/n) match specified PCI_IDs Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bc6c94f609d2f63347d4a05f28993792ae38caad |
|
20-Nov-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwl3945: removed unused struct and definitions Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c15d20c1d19616f73b6fee4befd254d0c37b4d87 |
|
20-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: set sm_ps_mode as part of cfg parameters Setting "Spatial multiplexing Power Save" as part of per device configuration parameter. Report to uCode based on priv->conf setting, so driver can have more control of how different devices should operate in power save mode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6ab10ff8738dfb098fd32132b7ebcf5cdb43ebde |
|
13-Nov-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: handle unicast PS buffering Using the new mac80211 functionality, this makes iwlwifi handle unicast PS buffering correctly. The device works like this: * when a station goes to sleep, the microcode notices this and marks the station as asleep * when the station is marked asleep, the microcode refuses to transmit to the station and rejects all frames queued to it with the failure status code TX_STATUS_FAIL_DEST_PS (a previous patch handled this correctly) * when we need to send frames to the station _although_ it is asleep, we need to tell the ucode how many, and this is asynchronous with sending so we cannot just send the frames, we need to wait for all other frames to be flushed, and then update the counter before sending out the poll response frames. This is handled partially in the driver and partially in mac80211. In order to do all this correctly, we need to * keep track of how many frames are pending for each associated client station (avoid doing it for other stations to avoid the atomic ops) * tell mac80211 that we driver-block the PS status while there are still frames pending on the queues, and once they are all rejected (due to the dest sta being in PS) unblock mac80211 Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ae16fc3c3184bf27f0462e1951df918122498829 |
|
13-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: eliminate the possible 1/2 dBm tx power loss in 6x00 & 6x50 series In both 6x00 and 6x50 series, the enhanced/extended tx power table in EEPROM is used to set the max. tx power limit. This new tx power table is in 1/2 dBm format, which creates an issue of possibility of 1/2 dBm loss when driver set the tx power limit; because of driver keep track and report the tx power in dBm format. In order to prevent the 1/2 dBm loss, keep track of the true max tx power in 1/2 dBm format in driver; do the comparison and adjust the tx power if needed when send tx power command to uCode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7d2ed110a80991849a2824a6dc3c063ffca9dbe4 |
|
13-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove external reference for non-exist data structure Number of data structure for 6000 series no longer in production, the data structure already being removed; also need to remove the external reference define in iwl-dev.h Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a8a9a159bf907ef02aca2e316025e427f315e82a |
|
13-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: drop non-production PCI-IDs for 6x50 series drop the non-production PCI-IDs for 6x50 series Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d7d144012a2949cf7f8eed758013adadf5e5a82e |
|
13-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove unused parameter from iwl_channel_info Number of HT40 power parameters are not used; remove those from iwl_channel_info data structure Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
740e7f51c226076d8f8ccb203d9ba6258a5bcec7 |
|
06-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: drop non-production PCI-IDs Remove the support for all the PCI_IDs never make into production Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0924e519a3a18ffbfaa043f4a2c369140c5a235c |
|
06-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: fix for channel switch Different channel has different configuration, need to pass correct configuration to uCode when send "channel switch" command to uCode. Invalid configuration will cause sysassert in uCode and produce un-expected result. Even it is a very small windows, but we also need to consider and handle the case if commit_rxon occurred before the "channel switch announcement" notification received from uCode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bed0a68f98d93c0abdc96b4c290a92c80234c182 |
|
06-Nov-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove un-used parameter Remove un-used parameter "recovery_rxon" from "priv" data structure Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1a716557a5ed3b814cb32b8be79848d53e470871 |
|
06-Nov-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: fix FIFO vs. queue confusion When I added that code setting the swq_id, I evidently did not understand the distinction between FIFO and TX queue yet and added code to compare a queue ID and a FIFO number, which is bogus. However, the code there need not be this specific, it can just set all queues to the identity mapping which will be overwritten by the aggregation queue code. As a bit of defensive coding, don't assign an swq_id to the command queue so that if we ever use it for frames we notice quickly. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3f3e0376bb14ac7bfd8ac3e9824b2ad04d945e18 |
|
30-Oct-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: add SM PS support for 6x50 series Spatial Multiplexing Power Save was disabled to achieve better throughput while in power save mode by activating all the rx chains all the time. By doing so, the device power consumption is high. Enable static/dynamic spatial multiplexing power save if device support it, which can lower the power consumption without impact throughput. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6c5cd9d524a3393f6450ee523f4a942d4404f7de |
|
23-Oct-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: remove duplicate defines RX_FREE_BUFFERS and RX_LOW_WATERMARK are currently defined in four places. Based on how files are included we only need the definition in iwl-fh.h Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Reported-by: Frans Pop <elendil@planet.nl> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c8c24872c6a90ef0298491a1c14326861ab74cab |
|
23-Oct-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: increase max tfd payload size Increase the size of TFD_MAX_PAYLOAD_SIZE (the size of iwl_device_cmd) to accommodate iwl6000_channel_switch_cmd data structure. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Acked-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fadb3582a38c33d0f7c58ab7905d4dbc67f4c4d9 |
|
23-Oct-2009 |
Ben Cahill <ben.m.cahill@intel.com> |
iwlwifi: consolidate apm_init() functions Consolidate most iwlXXXX_apm_init() functions into single iwl_apm_init(). Keep iwl3945_apm_init(), but leverage iwl_apm_init() for most functionality. Update 4965 init sequence to follow most recent factory recommendations. Add following members to struct iwl_cfg to guide the init sequence: pll_cfg_val (replaces needs_pll_cfg), set_l0s, use_bsm Move L0S enable/disable from nic_config() functions to iwl_apm_init(). This satisifies the "FIXME: put here L1A -L0S w/a" notice, and complies with factory-recommended sequence. Add debug info message in iwl_apm_init(), and symmetrical message in iwl_apm_stop(). Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8d9698b3e6ce3c50f9ec5a0aaea4da82d5af7779 |
|
16-Oct-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlagn: store station rate scale information in mac80211 station structure Currently mac80211 initializes the rate scaling before notifying the driver of the station's existence. The driver dealt with this by not relying on mac80211's station notifications and instead mixing this functionality with the rate scaling code and other places. To clean this up the driver needs to do rate scaling initialization after being notified of the station, this can be done if the rate scaling information forms part of the station information passed from mac80211 to driver. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2f301227a1ede57504694e1f64839839f5737cac |
|
09-Oct-2009 |
Zhu Yi <yi.zhu@intel.com> |
iwlwifi: use paged Rx This switches the iwlwifi driver to use paged skb from linear skb for Rx buffer. So that it relieves some Rx buffer allocation pressure for the memory subsystem. Currently iwlwifi (4K for 3945) requests 8K bytes for Rx buffer. Due to the trailing skb_shared_info in the skb->data, alloc_skb() will do the next order allocation, which is 16K bytes. This is suboptimal and more likely to fail when the system is under memory usage pressure. Switching to paged Rx skb lets us allocate the RXB directly by alloc_pages(), so that only order 1 allocation is required. It also adjusts the area spin_lock (with IRQ disabled) protected in the tasklet because tasklet guarentees to run only on one CPU and the new unprotected code can be preempted by the IRQ handler. This saves us from spawning another workqueue to make skb_linearize/__pskb_pull_tail happy (which cannot be called in hard irq context). Finally, mac80211 doesn't support paged Rx yet. So we linearize the skb for all the management frames and software decryption or defragmentation required data frames before handed to mac80211. For all the other frames, we __pskb_pull_tail 64 bytes in the linear area of the skb for mac80211 to handle them properly. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1f0436f4702b7cdda22a38689cc1903822694a17 |
|
09-Oct-2009 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwlwifi/iwl3945: remove data_retry_limit Remove the ununsed variable data_retry_limit from priv. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
92a35bda792cf9295b1d399f7c937d4560292b1e |
|
09-Oct-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: showing accumulative ucode statistics counters Adding accumulative statistics counters in iwlwifi driver. Statistics counters are reported by uCode every beacon interval; but can be reset by uCode when needed. The accumulative statistics counters is maintained by driver to keep track of the history of all the counters. Update the ucode stats files in debugfs to display both latest and accumulative counters. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
88804e2b33b6ab3974ff2330cd045ca53d6750c5 |
|
09-Oct-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: dynamic allocate tx queue structure Instead of always allocate the max number of tx queue structure, use dynamic allocation based on the number of queues in device configuration. With these changes, device does not have to allocate more memory than the h/w can support. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
55036d6602679fb88dd7b1c19bb7203a0213b684 |
|
09-Oct-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: additional items in sensitivity range table Add more items to sensitivity range table to avoid using hardcoded values. Initialize the table per device since unique per device information is required to perform sensitivity calibration. additional items in sensitivity range table: .barker_corr_th_min: Barker correlation threshold minimum .barker_corr_th_min_mrc: Barker correlation threshold minimum for MRC .nrg_th_cca: Energy threshold for Clear Channel Assessment Barker codes are a technique used in WLAN encoding for transmission. MRC is "Maximal Ratio Combining", a technique for optimally combining the signals from 2 or more receivers to achieve a better signal. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bd35f150823c21000f4c0f029abb258bc1ae3b5f |
|
09-Oct-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove duplicated/unused definition "IWL_CMD_QUEUE_NUM" is being defined in multiple places and used by all the devices. move it to iwl-dev.h file and shared by all the devices. Remove "IWL_CMD_FIFO_NUM", replaced by "IWL49_CMD_FIFO_NUM" and IWL50_CMD_FIFO_NUM" Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b660d3adb8dd4ead54744c9269bae9338163020a |
|
09-Oct-2009 |
Ben Cahill <ben.m.cahill@intel.com> |
iwlagn, iwl3945: remove apm_reset() functions Clean up device-specific apm_reset() functions and library infrastructure, now that these reset() functions are no longer being used. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d68b603cf01a6e7d8c85c5a86db751ed3960c0c7 |
|
02-Oct-2009 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwlwifi/iwl3945 : unify apm stop operation Unify the usage of apm_stop_master and apm_stop across all hardwares. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e932a609e9759cc75db0c234f465a5fd6e20d362 |
|
02-Oct-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: LED cleanup The iwlwifi drivers have LED blinking requirements that mac80211 cannot fulfill due to the use of just a single LED instead of different ones for TX, RX, radio etc. Instead, the single LED blinks according to transfers and is solid on the rest of the time. As such, having LED class devices registered that mac80211 triggers are connected to is pointless as we don't use the triggers anyway. Remove all the useless code and add hooks into the driver itself. At the same time, make the LED code abstracted so the core code that determines blink rate etc. can be shared between 3945 and agn in iwlcore. At the same time, the fact that we removed the use of the mac80211 LED triggers means we can also remove the IWLWIFI_LEDS Kconfig symbol since the LED support is now self-contained. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d8c07e7a84950b5fdef424c6dabe6bed3a9ffa19 |
|
25-Sep-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Chain Noise Calibration for 6000 series Adding support of Chain Noise Calibration for 6000 series NICs. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5953a62e7df064a5d7ba7e790d590f27c65ddf4c |
|
17-Sep-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: update PCI Subsystem ID for 6000 series Update PCI Subsystem ID for 60x0 series based on HW SKU. Adding new SKU for "ABG" and "BG" only devices. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4bd0914fa2a09d655c54fb0355aed7f9182b2187 |
|
17-Sep-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: update PCI Subsystem ID for 1000 series Update PCI Subsystem ID for 1000 series based on HW SKU. Adding new SKU for "BG" only devices. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
02bb1bea85e6570b4e64825026382556970b9296 |
|
11-Sep-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: clarify and clean up chain settings The chain settings we currently use in iwlwifi are rather confusing -- and we also go by the wrong settings entirely under certain circumstances. To clean it up, create a new variable in the current HT config -- single_chain_sufficient -- that tells us whether we need more than one chain. Calculate that based on the AP and operating mode (no IBSS HT implemented -- so no need for multiple chains, for station mode we use the AP's capabilities). Additionally, since APs always send disabled SM PS mode, keeping track of their sm_ps mode isn't very useful -- doubly not so for our _own_ RX config since that should depend on our, not the AP's, SM PS mode. Finally, document that our configuration of the number of RX chains used is currently wrong when in powersave (by adding a comment). All together this removes the two remaining items in struct iwl_ht_config that were done wrong there. For the future, the number of RX chains and some SM PS handshaking needs to be added to mac80211, which then needs to tell us, and the new variable current_ht_config.single_chain_sufficient should also be calculated by mac80211. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Daniel C Halperin <daniel.c.halperin@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fad95bf59bf14f72e7d45d3887044e88b8584637 |
|
11-Sep-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: clean up ht config naming Daniel Halperin pointed out that the naming here is rather inconsistent with at least 3 different names being used for one thing in different contexts. Rename the struct to iwl_ht_config (rather than iwl_ht_info) and use ht_conf as a variable for it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Daniel C Halperin <daniel.c.halperin@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c812ee24855e20f43cf211e51e3eb53fe6dc6f1d |
|
11-Sep-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: clean up ht config a little is_ht can be bool instead of u8, and there's no need to use IWL_CHANNEL_WIDTH_* constants in supported_chan_width when that could just be named is_40mhz instead. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1303dcfd0504565aef8ef63487443ab1f814c00f |
|
26-Aug-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: fix ICT irq table endianness The ICT IRQ table is a set of __le32 values, not u32 values, so when reading it we need to take into account that it has to be converted to CPU endianness. This was causing a lot of trouble on my powerpc box where various things would simply not work for no apparent reason with 5xxx cards, but worked with 4965 -- which doesn't use the ICT table. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dc1b09733215e19f6a0f676be2744fe2f5471d85 |
|
21-Aug-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: name changes from "tx_power_channel_lmt" to "tx_power_device_lmt" Changing the name from "tx_power_channel_lmt" to "tx_power_device_lmt"; to give idea that scope of limit is for overall device, not any individual channels Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b261793da587160d12ce6d63db60493342ddce20 |
|
13-Aug-2009 |
Daniel C Halperin <daniel.c.halperin@intel.com> |
iwlwifi: use station HT capabilities and BSS operating mode for Green-field Green-field mode should be configured in the HT station table. This patch uses both the per-station GF support flag as well as the current BSS HT operation mode (non-GF stations present flag). Added the "ht_greenfield_support" field to struct iwl_cfg to replace the device-specific check in rs_use_green(). That check has been moved to iwlcore_init_ht_hw_capab(). Signed-off-by: Daniel C Halperin <daniel.c.halperin@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
28e6f48953f44f7eb615383efe6e7f17624a11bb |
|
13-Aug-2009 |
Daniel C Halperin <daniel.c.halperin@intel.com> |
iwlwifi: check short GI support per-station rather than globally Short guard interval support is a local per-station parameter not a global per-NIC parameter. (mac80211 will correctly remove SGI support from station capabilities if the BSS does not permit it). This patch removes the short GI support bitfield from the global iwl_ht_info struct and properly uses per-station HT capabilities during rate selection. Signed-off-by: Daniel C Halperin <daniel.c.halperin@intel.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
367ca28da433ed9639468be851e1f33468e3485e |
|
13-Aug-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: remove unused members of iwl_ht_info Some members of iwl_ht_info are unused, and one of them is write-only, so we can remove these three: max_amsdu_size, ampdu_factor and mpdu_density. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Daniel C Halperin <daniel.c.halperin@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
415e49936b4b29b34c2fb561eeab867d41fc43a6 |
|
13-Aug-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: traverse linklist to find the valid OTP block For devices using OTP memory, EEPROM image can start from any one of the OTP blocks. If shadow RAM is disabled, we need to traverse link list to find the last valid block, then start the EEPROM image reading. If OTP is not full, the valid block is the block _before_ the last block on the link list; the last block on the link list is the empty block ready for next OTP refresh/update. If OTP is full, then the last block is the valid block to be used for configure the device. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
be2527654fab254beda8612cbd6bc927dc98fbee |
|
13-Aug-2009 |
Daniel C Halperin <daniel.c.halperin@intel.com> |
iwlwifi: remove unused HT configuration entry tx_chan_width The tx_chan_width entry is never used, supported_chan_width is used instead. Signed-off-by: Daniel C Halperin <daniel.c.halperin@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e312c24cf8229f9b6e76dbfd5d99eefe21f4ac0a |
|
08-Aug-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: automatically adjust sleep level Depending on required latency requested by pm_qos (via mac80211) we can automatically adjust the sleep state. Also, mac80211 has a user-visible dynamic sleep feature where we are supposed to stay awake after sending/receiving frames to better receive response frames to our packets, this can be integrated into the sleep command. Currently, and this patch doesn't change that yet, we default to using sleep level 1 if PS is enabled. With a module parameter to iwlcore, automatic adjustment to changing network latency requirements can be enabled -- this isn't yet the default due to requiring more testing. The goal is to enable automatic adjustment and then go into the deepest possible sleep state possible depending on the networking latency requirements. This patch does, however, enable IEEE80211_HW_SUPPORTS_DYNAMIC_PS to avoid the double-timer (one in software and one in the device) when transmitting -- the exact timeout may be ignored but that is not of big concern. Note also that we keep the hard-coded power indices around for thermal throttling -- the specification of that calls for using the specified power levels. Those can also be selected in debugfs to allow easier testing of such parameters. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3ad3b92a5517c043ef30e4b95c4c39a35bbc36be |
|
08-Aug-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: refactor some thermal throttle code Some of the thermal throttle data structures and code are really very intermingled with the sleep (power) control code. They really do belong together in a way since the thermal throttle code uses powersaving to achieve its goal, but it's making it hard to work on the powersave code. Split this up to make that easier. I've also changed the antenna defines to an enum and used the same enum for RX and TX. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a28027cd7f169edc399fe4b76d3a33b0203049a1 |
|
08-Aug-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: fix thermal throttling locking problem Move all the thermal throttling functions to background task to make sure do not change power and rx chain in interrupt handler. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c03ea16285bf142172f9816b8a1f5c43bb4b4405 |
|
08-Aug-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: revert uCode Alive notification with timeout commit "iwlwifi: uCode Alive notification with timeout" introduced a more reliable mechanism for ucode loading. Unfortunately we hit a problem with it frequently enough to make a 4965 unusable. The problem can be seen in debug log below. What this code attempts is to set runtime ucode up to load, start a timer to wait for the alive response from runtime ucode, and if it times out it tries again. As can be seen below we receive the alive response and wake the waiting task _before_ the tasks starts waiting. The task thus times out as the alive response is not received while it is waiting for it and it restarts the device. This starts the cycle all over again. [29739.000819] ieee80211 phy0: U iwl_mac_start enter [29739.005751] ieee80211 phy0: U iwl_prepare_card_hw iwl_prepare_card_hw enter [29739.012798] ieee80211 phy0: U iwl_set_hw_ready hardware ready [29739.057200] ieee80211 phy0: U iwl4965_load_bsm Begin load bsm [29739.063366] ieee80211 phy0: U iwl4965_verify_bsm Begin verify bsm [29739.072485] ieee80211 phy0: U iwl4965_verify_bsm BSM bootstrap uCode image OK [29739.079671] ieee80211 phy0: U iwl4965_load_bsm BSM write complete, poll 0 iterations [29739.257019] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x9 [29739.260964] ieee80211 phy0: I iwl_rx_reply_alive Initialization Alive received. [29739.260964] ieee80211 phy0: U __iwl_up iwlagn is coming up [29739.278571] ieee80211 phy0: U iwl_mac_start Start UP work done. [29739.284509] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29739.292432] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29739.302004] ieee80211 phy0: U iwl_verify_ucode Initialize uCode is good in inst SRAM [29739.309746] ieee80211 phy0: U iwl4965_hw_get_temperature Running temperature calibration [29739.317833] ieee80211 phy0: U iwl4965_hw_get_temperature Calib values R[1-3]: -36 13522 -13496 R4: -2726 [29739.327337] ieee80211 phy0: U iwl4965_hw_get_temperature Calibrated temperature: 310K, 37C [29739.335598] ieee80211 phy0: U iwl4965_init_alive_start Initialization Alive received. [29739.343477] ieee80211 phy0: U iwl4965_set_ucode_ptrs Runtime uCode pointers are set. [29739.351283] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x0 [29739.355210] ieee80211 phy0: I iwl_rx_reply_alive Runtime Alive received. [29739.366731] iwlagn 0000:03:00.0: Runtime uCode already alive? Waiting for alive anyway [29743.284110] iwlagn 0000:03:00.0: START_ALIVE timeout after 4000ms. [29743.290337] ieee80211 phy0: U iwl_mac_add_interface enter: type 2 [29744.364089] iwlagn 0000:03:00.0: Runtime timeout after 5000ms [29744.370882] ieee80211 phy0: U iwl_alive_start Runtime Alive received. [29744.377347] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29744.385287] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29744.393397] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 94720 [29744.415835] ieee80211 phy0: U iwl_verify_ucode Runtime uCode is good in inst SRAM Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
22fdf3c9e19dce6d66bcfdbed547a5aa52b89933 |
|
08-Aug-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Traffic type and counter for debugFs Break down the traffic type and counter for both Tx and Rx. Enhance the tx_statistics and rx_statistics debugfs function and move to /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory to help better debugging both driver and uCode related problems. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
20594eb0daa67f7a0cc19d74a1bafceb1bb09f4a |
|
08-Aug-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: new debugging feature for dumping data traffic The traffic buffer will only beallocated and used if either bit 23 (IWL_DX_TX) or bit 24 (IWL_DL_RX) of "debug" is set; example: "debug=0x800000" - log tx data traffic "debug=0x1000000" - log rx data traffic "debug=0x1800000" - log both tx and rx traffic The traffic log will store the beginning portion (64 bytes) of the latest 256 of tx and rx packets in the round-robbin buffer for debugging, user can examine the log through debugfs file. How to display the current logged tx/rx traffic and txfifo and rxfifo read/write point: "cat traffic_log" in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory By echo "0" to traffic_log file will empty the traffic log buffer and reset both tx and rx taffic log index to 0. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7aafef1c6e2e24f9a10dc2972bf0ee70624ccc47 |
|
08-Aug-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: name changed from "fat" to "ht40" Rename "fat" to "ht40" The term "fat channel" is deprecated in favor of "HT40" Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3d816c77ecb05d3a3e974a205e53392e5353553e |
|
08-Aug-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: re-introduce per device debugging Commit "iwlwifi: make debug level more user friendly" cleaned up the debug level handling. In doing so it created a single global debug level for all devices. Some setups do consits of more that one iwlwifi device and in these setups there is a requirement that debug levels should be unique per device. We now re-introduce the per device debugging while maintaining the cleanup effort of the previous patch. The maintain the global debug level and now introduce a per-device debug level that will be used if it (the per-device debug level) is set. The per-device debug level can be controlled via the debug_level sysfs file while the global debug level is controlled by the debug module parameter. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a11c4d000b84f7f49ebefc018c24bbfa3c9c0f3b |
|
31-Jul-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: remove deprecated 6000 series adapters Remove the support for deprecated devices. These devices are engineering samples and no longer supported by the uCode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
65b7998a9be418482493e9448bb83ff2914ed050 |
|
31-Jul-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Distinguish power amplifier for 6000 series For 6x00 2x2 NIC, two types of Power Amplifier are available. In order for uCode to apply correct tx power, driver needs to program the CSR_GP_DRIVER_REG register and let uCode know the type of PA. If driver do not program CSR_GP_DRIVER_REG register (default to 0), then it is uCode's decision for tx power 2x2 Hybrid card: use both internal and external PA 2x2 IPA(Internal Power Amplifier) card: internal PA only Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1e4247d457c6a42e4a05cb7dfa4e6ea1fa65c112 |
|
27-Jul-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: debugFs to enable/disable HT40 support Add debugfs file to enable/disable HT40(40MHz) channel support. By default, 40MHz is supported if AP can support the function. By echo "1" to "disable_ht40" file, iwlwifi driver will disable the 40MHz support and only allow 20MHz channel. Because the information exchange happen during association time, so enable/disable ht40 channel only can be performed when it is not associated with AP. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bcc693a14ddf46170752c185e415ff8609b9f82f |
|
24-Jul-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: Name fix for MPDU density for TX aggregation Fix incorrect name for HT MPDU Density. default set to 4 uSec Reported-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5696aea6f243e40013d2b00cd140fd006ec20b9c |
|
24-Jul-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: remove command callback return value No existing callbacks use anything other than the return value 1, which means that the caller should free the reply skb, so it seems safer in terms of not introducing memory leaks to simply remove the return value and let the caller always free the skb. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c2acea8e9b86ba5a5469ff477445676a223af4e2 |
|
24-Jul-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: fix up command sending The current command sending in iwlwifi is a bit of a mess: 1) there is a struct, iwl_cmd, that contains both driver and device data in a single packed structure -- this is very confusing 2) the on-stack data and the command metadata share a structure by embedding the latter in the former, which is also rather confusing because it leads to weird unions and similarly odd constructs 3) each txq always has enough space for 256 commands, even if only 32 end up being used This patch fixes these things: 1) rename iwl_cmd to iwl_device_cmd and keep track of command metadata and device command separately, in two arrays in each tx queue 2) remove the 'meta' member from iwl_host_cmd and only put in the required members 3) allocate the cmd/meta arrays separately instead of embedding them into the txq structure Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
672639de13c4db92ed6a47e68043a4317e219902 |
|
24-Jul-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: critical temperature enter/exit condition If advance thermal throttling is used the driver need to pass both "enter" and "exit" temperature to uCode. Using different critical temperature threshold for legacy and advance thermal throttling management based on the type of thermal throttling method is used except 1000. For 1000, it use advance thermal throttling critical temperature threshold, but with legacy thermal management implementation until ucode has the necessary implementations in place. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a562a9dda7f47e7cac58d80bf1ffe441feca510e |
|
17-Jul-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: make debug level more user friendly * Deprecate the "debug50" module parameter used to obtain 5000 series and up debugging. Replace it with "debug" module parameter to match with original driver and be consistent between them. The "debug50" module parameter can still be used, except that the module parameter is not writable in keeping with its previous state. We currently just mark it as "deprecated" and do not have it in the feature-removal-schedule. Some more cleanup of module parameters needs to be done and can then be entered together. * Only make "debug" module parameters visible if the driver is compiled with CONFIG_IWLWIFI_DEBUG. This will eliminate a lot of confusion where users think they have set debug flags but yet cannot see any debug output. * Make module parameters writable. This eliminates the need for the "debug_level" sysfs file, which can now also be deprecated and added to feature-removal-schedule. This file is in significant use though with many iwlwifi documents and text referring users to it. We can thus not take its removal lightly and keep it around. With iwlcore shared between iwlagn and iwl3945 we really do not need debug module parameters for each but can instead have one debug module parameter for the iwlcore module. The same issue is here as with the sysfs file - a lot of iwlwifi documentation and text (like bug reports) rely on iwlagn and iwl3945 having this module parameter, so changing this to a module parameter of iwlcore will have significant impact and we do not do this for that reason. One consequence of this patch is that if a user is running a system with both 3945 and later hardware then the setting of the one module parameter will affect the value of the other. The likelihood of this seems low - and even if this setup is present it does not seem like an issue for both modules to run with the same debug level. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
34a66de628b5dcc4a93129610ccd24814935e8cd |
|
17-Jul-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: uCode Alive notification with timeout Wait for REPLY_ALIVE notification from init and runtime uCode. based on the type of REPLY_ALIVE, different status bit will be set to wake up the queue: STATUS_INIT_UCODE_ALIVE for init uCode STATUS_RT_UCODE_ALIVE for runtime uCode. If timeout, attempt to download the failing uCode image again. This can only be done for the init ucode images of all iwlagn devices and the runtime ucode image of the 5000 series and up. If there is a problem with the 4965 runtime ucode coming up we restart the interface and thus trigger a new download of the init ucode also. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
cc0f555d511a5fe9d4519334c8f674a1dbab9e3a |
|
17-Jul-2009 |
Jay Sternberg <jay.e.sternberg@intel.com> |
iwlwifi: Handle new firmware file with ucode build number in header Adding new API version to account for change to ucode file format. New header includes the build number of the ucode. This build number is the SVN revision thus allowing for exact correlation to the code that generated it. The header adds the build number so that older ucode images can also be enhanced to include the build in the future. some cleanup in iwl_read_ucode needed to ensure old header not used and reduce unnecessary references through pointer with the data is already in heap variable. Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
01a7e08436929271c6173b5daf3e193ef5b3561a |
|
09-Jul-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlagn: fix minimum number of queues setting We need to provide a reasonable minimum that will result in a working setup if used. Set minimum to be 10 to provide for 4 standard TX queues + 1 command queue + 2 (unused) HCCA queues + 4 HT queues (one per AC). We allow the user to change the number of queues used via a module parameter and use this minimum value to check if it is valid. Without this patch a user can select a value for the number of queues that will result in a failing setup. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Reviewed-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2c2f3b33888419fb9e7d015b9dc67b9db4437efa |
|
19-Jun-2009 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: unify iwl_setup_rxon_timing This patch unifies setup_rxon_timing funcions of AGN and 3945. HWs differ only in supported maximal beacon interval. This is reflected in hw_paras.max_beacon_itrvl Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
90e8e424d9c071f2db22100de81af6c8f7df34ee |
|
19-Jun-2009 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: drop sw_crypto from hw_params. Each HW supported by iwlwifi is capable of hardware crypto so drop this flag from hw_params structure. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a60e77e5a41330334fd0ca428f18919d1ea6ed62 |
|
04-Jun-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: port to cfg80211 rfkill This ports the iwlwifi rfkill code to the new API offered by cfg80211 and thus removes a lot of useless stuff. The soft- rfkill is completely removed since that is now handled by setting the interfaces down. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Tested-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c587de0b8d6e194f7a1719fc6af8a81b4e8916d2 |
|
03-Jun-2009 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: unify station management This patch unifies 3945 and AGN station management It also removes useless struct iwl_station_mgmt ops and cleanups a bit the interface Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Tested-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
086ed117c918f07fd40323ab5adc64c52ea7c1b8 |
|
22-May-2009 |
Mohamed Abbas <mohamed.abbas@intel.com> |
iwlagn: co-exist with AMT Enable using iwlwifi driver in AMT system. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
40cefda9ce11c44a2531d07af812900aa5f3ce9d |
|
22-May-2009 |
Mohamed Abbas <mohamed.abbas@intel.com> |
iwlcore: Add support for periodic RX interrupt Periodic RX interrupt needed with ICT interrupt to prevent RX race. Sending RX interrupt require many steps to be done in the the device: 1- write interrupt to current index in ICT table. 2- dma RX frame. 3- update RX shared data to indicate last write index. 4- send interrupt. This could lead to RX race, driver could receive RX interrupt but the shared data changes does not reflect that. this could lead to RX race, RX periodic will solve this race Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4752c93c30441f98f7ed723001b1a5e3e5619829 |
|
22-May-2009 |
Mohamed Abbas <mohamed.abbas@intel.com> |
iwlcore: Allow skb allocation from tasklet. If RX queue becomes empty then we need to restock the queue from tasklet to prevent ucode from starving. A caller to iwl_rx_allocate will decide if allocated buffer should come from GFP_ATOMIC or GFP_KERNEL. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ef850d7cb301bda9155c096269557a4586b58071 |
|
22-May-2009 |
Mohamed Abbas <mohamed.abbas@intel.com> |
iwlcore: support ICT interrupt Add ICT interrupt handler support, ICT should improve CPU utilization since it does not require target read which is very expensive. This interrupt handler only added to 5000 cards and newer. Device will write interrupts to ICT shared table to inform driver about its interrupts. These patches will not touch 3945 and 4965 interrupt handlers and tasklet. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a8b50a0a966d7ac313f624c6ab4996231a5fe25a |
|
22-May-2009 |
Mohamed Abbas <mohamed.abbas@intel.com> |
iwlcore: register locks Add new lock to be used when accessing some registers. Also move the register lock and iwl_grab_nic_access inside the function for register access. This will prevent from forgetting to hold locks and nic access in the right way and make code easier to maintain. We over use the priv->lock spin lock and I guess we need to add new one for Tx queue after that we might need to change most of these lock to BH and just keep priv->lock as irq type. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0848e297c2107dbc12a91a1709c879c73bd188d8 |
|
22-May-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: support NVM access (EEPROM/OTP) Two type of NVM available for devices 1000, 6000 and after, adding support to read OTP lower blocks if OTP is used instead of EEPROM. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c15ff610453a6daa708f32b1c00b8344d3a462dd |
|
16-May-2009 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: drop iwl3945_tid_data This patch is one of the incremental steps for unifying iwl_station_entry for all HWs, i.e. removing of iwl3945_station_entry This patch drops iwl3945_tid_data and use iwl_tid_data instead. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bed420d9c0a642cda3d37b66db0f66f87d8f8185 |
|
16-May-2009 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: drop struct iwl3945_hw_key This patch replaces struct iwl3945_hw_key by struct iwl_hw_key. It's not used directly with any host command therefore removal is trivial Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7af2c460789a78d9c0d4dc7776fcb87acdc71052 |
|
08-May-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: clean up PS code This removes all the dead code that tries to adjust the power saving level based on the system AC state (inacceptable policy in the kernel) or based on overtemp conditions (unused). Also, pass _all_ policy wrt. enabling PS to mac80211, since we do not use the power_disabled internally I now use that to mirror the mac80211 CONF_PS setting. When mac80211 turns off CONF_PS we follow suit. This means that the user power level (which can currently only be set from sysfs) is not touched for mac80211 powersave changes. This means no "association status" checks are necessary since mac80211 will not allow power save to be enabled when not associated. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
19cc10870ece942d287241937944c237130f50f4 |
|
08-May-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: do proper hw restart When the microcode fails for any reason, ask mac80211 to recover instead of trying ourselves and failing at it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
495a1b4eff1a216a3ea171ac137f1807e6555f52 |
|
26-Apr-2009 |
David S. Miller <davem@davemloft.net> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: net/mac80211/pm.c
|
1ecf9fc1317f8df91eb1d74360f408558d657478 |
|
20-Apr-2009 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: improve scan support This modifies iwlwifi to * no longer build its own probe request, but use mac80211's * therefore, support arbitrary scan IEs (up to the max len) * support multiple scan SSIDs * support passive scanning Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a83b9141b540f96dd59409c6487828e880113a29 |
|
08-Apr-2009 |
Wey-Yi Guy <wey-yi.w.guy@intel.com> |
iwlwifi: adding interrupt counter in debugfs for debugging This patch adds interrupt statistics report to debugfs, this can help to understand number of interrupts happened which including HW/SW error for easier and better debugging. in /sys/kernel/debug/ieee80211/phyN/iwlagn/data directory use "cat interrupt" to view the current interrupt counter use "echo 0 > interrupt" to clear interrupt counter Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
79fa455a995057b6559fcd2a02e8b089b2e2e288 |
|
08-Apr-2009 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwlwifi: add station management ops This patch adds declarations for station management ops to iwlwifi drivers. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
df833b1d73680f9f9dc72cbc3215edbbc6ab740d |
|
21-Apr-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: DMA fixes A few issues wrt DMA were uncovered when using the driver with swiotlb. - driver should not use memory after it has been mapped - iwl3945's RX queue management cannot use all of iwlagn because the size of the RX buffer is different. Revert back to using iwl3945 specific routines that map/unmap memory. - no need to "dma_syn_single_range_for_cpu" followed by pci_unmap_single, we can just call pci_unmap_single initially - only map the memory area that will be used by device. this is especially relevant to the mapping of iwl_cmd. we should not map the entire structure because the meta data at the beginning of structure contains the address to be used later for unmapping. If the address to be used for unmapping is stored in mapped data it creates a problem. - ensure that _if_ memory needs to be modified after it is mapped that we call _sync_single_for_cpu first, and then release it back to device with _sync_single_for_device - we mapped the wrong length of data for host commands, with mapped length differing with length provided to device, fix that. Thanks to Jason Andryuk <jandryuk@gmail.com> for significant bisecting help to find these issues. This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1964 Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Tested-by: Jason Andryuk <jandryuk@gmail.com> Tested-by: Ben Gamari <bgamari@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e4e72fb4de93e3d4047a4ee3f08778422e17ed0d |
|
23-Mar-2009 |
Johannes Berg <johannes@sipsolutions.net> |
mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi This patch removes all the virtual A-MPDU-queue bookkeeping from mac80211. Curiously, iwlwifi already does its own bookkeeping, so it doesn't require much changes except where it needs to handle starting and stopping the queues in mac80211. To handle the queue stop/wake properly, we rewrite the software queue number for aggregation frames and internally to iwlwifi keep track of the queues that map into the same AC queue, and only talk to mac80211 about the AC queue. The implementation requires calling two new functions, iwl_stop_queue and iwl_wake_queue instead of the mac80211 counterparts. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: Reinette Chattre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5c8df2d56a160a31386ee7807adfc1c74e826535 |
|
11-Mar-2009 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwl3945: use iwl_led structure 3945 can now use iwl_led's structure from iwlwifi. Patch also removes CONFIG_IWL3945_LEDS flag from Kconfig as 3945's led support will now be enabled if user selects CONFIG_IWLWIFI_LEDS. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
77dcb6a9526b1e0d159a9300e512c7271bff3163 |
|
06-Mar-2009 |
Jay Sternberg <jay.e.sternberg@linux.intel.com> |
iwlwifi: correct device name for 1000 series device name was changed from 100 to 1000 Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
80bc53931bdf8284c5a95ba96d86ab6c2473a5f8 |
|
13-Feb-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: Fix and rework Kconfig file Fixes: - iwlwifi is an optional driver and should thus not default to 'y'. - 3945 now depends on IWLCORE. Rework: - There is not a case when IWLCORE should not be selected. At the same time the driver does not use IWLWIFI or IWLCORE. We can just merge the usage of these two. With IWLWIFI being the driver name we proceed to use just it and replace instances of IWLCORE with it. The module name does not change and is still iwlcore. - Both IWLAGN and IWL3945 are selecting FW_LOADER, we can thus just move this up to one select when IWLWIFI is selected. - IWL5000 now supports Intel Wireless Wifi 100, 6000, and 6050 series. - Now that 3945 depends on IWLWIFI we can also indicate its dependency on MAC80211_LEDS and LEDS_CLASS at this level. - IWLAGN_LEDS is not used by driver - remove it. - IWLAGN_SPECTRUM_MEASUREMENT actually depends on IWLWIFI as it forms part of iwlcore module. Move this config up in Kconfig to reflect that and also change name to IWLWIFI_SPECTRUM_MEASUREMENT. - CONFIG_IWLWIFI_RFKILL is used by iwlagn as well as iwl3945, add text to description that indicates this. - CONFIG_IWL3945_RFKILL does not exist - remove usage from driver. - Add "iwlagn" to end of description of IWLAGN to help people understand what iwlagn means in rest of Kconfig text. - Add "iwl3945" to end of description of IWL3945 to help people understand what iwlagn means in rest of Kconfig text. - Change IWLWIFI_DEBUGFS description to indicate that only iwlagn supports it (for now). Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e8c00dcb028a1b702863c3a454315c7ae5f544e7 |
|
29-Jan-2009 |
Jay Sternberg <jay.e.sternberg@linux.intel.com> |
iwlwifi: define structures and functions externally for customization defined the structures and functions as extern to alter behavior used by 5000 series for other products including 100 and 6000 series Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8ccde88a87a3dc906234b281a036fee9c7371949 |
|
27-Jan-2009 |
Samuel Ortiz <samuel.ortiz@intel.com> |
iwl3945: Getting rid of the *39_rxon iwl_priv fields The iwl_rxon_cmd is really just a iwl3945_rxon_cmd structure extension. So, we can use the *_rxon fields from iwl_priv instead of the 3945 specific ones (*39_rxon). We have to then be careful when submitting REPLY_RXON host commands, since the command length as to be set according to the HW. As another precaution the reserved4 and reserved5 fields are cleared before being sent to the 3945. With the *39_rxon removal, a lot of duplicated code can be removed from the 3945 code base. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7e4bca5e5b8dffd9373470693e20f43b0aee566c |
|
23-Jan-2009 |
Samuel Ortiz <samuel.ortiz@intel.com> |
iwl3945: Getting rid of priv->antenna The iwl_priv antenna field is useless as we can simply use the corresponding mod_params antenna field. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d08853a3995cfc2985307da7400fb57bfa5773e2 |
|
23-Jan-2009 |
Samuel Ortiz <samuel.ortiz@intel.com> |
iwlwifi: Remove IWL3945_DEBUG IWL3945_DEBUG is pointless and obsolete. We already have an IWLWIFI_DEBUG symbol, that needs to be set if we actually want to get 3945 debug (see iwl-debug.h). Thus, we can simply get rid of this symbol. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e6148917db2c223fa7edd3dfb64d99756a86b452 |
|
23-Jan-2009 |
Samuel Ortiz <samuel.ortiz@intel.com> |
iwl3945: Use iwl-eeprom.c routines By adding the eeprom ops to the 3945 code, we can now use the iwlcore eeprom routines (defined in iwl-eeprom.c). We also removed the heavy eeprom39 reference from iwl_priv and use the eeprom pointer instead. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a8e74e2774cd1aecfef0460de07e6e178df89232 |
|
23-Jan-2009 |
Samuel Ortiz <samuel.ortiz@intel.com> |
iwl3945: Use iwlcore TX queue management routines By adding an additional hw_params (tfd_size) and a new iwl_lib ops (txq_init), we can now use the iwlcore TX queue management routines. We had to add a new hw_params because we need to allocate the right DMA buffer for TFDs, and those have a different sizes depending if you're on 3945 or agn. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
59606ffa9146538b73bbe1ca1285321cd7474bc0 |
|
23-Jan-2009 |
Samuel Ortiz <samuel.ortiz@intel.com> |
iwlwifi: make iwl_tx_queue->tfds void* Instead of having both tfds and tfds39, we can just have a void *tfds. It makes the tx_queue structure nicer, and the code cleaner. It also helps with further TX queues management code merging. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c5d0569882b9c264be31dcb0758961bfc479deea |
|
20-Jan-2009 |
Jay Sternberg <jay.e.sternberg@linux.intel.com> |
iwlwifi: add recognition of Intel WiFi Link 100 Series add configuration for new Intel WiFi Link 100 series as part of the iwlagn driver under the umbrella of 5000 family of devices. Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e1228374d648efe451973bc5f3d1f9a8e943ec0b |
|
20-Jan-2009 |
Jay Sternberg <jay.e.sternberg@linux.intel.com> |
iwlwifi: add recognition of Intel WiFi Link 6000 and 6050 Series add configuration for new Intel WiFi Link Series as part of the iwlagn driver under the umbrella of 5000 family of devices. Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
cec2d3f38c11f4c7e28ec2a065698653dbccfbb7 |
|
20-Jan-2009 |
Jay Sternberg <jay.e.sternberg@linux.intel.com> |
iwlwifi: remove static from 5000 structures remove static from config structures which will be used by new hardware that is similar to 5000. This way the new devices can use them without the new structures having to be stored in the already overloaded iwl-5000.c file. Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3dae0c42ba1d51ae49bf149d1dcc38ffbb357409 |
|
20-Jan-2009 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: eliminate power_data_39. This patch eliminates 3945 power_data structure and make use of of iwl_power_data. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
62ea9c5b9e531dbf6b2601e6c9e2705a56983b6e |
|
20-Jan-2009 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: remove unused or twice defined members in iwl_priv This patch removes user_txpower_limit and max_channel_txpower_limit and use tx_power_user_lmt and tx_power_channel_lmt instead call_post_assoc_from_beacon is not used Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
805cee5b81f1e493820601fe7990aef935c2c621 |
|
20-Jan-2009 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: kill scan39 scan and scan39 can be represented by void * in iwl_priv Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2663516d8fb896430bf42dce41b3e2f141d63bd5 |
|
15-Jan-2009 |
Helmut Schaa <helmut.schaa@googlemail.com> |
iwl3945: report killswitch changes even if the interface is down Currently iwl3945 is not able to report hw-killswitch events while the interface is down. This has implications on user space tools (like NetworkManager) relying on rfkill notifications to bring the interface up once the wireless gets enabled through a hw killswitch. Thus, enable the device already in iwl3945_pci_probe instead of iwl3945_up and poll the CSR_GP_CNTRL register to update the killswitch state every two seconds. The polling is only needed on 3945 hardware as this adapter does not use interrupts to signal rfkill changes to the driver (in case no firmware is loaded). The firmware loading is still done in iwl3945_up. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Acked-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
01f8162a854df7f9c259c839ad3c1168ac13b7b8 |
|
08-Jan-2009 |
Reinette Chatre <reinette.chatre@intel.com> |
iwlwifi: update copyright year to 2009 Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
141c43a3e4c7e8543fea982284765fda5e73837e |
|
08-Jan-2009 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwl3945: kill iwl3945_rx_queue_restock This patch kills iwl3945_rx_queue_restock function on prise of new hw_params.rx_wrt_ptr_reg which holds per NIC RX write pointer register. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f5965955e0107b116b379cccb94de612281bdf55 |
|
08-Jan-2009 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwl3945: kill hw_params.tx_ant_num This patch removes tx_ant_num for hw_params structure. It is not used. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
188cf6c73a72be1d8c118580a40d70cd76415eec |
|
22-Dec-2008 |
Samuel Ortiz <samuel.ortiz@intel.com> |
iwl3945: sync tx queue data structure with iwlagn We are now using the iwl_tx_queue for iwl3945. To reach that goal, we included the 3945 specific tfd frame structure to iwl_tx_queue. This has no effect on the current iwlagn code. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dbb6654c411e2030ed969ef0c531eb7fda8b27a3 |
|
22-Dec-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwl3945: rearrange 3945 tfd This patch moves 3945 TFD structures to iwl-3945-fh.h. It renames them similarly to AGN naming. This patch also eliminates iwl3945_tx_info and fixes endianity issue in iwl3945_tx_skb and iwl3945_enqueue_hcmd caused by ugly casting. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8cd812bcda06645160b0b279e1a125271a73411c |
|
19-Dec-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwl3945: use iwl_rb_status This patch makes use of iwl_rb_status also in 3945. The structure for 3945 is not the same but since only closed_rb_num filed is used in both cases there is no reason to duplicate it. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c2d79b488a33a77d337092c967ce50614edc5d25 |
|
19-Dec-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: use iwl_cmd instead of iwl3945_cmd This patch makes use of iwl_cmd instead of iwl3945_cmd and related structures which were just the same. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4a8a43222db6f04c88def2160a95f978f704b515 |
|
19-Dec-2008 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwl3945: replaces iwl3945_priv with iwl_priv The patch replaces iwl3945_priv to iwl_priv. It adds 3945 specific data members to iwl_priv. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3832ec9dc919a0994d713390eb4fb3c7e7500b94 |
|
19-Dec-2008 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwl3945: use iwl_hw_params in iwl3945_priv The patch makes changed necessary to use iwl_hw_params to replace iwl3945_driver_hw_info. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a78fe754e0e5a77ca968ee0c348f027e84659d8b |
|
19-Dec-2008 |
Kolekar, Abhijeet <abhijeet.kolekar@intel.com> |
iwl3945: remove duplicate structures from iwl-3945.h The patch renames and deletes duplicate structure from iwl-3945.h. The following structures are renamed with iwlwifi counterparts: 1) iwl3945_ac_qos 2) iwl3945_ucode 3) iwl3945_qos_capabity Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
85d4149533e07e5ca4c94010a52fe5496d998611 |
|
19-Dec-2008 |
Kolekar, Abhijeet <abhijeet.kolekar@intel.com> |
iwl3945: move structures from iwl-3945.h to iwl-dev.h The patch moves few structres from iwl-3945.h to iwl-dev.h. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d20b3c65f2a3e18ea86542e6ca4fe1c6d16c91df |
|
19-Dec-2008 |
Samuel Ortiz <sameo@linux.intel.com> |
iwl3945: iwl3945_queue and iwl3945_channel_info replacement This patch replaces the queue and channel info 3945 structures with the iwl ones. The initial goal was to replace the channel info structure. Once we do that, and then include iwl-dev.h instead of iwl-3945.h, we still get build errors due to several routines and macro redefinitions. This is why this patch also includes: - TFD39_MAX_PAYLOAD definition for 3945. - CMD_SIZE, CMD_HUGE, CMD_SKB duplication removal. - iwl3945_queue replacement in order to also get rid of the duplicated get_cmd_index routine. Getting rid of any of those needs the iwl-dev.h inclusion which then creates build errors due to definitions duplication. This is why we include all those in the same patch. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a3139c5956702c9ff957ac9fe2d902de355b063e |
|
19-Dec-2008 |
Samuel Ortiz <sameo@linux.intel.com> |
iwl3945: Remove DRV_NAME dependenies As DRV_NAME is defined in 2 different header files, including both is not possible. This patch defines this constant from iwl3945-base.c and iwl-agn.c. It also redefines the IWL_ERROR and IWL_WARNING macros to use dev_printk, as the IWL_DEBUG_* macros do. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Acked-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
34c22cf93d1446791c966c878cc691e07c39d8d3 |
|
17-Dec-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: cleanup iwl-dev.h The patch removes unused definition and moves code to proper places. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2aa6ab86bc475a115f56645591d2413981846509 |
|
11-Dec-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove 4965 from common uCode API structures This patch removes 4965 from common uCode API structures. Also updates iwlagn commands with 3945 specific RX command in preparation for 3945 port. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b5047f78664fbcc18d67dafbb45bf62b310f9b0a |
|
11-Dec-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove includes of iwl-helpers.h where not needed This patch removes includes of iwl-helpers.h where not needed Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
29d51d9df53a4b383e2062b2ea0d575c9f3fca47 |
|
11-Dec-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove unused clip_groups priv member Remove clip_groups from priv and related structure. This code is for 3945 only and was renamed to 4965 in when code was split. Also remove unused RATE definitions Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
30dab79ed40f6c0f8a24e25fd9be7bd873eeeb8b |
|
09-Dec-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: remove qos module parameter The ability of disabling qos from module params is not required anymore. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
759ef89fb096c4a6ef078d3cfd5682ac037bd789 |
|
09-Dec-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: change email contact information This patch replaces personal emails with hopefully always valid Intel Linux Wireless, which will be routed to a current maintainer Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
61ff84a4ce6451c9a0b675d355e0580e53628801 |
|
05-Dec-2008 |
Rami Rosen <ramirose@gmail.com> |
iwlwifi: cleanup (remove pm_state) This patches removes unused variable (pm_state) from iwl-dev.h and from iwl-3945.h. (wireless-testing tree) Signed-off-by: Rami Rosen <ramirose@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
00e540b3768c96a5e2a9d5d39524fef98b2cd981 |
|
05-Dec-2008 |
Halperin, Daniel C <daniel.c.halperin@intel.com> |
iwlwifi: implement iwl_debug_report_frame for iwlagn The old version of this code was copied from 3945 and never updated. This patch cleans up structs that do not apply and accounts for other changes from 3945->iwlagn (e.g., PHY info can come in a separate cmd response from the ucode.) Signed-off-by: Daniel Halperin <daniel.c.halperin@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c02b3acd29766c6f79c2411cb5b85e1ee72c4c8f |
|
02-Dec-2008 |
Chatre, Reinette <reinette.chatre@intel.com> |
iwlwifi: store ucode version number We store the ucode version number as part of iwl_priv/iwl3945_priv. This enables us to determine if particular ucode has support for features in order to have driver support more than one ucode API. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f3f911d1773d31f11038d90b04244bc3986c4ccd |
|
02-Dec-2008 |
Zhu Yi <yi.zhu@intel.com> |
iwlwifi: fix DMA channel number in iwl_txq_ctx_stop The patch fixes the misuse of DMA channel number by Tx queue number in iwl_tx_ctx_stop(). The problem was originally reported by Wu Fengguang who complains iwlagn driver takes too long time when issuing `ifconfig wlan0 down`. The patch now decreases the interface bring down time from 2 seconds to 0.8 second. This fixes bugs: http://bugzilla.kernel.org/show_bug.cgi?id=11956 http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1790 Signed-off-by: Zhu Yi <yi.zhu@intel.com> Tested-by: Fengguang Wu <fengguang.wu@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8f5c87dcf6d1a5e6d7ffe642cfd4debb5ccbec49 |
|
02-Dec-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: move host command check function into separate file This patch moves iwl_check_rxon_cmd into iwl-agn-hcmd-check.c This function compiled out in none debugging or non development mode and more. We haven't decided which one yet hence preserving the current 'always compile' state. More functions will be added to the file namely for checking TX and LQ commands. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
819500c5892aeeed079d3ea1671df40f2dd1d417 |
|
02-Dec-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: 5150 enable DC calibration This patch enables DC calibration for 5150 Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7100e924661cc23609de8e7ab9fc3a13e0173891 |
|
02-Dec-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: 5150 add support for 5150 Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
201706ac0b1ab6df5343119883964ec7272844b0 |
|
20-Nov-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: enable base band calibration in 5000 HW This patch adds base band calibration support. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
352bc8de19a7e5e065d422825e226e8e80cd6576 |
|
12-Nov-2008 |
Zhu, Yi <yi.zhu@intel.com> |
iwlwifi: configure_filter rewrite The patch rewrites the mac80211 configure_filter handler to better mapping mac80211 filter flags to iwlwifi hardware filter flags. We now can support 5 mac80211 filter flags: FIF_OTHER_BSS, FIF_ALLMULTI, FIF_PROMISC_IN_BSS, FIF_BCN_PRBRESP_PROMISC and FIF_CONTROL. This patch also avoids reconnecting if the filter flags are changed when the STA is associated. Because rx_assoc is used when full rxon is not necessary. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
9f58671e8d4f4896acea30020308ce72bf94ec6e |
|
12-Nov-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: consolidate station management code This patch moves code around and group most of the station management code into iwl-sta.c No functional changes (yet) Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
cb299bae8929705bf025fdbd6ce0ffcc62f5b3d0 |
|
07-Nov-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: move iwl_print_hex_dump to iwl-debug.h This patch moves iwl_print_hex_dump to iwl-debug.h where it belongs Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4ddbb7d060061e584cb2137f4c7e41e502a560b4 |
|
07-Nov-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: revamp tx scheduler byte count tables handling This moves byte count tables to tx domain removing completely ambivalent shared data. Changes handling of allocation byte count tables and keep warm consistent memory Moves general tx scheduler definitions from iwl-4956-hw.h to iwl-fh.h Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8d86422a83d79e3d3241cf0f269fca0c2640bcee |
|
07-Nov-2008 |
Winkler, Tomas <tomas.winkler@intel.com> |
iwlwifi: move rx queue read pointer into rxq This patch moves rx status/read registers into iwl_rx_queue structures. This solution is more memory hungry but is more structured and provides needed RX/TX separation Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6ab33d51713d6d60c7677c0d020910a8cb37e513 |
|
21-Nov-2008 |
David S. Miller <davem@davemloft.net> |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ixgbe/ixgbe_main.c include/net/mac80211.h net/phonet/af_phonet.c
|
4018517a1a69a85c3d61b20fa02f187b80773137 |
|
18-Nov-2008 |
Johannes Berg <johannes@sipsolutions.net> |
iwlagn: fix RX skb alignment So I dug deeper into the DMA problems I had with iwlagn and a kind soul helped me in that he said something about pci-e alignment and mentioned the iwl_rx_allocate function to check for crossing 4KB boundaries. Since there's 8KB A-MPDU support, crossing 4k boundaries didn't seem like something the device would fail with, but when I looked into the function for a minute anyway I stumbled over this little gem: BUG_ON(rxb->dma_addr & (~DMA_BIT_MASK(36) & 0xff)); Clearly, that is a totally bogus check, one would hope the compiler removes it entirely. (Think about it) After fixing it, I obviously ran into it, nothing guarantees the alignment the way you want it, because of the way skbs and their headroom are allocated. I won't explain that here nor double-check that I'm right, that goes beyond what most of the CC'ed people care about. So then I came up with the patch below, and so far my system has survived minutes with 64K pages, when it would previously fail in seconds. And I haven't seen a single instance of the TX bug either. But when you see the patch it'll be pretty obvious to you why. This should fix the following reported kernel bugs: http://bugzilla.kernel.org/show_bug.cgi?id=11596 http://bugzilla.kernel.org/show_bug.cgi?id=11393 http://bugzilla.kernel.org/show_bug.cgi?id=11983 I haven't checked if there are any elsewhere, but I suppose RHBZ will have a few instances too... I'd like to ask anyone who is CC'ed (those are people I know ran into the bug) to try this patch. I am convinced that this patch is correct in spirit, but I haven't understood why, for example, there are so many unmap calls. I'm not entirely convinced that this is the only bug leading to the TX reply errors. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
5b9f8cd3eea04770ff186b853bbde1741f321866 |
|
29-Oct-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: rename generic iwlagn functions that had a HW specific name This patch renames functions that are generic in iwl-agn and had a iwl4965 prefix. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4607816f608b42a5379aca97ceed08378804c99f |
|
28-Oct-2008 |
Johannes Berg <johannes@sipsolutions.net> |
iwlwifi: remove unused essid variable Now the essid stuff is unused, so remove it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a96a27f97f2bbfc1fca54bc3c0b0d41484152740 |
|
24-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: run through spell checker Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f69f42a6bbefb311ccb1626fdb61f723160afbfd |
|
24-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: calibration command namespace renaming Since calibration framework is not HW specific remove 5000 and 4965 prefix This patch doesn't provide any functional changes only code renaming and movement Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3fd07a1e5aba89d4be3696c46cb7297f1873195a |
|
24-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: refactor TX response flow This patch utilize 5000 new TX response command which contains all necessary information and avoids back referencing to the original TX frame. It also change handling of software queue tracking 4965 flow is aligned with changes as much as possible. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Reviewed-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
499b1883038a7db2dcf8b64229f8533ce2c8f0fc |
|
14-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: fix TX cmd dma unmapping This patch: 1. fixes command DMA unmapping, this might be visible only on platforms where DMA unmapping is no noop such as PPC64 (not tested) 2. attaches correctly high memory part of the host command buffer 3. changes structure of TFD TB instead of describing transmit buffer (TB) tuple it describes single TB and makes code more readable on price of one unaligned access 4. eliminates using of IWL_GET/SET_BITs for TFD handling 5. renames TFD structures to mach the HW spec 6. reduces iwl_tx_info size by reserving first TB to the host command This patch should not have any visible effect on x86 32 This patch is rework of iwlwifi: fix DMA code and bugs from Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Cc: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
76eff18bdc5feaa53f1be33709b67df02f1d55e9 |
|
14-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: unify tx antenna toggling TX antenna toggling is requested for management frames in tx and scanning. I addition toggling in scanning was incorrect; Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Reviewed-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3257e5d4eb418e4656542207720aef5f0f547701 |
|
14-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove host commands structures from iwl_cmd This patch removes host commands structures from iwl_cmd to make more HW oblivious tx cmd was left it needs special treatment. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Reviewed-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ae5eb02641233a4e9d1b92d22090f1b1afa14466 |
|
14-Oct-2008 |
Johannes Berg <johannes@sipsolutions.net> |
mac80211: rewrite HT handling The HT handling has the following deficiencies, which I've (partially) fixed: * it always uses the AP info even if there is no AP, hence has no chance of working as an AP * it pretends to be HW config, but really is per-BSS * channel sanity checking is left to the drivers * it generally lets the driver control too much HT enabling is still wrong with this patch if you have more than one virtual STA mode interface, but that never happens currently. Once WDS, IBSS or AP/VLAN gets HT capabilities, it will also be wrong, see the comment in ieee80211_enable_ht(). Additionally, this fixes a number of bugs: * mac80211: ieee80211_set_disassoc doesn't notify the driver any more since the refactoring * iwl-agn-rs: always uses the HT capabilities from the wrong stuff mac80211 gives it rather than the actual peer STA * ath9k: a number of bugs resulting from the broken HT API I'm not entirely happy with putting the HT capabilities into struct ieee80211_sta as restricted to our own HT TX capabilities, but I see no cleaner solution for now. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d9fe60dea7779d412b34679f1177c5ca1940ea8d |
|
09-Oct-2008 |
Johannes Berg <johannes@sipsolutions.net> |
802.11: clean up/fix HT support This patch cleans up a number of things: * the unusable definition of the HT capabilities/HT information information elements * variable names that are hard to understand * mac80211: move ieee80211_handle_ht to ht.c and remove the unused enable_ht parameter * mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht * mac80211: fix bug with casting the result of ieee80211_bss_get_ie to an information element _contents_ rather than the whole element, add size checking (another out-of-bounds access bug fixed!) * mac80211: remove some unused return values in favour of BUG_ON checking * a few minor other things Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3195c1f3499912b207ae600968488759b16037fc |
|
08-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: refactor rxon time command This patch refactors rxon time command. It removes the usage of union tsf in favor of u64 value and hopefully makes code more readable. There are no functional changes in this patch. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
be5d56ed885a2897ec813eab4a8055d495816e9a |
|
08-Oct-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: make initial calibration set configurable This patch adds ability to configure initial calibration set. Not all HW supported by iwlwifi use the same calibration set, XTAL is one example. Some clean ups are also included in this patch. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
05c914fe330fa8e1cc67870dc0d3809dfd96c107 |
|
11-Sep-2008 |
Johannes Berg <johannes@sipsolutions.net> |
mac80211: use nl80211 interface types There's really no reason for mac80211 to be using its own interface type defines. Use the nl80211 types and simplify the configuration code a bit: there's no need to translate them any more now. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a33c2f47bd4618b0483d5ec4c5bc793e6d02c1f7 |
|
03-Sep-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: remove uneeded declarations This patch cleans up iwlwifi by removing uneeded declarations and removing uneeded symbol export reducing the namespace pollution. It also fixes some typos in comments. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
04816448d8b77551834c9ea01e407ef5f0042f0f |
|
03-Sep-2008 |
Grumbach, Emmanuel <emmanuel.grumbach@intel.com> |
iwlwifi: use the results from disconnected antenna algorithm This patch makes usage of the results from disconnected antenna alg to know how many antennas are connected. It also synchronizes between the chain noise alg and the W/A that disables power management during association. All the antennas must be enables during the chain noise algorithm. Hence, power management is restored only after the completion of the algorithm. In the future, we will need to update the AP that we don't support MIMO if there is only one antenna connected. We also need to update the rate scaling algorithm. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
12837be1c127e6fba2e3f916a18fc202a9889af2 |
|
03-Sep-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: rename ps_mode to sm_ps This patch renames iwl_priv.ps_mode for clearer iwl_priv.current_ht_config.sm_ps (spatial multiplexing power save). Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
00c5ae2fa0f8191a1b204e71f0ee11359e3b2c06 |
|
03-Sep-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
mac80211: change MIMO_PS to SM_PS This patch follows 11n spec naming more rigorously replacing MIMO_PS with SM_PS (Spatial Multiplexing Power Save). (Originally submitted as 4 patches, "mac80211: change MIMO_PS to SM_PS", "iwlwifi: change MIMO_PS to SM_PS", "ath9k: change MIMO_PS to SM_PS", and "iwlwifi: remove double definition of SM PS". -- JWL) Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
17dce5dfe38ae2fb359b61e855f5d8a3a8b7892b |
|
09-Sep-2008 |
David S. Miller <davem@davemloft.net> |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: net/mac80211/mlme.c
|
9734cb23a02f8de5fa99225ca61c7019ca9f232f |
|
03-Sep-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: fix host command header according the HW spec This patch aligns definition of host command with the spec. The inaccuracies weren't critical though. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c90a74bae10dc2a4677d1bd06b6400db229d3e1e |
|
03-Sep-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: allow association on radar channel in power save This patch disables power save upon association and enables it back after association. This allows to associate to AP on a radar channel if power save is enabled. Radar and passive channels are not allowed for TX (required for association) unless RX is received but PS may close the radio and no RX will be received effectively failing association. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6e21f2c109edd746a10e08186484bae8168cdd0c |
|
03-Sep-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: generic init calibrations framework This patch allows variable number of init calibrations and allows addition new HW. This patch also fixes critical bug. Only last calibration result was applied. On reception of one calibration result all the calibration was freed. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7c0399d3fde0a9958fb8e9a067a463643cf235b5 |
|
03-Sep-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: remove obsolete 4965 forward declarations This patch removes unused forward declarations functions. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4834c73f055b92f719a23e29e275559fa8c29513 |
|
03-Sep-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: fix station mimo power save values This patch fixes the wrong use MIMO power save values. Our TX was configured with our MIMO power save values instead of peer's MIMO power save values, this may affect connectivity. The peer STA/AP may not sense our traffic at all as it doesn't have all RX chains opened. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
39351fa343289070f6f30bd0652e10c8d97f0a3b |
|
04-Aug-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: kill struct iwl4965_lq_mngr This patch removes struct iwl4965_lq_mngr it is not used. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6f0a2c4dfc96d268233a6a882f3805975f91216c |
|
30-Jul-2008 |
Bruno Randolf <br1@einfach.org> |
iwlwifi: use generic mac80211 radiotap headers remove drivers own implementation of radiotap in favor of the generic one provided by mac80211. also remove priv->add_radiotap because it is not used any more. Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
da99c4b6c25964b90c79f19beccda208df1a865a |
|
04-Aug-2008 |
Gregory Greenman <gregory.greenman@intel.com> |
iwlwifi: memory allocation optimization This patch optimizes memory allocation. The cmd member of iwl_tx_queue was allocated previously as a continuous block of memory. This patch allocates separate memory chunks for each command and maps/unmaps these chunks in the run time. Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4fc22b21b3fcb3580c32b70605ef114178f8e611 |
|
21-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: rename 4965 to AGN This patch renames driver name from 4965 to AGN The driver supports both 4965AGN and 5000AGN family The driver's original module name iwl4965.ko remains as an alias Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e227ceac8429ecd775c213838f0415700727b7b4 |
|
18-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: rename iwl-4695-rs to iwl-agn-rs This patch renames iwl-4965-rs to iwl-agn-rs as it provides rate scale capability for all AGN capable iwlwifi drivers. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4bf64efd26f5610cde4fb7846e2f37bd1f62d3a9 |
|
18-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move beacon handling to iwl4965-base.c This patch concentrates becaon handling in iwl4965-base.c. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d783b061077f92af55244aef1df8780b0f46b5af |
|
18-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move iwl4965_mac_ampdu_action to iwl4965-base.c This patch moves iwl4965_mac_ampdu_action to iwl4965-base.c. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ca579617d81baf5865498eb5fae58e453ee77c2c |
|
18-Jul-2008 |
Mohamed Abbas <mohamed.abbas@intel.com> |
iwlwifi: add power save to 5000 HW This patch adds support for power save for 5000 HW. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d16dc48a2ea14af9980d0ea79d041f4b53e47b62 |
|
11-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: unify 4965 and 5000 scanning code This patch unifies 4965 and 5000 scanning code. We increases the version number to 1.3.27. Since new uCode iwlwifi-4965-2.ucode is required for 4965 cards. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ec1a746042ea4c1c93065185897d6e8d3e7de894 |
|
11-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: LED use correctly blink table This patch makes correct usage of the LED blink table. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
0eee612731e133604023bfa8d20047e98160845e |
|
11-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: fix LED stall This patch fixes LED stall. last_blink_time was updated only if LED command was sent, causing wrong computation of the througput. Some code cleanup comes with this patch as well Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1ff50bda6eef4466366e197541508fc69af0f0c0 |
|
11-Jul-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: make iwl4965_mac_conf_tx in atomic context This patch fixes iwl4965_mac_conf_tx. A mutex was taken in atomic context leading to Oops. This patch removes the mutex and extends the hold priv->lock. None of the field of QOS is accessed without priv->lock held. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
65fdbb48eb43e33e94239677a75422ddc6f5eb75 |
|
11-Jul-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove post associate work This patch removes post associate work. It wasn't used. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
474086396276a01190974797a69a95fb14ae7cc9 |
|
11-Jul-2008 |
Esti Kummer <stkumer@localhost.localdomain> |
iwlwifi: adding pci device ids to iwl_hw_card_ids The patch adds PCI device IDs to iwl_hw_card_ids. Signed-off-by: Esti Kummer <stkumer@localhost.localdomain> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4bd9b4f334c31a79bdfee4db5dbb6aa430090446 |
|
11-Jul-2008 |
Adel Gadllah <adel.gadllah@gmail.com> |
iwl3965: remove useless network and duplicate checking mac802 can handle duplicate packages on its own, so let it do it. The patch is based on patch from Johannes Berg for iwl4965. Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
994d31f7430c3639b73c6ee038bd437c926b1227 |
|
02-Jul-2008 |
Helmut Schaa <hschaa@suse.de> |
iwlwifi: fix typo which caused iwl_get_tx_fail_reason to ever return an empty string Signed-off-by: Helmut Schaa <hschaa@suse.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
80fcc9e28cf3a209fbfb39a7bbddc313c59c7424 |
|
01-Jul-2008 |
Adel Gadllah <adel.gadllah@gmail.com> |
iwlwifi: remove input device and fix rfkill state This patch fixes the iwlwifi rfkill. It removes the input device from iwl3945, adds support for RFKILL_STATE_HARD_BLOCKED and calls rfkill_force_state() to update the state rather than accessing it directly. The calls to iwl|iwl3945_rfkill_set_hw_state() had to be moved because rfkill_force_state() cannot be called from an atomic context. Tested on iwl3945 and seems to work fine. Cc: Randy Dunlap <randy.dunlap@oracle.com> Cc: Ivo van Doorn <ivdoorn@gmail.com> Cc: Fabien Crespel <fcrespel@gmail.com> Cc: Zhu Yi <yi.zhu@intel.com> Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
36e1f16ed293d47f052f3532f2fc74c1bfe9c09e |
|
30-Jun-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: remove obsolete lq_ready use This patch removes the use of lq_ready, once used to sync between link quality commands to avoid race conditions, but no longer needed as bss_info_changed is in use. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4b8817b2a06958efd868677880334229fe5a96cf |
|
30-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: remove useless network and duplicate checking The iwlwifi drivers go to great lengths to avoid passing packets to mac80211 they think shouldn't go there, while mac80211 can (of course!) handle them very well. Especially in the case of duplicate packets this is interesting because it's such a performance hog (especially for IBSS networks) while mac80211 does that work on the side without much effort. This patch removes all that and leaves only what is absolutely necessary for the hardware. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1781a07fbe9cce3dc1697288a5edd260ea7edc02 |
|
30-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: move RX handlers to iwl-rx.c This patch moves RX handlers to iwl-rx.c Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8f91aecb4cdc2d786df8941e827b9dff3c10a4e4 |
|
30-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: move RX stats to core, and move temperature to handler This patch moves RX stats flow to core modules, and moves temperature calibration to handler since it is not needed in 5000. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
14a08a7fcf72a8d69cdee225cc76c50b229faa20 |
|
13-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: unify SW rf-kill flow This patch unifies SW rf-kill flow between 4965 and 5000. It enables SW RF-kill for 5000. This patch also solves a bug in iwl4965_mac_config: bad mutex locking balance. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
14b3d3387c95cc78f3d740ea53577d9ff41415e3 |
|
13-Jun-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: remove 4965 prefix from iwl4965_ucode The patch removes 4965 prefix from iwl4965_ucode. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
be1f3ab6e5e9788fd2985117b40755130058a2be |
|
12-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: general code clean up This patch cleans up iwlwifi's code: Add missing include, remove empty lines etc... Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
91dbc5bdbaccc3e89f757afb53c6956c40b80306 |
|
12-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: retfactor get_temperature functions This patch renames iwl4965_get_tempearture to iwl4965_hw_get_temperature and replaces usage of original iwl4965_hw_get_temperature by direct access to priv->temperature. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
f53696de6722a4aac00b76e25a5321c01e88a55f |
|
12-Jun-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: cleans up scanning code This patch 1. cleans up scanning code. 2. It adds round robin of TX antannas/chains. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e7d326ac437e9e9425dcd79382f4e5f6ca31fb16 |
|
12-Jun-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move rate helpers to iwlcore This patch moves rate helpers to iwlcore. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
2a421b91d6fe89e27ded7544a25449c0b050098f |
|
12-Jun-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move scan to iwl-scan.c iwlcore This patch moves scan code to iwl-scan.c file in iwlcore module. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
630fe9b6f774dd55b71fe94392101eb00df58762 |
|
12-Jun-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: refactor setting tx power This patch 1. Refactors settings of tx power 2. enables iwconfig txpower <value> 3. adds 5000 HW tx power Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
64e72c3efc2e4753ddfdd27ba8c7a31d6b11faba |
|
12-Jun-2008 |
Mohamed Abbas <mabbas@linux.intel.com> |
iwlwifi: fix resume SW RF-kill This patch fixes SW RF-kill. If we resumed from S3 state with SW RF-kill set, the driver wouldn't be able to remove SW RF-kill. This patch fixes this. Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
753f766108158c65ac62cddd26dddcb3f7d9cc3a |
|
12-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: fix bug when moving from 11gn to 11a or 11an to 11g It is wrong to set the rxon channel according to the ht-channel in case there is a mismatch (e.g. when there is no ht). Signed-off-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
963f55178b25cb673ab438edaae4127b1d014bc1 |
|
12-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: remove redundant flags regarding to FAT channel This patch removes redundant flags regarding to FAT channel. Use mac80211's flag instead. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7f3e4bb60f81dd172d5e4b89220cb3f80c6dc552 |
|
12-Jun-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: map sw and hw ampdu queues This patch maps sw and hw queues (for aggregations), so the right mac80211 queue will be waken when ieee80211_wake_queue is invoked. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
203566f359b5702be72238a8b1d37655c986cc7c |
|
12-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: add possibility to disable tx_power calibration This patch adds the possibility to disable the tx_power calibration. In 5000 HW, this calibration is implemented in uCode, hence, it is disabled in driver by default. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4e39317df0f9e48919130574238319f9a445e6e3 |
|
12-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: clean up in setup/cancel deferred work This patch makes some clean up in setup/cancel_deferred_work. iwl_setup_deferred_work does the work that is common to 4965 and 5000, then it calls to HW specific handlers. This patch also removes uneeded work_struct from iwl_priv. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
16e727e866d739d7f02790c794410f6d9f1d720b |
|
12-Jun-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: removes the RUN_TIME_CALIB ifdef This patch removes the possibility not to compile the run time calibrations. It also renames priv->sensitivity_work to priv->run_time_calib_work, and moves bg_run_time_calib to iwl4965_base since it is common to both: 4965 and 5000. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4f85f5b39208e755a93f63296ec1224d14121b6c |
|
09-Jun-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: removing IWL4965_HT config This patch removes CONFIG_IWL4965_HT #ifdefs for iwl 4965 and 5000. 11n feature is stable in those drivers and its mode of operation is determined in mac80211, so this dependency is not needed any more. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d2f18bfd9bc6b51c8bb72b272ecca902a88387d4 |
|
29-May-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: send calibration results as HUGE commands This patch saves memory by reducing the size of the entry in the txq. It was 640 because of the calibration commands. Calibration commands are now sent as HUGE commands (using the extra 1024 bytes at the end of the command txq), hence, there is no need for 640 in every entry any more. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
37a44211cbe27795dbb79b2ea7036ff784f18d73 |
|
29-May-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: Rx handlers common use for 4965 and 5000 This patch moves Rx handlers from iwl 4965 only use to common use along with iwl 5000, thus enables Rx path to iwl 5000. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
17b889290a184b52ee394c31dd5a52b8c1b3456d |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move tx reclaim flow into iwl-tx This patch 1. moves TX reclaim flow into iwl-tx 2. separates command queue and tx queue reclaim flow Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a332f8d618a7bdb0096c7b21555120a1822cedec |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move tx response common handlers to iwlcore This pach moves common tx response handlers to the header files and iwl-tx.c. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7c616cba240cd0d579c996be3f3603456acfb0ad |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi-5000: implement initial calibration for 5000 This patch adds initial calibration framework for 5000 HW faimily. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7a999bf0c5eb19b20ac6ab0f21f6e5013400fa51 |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: add remove station functionality This patch adds remove station functionality, which is required for 5000 and AP mode. There are still some gaps in managment that need to be closed but it provides sufficient functionality for 5000 HW. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
b3bbacb78bc688707ac312158c5bbc6bbbb55b23 |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move iwl_rxq_stop into iwl-rx.c This patch moves iwl_rxq_stop into iwl-rx.c. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
da1bc4539f9b10dc30ac1750fbaaf5afae4b3446 |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move txq_ctx_stop into iwl-tx.c This patch moves txq_ctx_stop into iwl-tx.c iwlcore module. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
46315e012236af887cf442fd494a91b1d36858b9 |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: refactor stop master function This patch refactors stop master function for 4965 and 5000. Currently it duplicates the function. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
7f066108d15d06ec3534434333f0274c868fe798 |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: implement apm reset flow This patch implements apm reset flow for 4965 and 5000. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
885ba202cabd90b8ade1fe59185dc96ed4d69e02 |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove 4965 from alive_resp structures This patch removes 4965 from alive_resp and init_alivie_resp. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
84df9d3130118146c9aedf5146040f9f6495f471 |
|
29-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove notif_missed_beacons variable This patch removes notif_missed_beacons from priv since it was never used. Missed beacons notification will have only meaning if roaming will be implemented in mac80211. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bd68fb6f010eb312ba20349311aceb89848ad5ff |
|
29-May-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: increase max payload of iwl_cmd This patch increases iwl_cmd payload maximum size from 360 to 640 to fit some of iwl5000 commands as well. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
e039fa4a4195ac4ee895e6f3d1334beed63256fe |
|
15-May-2008 |
Johannes Berg <johannes@sipsolutions.net> |
mac80211: move TX info into skb->cb This patch converts mac80211 and all drivers to have transmit information and status in skb->cb rather than allocating extra memory for it and copying all the data around. To make it fit, a union is used where only data that is necessary for all steps is kept outside of the union. A number of fixes were done by Ivo, as well as the rt2x00 part of this patch. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
445c2dff409ef9de5d2f964d20917ab238fd266f |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: add debugfs to disable/enable run time calibration This patch adds functionality to debugfs to enable or disable chain noise or sensitivity calibrations. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
dbb983b70a4696666112591572ed49c48c58da26 |
|
15-May-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: add ucode loaders for iwl5000 This patch adds ucode initialization handler and functions to load ucode for iwl5000 NIC. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3647074973e70d0872b96ada27bbbb71fd1f628c |
|
15-May-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: rename and move Tx queue activation/deactivation This patch moves iwl4965_txq_ctx_activate and iwl4965_txq_ctx_deactivate to iwl-dev.h and removes 4965 prefix from their names. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
ccc038abe4cb00cf56aeae5b1df47fcc4ed4136c |
|
15-May-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: clean up and bug fix for security This patch cleans up code in security. 1) uses the new pointer to ieee80211_key_conf passed with the tx_control. 2) resolves bug reported by Mirco Tischler (sends ADD_STA in ASYNC mode) 3) resolves bug reported by Volker Braun regarding dynamic WEP 4) drops a WEP packet which has been garbaged by firmware. This can happen upon rekeying. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a98410139a2ef6553ae5d73bf12bb9a68d0b38b9 |
|
15-May-2008 |
Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
iwlwifi: don't switch to SGI if not supported by AP This patch fixes SGI support. RS didn't look at the capabilities of the AP before switching to SGI, this should lead to a stall in the traffic with an AP that doesn't support SGI. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fd4abac54a7a7f1c0acad5ddc1fbf4af22f92569 |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move TX code into iwl-tx.c This patch moves the sending part of the TX code into iwl-tx.c including sending host commands. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
54dbb525e7b8580b86af352cf60b27cc889c2ae4 |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: refactor ieee80211_get_qos_ctrl This patch refactors ieee80211_get_qos_ctrl function and its usage in iwlwifi drivers. Function is moved as inline into iwl-helpers.h. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
83d527d9e8f9aff92cbd33f208f77c055dabb499 |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove 4956 form iwl4965_tx_cmd This patch renames iwl4965_tx_cmd to iwl_tx_cmd and cleans collateral code. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4f40e4d9fb8fe028db9ba2a7b4d3ac7328f73bbc |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move more station managment into iwl-sta.c This patch moves station management functions into iwl-sta.c (iwlcore). Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
57bd1bea485bf6f37ff365dec2203ba6467b41a1 |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move iwl_bcast_addr to iwlcore This patch renames iwl4965_broadcast_addr to iwl_bcast_addr and moves it to iwlcore. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
fcab423d716f923d6a7601ba33adf356bef83414 |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove 4965 prefix from iwl4965_frame This patch removes 4965 from iwl4965_frame struct and handling functions. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
c1adf9fb31e31ee753d613bd5bc6aef9b762b747 |
|
15-May-2008 |
Gregory Greenman <gregory.greenman@intel.com> |
iwlwifi: get_hw_cmd_size This patch introduces a new handler get_hw_cmd_size in hcmd_utils, which should adjust the size of the command sent to the microcode according to the current nic. It also changes the RXON flow to make usage of this new handler. The patch also adds iwl_rxon_cmd structure which is supperset for 5000 HW and 4965. Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
8567c63e3385688b95658fe31b3ac8f4436b1b0f |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: rename iwl4965_tx_info to iwl_tx_info This patch renames iwl4965_tx_info to iwl_tx_info. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
443cfd457f780e40ceab7e00fbb6a56882848834 |
|
15-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: rename iwl4965_queue to iwl_queue This patch renames iwl4965_queue to iwl_queue. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
164669032ecbf7c9a3bc78adad4e13ee486e975c |
|
05-May-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: remove 4965 prefix from iwl4965_kw and iwl4965_tx_queue This patch removes the 4965 prefix to form iwl_kw and iwl_tx_queue structs, as they are used mostly in iwlcore now. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
d67f5489d8d9be09bc8e1615ec6c57c3120a731d |
|
05-May-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: handle shared memory Rx index access This patch splits ucode's and driver's shared memory Rx index access to match 4965 and 5000 offsets. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
4419e39b6041b213e49bb13fd40fb267de0eb568 |
|
05-May-2008 |
Abhijeet Kolekar <abhijeet.kolekar@intel.com> |
iwlwifi : Set monitor mode for 4965 The patch leverages mac80211 configure_filter to enable iwl4965 monitor mode. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
1053d35f4ed6876ad9d3a14cdae363db0a7e9b0a |
|
05-May-2008 |
Ron Rindjunsky <ron.rindjunsky@intel.com> |
iwlwifi: move NIC init and Tx queues init to iwlcore This patch does the following: 1 - change hw_nic_init from a handler to a function 2 - move hw_nic_init function to iwlcore 3 - open a new file - iwl-tx.c 4 - move all Tx queues initialization (part of NIC init) to iwl-tx.c 5 - move iwl_rx_init, previously as part of the NIC init, to iwl-rx.c 6 - iwl4965_tfd_frame rename to iwl_tfd_frame Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
47c5196e4a340667d8d92053380ecca24ed45a9b |
|
05-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move iwl4965_set_rxon_ht into iwlcore This patch moves iwl4965_set_rxon_ht to iwlcore under name iwl_set_rxon_ht. It also moves collateral changes iwl_is_channel_extension and iwl_is_fat_tx_allowed. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
bf403db8a2f5580a5eb355a109d29b9287ca51e1 |
|
05-May-2008 |
Ester Kummer <ester.kummer@intel.com> |
iwlwifi: move per driverdebug_level to per device This patch ports the debug_level to iwl_priv and changes the format of the debug prints. Signed-off-by: Ester Kummer <ester.kummer@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
133636deffc86809f59a0c8b768408d13237a9a2 |
|
05-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: generalize iwl4965_send_add_station function This patch moves iwl4965_send_add_station to iwlcore under new name iwl_send_add_sta. Function uses build command handler in order to support multiple HWs. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
6def9761f72501e638e79eebcd70afea12a3a93d |
|
05-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: remove 4965 from station_entry This patch removes 4965 mark form the station entry structure. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
a55360e458551b0add4ec147ef786d71e163bf50 |
|
05-May-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: move RX code to iwl-rx.c This patch moves partialy rx code into iwl-rx.c as part of iwlcore. The second part of the code can be merged only with moving of tx code as well. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|
3e0d4cb12f6fd97193a455b49125398b2231c87c |
|
24-Apr-2008 |
Tomas Winkler <tomas.winkler@intel.com> |
iwlwifi: rename iwl-4965.h to iwl-dev.h This patch renames iwl-4965.h to iwl-dev.h Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/iwlwifi/iwl-dev.h
|