android_kernel_motorola_sm6225/drivers/net/wireless/iwlwifi
Johannes Berg 0c19744c34 iwlwifi: process multiple frames per RXB
The flow handler (hardware) can put multiple
frames into a single RX buffer. To handle
this, walk the RX buffer and check if there
are multiple valid packets in it.

To let the upper layer handle this correctly
introduce rxb_offset() which is needed when
we pass pages to mac80211 -- we need to know
the offset into the page there.

Also change the page handling scheme to use
refcounting. Anyone who needs a page will
"steal" it, which marks it as having been
used & refcounts it. The RX handler then has
to free its own reference and must not reuse
the page.

Finally, do not set the bit asking the FH to
give us each packet in a single buffer. This
really enables the feature.

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>
2012-04-09 16:37:14 -04:00
..
iwl-1000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-2000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-5000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-6000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-agn-calib.c iwlwifi: remove unused arguments from iwlagn_gain_computation 2012-03-08 13:59:45 -05:00
iwl-agn-calib.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-hw.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-lib.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-03-16 13:45:25 -04:00
iwl-agn-rs.c iwlwifi: remove unused argument from rs_initialize_lq 2012-03-08 13:59:45 -05:00
iwl-agn-rs.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-rx.c iwlwifi: process multiple frames per RXB 2012-04-09 16:37:14 -04:00
iwl-agn-rxon.c mac80211: rename bss_conf timestamp to last_tsf 2012-03-13 14:54:20 -04:00
iwl-agn-sta.c iwlwifi: don't delete AP station directly 2012-03-08 14:02:29 -05:00
iwl-agn-tt.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-agn-tt.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-tx.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-agn.c iwlwifi: remove un-needed parameter 2012-04-09 16:37:13 -04:00
iwl-agn.h iwlwifi: don't delete AP station directly 2012-03-08 14:02:29 -05:00
iwl-cfg.h iwlwifi: make config const 2012-03-06 15:16:11 -05:00
iwl-commands.h iwlwifi: clean up iwl-commands.h 2012-03-07 13:56:36 -05:00
iwl-core.c iwlwifi: avoid some operations if no uCode loaded 2012-03-12 14:22:02 -04:00
iwl-core.h iwlwifi: move BT/HT params to shared 2012-03-08 13:59:48 -05:00
iwl-csr.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-debug.c iwlwifi: remove per-device debug level 2012-03-06 15:16:10 -05:00
iwl-debug.h iwlwifi: move status check functions out of shared 2012-03-07 13:51:51 -05:00
iwl-debugfs.c iwlwifi: change struct iwl_fw 2012-03-12 14:22:09 -04:00
iwl-dev.h iwlwifi: explicitly track whether INIT uCode was run 2012-03-12 14:22:04 -04:00
iwl-devtrace.c iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-devtrace.h iwlwifi: make tracing use device as identifier 2012-03-07 13:51:52 -05:00
iwl-drv.c iwlwifi: Add bool mvm_ucode to iwl_fw 2012-03-12 14:22:10 -04:00
iwl-drv.h iwlwifi: make config const 2012-03-06 15:16:11 -05:00
iwl-eeprom.c iwlwifi: make EEPROM enhanced TX power a bool 2012-03-08 13:59:49 -05:00
iwl-eeprom.h iwlwifi: make EEPROM enhanced TX power a bool 2012-03-08 13:59:49 -05:00
iwl-fh.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-fw-file.h iwlwifi: Add TLVs and fields for 16.0 uCode 2012-03-12 14:22:08 -04:00
iwl-fw.h iwlwifi: Add bool mvm_ucode to iwl_fw 2012-03-12 14:22:10 -04:00
iwl-io.c iwlwifi: cleanup/fix memory barriers 2012-03-08 13:59:50 -05:00
iwl-io.h iwlwifi: always check if got h/w access before write 2012-03-08 13:59:50 -05:00
iwl-led.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-led.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-mac80211.c iwlwifi: change struct iwl_fw 2012-03-12 14:22:09 -04:00
iwl-notif-wait.c iwlwifi: abstract out notification wait support 2012-03-07 13:56:32 -05:00
iwl-notif-wait.h iwlwifi: move packet to transport 2012-03-07 13:56:34 -05:00
iwl-op-mode.h iwlwifi: virtualize nic_config 2012-03-07 13:56:34 -05:00
iwl-pci.c iwlwifi: reduce IDI code ifdef 2012-03-06 15:16:11 -05:00
iwl-phy-db.c iwlwifi: phy_db structure 2012-04-09 16:37:12 -04:00
iwl-phy-db.h iwlwifi: phy_db structure 2012-04-09 16:37:12 -04:00
iwl-power.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-power.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-prph.h iwlwifi: fix cmd_queue number merge 2012-03-09 13:20:50 -05:00
iwl-scan.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-shared.h iwlwifi: Add TLVs and fields for 16.0 uCode 2012-03-12 14:22:08 -04:00
iwl-testmode.c iwlwifi: change struct iwl_fw 2012-03-12 14:22:09 -04:00
iwl-testmode.h iwlwifi: add testmode command for rx forwarding 2012-03-08 13:59:52 -05:00
iwl-trans-pcie-int.h iwlwifi: abstract out missing SEQ_RX_FRAME workaround 2012-03-12 14:21:56 -04:00
iwl-trans-pcie-rx.c iwlwifi: process multiple frames per RXB 2012-04-09 16:37:14 -04:00
iwl-trans-pcie-tx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-03-16 13:45:25 -04:00
iwl-trans-pcie.c iwlwifi: process multiple frames per RXB 2012-04-09 16:37:14 -04:00
iwl-trans.h iwlwifi: process multiple frames per RXB 2012-04-09 16:37:14 -04:00
iwl-ucode.c iwlwifi: change struct iwl_fw 2012-03-12 14:22:09 -04:00
Kconfig iwlwifi: phy_db structure 2012-04-09 16:37:12 -04:00
Makefile iwlwifi: phy_db structure 2012-04-09 16:37:12 -04:00