15 Jul, 2016

13 commits

  • 'vr' should be a valid pointer here, so returning 'PTR_ERR(vr)' is wrong.
    Return an explicit error code (-ENOENT) instead.

    Fixes: 61c503f976 ("mlxsw: spectrum_router: Implement fib4 add/del switchdev obj ops")
    Signed-off-by: Christophe JAILLET
    Acked-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Christophe Jaillet
     
  • There are two generics functions phy_ethtool_{get|set}_link_ksettings,
    so we can use them instead of defining the same code in the driver.

    Signed-off-by: Philippe Reynes
    Signed-off-by: David S. Miller

    Philippe Reynes
     
  • The private structure contain a pointer to phydev, but the structure
    net_device already contain such pointer. So we can remove the pointer
    phy in the private structure, and update the driver to use the
    one contained in struct net_device.

    Signed-off-by: Philippe Reynes
    Signed-off-by: David S. Miller

    Philippe Reynes
     
  • …ub/scm/linux/kernel/git/kvalo/wireless-drivers-next

    Kalle Valo says:

    ====================
    wireless-drivers-next patches for 4.8

    Major changes:

    iwlwifi

    * more work on the RX path for the 9000 device series
    * some more dynamic queue allocation work
    * SAR BIOS implementation
    * some work on debugging capabilities
    * added support for GCMP encryption
    * data path rework in preparation for new HW
    * some cleanup to remove transport dependency on mac80211
    * support for MSIx in preparation for new HW
    * lots of work in preparation for HW support (9000 and a000 series)

    mwifiex

    * implement get_tx_power and get_antenna cfg80211 operation callbacks

    wl18xx

    * add support for 64bit clock

    rtl8xxxu

    * aggregation support (optional for now)

    Also wireless-drivers is merged to fix some conflicts.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • The VF representors support only TC filter/action offloads
    (not mqprio) and this is enabled for them by default.

    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • Enhance the TC offload code such that when the eswitch exists and it's
    mode being SRIOV offloads, we do TC actions parsing and setup targeted
    for eswitch. Next, we add the offloaded flow to the HW e-switch (fdb).

    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • Add the setup code that parses the TC actions needed to support offloading drop
    and mirred/redirect for SRIOV e-switch. We can redirect between two devices if
    they belong to the same HW switch, compare the switchdev HW ID attribute to
    enforce that.

    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • Towards reusing the TC offloads code for an SRIOV use-case, change some of the
    helper functions to have _nic in their names so it's clear what's NIC unique
    and what's general. Also group together the NIC related helpers so we can easily
    branch per the use-case in downstream patch.

    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • This allows for upper levels in the driver, e.g the TC offload code to add
    e-switch offloaded steering rules. The caller provides the rule spec for
    matching, action, source and destination vports.

    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • In the offloads mode, some slow path rules are added by the driver (e.g
    send-to-vport), while offloaded rules are to be added from upper layers.

    The slow path rules have lower priority and we don't want matching on
    offloaded rules to suffer from extra steering hops related to the slow
    path rules.

    We use two priorities, one for offloaded rules (fast path), and one for
    the control rules (slow path). To allow for that, we enable two priorities
    for the FDB namespace in the FS core code.

    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • Currenly, the code that programs the flow actions into the firmware
    doesn't check if was actually asked to offload the statistics, fix that.

    Fixes: aad7e08d39bd ('net/mlx5e: Hardware offloaded flower filter statistics support')
    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • This commit utilize the ability of ConnectX-4 to bulk read flow counters.
    Few bulk counter queries could be done instead of issuing thousands of
    firmware commands per second to get statistics of all flows set to HW,
    such as those programmed when we offload tc filters.

    Counters are stored sorted by hardware id, and queried in blocks (id +
    number of counters).

    Due to hardware requirement, start of block and number of counters in a
    block must be four aligned.

    Reviewed-by: Or Gerlitz
    Signed-off-by: Amir Vadai
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Amir Vadai
     
  • In order to use bulk counters, we need to have counters sorted by id.

    Signed-off-by: Amir Vadai
    Reviewed-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Amir Vadai
     

14 Jul, 2016

5 commits

  • Add inline function that checks if there is a pending tx packet.

    Signed-off-by: Elad Kanfi
    Signed-off-by: David S. Miller

    Elad Kanfi
     
  • Fix following coding style problems :

    ERROR: else should follow close brace '}'
    + }
    + else { /* !dst_is_aligned */

    WARNING: Missing a blank line after declarations
    + u32 buf = nps_enet_reg_get(priv, NPS_ENET_REG_RX_BUF);
    + put_unaligned_be32(buf, reg);

    WARNING: Missing a blank line after declarations
    + u32 buf;
    + ioread32_rep(priv->regs_base + NPS_ENET_REG_RX_BUF, &buf, 1);

    CHECK: Blank lines aren't necessary before a close brace '}'
    +
    + }

    total: 1 errors, 2 warnings, 1 checks, 683 lines checked

    Signed-off-by: Elad Kanfi
    Signed-off-by: David S. Miller

    Elad Kanfi
     
  • There is a error message within devm_ioremap_resource
    already, so remove the dev_err call to avoid redundant
    error message.

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • There is a error message within devm_ioremap_resource
    already, so remove the dev_err call to avoid redundant
    error message.

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • …etooth/bluetooth-next

    Johan Hedberg says:

    ====================
    pull request: bluetooth-next 2016-07-13

    Here's our main bluetooth-next pull request for the 4.8 kernel:

    - Fixes and cleanups in 802.15.4 and 6LoWPAN code
    - Fix out of bounds issue in btmrvl driver
    - Fixes to Bluetooth socket recvmsg return values
    - Use crypto_cipher_encrypt_one() instead of crypto_skcipher
    - Cleanup of Bluetooth connection sysfs interface
    - New Authentication failure reson code for Disconnected mgmt event
    - New USB IDs for Atheros, Qualcomm and Intel Bluetooth controllers

    Please let me know if there are any issues pulling. Thanks.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     

13 Jul, 2016

4 commits


12 Jul, 2016

12 commits

  • The iwl-debug.h header relies in implicit inclusion of linux/device.h and
    we get a lot of warnings without that:

    drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:23: error: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
    void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace,
    ^~~~~~
    In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.h:66:0,
    from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:68:
    drivers/net/wireless/intel/iwlwifi/iwl-trans.h: In function 'iwl_trans_tx':
    drivers/net/wireless/intel/iwlwifi/iwl-trans.h:1030:348: error: passing argument 1 of '__iwl_err' from incompatible pointer type [-Werror=incompatible-pointer-types]
    IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
    ^
    In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:67:0:
    drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:6: note: expected 'struct device *' but argument is of type 'struct device *'
    void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace,
    ^~~~~~~~~

    The easiest workaround is to just declare 'struct device' before its first use,
    rather than including the entire header file.

    Signed-off-by: Arnd Bergmann
    Fixes: 21cb3222fe56 ("iwlwifi: decouple PCIe transport from mac80211")
    Acked-by: Luca Coelho
    Signed-off-by: Kalle Valo

    Arnd Bergmann
     
  • isr function issues SPI read command to mrf to obtain INTSTAT.
    SPI transfer is 2 bytes, but value of 2nd byte is not defined.
    This had the effect that only the first ISR worked as intended. The
    second ISR read incorrect INTSTAT values. Observed on Raspberry PI B+.

    Signed-off-by: Walter Mack
    Signed-off-by: Marcel Holtmann

    Walter Mack
     
  • In case of error, the function devm_ioremap_resource() returns ERR_PTR()
    and never returns NULL. The NULL test in the return value check should be
    replaced with IS_ERR().

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=05 Dev#= 5 Spd=12 MxCh= 0
    D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=13d3 ProdID=3490 Rev=00.01
    C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

    BugLink: https://bugs.launchpad.net/bugs/1600623

    Signed-off-by: Dmitry Tunin
    Signed-off-by: Marcel Holtmann
    Cc: stable@vger.kernel.org

    Dmitry Tunin
     
  • drivers/net/dsa/b53/b53_srab.c: In function 'b53_srab_probe':
    >> drivers/net/dsa/b53/b53_srab.c:388:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    pdata->chip_id = (u32)of_id->data;
    ^

    Reported-by: kbuild test robot
    Signed-off-by: David S. Miller

    David S. Miller
     
  • idx can be returned as -ENOSPC, so we should check for this first
    before using it as an index into nn->vxlan_usecnt[] to avoid an
    out of bounds array offset read.

    Signed-off-by: Colin Ian King
    Acked-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Colin Ian King
     
  • Enable lan91x adapters in some ARM machines and models
    when booted with an ACPI kernel.

    Signed-off-by: Jeremy Linton
    Signed-off-by: David S. Miller

    Jeremy Linton
     
  • Some comments weren't updated to reflect the renaming of ndo's and the
    change of arguments.

    Signed-off-by: Sabrina Dubroca
    Acked-by: Alexander Duyck
    Signed-off-by: David S. Miller

    Sabrina Dubroca
     
  • LPM can be enabled via a DDC write command at specific DDC ID.
    As any other DDC value, this is up to the DDC config file to
    include (or not) the low power mode configuration.

    Signed-off-by: Loic Poulain
    Signed-off-by: Marcel Holtmann

    Loic Poulain
     
  • This reverts commit 4386f5662e63 ("net: ethernet: bcmgenet: use
    phy_ethtool_{get|set}_link_ksettings")

    This patch is wrong, the function phy_ethtool_{get|set}_link_ksettings
    don't check if the device is running, but the driver bcmgenet need this
    check.

    The function {get|set}_settings need to access the mdio bus, and this
    bus may only be used when the device is running. Otherwise, the clock
    is disable and a mdio access will fail.

    Signed-off-by: Philippe Reynes
    Acked-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Philippe Reynes
     
  • Update the SRAB, core driver and binding document to support the
    BCM585xx/586xx/88312 integrated switch (Northstar Plus SoCs family).

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • For Northstart Plus SoCs, we cannot detect the switch because only the
    revision information is provied in the Management page, instead, rely on
    Device Tree to tell us the chip id, and pass it down using the
    b53_platform_data structure.

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     

11 Jul, 2016

2 commits


10 Jul, 2016

4 commits

  • The bcma portion of the driver has been split off into a bcma specific
    driver. This has been mirrored for the platform driver. The last
    references to the bcma core struct have been changed into a generic
    function call. These function calls are wrappers to either the original
    bcma code or new platform functions that access the same areas via MMIO.
    This necessitated adding function pointers for both platform and bcma to
    hide which backend is being used from the generic bgmac code.

    Signed-off-by: Jon Mason
    Acked-by: Arnd Bergmann
    Reviewed-by: Florian Fainelli
    Tested-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Jon Mason
     
  • The bgmac driver is using the bcma provides device ID and revision, as
    well as the SoC ID and package, to determine which features are
    necessary to enable, reset, etc in the driver. In anticipation of
    removing the bcma requirement for this driver, these must be changed to
    not reference that struct. In place of that, each "feature" has been
    given a flag, and the flags are enabled for their respective device and
    SoC.

    Signed-off-by: Jon Mason
    Acked-by: Arnd Bergmann
    Reviewed-by: Florian Fainelli
    Tested-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Jon Mason
     
  • Move the BCMA MDIO phy into a separate file, as it is very tightly
    coupled with the BCMA bus. This will help with the upcoming BCMA
    removal from the bgmac driver. Optimally, this should be moved into
    phy drivers, but it is too tightly coupled with the bgmac driver to
    effectively move it without more changes to the driver.

    Note: the phy_reset was intentionally removed, as the mdio phy subsystem
    automatically resets the phy if a reset function pointer is present. In
    addition to the moving of the driver, this reset function is added.

    Signed-off-by: Jon Mason
    Acked-by: Arnd Bergmann
    Reviewed-by: Florian Fainelli
    Tested-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Jon Mason
     
  • The dma buffer allocation, etc references a dma_dev device pointer from
    the bcma core. In anticipation of removing the bcma requirement for
    this driver, these must be changed to not reference that struct. Add a
    dma_dev device pointer to the bgmac stuct and reference that instead.

    Signed-off-by: Jon Mason
    Acked-by: Arnd Bergmann
    Reviewed-by: Florian Fainelli
    Tested-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Jon Mason