1. 16 7月, 2011 4 次提交
  2. 01 7月, 2011 1 次提交
  3. 18 6月, 2011 1 次提交
  4. 07 5月, 2011 1 次提交
    • C
      iwlwifi: support the svtool messages interactions through nl80211 test mode · 4613e72d
      Cindy H. Kao 提交于
      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: NCindy H. Kao <cindy.h.kao@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      4613e72d
  5. 01 5月, 2011 1 次提交
  6. 18 4月, 2011 1 次提交
  7. 08 4月, 2011 1 次提交
    • J
      iwlagn: move IO functions out of line · 02a7fa00
      Johannes Berg 提交于
      This generates a massive reduction in module size:
      with debug:
         text	   data	    bss	    dec	    hex	filename
       670300	  13136	    420	 683856	  a6f50	iwlagn.ko (before)
       388347	  13136	    408	 401891	  621e3	iwlagn.ko (after)
      
      without debug:
         text	   data	    bss	    dec	    hex	filename
       528575	  13072	    420	 542067	  84573	iwlagn.ko (before)
       294192	  13072	    408	 307672	  4b1d8	iwlagn.ko (after)
      
      This also removes all the IO debug functionality since
      it can easily be replaced by tracing, and makes the
      code unnecessarily complex.
      
      I haven't done any CPU utilisation measurements, but
      given that the hotpaths don't use much IO it is not
      likely to have a negative impact; in fact, the size
      reduction will reduce cache pressure which possibly
      improves performance.
      
      Finally, an unused function or two were removed.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      02a7fa00
  8. 01 3月, 2011 1 次提交
  9. 22 2月, 2011 3 次提交
  10. 22 1月, 2011 1 次提交
  11. 23 11月, 2010 1 次提交
  12. 16 11月, 2010 3 次提交
  13. 15 10月, 2010 1 次提交
  14. 08 10月, 2010 1 次提交
    • J
      iwlwifi: move agn specific station code there · a30e3112
      Johannes Berg 提交于
      By duplicating a little bit of code between 3945
      and agn, we can move a lot of code into an agn
      specific station management file and thus reduce
      the amount of code in core that is dead to 3945.
      
      before:
         text	   data	    bss	    dec	    hex	filename
       212886	   3872	     96	 216854	  34f16	iwlcore.ko
       620542	  10448	    304	 631294	  9a1fe	iwlagn.ko
       314013	   3264	    196	 317473	  4d821	iwl3945.ko
      
      after:
         text	   data	    bss	    dec	    hex	filename
       202857	   3872	     92	 206821	  327e5	iwlcore.ko
       629102	  10448	    308	 639858	  9c372	iwlagn.ko
       314240	   3264	    196	 317700	  4d904	iwl3945.ko
      
      delta:
       -10029   iwlcore.ko
         8560   iwlagn.ko
          227   iwl3945.ko
      
      so it's a net win even if you have both loaded,
      likely because a lot of EXPORT_SYMBOLs go away.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      a30e3112
  15. 25 8月, 2010 1 次提交
  16. 22 6月, 2010 2 次提交
  17. 01 5月, 2010 1 次提交
  18. 17 4月, 2010 1 次提交
  19. 26 3月, 2010 4 次提交
  20. 10 3月, 2010 1 次提交
  21. 26 1月, 2010 2 次提交
  22. 08 10月, 2009 2 次提交
    • J
      iwlwifi: LED cleanup · e932a609
      Johannes Berg 提交于
      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: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e932a609
    • J
      iwlwifi: device tracing · be1a71a1
      Johannes Berg 提交于
      In order to have an easier way to debug issues, create
      trace events (using the ftrace framework) that will
      allow us to follow exactly what the driver is doing
      with the device.
      
      The text format isn't all that useful, but the binary
      format can also be obtained easily via debugfs and
      then analysed on the fly or offline with debugging
      tools.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      be1a71a1
  23. 11 6月, 2009 1 次提交
  24. 17 3月, 2009 2 次提交
  25. 28 2月, 2009 1 次提交
    • R
      iwlwifi: Fix and rework Kconfig file · 80bc5393
      Reinette Chatre 提交于
      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: NReinette Chatre <reinette.chatre@intel.com>
      Reported-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      80bc5393
  26. 10 2月, 2009 1 次提交