1. 22 Oct, 2014 3 commits
    • Johannes Berg's avatar
      mac80211: add WMM admission control support · 02219b3a
      Johannes Berg authored
      
      
      Use the currently existing APIs between mac80211 and the low
      level driver to implement WMM admission control.
      
      The low level driver needs to report the media time used by
      each transmitted packet in ieee80211_tx_status. Based on that
      information, mac80211 will modify the QoS parameters of the
      admission controlled Access Category when the limit is
      reached. Once the original QoS parameters can be restored,
      mac80211 will do so.
      
      One issue with this approach is that management frames will
      also erroneously be downgraded, but the upside is that the
      implementation is simple. In the future, it can be extended
      to driver- or device-based implementations that are better.
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      02219b3a
    • Johannes Berg's avatar
      mac80211: sanity check CW_min/CW_max towards driver · f409079b
      Johannes Berg authored
      
      
      There's no reason to ever set invalid CW_min/CW_max to the
      drivers, we should catch it in higher layers. However, the
      consequences of setting it wrong can be quite severe, so
      double-check at a low level and error out for invalid data.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      f409079b
    • Johannes Berg's avatar
      cfg80211: make WMM TSPEC support flag an nl80211 feature flag · 723e73ac
      Johannes Berg authored
      
      
      During the review of the corresponding wpa_supplicant patches we
      noticed that the only way for it to detect that this functionality
      is supported currently is to check for the command support. This
      can be misleading though, as the command was also designed to, in
      the future, support pure 802.11 TSPECs.
      
      Expose the WMM-TSPEC feature flag to nl80211 so later we can also
      expose an 802.11-TSPEC feature flag (if needed) to differentiate
      the two cases.
      
      Note: this change isn't needed in 3.18 as there's no driver there
      yet that supports the functionality at all.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      723e73ac
  2. 21 Oct, 2014 2 commits
  3. 20 Oct, 2014 8 commits
  4. 14 Oct, 2014 1 commit
    • Karl Beldan's avatar
      mac80211: fix typo in starting baserate for rts_cts_rate_idx · c7abf25a
      Karl Beldan authored
      It affects non-(V)HT rates and can lead to selecting an rts_cts rate
      that is not a basic rate or way superior to the reference rate (ATM
      rates[0] used for the 1st attempt of the protected frame data).
      
      E.g, assuming drivers register growing (bitrate) sorted tables of
      ieee80211_rate-s, having :
      - rates[0].idx == d'2 and basic_rates == b'10100
      will select rts_cts idx b'10011 & ~d'(BIT(2)-1), i.e. 1, likewise
      - rates[0].idx == d'2 and basic_rates == b'10001
      will select rts_cts idx b'10000
      The first is not a basic rate and the second is > rates[0].
      
      Also, wrt severity of the addressed misbehavior, ATM we only have one
      rts_cts_rate_idx rather than one per rate table entry, so this idx might
      still point to bitrates > rates[1..MAX_RATES].
      
      Fixes: 5253ffb8
      
       ("mac80211: always pick a basic rate to tx RTS/CTS for pre-HT rates")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarKarl Beldan <karl.beldan@rivierawaves.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c7abf25a
  5. 10 Oct, 2014 2 commits
  6. 09 Oct, 2014 17 commits
  7. 08 Oct, 2014 7 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 35a9ad8a
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Most notable changes in here:
      
         1) By far the biggest accomplishment, thanks to a large range of
            contributors, is the addition of multi-send for transmit.  This is
            the result of discussions back in Chicago, and the hard work of
            several individuals.
      
            Now, when the ->ndo_start_xmit() method of a driver sees
            skb->xmit_more as true, it can choose to defer the doorbell
            telling the driver to start processing the new TX queue entires.
      
            skb->xmit_more means that the generic networking is guaranteed to
            call the driver immediately with another SKB to send.
      
            There is logic added to the qdisc layer to dequeue multiple
            packets at a time, and the handling mis-predicted offloads in
            software is now done with no locks held.
      
            Finally, pktgen is extended to have a "burst" parameter that can
            be used to test a multi-send implementation.
      
            Several drivers have xmit_more support: i40e, igb, ixgbe, mlx4,
            virtio_net
      
            Adding support is almost trivial, so export more drivers to
            support this optimization soon.
      
            I want to thank, in no particular or implied order, Jesper
            Dangaard Brouer, Eric Dumazet, Alexander Duyck, Tom Herbert, Jamal
            Hadi Salim, John Fastabend, Florian Westphal, Daniel Borkmann,
            David Tat, Hannes Frederic Sowa, and Rusty Russell.
      
         2) PTP and timestamping support in bnx2x, from Michal Kalderon.
      
         3) Allow adjusting the rx_copybreak threshold for a driver via
            ethtool, and add rx_copybreak support to enic driver.  From
            Govindarajulu Varadarajan.
      
         4) Significant enhancements to the generic PHY layer and the bcm7xxx
            driver in particular (EEE support, auto power down, etc.) from
            Florian Fainelli.
      
         5) Allow raw buffers to be used for flow dissection, allowing drivers
            to determine the optimal "linear pull" size for devices that DMA
            into pools of pages.  The objective is to get exactly the
            necessary amount of headers into the linear SKB area pre-pulled,
            but no more.  The new interface drivers use is eth_get_headlen().
            From WANG Cong, with driver conversions (several had their own
            by-hand duplicated implementations) by Alexander Duyck and Eric
            Dumazet.
      
         6) Support checksumming more smoothly and efficiently for
            encapsulations, and add "foo over UDP" facility.  From Tom
            Herbert.
      
         7) Add Broadcom SF2 switch driver to DSA layer, from Florian
            Fainelli.
      
         8) eBPF now can load programs via a system call and has an extensive
            testsuite.  Alexei Starovoitov and Daniel Borkmann.
      
         9) Major overhaul of the packet scheduler to use RCU in several major
            areas such as the classifiers and rate estimators.  From John
            Fastabend.
      
        10) Add driver for Intel FM10000 Ethernet Switch, from Alexander
            Duyck.
      
        11) Rearrange TCP_SKB_CB() to reduce cache line misses, from Eric
            Dumazet.
      
        12) Add Datacenter TCP congestion control algorithm support, From
            Florian Westphal.
      
        13) Reorganize sk_buff so that __copy_skb_header() is significantly
            faster.  From Eric Dumazet"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1558 commits)
        netlabel: directly return netlbl_unlabel_genl_init()
        net: add netdev_txq_bql_{enqueue, complete}_prefetchw() helpers
        net: description of dma_cookie cause make xmldocs warning
        cxgb4: clean up a type issue
        cxgb4: potential shift wrapping bug
        i40e: skb->xmit_more support
        net: fs_enet: Add NAPI TX
        net: fs_enet: Remove non NAPI RX
        r8169:add support for RTL8168EP
        net_sched: copy exts->type in tcf_exts_change()
        wimax: convert printk to pr_foo()
        af_unix: remove 0 assignment on static
        ipv6: Do not warn for informational ICMP messages, regardless of type.
        Update Intel Ethernet Driver maintainers list
        bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING
        tipc: fix bug in multicast congestion handling
        net: better IFF_XMIT_DST_RELEASE support
        net/mlx4_en: remove NETDEV_TX_BUSY
        3c59x: fix bad split of cpu_to_le32(pci_map_single())
        net: bcmgenet: fix Tx ring priority programming
        ...
      35a9ad8a
    • Linus Torvalds's avatar
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d5935b07
      Linus Torvalds authored
      Pull ARM64 SoC changes from Arnd Bergmann:
       "Starting with 3.18, we are merging SoC-specific changes for arm64
        through the arm-soc tree, like we have been doing for arm32.
      
        This time, there is only one set of changes, adding support for the
        Cavium "Thunder" Soc family.  Since the changes are relatively small,
        this includes Kconfig, defconfig and DT changes.
      
        If all goes well, we will never require adding actual C source code
        for platform support in arm64, given that the architecture is more
        clearly defined and we have moved out a lot of the platform specifics
        into device drivers for arm32 already"
      
      * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64, defconfig: Enable Cavium Thunder SoC in defconfig
        arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family
        arm64, thunder: Document devicetree bindings for Cavium Thunder SoC
        arm64, thunder: Add initial dts for Cavium Thunder SoC
      d5935b07
    • Linus Torvalds's avatar
      Merge tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f86dc4b0
      Linus Torvalds authored
      Pull ARM SoC defconfig changes from Arnd Bergmann:
       "This is a collection of the various changes to defconfig files, most
        importantly enabling some additional platforms in the
        multi_v7_defconfig file"
      
      * tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
        ARM: configs: fix duplicate entry in multi_v7
        ARM: multi_v7_defconfig: add missing Tegra options
        ARM: bcm2835: enable USB_DWC2_HOST in defconfig
        ARM: meson: update multi_v7_defconfig
        ARM: multi_v7_defconfig: Enable Mediatek platform
        ARM: qcom: Update defconfig
        ARM: mvebu: add gpio-fan to mvebu_v7_defconfig
        ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig
        ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig
        ARM: LPC32xx: defconfig update
        ARM: configs: Enable cpufreq-cpu0 for multi_v7_defconfig
        ARM: configs: Remove REGULATOR_VIRTUAL_CONSUMER from defconfigs
        ARM: tegra: enable Atmel touchpad in defconfig
        ARM: at91: sama5: update defconfig
        ARM: at91: at91sam9rl: update defconfig
        ARM: at91: at91sam9g45: update defconfig
        ARM: at91: at91sam9263: update defconfig
        ARM: at91: at91sam9261_9g10: update defconfig
        ARM: at91: at91sam9260_9g20: update defconfig
        ARM: at91: at91_dt: update defconfig
        ...
      f86dc4b0
    • Linus Torvalds's avatar
      Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8b45bc89
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "These are changes for drivers that are intimately tied to some SoC and
        for some reason could not get merged through the respective subsystem
        maintainer tree.
      
        Most of the new code is for the Keystone Navigator driver, which is
        new base support that is going to be needed for their hardware
        accelerated network driver and other units.
      
        Most of the commits are for moving old code around from at91 and omap
        for things that are done in device drivers nowadays.
      
         - at91: move reset, poweroff, memory and clocksource code into
           drivers directories
         - socfpga: add edac driver (through arm-soc, as requested by Boris)
         - omap: move omap-intc code to drivers/irqchip
         - sunxi: added an RTC driver for sun6i
         - omap: mailbox driver related changes
         - keystone: support for the "Navigator" component
         - versatile: new reboot, led and soc drivers"
      
      * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
        bus: arm-ccn: Fix spurious warning message
        leds: add device tree bindings for register bit LEDs
        soc: add driver for the ARM RealView
        power: reset: driver for the Versatile syscon reboot
        leds: add a driver for syscon-based LEDs
        drivers/soc: ti: fix build break with modules
        MAINTAINERS: Add Keystone Multicore Navigator drivers entry
        soc: ti: add Keystone Navigator DMA support
        Documentation: dt: soc: add Keystone Navigator DMA bindings
        soc: ti: add Keystone Navigator QMSS driver
        Documentation: dt: soc: add Keystone Navigator QMSS bindings
        rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc
        rtc: sun6i: Add sun6i RTC driver
        irqchip: omap-intc: remove unnecessary comments
        irqchip: omap-intc: correct maximum number or MIR registers
        irqchip: omap-intc: enable TURBO idle mode
        irqchip: omap-intc: enable IP protection
        irqchip: omap-intc: remove unnecesary of_address_to_resource() call
        irqchip: omap-intc: comment style cleanup
        irqchip: omap-intc: minor improvement to omap_irq_pending()
        ...
      8b45bc89
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · eb785bef
      Linus Torvalds authored
      Pull ARM SoC DT updates from Arnd Bergmann:
       "As usual, this is the largest branch, though this time a little under
        half of the total changes with 307 individual non-merge changesets.
      
        The largest changes are the addition of new machines, in particular
        the Tegra based Chromebook, the Renesas r8a7794 SoC, and DT support
        for the old i.MX1 platform.
      
        Other changes include
         - at91: various sam9 and sama5 updates
         - exynos: much extended Peach Pi/Pit (Chromebook 2) support
         - keystone: new peripherals
         - meson: added DT for meson6 SoC
         - mvebu: new device support for Armada 370/375
         - qcom: improved support for IPQ8064 and MSM8x60
         - rockchip: much improved support for rk3288
         - shmobile: lots of updates all over the place
         - sunxi: dts license change
         - sunxi: more a23 device support
         - vexpress: CLCD DT description"
      
      * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (308 commits)
        ARM: DTS: meson: update DTSI to add watchdog node
        ARM: dts: keystone-k2l: fix mdio io start address
        ARM: dts: keystone-k2e: fix mdio io start address
        ARM: dts: keystone-k2e: update usb1 node for dma properties
        ARM: dts: keystone: fix io range for usb_phy0
        Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt"
        Revert "ARM: dts: hix5hd2: add wdg node"
        ARM: dts: add rk3288 i2s controller
        ARM: vexpress: Add CLCD Device Tree properties
        ARM: bcm2835: add I2S pinctrl to device tree
        ARM: meson: documentation: add bindings documentation
        ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS
        ARM: dts: mt6589: Change compatible string for GIC
        ARM: dts: mediatek: Add compatible property for aquaris5
        ARM: dts: mt6589-aquaris5: Add boot argument earlyprintk
        ARM: dts: mt6589: Fix typo in GIC unit address
        ARM: dts: Build dtb for Mediatek board
        ARM: dts: keystone: fix bindings for pcie and usb clock nodes
        ARM: dts: keystone: k2l: Fix chip selects for SPI devices
        ARM: dts: keystone: add dsp gpio controllers nodes
        ...
      eb785bef
    • Linus Torvalds's avatar
      Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · cf377ad7
      Linus Torvalds authored
      Pull ARM SoC platform changes from Arnd Bergmann:
       "New and updated SoC support.  Among the things new for this release
        are:
      
         - at91: Added support for the new SAMA5D4 SoC, following the earlier
           SAMA5D3
         - bcm: Added support for BCM63XX family of DSL SoCs
         - hisi: Added support for HiP04 server-class SoC
         - meson: Initial support for the Amlogic Meson6 (aka 8726MX) platform
         - shmobile: added support for new r8a7794 (R-Car E2) automotive SoC
      
        Noteworthy changes to existing SoC support are:
      
         - imx: convert i.MX1 to device tree
         - omap: lots of power management work
         - omap: base support to enable moving to standard UART driver
         - shmobile: lots of progress for multiplatform support, still
           ongoing"
      
      * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (171 commits)
        ARM: hisi: depend on ARCH_MULTI_V7
        CNS3xxx: Fix debug UART.
        ARM: at91: fix nommu build regression
        ARM: meson: add basic support for MesonX SoCs
        ARM: meson: debug: add debug UART for earlyprintk support
        irq: Export handle_fasteoi_irq
        ARM: mediatek: Add earlyprintk support for mt6589
        ARM: hisi: Fix platmcpm compilation when ARMv6 is selected
        ARM: debug: fix alphanumerical order on debug uarts
        ARM: at91: document Atmel SMART compatibles
        ARM: at91: add sama5d4 support to sama5_defconfig
        ARM: at91: dt: add device tree file for SAMA5D4ek board
        ARM: at91: dt: add device tree file for SAMA5D4 SoC
        ARM: at91: SAMA5D4 SoC detection code and low level routines
        ARM: at91: introduce basic SAMA5D4 support
        clk: at91: add a driver for the h32mx clock
        ARM: pxa3xx: provide specific platform_devices for all ssp ports
        ARM: pxa: ssp: provide platform_device_id for PXA3xx
        ARM: OMAP4+: Remove static iotable mappings for SRAM
        ARM: OMAP4+: Move SRAM data to DT
        ...
      cf377ad7
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 212fe84a
      Linus Torvalds authored
      Pull ARM SoC cleanups from Arnd Bergmann:
       "This time around, the cleanup branch contains mostly code removal.  A
        number of board files for at91, imx and msm have become obsolete
        because of the DT conversion and are now ready to be removed.  The
        OMAP platform has traditionally had its own DMA engine abstraction and
        as this is being phased out, a lot of the original code is now unused
        and can be removed as well.
      
        S3C24xx can be simplified now that the restart code is a proper device
        driver.
      
        Finally, a number of cleanups in shmobile are done to prepare for the
        addition of new code in other branches"
      
      * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
        ARM: at91: Remove the support for the RSI EWS board
        arm: mach-omap2: Convert pr_warning to pr_warn
        ARM: OMAP: Remove unused pieces of legacy DMA API
        ARM: at91: remove board file for Acme Systems Fox G20
        ARM: orion5x: Convert pr_warning to pr_warn
        ARM: S3C24XX: remove separate restart code
        ARM: EXYNOS: Do not calculate boot address twice
        ARM: sunxi: Remove sun4i reboot code from mach directory
        ARM: imx: Remove mach-mxt_td60 board file
        ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains()
        ARM: shmobile: r8a7740: Clean up pm domain table
        ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains()
        ARM: shmobile: sh7372: Make domain_devices[] static __initdata
        ARM: shmobile: mackerel: Make domain_devices[] static __initdata
        clocksource: tcb_clksrc: sanitize IRQ request
        ARM: at91/tclib: mask interruptions at shutdown and probe
        ARM: at91/tclib: move initialization from alloc to probe
        ARM: at91/tclib: prefer using of devm_* functions
        ARM: clps711x: Switch CLPS711X subarch to use clk and clocksource driver
        ARM: shmobile: r8a7791 is now called "R-Car M2-W"
        ...
      212fe84a