1. 27 Jan, 2012 7 commits
    • Francois Romieu's avatar
      r8169: remove work from irq handler. · da78dbff
      Francois Romieu authored
      The irq handler was a mess.
      
      See 7ab87ff4 ("via-rhine: move work from
      irq handler to softirq and beyond") for similar changes. One can notice:
      - all non-napi tasks are explicitely scheduled trough a single work queue.
      - hiding software tx queue start behind the rtl_hw_start method is mildly
        natural. Move it in the caller where needed.
      - as can be seen from the heavy use of bh disabling locks, the driver is
        not safe for irq context messages with netconsole. It is still quite
        usable for general messaging though. Tested ok with concurrent registers
        dump (ethtool -d) + background traffic + "echo t > /proc/sysrq-trigger".
      
      Tested with old PCI chipset, PCIe 8168 and 810x:
      - XID 0c900800 RTL8168evl/8111evl
      - XID 18000000 RTL8168b/8111b
      - XID 98000000 RTL8169sc/8110sc
      - XID 083000c0 RTL8168d/8111d
      - XID 081000c0 RTL8168d/8111d
      - XID 00b00000 RTL8105e
      - XID 04a00000 RTL8102e
      
      As a side note, the comments in f11a377b
      ("r8169: avoid losing MSI interrupts") does not seem completely clear: if
      I hack the driver further to stop acking the irq link event bit, MSI
      interrupts keep being delivered (RTL8168b/8111b, XID 18000000).
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      da78dbff
    • Francois Romieu's avatar
      r8169: missing barriers. · 1e874e04
      Francois Romieu authored
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      1e874e04
    • Francois Romieu's avatar
      r8169: irq mask helpers. · 9085cdfa
      Francois Romieu authored
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      9085cdfa
    • Francois Romieu's avatar
      r8169: factor out IntrMask writes. · 3e990ff5
      Francois Romieu authored
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      3e990ff5
    • Francois Romieu's avatar
      r8169: stop delaying workqueue. · 4422bcd4
      Francois Romieu authored
      Though motivated by the move of the driver to a single work queue of
      sequential events and removal of hard irq processing, it looks safe as
      a standalone change.
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      4422bcd4
    • Francois Romieu's avatar
      r8169: remove rtl8169_reinit_task. · 209e5ac8
      Francois Romieu authored
      I see no good reason to keep both rtl8169_reinit_task and rtl8169_reset_task:
      - rtl8169_reinit_task adds a software failure point which does relate to
        any hardware state
      - they handle hardware the same. Remember that rtl8169_reinit_task was
        introduced in the 8169 only era to handle PCI errors way before the 8168
        asked for pll and firmware ops and compare :
      
            rtl8169_reinit_task     |    rtl8169_reset_task
        ----------------------------+--------------------------
        rtl8169_wait_for_quiescence | rtl8169_hw_reset
        rtl8169_update_counters     | rtl8169_wait_for_quiescence
        rtl8169_hw_reset            | rtl_hw_start
        rtl8169_rx_missed           | rtl8169_check_link_status
        rtl_pll_power_down          |
        rtl_request_firmware        |
        rtl8169_init_phy            |
        rtl_pll_power_up            |
        rtl_hw_start                |
        rtl8169_check_link_status   |
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      209e5ac8
    • Francois Romieu's avatar
  2. 26 Jan, 2012 31 commits
  3. 25 Jan, 2012 2 commits
    • Bjørn Mork's avatar
      net: usb: qmi_wwan: New driver for Huawei QMI based WWAN devices · 9b28ecd6
      Bjørn Mork authored
      Some WWAN LTE/3G devices based on chipsets from Qualcomm provide
      near standard CDC ECM interfaces in addition to the usual serial
      interfaces.   The Huawei E392/E398 are examples of such devices.
      
      These typically cannot be fully configured using AT commands
      over a serial interface.  It is necessary to speak the proprietary
      Qualcomm MSM Interface (QMI) protocol to the device to enable the
      ethernet proxy functionality.
      
      The devices embed the QMI protocol in CDC on the control interface,
      using standard CDC commands and notifications. The do not otherwise
      use CDC commands for the ethernet function.  This driver does
      therefore not need access to any other aspects of the control
      interface than the descriptors attached to it.
      
      Another driver, cdc-wdm, will provide userspace access to the
      QMI protocol independently of this driver.  To facilitate this,
      this driver avoids binding to the control interface, and uses
      only the associated data interface after parsing the common CDC
      functional descriptors on the control interface.
      
      You will want both the cdc-wdm and option drivers as companions to
      this driver, to have full access to all interfaces and protocols
      exported by the device.
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b28ecd6
    • danborkmann@iogearbox.net's avatar
      drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver · 8a3b7a25
      danborkmann@iogearbox.net authored
      This driver adds support for Xilinx 10/100/1000 AXI Ethernet.
      
      It can be used, for instance, on Xilinx boards with a Microblaze
      architecture like the ML605.
      
      The patch is against the latest net-next tree and checkpatch clean.
      Signed-off-by: default avatarAriane Keller <ariane.keller@tik.ee.ethz.ch>
      Signed-off-by: default avatarDaniel Borkmann <daniel.borkmann@tik.ee.ethz.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8a3b7a25