1. 06 12月, 2015 5 次提交
  2. 05 12月, 2015 9 次提交
    • B
      net: qmi_wwan: support "raw IP" mode · 32f7adf6
      Bjørn Mork 提交于
      QMI wwan devices have traditionally emulated ethernet devices
      by default. But they have always had the capability of operating
      without any L2 header at all, transmitting and receiving "raw"
      IP packets over the USB link.  This firmware feature used to be
      configurable through the QMI management protocol.
      
      Traditionally there was no way to verify the firmware mode
      without attempting to change it.  And the firmware would often
      disallow changes anyway, i.e. due to a session already being
      established.  In some cases, this could be a hidden firmware
      internal session, completely outside host control.  For these
      reasons, sticking with the "well known" default mode was safest.
      
      But newer generations of QMI hardware and firmware have moved
      towards defaulting to "raw IP" mode instead, followed by an
      increasing number of bugs in the already buggy "802.3" firmware
      implementation. At the same time, the QMI management protocol
      gained the ability to detect the current mode.  This has enabled
      the userspace QMI management application to verify the current
      firmware mode without trying to modify it.
      
      Following this development, the latest QMI hardware and firmware
      (the MDM9x30 generation) has dropped support for "802.3" mode
      entirely. Support for "raw IP" framing in the driver is therefore
      necessary for these devices, and to a certain degree to work
      around problems with the previous generation,
      
      This patch adds support for "raw IP" framing for QMI devices,
      changing the netdev from an ethernet device to an ARPHRD_NONE
      p-t-p device when "raw IP" framing is enabled.
      
      The firmware setup is fully delegated to the QMI userspace
      management application, through simple tunneling of the QMI
      protocol. The driver will therefore not know which mode has been
      "negotiated" between firmware and userspace. Allowing userspace
      to inform the driver of the result through a sysfs switch is
      considered a better alternative than to change the well established
      clean delegation of firmware management to userspace.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      32f7adf6
    • B
      usbnet: allow mini-drivers to consume L2 headers · 81e0ce79
      Bjørn Mork 提交于
      Assume the minidriver has taken care of all L2 header parsing
      if it sets skb->protocol.  This allows the minidriver to
      support non-ethernet L2 headers, and even operate without
      any L2 header at all.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Acked-by: NOliver Neukum <oneukum@suse.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      81e0ce79
    • B
      net: qmi_wwan: remove 1199:9070 device id · 544c8f65
      Bjørn Mork 提交于
      This turned out to be a bootloader device ID.  No need for
      that in this driver.  It will only provide a single serial
      function.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      544c8f65
    • B
      net: qmi_wwan: MDM9x30 specific power management · 93725149
      Bjørn Mork 提交于
      MDM9x30 based modems appear to go into a deeper sleep when
      suspended without "Remote Wakeup" enabled.  The QMI interface
      will not respond unless a "set DTR" control request is sent
      on resume. The effect is similar to a QMI_CTL SYNC request,
      resetting (some of) the firmware state.
      
      We allow userspace sessions to span multiple character device
      open/close sequences.  This means that userspace can depend
      on firmware state while both the netdev and the character
      device are closed.  We have disabled "needs_remote_wakeup" at
      this point to allow devices without remote wakeup support to
      be auto-suspended.
      
      To make sure the MDM9x30 keeps firmware state, we need to
      keep "needs_remote_wakeup" always set. We also need to
      issue a "set DTR" request to enable the QMI interface.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93725149
    • S
      net:hns: Add the init code to disable Hip06 "Hardware VLAN assist" · 8044f97e
      Salil 提交于
      This patch adds the initializzation code to disable the hardware
      vlan support for VLAN Tag stripping by default for now.
      
      Proper support of "hardware VLAN assitance" feature would
      soon come in the next coming patches.
      Signed-off-by: NSalil Mehta <salil.mehta@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8044f97e
    • S
      net:hns: Add support of ethtool TSO set option for Hip06 in HNS · 38f616da
      Salil 提交于
      This patch adds the support of ethtool TSO option to support
      Hip06 SoC to HNS
      Signed-off-by: NSalil Mehta <salil.mehta@huawei.com>
      Signed-off-by: Nlisheng <lisheng011@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      38f616da
    • S
      net:hns: Add Hip06 "TSO(TCP Segment Offload)" support HNS Driver · 64353af6
      Salil 提交于
      This patch adds the support of "TSO (TCP Segment Offload)" feature
      provided by the Hip06 ethernet hardware to the HNS ethernet
      driver.
      
      Enabling this feature would help offload the TCP Segmentation
      process to the Hip06 ethernet hardware. This eventually would help
      in saving precious cpu cycles.
      Signed-off-by: NSalil Mehta <salil.mehta@huawei.com>
      Signed-off-by: Nlisheng <lisheng011@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      64353af6
    • S
      net:hns: Add Hip06 "RSS(Receive Side Scaling)" support to HNS Driver · 6bc0ce7d
      Salil 提交于
      This patch adds the support of "RSS (Receive Side Scaling)" feature
      provided by the Hip06 ethernet hardware to the HNS ethernet
      driver.
      
      This feature helps in distributing the different flows (mapped as
      hash by hardware using Toeplitz Hash) to different Queues asssociated
      with the processor cores. The mapping of flow-hash values to the
      different queues is stored in indirection table (which is per Packet-
      parse-Engine/PPE). This patch also provides the changes to re-program
      the (flow-hash<->Qid) mapping using the ethtool.
      Signed-off-by: NSalil Mehta <salil.mehta@huawei.com>
      Reviewed-by: NKenneth Lee <liguozhu@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6bc0ce7d
    • S
      net:hns: Add support of Hip06 SoC to the Hislicon Network Subsystem · 13ac695e
      Salil 提交于
      This patchset adds support of Hisilicon Hip06 SoC to the existing HNS
      ethernet driver.
      
      The changes in the driver are mainly due to changes in the DMA
      descriptor provided by the Hip06 ethernet hardware. These changes
      need to co-exist with already present Hip05 DMA descriptor and its
      operating functions. The decision to choose the correct type of DMA
      descriptor is taken dynamically depending upon the version of the
      hardware (i.e. V1/hip05 or V2/hip06, see already existing
      hisilicon-hns-nic.txt binding file for detailed description). other
      changes includes in SBM, DSAF and PPE modules as well. Changes
      affecting the driver related to the newly added ethernet hardware
      features in Hip06 would be added as separate patch over this and
      subsequent patches.
      Signed-off-by: NSalil Mehta <salil.mehta@huawei.com>
      Signed-off-by: Nyankejian <yankejian@huawei.com>
      Signed-off-by: Nhuangdaode <huangdaode@hisilicon.com>
      Signed-off-by: Nlipeng <lipeng321@huawei.com>
      Signed-off-by: Nlisheng <lisheng011@huawei.com>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      13ac695e
  3. 04 12月, 2015 26 次提交