1. 23 Feb, 2017 40 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b2e3c431
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "Driver updates for ARM SoCs.
      
        A handful of driver changes this time around. The larger changes are:
      
         - Reset drivers for hi3660 and zx2967
      
         - AHCI driver for Davinci, acked by Tejun and brought in here due to
           platform dependencies
      
         - Cleanups of atmel-ebi (External Bus Interface)
      
         - Tweaks for Rockchip GRF (General Register File) usage (kitchensink
           misc register range on the SoCs)
      
         - PM domains changes for support of two new ZTE SoCs (zx296718 and
           zx2967)"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
        soc: samsung: pmu: Add register defines for pad retention control
        reset: make zx2967 explicitly non-modular
        reset: core: fix reset_control_put
        soc: samsung: pm_domains: Read domain name from the new label property
        soc: samsung: pm_domains: Remove message about failed memory allocation
        soc: samsung: pm_domains: Remove unused name field
        soc: samsung: pm_domains: Use full names in subdomains registration log
        sata: ahci-da850: un-hardcode the MPY bits
        sata: ahci-da850: add a workaround for controller instability
        sata: ahci: export ahci_do_hardreset() locally
        sata: ahci-da850: implement a workaround for the softreset quirk
        sata: ahci-da850: add device tree match table
        sata: ahci-da850: get the sata clock using a connection id
        soc: samsung: pmu: Remove duplicated define for ARM_L2_OPTION register
        memory: atmel-ebi: Enable the SMC clock if specified
        soc: samsung: pmu: Remove unused and duplicated defines
        memory: atmel-ebi: Properly handle multiple reference to the same CS
        memory: atmel-ebi: Fix the test to enable generic SMC logic
        soc: samsung: pm_domains: Add new Exynos5433 compatible
        soc: samsung: pmu: Add dummy support for Exynos5433 SoC
        ...
      b2e3c431
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c61c15e0
      Linus Torvalds authored
      Pull ARM 64-bit DT updates from Arnd Bergmann:
       "ARM64 DT updates are fairly small this time, only two new SoCs and a
        handful of new machines get added, all of them similar to other
        hardware we already support.
      
        New SoC:
      
         - HiSilicon Kirin960/Hi3660 and HiKey960 development board
      
         - NXP LS1012a with three reference boards:
              http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-layerscape-arm-processors/qoriq-layerscape-1012a-low-power-communication-processor:LS1012A
      
        New development board:
      
         - Banana Pi M64, based on Allwinner A64:
              http://www.banana-pi.org/m64.html
      
         - SolidRun MACCHIATOBin based on Marvell Armada 8K:
              https://www.solid-run.com/marvell-armada-family/armada-8040-community-board/
      
         - Broadcom BCM958712DxXMC NorthStar2 reference board (another one)
      
        A lot of platforms improve support for existing machines by adding
        extra devices for which a binding and driver is availabe:
      
        Allwinner:
         - MMC, USB
      
        ARM Juno:
         - Coresight, STM
      
        Broadcom:
         - NS2 GICv2m irqchip and PCIe
      
        Marvell:
         - Armada 3700 SPI, I2C, ethernet switch
      
        Mediatek:
         - MT8173 thermal
      
        NXP i.MX:
         - LS1046A thermal
      
        Qualcomm:
         - coresight on MSM8916, HDMI, WCNSS, SCM
      
        Renesas:
         - r8a779[56] thermal, powerdomain, ethernet, sound, pwm, can, can fd
      
        Rockchip:
         - thermal, eDP, pinctrl enhancements
      
        Samsung:
         - TM2 touchkey, Exynos5433 HDMI and power management improvements
      
        UniPhier:
         - SD reset, eMMC controller
      
        ZTE:
         - oppv2 cpufreq"
      
      * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (110 commits)
        arm64: dts: qcom: Add msm8916 CoreSight components
        arm64: dts: marvell: adjust name of sd-mmc-gop clock in syscon
        arm64: allwinner: add BananaPi-M64 support
        arm64: allwinner: a64: add UART1 pin nodes
        arm64: allwinner: pine64: add MMC support
        arm64: allwinner: a64: Increase the MMC max frequency
        arm64: allwinner: a64: Add MMC pinctrl nodes
        arm64: allwinner: a64: Add MMC nodes
        dt-bindings: clockgen: Add compatible string for LS1012A
        Documentation: DT: add LS1012A compatible for SCFG and DCFG
        Documentation: DT: Add entry for FSL LS1012A RDB, FRDM, QDS boards
        arm64: dts: marvell: add generic-ahci compatibles for CP110 ahci
        arm64: tegra: Use symbolic reset identifiers
        arm64: dts: r8a7796: Mark EthernetAVB device node disabled
        arm64: dts: r8a7795: Mark EthernetAVB device node disabled
        arm64: dts: r8a7795: tidyup audma definition order
        arm64: dts: r8a7796: Link ARM GIC to clock and clock domain
        arm64: dts: r8a7795: Link ARM GIC to clock and clock domain
        arm64: dts: r8a7796: Add R-Car Gen3 thermal support
        arm64: dts: r8a7795: Add R-Car Gen3 thermal support
        ...
      c61c15e0
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 195849ea
      Linus Torvalds authored
      Pull ARM DT updates from Arnd Bergmann:
       "A total of 380 patches this time, mostly adding support for more
        hardware in the device tree descriptions. There is not much exciting
        here for 4.11, but I've tried my best to condense the information from
        the pull requests I got into a readable summary.
      
        Noteworthy changes to existing platforms include:
      
         - The GIC memory map was a bit wrong almost everywhere and now gets
           fixed up
      
         - The Allwinner platforms convert to the generic pinmux properties
      
         - The Marvell EBU platforms now use the new DSA binding
      
         - Samsung Exynos4212 was unused and gets removed
      
         - The Renesas power management got improved
      
        New production machines:
      
         - Lego Mindstorms EV3:
              https://www.lego.com/en-us/mindstorms/about-ev3
      
         - Beelink X2 Android media box:
              http://linux-sunxi.org/Beelink_X2
      
         - "Romulus" baseboard management controller for OpenPower
      
         - Axentia TSE-850 Data Radio Channel (DARC) encoder:
              http://www.axentia.se/db/equipment.html
      
         - Luxul XAP-1410 and XWR-1200 wireless access points:
              https://luxul.com/xap-1410
      
        New SoCs:
      
         - Allwinner H2+ and V3s, both minor variations of already supported
           chips:
              http://www.allwinnertech.com/index.php?c=product&a=index&id=38
      
         - Marvell Prestera DX packet processors based on Armada XP
           architecture:
              http://www.marvell.com/switching/prestera-dx/
      
         - Samsung Exynos4412 Prime gets added, a minor variation of
           Exynos4412
      
        New developer and reference boards:
      
         - Lichee Pi One, Lichee Pi Zero and Orange Pi Zero, all based on
           Allwinner SoCs:
              http://linux-sunxi.org/LicheePi_One
              http://www.orangepi.org/orangepizero/
      
         - SAMA5d36ek Reference platform:
              http://www.atmel.com/tools/sama5d36-ek.aspx
      
         - Beaglebone Green Wireless and Black Wireless:
              https://beagleboard.org/black-wireless
              https://beagleboard.org/green-wireless
      
         - phyCORE-AM335x System on Module:
              http://phytec.com/products/system-on-modules/phycore/am335x/
      
         - New revision of "vf610-zii" Zodiac Inflight Innovations board
      
         - Various i.MX System-on-Module: Is.IoT MX6UL, SavageBoard, Engicam
           i.Core:
              http://www.opossom.com/english/index.html
              http://www.savageboard.org/
              http://www.engicam.com/en/products/embedded/som/sodimm/is-iot-mx6ul
              http://www.engicam.com/en/products/embedded/som/sodimm/i-core-m6s-dl-d-q
      
         - Liebherr (LWN) monitor 6 based on i.MX6 Quad, no idea what this is
      
         - Cleanups and bugfixes on at91, bcm53xx, i.MX, mvebu, omap, oxnas,
           qcom, rockchip, sti, stm32 and tegra
      
        New device supports added to some boards and SoCs, briefly by platform:
      
         - Allwinner: SPDIF, A33 cpufreq, A33 Mali GPU
      
         - Aspeed: network, ipmi bt, gpio, pinmux
      
         - Broadcom: video encoder for raspberry pi, qspi, ethernet, sd/mmc
      
         - TI DaVinci: gpio, lcdc, usb, video-in, uart
      
         - TI Keystone 2: MSM RAM, power/reset, uart
      
         - Mediatek MT2701: clocks, iommu, spi, nand, adc, thermal
      
         - Marvell EBU: ethernet switch on Turris Omnia
      
         - NXP i.MX: otp ram, USB, wifi, bluetooth, spdif, spi, pmic, eeprom,
           mmc, nand
      
         - TI OMAP:
      
         - Qualcomm: coresight, gyro/accelerometer, hdmi
      
         - Renesas: pmic, soc-id
      
         - Rockchip: qos
      
         - Samsung: audio on Odroid-X
      
         - Socfpga: FPGA manager, i2c, led, can, watchdog, nand, power monitor
      
         - STi: video in/out
      
         - STM32: timer, pwm, i2c, rtc, add, i2s
      
         - NVIDIA Tegra: tpm
      
         - Uniphier: mmc/sd pinmux"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (380 commits)
        ARM: dts: armada-385-linksys: fix DSA compatible property
        ARM: dts: Fix typo in armada-xp-98dx4251
        ARM: DTS: Fix register map for virt-capable GIC
        dt-bindings: arm,gic: Fix binding example for a virt-capable GIC
        ARM: dts: sun8i: sinlinx: Enable audio nodes
        ARM: dts: sun8i: parrot: Enable audio nodes
        ARM: dts: sun8i: Add audio codec, dai and card for A33
        ARM: dts: Add EMAC AXI settings for Arria10
        ARM: dts: am335x-chiliboard: Support charger
        ARM: dts: am335x-chiliboard: Support power button
        ARM: sun8i: dt: Add mali node
        dt-bindings: gpu: Add Mali Utgard bindings
        ARM: dts: stm32: Add I2C1 support for STM32429 eval board
        ARM: dts: stm32: Add I2C1 support for STM32F429 SoC
        ARM: dts: stm32: Use clock DT binding definition on stm32f429 family
        dt-bindings: mfd: stm32f4: Add missing binding definition
        dt-bindings: mfd: stm32f4: Fix STM32F4_X_CLOCK() macro
        ARM: dts: stm32: Enable pwm1 and pwm3 for stm32f469-disco
        ARM: dts: stm32: add Timers driver for stm32f429 MCU
        ARM: dts: add the AB8500 sysclk to the device trees
        ...
      195849ea
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 54fff785
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "Defconfig additions, removals, etc. Almost all of them just turn on
        drivers that we want on some platform, usually after the driver has
        been merged into mainline.
      
        There is now a new defconfig file for tango4"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
        ARM: multi_v7_defconfig: enable pstore configs
        ARM: multi_v7_defconfig: enable some newly added crypto modules
        ARM: davinci_all_defconfig: enable SATA modules
        arm64: defconfig: enable CONFIG_MTD_NAND and CONFIG_MTD_NAND_DENALI_DT
        arm64: defconfig: enable CONFIG_MTD_BLOCK
        ARM: Import tango4_defconfig
        ARM: omap2plus_defconfig: Enable support for RTC M41T80
        ARM: omap2plus_defconfig: Enable support for micrell phys
        ARM: vf610m4: defconfig: enable EXT4 filesystem
        ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6
        arm64: defconfig: Enable NUMA and NUMA_BALANCING
        arm64: defconfig: enable SMMUv3 config
        ARM: davinci_all_defconfig: enable iio
        ARM: Keystone: Enable ARCH_HAS_RESET_CONTROLLER
        ARM: configs: stm32: Add RTC support in STM32 defconfig
        ARM: defconfig: qcom: add APQ8060 DragonBoard devices
        ARM: qcom_defconfig: enable thermal sensors
        ARM: qcom_defconfig: add ahci configs
        ARM: qcom_defconfig: add pcie and atl1c ethernet configs
        ARM: qcom_defconfig: add usb related configs
        ...
      54fff785
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c35675f3
      Linus Torvalds authored
      Pull ARM SoC 64-bit updates from Arnd Bergmann:
       "Changes to platform code for 64-bit ARM platforms, only trivial stuff
        this time, a few defconfig changes to enable drivers, and a new entry
        for the Cavium ThunderX2 platform"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINERS: Add Cavium ThunderX2 entry
        arm64: add ARCH_THUNDER2 to defconfig
        arm64: add THUNDER2 processor family
        MAINTAINERS: Extend ARM/Mediatek SoC support section
        arm64: defconfig: enable CONFIG_MMC_SDHCI_CADENCE
        arm64: defconfig: enable XORv2 for Marvell Armada 7K/8K
      c35675f3
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6ae52c65
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "In the SoC branch we normally collect classic arch/arm/mach-*
        contents, i.e. C code changes for SoC platforms. This release cycle
        the diffstat is quite nice, in that we're removing 3x the amount of
        code that's being added.
      
        The main reason for this is that there's a removal of camera drivers
        for Freescale i.MX chips (driver was removed so the device
        registration isn't needed any more). There's also removal of display
        initialization code for OMAP that is no longer needed.
      
        The rest are mostly minor tweaks and cleanups; constification on
        Samsung platforms, cleanup of ux500 platform data, purge of other
        unused platform data/device seutp on i.MX and other good stuff.
      
        New SoC support this cycle is for two Allwinner platforms, H2+ and
        V3s"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (55 commits)
        ARM: ux500: remove deleted file from Makefile
        ARM: ep93xx: Disable TS-72xx watchdog before uncompressing
        ARM: ux500: cut some platform data
        MAINTAINERS: Update for the current location of the bcm2835 tree.
        ARM: davinci: remove BUG_ON() from da850_register_sata()
        ARM: davinci: da850: model the SATA refclk
        ARM: davinci: da850: add con_id for the SATA clock
        ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for SATA
        arm: mvebu: support for SMP on 98DX3336 SoC
        dt-bindings: video: exynos7-decon: Remove obsolete samsung,power-domain property
        soc: dove: constify reset_control_ops structures
        ARM: mv78xx0: fix possible PCI buffer overflow
        MAINTAINERS: transfer maintainership for the EZX platform
        ARM: shmobile: rcar-gen2: Add more register documentation
        ARM: tegra: paz00: Fix __initdata placement
        ARM: OMAP: clock: Remove unused mpurate cmdline option
        ARM: davinci: add skeleton for pdata-quirks
        arm: sunxi: add support for V3s SoC
        ARM: OMAP2+: omap_hwmod: Add support for earlycon
        arm: hisi: drop extern hip01_cpu_die
        ...
      6ae52c65
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · af8999f6
      Linus Torvalds authored
      Pull ARM SoC non-urgent fixes from Arnd Bergmann:
       "We sometimes collect non-critical fixes that come in during the later
        part of the merge window in a branch for the next release instead, and
        this is that contents for v4.11.
      
        Most of these are OMAP fixes, dealing with OMAP36/37 detection, quirks
        and setup. There's also some fixes for Davinci and a Kconfig fix for
        SCPI to only enable on ARM{,64}"
      
      * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        firmware: arm_scpi: Add hardware dependencies
        ARM: OMAP3: Fix SoC detection of OMAP36/37 Family
        ARM: OMAP5: Add HWMOD_SWSUP_SIDLE_ACT flag for UART
        ARM: dts: Fix compatible for ti81xx uarts for 8250
        ARM: dts: Fix am335x and dm814x scm syscon to probe children
        ARM: OMAP2+: Fix init for multiple quirks for the same SoC
        ARM: dts: Fix omap3 off mode pull defines
        bus: da850-mstpri: fix my e-mail address
        ARM: davinci: da850: fix da850_set_pll0rate()
        ARM: davinci: da850: coding style fix
      af8999f6
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 60e8d3e1
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
      
       - add ASPM L1 substate support
      
       - enable PCIe Extended Tags when supported
      
       - configure PCIe MPS settings on iProc, Versatile, X-Gene, and Xilinx
      
       - increase VPD access timeout
      
       - add ACS quirks for Intel Union Point, Qualcomm QDF2400 and QDF2432
      
       - use new pci_irq_alloc_vectors() in more drivers
      
       - fix MSI affinity memory leak
      
       - remove unused MSI interfaces and update documentation
      
       - remove unused AER .link_reset() callback
      
       - avoid pci_lock / p->pi_lock deadlock seen with perf
      
       - serialize sysfs enable/disable num_vfs operations
      
       - move DesignWare IP from drivers/pci/host/ to drivers/pci/dwc/ and
         refactor so we can support both hosts and endpoints
      
       - add DT ECAM-like support for HiSilicon Hip06/Hip07 controllers
      
       - add Rockchip system power management support
      
       - add Thunder-X cn81xx and cn83xx support
      
       - add Exynos 5440 PCIe PHY support
      
      * tag 'pci-v4.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (93 commits)
        PCI: dwc: Remove dependency of designware on CONFIG_PCI
        PCI: dwc: Add CONFIG_PCIE_DW_HOST to enable PCI dwc host
        PCI: dwc: Split pcie-designware.c into host and core files
        PCI: dwc: designware: Fix style errors in pcie-designware.c
        PCI: dwc: designware: Parse "num-lanes" property in dw_pcie_setup_rc()
        PCI: dwc: all: Split struct pcie_port into host-only and core structures
        PCI: dwc: designware: Get device pointer at the start of dw_pcie_host_init()
        PCI: dwc: all: Rename cfg_read/cfg_write to read/write
        PCI: dwc: all: Use platform_set_drvdata() to save private data
        PCI: dwc: designware: Move register defines to designware header file
        PCI: dwc: Use PTR_ERR_OR_ZERO to simplify code
        PCI: dra7xx: Group PHY API invocations
        PCI: dra7xx: Enable MSI and legacy interrupts simultaneously
        PCI: dra7xx: Add support to force RC to work in GEN1 mode
        PCI: dra7xx: Simplify probe code with devm_gpiod_get_optional()
        PCI: Move DesignWare IP support to new drivers/pci/dwc/ directory
        PCI: exynos: Support the PHY generic framework
        Documentation: binding: Modify the exynos5440 PCIe binding
        phy: phy-exynos-pcie: Add support for Exynos PCIe PHY
        Documentation: samsung-phy: Add exynos-pcie-phy binding
        ...
      60e8d3e1
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 190c3ee0
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Some 'const'ing in qlogic networking drivers, from Bhumika Goyal.
      
       2) Fix scheduling while atomic in l2tp network namespace exit by
          deferring the work to the workqueue. From Ridge Kennedy.
      
       3) Fix use after free in dccp timewait handling, from Andrey Ryabinin.
      
       4) mlx5e CQE compression engine not initialized properly, from Tariq
          Toukan.
      
       5) Some UAPI header fixes from Dmitry V. Levin.
      
       6) Don't overwrite module parameter value in mlx4 driver, from Majd
          Dibbiny.
      
       7) Fix divide by zero in xt_hashlimit netfilter module, from Alban
          Browaeys.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
        bpf: Fix bpf_xdp_event_output
        net/mlx4_en: Use __skb_fill_page_desc()
        net/mlx4_core: Use cq quota in SRIOV when creating completion EQs
        net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs
        net/mlx4: Spoofcheck and zero MAC can't coexist
        net/mlx4: Change ENOTSUPP to EOPNOTSUPP
        uapi: fix linux/rds.h userspace compilation errors
        uapi: fix linux/seg6.h and linux/seg6_iptunnel.h userspace compilation errors
        lib: Remove string from parman config selection
        forcedeth: Remove return from a void function
        bpf: fix spelling mistake: "proccessed" -> "processed"
        uapi: fix linux/llc.h userspace compilation error
        uapi: fix linux/ip6_tunnel.h userspace compilation errors
        net/mlx5e: Fix wrong CQE decompression
        net/mlx5e: Update MPWQE stride size when modifying CQE compress state
        net/mlx5e: Fix broken CQE compression initialization
        net/mlx5e: Do not reduce LRO WQE size when not using build_skb
        net/mlx5e: Register/unregister vport representors on interface attach/detach
        net/mlx5e: s390 system compilation fix
        tcp: account for ts offset only if tsecr not zero
        ...
      190c3ee0
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · af17fe7a
      Linus Torvalds authored
      Pull Mellanox rdma updates from Doug Ledford:
       "Mellanox specific updates for 4.11 merge window
      
        Because the Mellanox code required being based on a net-next tree, I
        keept it separate from the remainder of the RDMA stack submission that
        is based on 4.10-rc3.
      
        This branch contains:
      
         - Various mlx4 and mlx5 fixes and minor changes
      
         - Support for adding a tag match rule to flow specs
      
         - Support for cvlan offload operation for raw ethernet QPs
      
         - A change to the core IB code to recognize raw eth capabilities and
           enumerate them (touches non-Mellanox code)
      
         - Implicit On-Demand Paging memory registration support"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (40 commits)
        IB/mlx5: Fix configuration of port capabilities
        IB/mlx4: Take source GID by index from HW GID table
        IB/mlx5: Fix blue flame buffer size calculation
        IB/mlx4: Remove unused variable from function declaration
        IB: Query ports via the core instead of direct into the driver
        IB: Add protocol for USNIC
        IB/mlx4: Support raw packet protocol
        IB/mlx5: Support raw packet protocol
        IB/core: Add raw packet protocol
        IB/mlx5: Add implicit MR support
        IB/mlx5: Expose MR cache for mlx5_ib
        IB/mlx5: Add null_mkey access
        IB/umem: Indicate that process is being terminated
        IB/umem: Update on demand page (ODP) support
        IB/core: Add implicit MR flag
        IB/mlx5: Support creation of a WQ with scatter FCS offload
        IB/mlx5: Enable QP creation with cvlan offload
        IB/mlx5: Enable WQ creation and modification with cvlan offload
        IB/mlx5: Expose vlan offloads capabilities
        IB/uverbs: Enable QP creation with cvlan offload
        ...
      af17fe7a
    • Linus Torvalds's avatar
      Merge tag 'vfio-v4.11-rc1' of git://github.com/awilliam/linux-vfio · f14cc3b1
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Kconfig fixes for SPAPR_TCE_IOMMU=n (Michael Ellerman)
      
       - Module softdep rather than request_module to simplify usage from
         initrd (Alex Williamson)
      
       - Comment typo fix (Changbin Du)
      
      * tag 'vfio-v4.11-rc1' of git://github.com/awilliam/linux-vfio:
        vfio: fix a typo in comment of function vfio_pin_pages
        vfio: Replace module request with softdep
        vfio/mdev: Use a module softdep for vfio_mdev
        vfio: Fix build break when SPAPR_TCE_IOMMU=n
      f14cc3b1
    • Martin KaFai Lau's avatar
      bpf: Fix bpf_xdp_event_output · 9c471370
      Martin KaFai Lau authored
      Fix a typo. xdp->data instead of xdp should be copied to the perf-event's
      dst_buff.
      
      Fixes: 4de16969 ("bpf: enable event output helper also for xdp types")
      Reported-by: default avatarHuapeng Zhou <hzhou@fb.com>
      Tested-by: default avatarFeixiong Zhang <feixiong@fb.com>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9c471370
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 5bcbe22c
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
       "API:
         - Try to catch hash output overrun in testmgr
         - Introduce walksize attribute for batched walking
         - Make crypto_xor() and crypto_inc() alignment agnostic
      
        Algorithms:
         - Add time-invariant AES algorithm
         - Add standalone CBCMAC algorithm
      
        Drivers:
         - Add NEON acclerated chacha20 on ARM/ARM64
         - Expose AES-CTR as synchronous skcipher on ARM64
         - Add scalar AES implementation on ARM64
         - Improve scalar AES implementation on ARM
         - Improve NEON AES implementation on ARM/ARM64
         - Merge CRC32 and PMULL instruction based drivers on ARM64
         - Add NEON acclerated CBCMAC/CMAC/XCBC AES on ARM64
         - Add IPsec AUTHENC implementation in atmel
         - Add Support for Octeon-tx CPT Engine
         - Add Broadcom SPU driver
         - Add MediaTek driver"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (142 commits)
        crypto: xts - Add ECB dependency
        crypto: cavium - switch to pci_alloc_irq_vectors
        crypto: cavium - switch to pci_alloc_irq_vectors
        crypto: cavium - remove dead MSI-X related define
        crypto: brcm - Avoid double free in ahash_finup()
        crypto: cavium - fix Kconfig dependencies
        crypto: cavium - cpt_bind_vq_to_grp could return an error code
        crypto: doc - fix typo
        hwrng: omap - update Kconfig help description
        crypto: ccm - drop unnecessary minimum 32-bit alignment
        crypto: ccm - honour alignmask of subordinate MAC cipher
        crypto: caam - fix state buffer DMA (un)mapping
        crypto: caam - abstract ahash request double buffering
        crypto: caam - fix error path for ctx_dma mapping failure
        crypto: caam - fix DMA API leaks for multiple setkey() calls
        crypto: caam - don't dma_map key for hash algorithms
        crypto: caam - use dma_map_sg() return code
        crypto: caam - replace sg_count() with sg_nents_for_len()
        crypto: caam - check sg_count() return value
        crypto: caam - fix HW S/G in ablkcipher_giv_edesc_alloc()
        ..
      5bcbe22c
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.11' of git://github.com/andersson/remoteproc · 1db934a5
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This introduces an interface for user space to directly communicate on
        rpmsg endpoints without the implementation of specific kernel drivers,
        which is useful for e.g. debug channels:
      
      * tag 'rpmsg-v4.11' of git://github.com/andersson/remoteproc:
        rpmsg: rpmsg_create_ept() returns NULL on error
        rpmsg: qcom: smd: Return positively when not enabled
        rpmsg: unlock on error in rpmsg_eptdev_read()
        rpmsg: char: add CONFIG_NET dependency
        rpmsg: smd: Register rpmsg user space interface for edges
        rpmsg: Driver for user space endpoint interface
        rpmsg: qcom_smd: Implement endpoint "poll"
        rpmsg: Introduce "poll" to endpoint ops
        rpmsg: qcom_smd: Add support for "label" property
      1db934a5
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.11' of git://github.com/andersson/remoteproc · a3919caa
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This introduces support for booting the dedicated sensor core in the
        Qualcomm MSM8996, updates the Qualcomm ADSP and Hexagon drivers to
        utilize SMD subdevice helpers for properly handle shutdowns and
        restarts of the remoteproc, add virtio support to the ST remoteproc
        and refactor the Qualcomm Hexagon driver to handle variations between
        platforms.
      
        The support code for parsing, loading and authenticating Qualcomm
        firmware files (MDT) is refactored and move to drivers/soc/qcom, to
        allow for non-remoteproc drivers to utilize this.
      
        Finally it brings some cleanups to the remoteproc core"
      
      * tag 'rproc-v4.11' of git://github.com/andersson/remoteproc: (27 commits)
        remoteproc: qcom: mdt_loader: Use signed type for offset
        remoteproc: st: add virtio communication support
        remoteproc: st: correct probe error management
        remoteproc: Modify the function names
        remoteproc: Reduce asynchronous request_firmware to auto-boot only
        remoteproc: Drop qcom_scm_pas_supported() from adsp_probe()
        MAINTAINERS: Add missing rpmsg include path
        remoteproc: qcom: Use common SMD edge handler
        remoteproc: qcom: wcnss: Make SMD handling common
        remoteproc: Move qcom_mdt_loader into drivers/soc/qcom
        remoteproc: qcom: mdt_loader: Refactor MDT loader
        remoteproc: qcom: mdt_loader: Don't overwrite firmware object
        remoteproc: qcom: Extract non-mdt related helper
        remoteproc: qcom: q6v5: Decouple driver from MDT loader
        remoteproc: qcom: q6v5: Remove mss supply from 8916
        remoteproc: qcom: fix initializers for qcom_mss_reg_res array
        remoteproc: Drop firmware_loading_complete
        remoteproc: Add RPROC_DELETED state
        remoteproc: Move rproc_delete_debug_dir() to rproc_del()
        remoteproc: qcom: Add SLPI rproc support to load and boot slpi proc.
        ...
      a3919caa
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.11.addendum' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 15192b02
      Linus Torvalds authored
      Pull GFS2 fix from Bob Peterson:
       "This is an addendum for the 4.11 merge window.
      
        Andy Price wrote this patch to close a nasty race condition that
        allows access to glocks that are being destroyed. Without this patch,
        GFS2 is vulnerable to random corruption and kernel panic"
      
      * tag 'gfs2-4.11.addendum' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Add missing rcu locking for glock	lookup
      15192b02
    • Linus Torvalds's avatar
      Merge tag 'sound-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 28cbc335
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "Here is the update of sound bits for 4.11: again at this time, no big
        changes in ALSA and ASoC core but only cosmetic changes like
        consitifaction.
      
        Meanwhile, quite a lot of developments are seen in a few driver side.
      
        ALSA Core:
         - Clean up, consitification of some ops
      
        HD-audio:
         - A slight behavior change of single_cmd option
         - Quirks for AmigaOne X1000, Samsung Ativ Book 8, Dell AiO, ALC221
           HP, and fixes for Lewisburg controller
         - Realtek ALC299, ALC1220 codecs
      
        Others:
         - USB-audio: Tascam US-16x08 DSP mixer quirk
         - Intel HDMI LPE audio support for Baytrail / Cherrytrail; this
           contains some updates in drm/i915 for the new platform binding
      
        ASoC:
         - Lots of updates in Intel drivers, mostly for DisplayPort and HDMI
           on Skylake and onwards, as well as more Baytrail / Cherrytrail
           boards support
         - Channel mapping support for HDMI
         - Support for AllWinner A31 and A33, Everest Semiconductor ES8328,
           Nuvoton NAU8540.
      
      * tag 'sound-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (323 commits)
        ALSA: usb-audio: Tidy up mixer_us16x08.c
        ALSA: usb-audio: Fix memory leak and corruption in mixer_us16x08.c
        ALSA: usb-audio: purge needless variable length array
        ALSA: x86: hdmi: select CONFIG_SND_PCM
        ALSA: x86: Don't enable runtime PM as default
        ALSA: x86: Use runtime PM autosuspend
        ALSA: usb-audio: localize function without external linkage
        ALSA: usb-audio: localize one-referrer variable
        ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk
        ALSA: emu10k1: constify snd_emux_operators structure
        ASoC: sun4i-spdif: drop unnessary snd_soc_unregister_component()
        ASoC: Intel: bxt: Add jack port initialize in bxt_rt298 machine
        ASoC: nau8825: automatic BCLK and LRC divde in master mode
        ASoC: hdac_hdmi: Add device id for Geminilake
        ASoC: Intel: Skylake: Add Geminlake IDs
        ASoC: rt298: Add DMI match for Geminilake reference platform
        ASoC: Intel: Skylake: Check device type to get endpoint configuration
        ASoC: Intel: bxt: Add jack port initialize in da7219_max98357a machine
        ASoC: Intel: Skylake: Add jack port initialize in nau88l25_ssm4567 machine
        ASoC: Intel: Skylake: Add jack port initialize in nau88l25_max98357a machine
        ...
      28cbc335
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 1ec5c186
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v4.11 cycle
      
        Core changes:
      
         - Augment fwnode_get_named_gpiod() to configure the GPIO pin
           immediately after requesting it like all other APIs do. This is a
           treewide change also updating all users.
      
         - Pass a GPIO label down to gpiod_request() from
           fwnode_get_named_gpiod(). This makes debugfs and the userspace ABI
           correctly reflect the current in-kernel consumer of a pin taken
           using this abstraction. This is a treewide change also updating all
           users.
      
         - Rename devm_get_gpiod_from_child() to
           devm_fwnode_get_gpiod_from_child() to reflect the fact that this
           function is operating on a fwnode object. This is a treewide change
           also updating all users.
      
         - Make it possible to take multiple GPIOs in a single hog of device
           tree hogs.
      
         - The refactorings switching GPIO chips to use the .set_config()
           callback using standard pin control properties and providing a
           backend into the pin control subsystem that were also merged into
           the pin control tree naturally appear here too.
      
        Testing instrumentation:
      
         - A whole slew of cleanups and improvements to the mockup GPIO
           driver. We now have an extended userspace test exercising the
           subsystem, and we can inject interrupts etc from userspace to fully
           test the core GPIO functionality.
      
        New drivers:
      
         - New driver for the Cortina Systems Gemini GPIO controller.
      
         - New driver for the Exar XR17V352/354/358 chips.
      
         - New driver for the ACCES PCI-IDIO-16 PCI GPIO card.
      
        Driver changes:
      
         - RCAR: set the irqchip parent device, add fine-grained runtime PM
           support.
      
         - pca953x: support optional RESET control line on the chip.
      
         - DaVinci: cleanups and simplifications. Add support for multiple
           instances.
      
         - .set_multiple() and naming of lines on more or less all of the
           ISA/PCI GPIO controllers.
      
         - mcp23s08: refactored to use regmap as a first step to further
           rewrites and modernizations"
      
      * tag 'gpio-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (61 commits)
        gpio: reintroduce devm_get_gpiod_from_child()
        gpio: pci-idio-16: Fix PCI BAR index
        gpio: pci-idio-16: Fix PCI device ID code
        gpio: mockup: implement event injecting over debugfs
        gpio: mockup: add a dummy irqchip
        gpio: mockup: implement naming the lines
        gpio: mockup: code shrink
        gpio: mockup: readability tweaks
        gpio: Add GPIO support for the ACCES PCI-IDIO-16
        gpio: Add the devm_fwnode_get_index_gpiod_from_child() helper
        gpio: Rename devm_get_gpiod_from_child()
        gpio: mcp23s08: Select REGMAP/REGMAP_I2C to fix build error
        gpio: ws16c48: Add support for GPIO names
        gpio: gpio-mm: Add support for GPIO names
        gpio: 104-idio-16: Add support for GPIO names
        gpio: 104-idi-48: Add support for GPIO names
        gpio: 104-dio-48e: Add support for GPIO names
        gpio: ws16c48: Remove unnecessary driver_data set
        gpio: gpio-mm: Remove unnecessary driver_data set
        gpio: 104-idio-16: Remove unnecessary driver_data set
        ...
      1ec5c186
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · d5dee39b
      Linus Torvalds authored
      Pull input updates from Dmitry:
      
       - a new driver for Zeitech touchscreen controller
      
       - a new driver for Samsung "touchkeys"
      
       - touchscreen driver for Moorestown platform has been removed because
         platform support is gone
      
       - MPU3050 accelerometer driver was removed in favor of IIO driver
      
       - miscellaneous driver cleanup and fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (88 commits)
        Input: zet6223 - export OF device ID as module aliases
        Input: tsc2004/5 - switch to using generic device properties
        Input: tsc2004/5 - fix regulator handling
        Input: tsc2005 - add OF device table
        Input: add driver for Zeitec ZET6223
        Input: joydev - do not report stale values on first open
        Input: synaptics-rmi4 - forward upper mechanical buttons to PS/2 guest
        Input: synaptics-rmi4 - clean up F30 implementation
        Input: synaptics - use SERIO_OOB_DATA to handle trackstick buttons
        Input: psmouse - add a custom serio protocol to send extra information
        Input: synaptics-rmi4 - fix error return code in rmi_probe_interrupts()
        Input: xpad - restore LED state after device resume
        Input: synaptics-rmi4 - add rmi_find_function()
        Input: xpad - fix stuck mode button on Xbox One S pad
        Input: joydev - use clamp() macro
        Input: refuse to register absolute devices without absinfo
        Input: synaptics-rmi4 - add sysfs interfaces for hardware IDs
        Input: synaptics-rmi4 - add sysfs attribute update_fw_status
        Input: mousedev - stop offering PS/2 to userspace by default
        Input: tca8418 - switch to using generic device properties
        ...
      d5dee39b
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 4cc4b932
      Linus Torvalds authored
      Pull rdma updates from Doug Ledford:
       "First set of updates for 4.11 kernel merge window
      
         - Add new Broadcom bnxt_re RoCE driver
         - rxe driver updates
         - ioctl cleanups
         - ETH_P_IBOE declaration cleanup
         - IPoIB changes
         - Add port state cache
         - Allow srpt driver to accept guids as port names in config
         - Update to hfi1 driver
         - Update to srp driver
         - Lots of misc minor changes all over"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (114 commits)
        RDMA/bnxt_re: fix for "bnxt_en: Update to firmware interface spec 1.7.0."
        rdma_cm: fail iwarp accepts w/o connection params
        IB/srp: Drain the send queue before destroying a QP
        IB/core: Add support for draining IB_POLL_DIRECT completion queues
        IB/srp: Improve an error path
        IB/srp: Make a diagnostic message more informative
        IB/srp: Document locking conventions
        IB/srp: Fix race conditions related to task management
        IB/srp: Avoid that duplicate responses trigger a kernel bug
        IB/SRP: Avoid using IB_MR_TYPE_SG_GAPS
        RDMA/qedr: Fix some error handling
        RDMA/bnxt_re: add DCB dependency
        IB/hns: include linux/module.h
        IB/vmw_pvrdma: Expose vendor error to ULPs
        vmw_pvrdma: switch to pci_alloc_irq_vectors
        IB/hfi1: use size_t for passing array length
        IB/ipoib: Remove redudant label
        IB/ipoib: remove the unnecessary memory free
        IB/mthca: switch to pci_alloc_irq_vectors
        IB/hfi1: Code reuse with memdup_copy
        ...
      4cc4b932
    • Linus Torvalds's avatar
      Merge tag 'backlight-for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · a57eaa1f
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Core Frameworks:
         - Add Daniel Thompson as co-maintainer
      
        Fix-ups:
         - Improve error handling; adp5520_bl
         - Split initial power checks into dedicated function; pwm_bl
         - Check current PWM status; pwm_bl
      
        Bug Fixes:
         - Fix potential race; lcd
         - Fix module auto-loading; da9052"
      
      * tag 'backlight-for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        MAINTAINERS: Rework entry for Backlight
        backlight: da9052: Fix module autoload
        backlight: pwm_bl: Check the PWM state for initial backlight power state
        backlight: pwm_bl: Move the checks for initial power state to a separate function
        backlight: adp5520: Fix error handling in adp5520_bl_probe()
        backlight: lcd: Fix race condition during register
      a57eaa1f
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · df9cdc17
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Core Frameworks:
         - Add new !TOUCHSCREEN_SUN4I dependency for SUN4I_GPADC
         - List include/dt-bindings/mfd/* to files supported in MAINTAINERS
      
        New Drivers:
         - Intel Apollo Lake SPI NOR
         - ST STM32 Timers (Advanced, Basic and PWM)
         - Motorola 6556002 CPCAP (PMIC)
      
        New Device Support:
         - Add support for AXP221 to axp20x
         - Add support for Intel Gemini Lake to intel-lpss-pci
         - Add support for MT6323 LED to mt6397-core
         - Add support for COMe-bBD#, COMe-bSL6, COMe-bKL6, COMe-cAL6 and
           COMe-cKL6 to kempld-core
      
        New Functionality:
         - Add support for Analog CODAC to sun6i-prcm
         - Add support for Watchdog to lpc_ich
      
        Fix-ups:
         - Error handling improvements; axp288_charger, axp20x, ab8500-sysctrl
         - Adapt platform data handling; axp20x
         - IRQ handling improvements; arizona, axp20x
         - Remove superfluous code; arizona, axp20x, lpc_ich
         - Trivial coding style/spelling fixes; axp20x, abx500, mfd.txt
         - Regmap fix-ups; axp20x
         - DT changes; mfd.txt, aspeed-lpc, aspeed-gfx, ab8500-core, tps65912,
           mt6397
         - Use new I2C probing mechanism; max77686
         - Constification; rk808
      
        Bug Fixes:
         - Stop data transfer whilst suspended; cros_ec"
      
      * tag 'mfd-for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (43 commits)
        mfd: lpc_ich: Enable watchdog on Intel Apollo Lake PCH
        mfd: lpc_ich: Remove useless comments in core part
        mfd: Add support for several boards to Kontron PLD driver
        mfd: constify regmap_irq_chip structures
        MAINTAINERS: Add include/dt-bindings/mfd to MFD entry
        mfd: cpcap: Add minimal support
        mfd: mt6397: Add MT6323 LED support into MT6397 driver
        Documentation: devicetree: Add LED subnode binding for MT6323 PMIC
        mfd: tps65912: Export OF device ID table as module aliases
        mfd: ab8500-core: Rename clock device and compatible
        mfd: cros_ec: Send correct suspend/resume event to EC
        mfd: max77686: Remove I2C device ID table
        mfd: max77686: Use the struct i2c_driver .probe_new instead of .probe
        mfd: max77686: Use of_device_get_match_data() helper
        mfd: max77686: Don't attempt to get i2c_device_id .data
        mfd: ab8500-sysctrl: Handle probe deferral
        mfd: intel-lpss: Add Intel Gemini Lake PCI IDs
        mfd: axp20x: Fix AXP806 access errors on cold boot
        mfd: cros_ec: Send suspend state notification to EC
        mfd: cros_ec: Prevent data transfer while device is suspended
        ...
      df9cdc17
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · ccaba062
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for your net tree,
      they are:
      
      1) Revisit warning logic when not applying default helper assignment.
         Jiri Kosina considers we are breaking existing setups and not warning
         our users accordinly now that automatic helper assignment has been
         turned off by default. So let's make him happy by spotting the warning
         by when we find a helper but we cannot attach, instead of warning on the
         former deprecated behaviour. Patch from Jiri Kosina.
      
      2) Two patches to fix regression in ctnetlink interfaces with
         nfnetlink_queue. Specifically, perform more relaxed in CTA_STATUS
         and do not bail out if CTA_HELP indicates the same helper that we
         already have. Patches from Kevin Cernekee.
      
      3) A couple of bugfixes for ipset via Jozsef Kadlecsik. Due to wrong
         index logic in hash set types and null pointer exception in the
         list:set type.
      
      4) hashlimit bails out with correct userspace parameters due to wrong
         arithmetics in the code that avoids "divide by zero" when
         transforming the userspace timing in milliseconds to token credits.
         Patch from Alban Browaeys.
      
      5) Fix incorrect NFQA_VLAN_MAX definition, patch from
         Ken-ichirou MATSUZAWA.
      
      6) Don't not declare nfnetlink batch error list as static, since this
         may be used by several subsystems at the same time. Patch from
         Liping Zhang.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ccaba062
    • David S. Miller's avatar
      Merge branch 'mlx4-misc-fixes' · e65ade77
      David S. Miller authored
      Tariq Toukan says:
      
      ====================
      mlx4 misc fixes
      
      This patchset contains misc bug fixes from Eric Dumazet and our team
      to the mlx4 Core and Eth drivers.
      
      Series generated against net commit:
      eee2faab tcp: account for ts offset only if tsecr not zero
      
      v3:
      * Rebased, conflict solved.
      
      v2:
      * Added Eric's fix (patch 5/5).
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e65ade77
    • Eric Dumazet's avatar
      net/mlx4_en: Use __skb_fill_page_desc() · 7f0137e2
      Eric Dumazet authored
      Or we might miss the fact that a page was allocated from memory reserves.
      
      Fixes: dceeab0e ("mlx4: support __GFP_MEMALLOC for rx")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f0137e2
    • Jack Morgenstein's avatar
      net/mlx4_core: Use cq quota in SRIOV when creating completion EQs · 6ed63d84
      Jack Morgenstein authored
      When creating EQs to handle CQ completion events for the PF
      or for VFs, we create enough EQE entries to handle completions
      for the max number of CQs that can use that EQ.
      
      When SRIOV is activated, the max number of CQs a VF (or the PF) can
      obtain is its CQ quota (determined by the Hypervisor resource tracker).
      Therefore, when creating an EQ, the number of EQE entries that the VF
      should request for that EQ is the CQ quota value (and not the total
      number of CQs available in the FW).
      
      Under SRIOV, the PF, also must use its CQ quota, because
      the resource tracker also controls how many CQs the PF can obtain.
      
      Using the FW total CQs instead of the CQ quota when creating EQs resulted
      wasting MTT entries, due to allocating more EQEs than were needed.
      
      Fixes: 5a0d0a61 ("mlx4: Structures and init/teardown for VF resource quotas")
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reported-by: default avatarDexuan Cui <decui@microsoft.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6ed63d84
    • Majd Dibbiny's avatar
      net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs · 95f1ba9a
      Majd Dibbiny authored
      In the VF driver, module parameter mlx4_log_num_mgm_entry_size was
      mistakenly overwritten -- and in a manner which overrode the
      device-managed flow steering option encoded in the parameter.
      
      log_num_mgm_entry_size is a global module parameter which
      affects all ConnectX-3 PFs installed on that host.
      If a VF changes log_num_mgm_entry_size, this will affect all PFs
      which are probed subsequent to the change (by disabling DMFS for
      those PFs).
      
      Fixes: 3c439b55 ("mlx4_core: Allow choosing flow steering mode")
      Signed-off-by: default avatarMajd Dibbiny <majd@mellanox.com>
      Reviewed-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      95f1ba9a
    • Eugenia Emantayev's avatar
      net/mlx4: Spoofcheck and zero MAC can't coexist · 745d8ae4
      Eugenia Emantayev authored
      Spoofcheck can't be enabled if VF MAC is zero.
      Vice versa, can't zero MAC if spoofcheck is on.
      
      Fixes: 8f7ba3ca ('net/mlx4: Add set VF mac address support')
      Signed-off-by: default avatarEugenia Emantayev <eugenia@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      745d8ae4
    • Or Gerlitz's avatar
      net/mlx4: Change ENOTSUPP to EOPNOTSUPP · 423b3aec
      Or Gerlitz authored
      As ENOTSUPP is specific to NFS, change the return error value to
      EOPNOTSUPP in various places in the mlx4 driver.
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Suggested-by: default avatarYotam Gigi <yotamg@mellanox.com>
      Reviewed-by: default avatarMatan Barak <matanb@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      423b3aec
    • Dmitry V. Levin's avatar
      uapi: fix linux/rds.h userspace compilation errors · c12f4d76
      Dmitry V. Levin authored
      Consistently use types from linux/types.h to fix the following
      linux/rds.h userspace compilation errors:
      
      /usr/include/linux/rds.h:198:2: error: unknown type name 'u8'
        u8 rx_traces;
      /usr/include/linux/rds.h:199:2: error: unknown type name 'u8'
        u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX];
      /usr/include/linux/rds.h:203:2: error: unknown type name 'u8'
        u8 rx_traces;
      /usr/include/linux/rds.h:204:2: error: unknown type name 'u8'
        u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX];
      /usr/include/linux/rds.h:205:2: error: unknown type name 'u64'
        u64 rx_trace[RDS_MSG_RX_DGRAM_TRACE_MAX];
      
      Fixes: 3289025a ("RDS: add receive message trace used by application")
      Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c12f4d76
    • Dmitry V. Levin's avatar
      uapi: fix linux/seg6.h and linux/seg6_iptunnel.h userspace compilation errors · ea3ebc73
      Dmitry V. Levin authored
      Include <linux/in6.h> in uapi/linux/seg6.h to fix the following
      linux/seg6.h userspace compilation error:
      
      /usr/include/linux/seg6.h:31:18: error: array type has incomplete element type 'struct in6_addr'
        struct in6_addr segments[0];
      
      Include <linux/seg6.h> in uapi/linux/seg6_iptunnel.h to fix
      the following linux/seg6_iptunnel.h userspace compilation error:
      
      /usr/include/linux/seg6_iptunnel.h:26:21: error: array type has incomplete element type 'struct ipv6_sr_hdr'
        struct ipv6_sr_hdr srh[0];
      
      Fixes: a50a05f4 ("ipv6: sr: add missing Kbuild export for header files")
      Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ea3ebc73
    • Jiri Pirko's avatar
      lib: Remove string from parman config selection · 50ab3af1
      Jiri Pirko authored
      As reported by Geert, remove the string so the user does not see this
      config option. The option is explicitly selected only as a dependency of
      in-kernel users.
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Fixes: 44091d29 ("lib: Introduce priority array area manager")
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      50ab3af1
    • Zhu Yanjun's avatar
      forcedeth: Remove return from a void function · ca92aea9
      Zhu Yanjun authored
      In a void function, it is not necessary to append a return statement in it.
      Signed-off-by: default avatarZhu Yanjun <yanjun.zhu@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ca92aea9
    • Colin Ian King's avatar
      bpf: fix spelling mistake: "proccessed" -> "processed" · bc1750f3
      Colin Ian King authored
      trivial fix to spelling mistake in verbose log message
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bc1750f3
    • Dmitry V. Levin's avatar
      uapi: fix linux/llc.h userspace compilation error · 40df93be
      Dmitry V. Levin authored
      Include <linux/if.h> to fix the following linux/llc.h userspace
      compilation error:
      
      /usr/include/linux/llc.h:26:27: error: 'IFHWADDRLEN' undeclared here (not in a function)
        unsigned char   sllc_mac[IFHWADDRLEN];
      Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      40df93be
    • Dmitry V. Levin's avatar
      uapi: fix linux/ip6_tunnel.h userspace compilation errors · 557d7acd
      Dmitry V. Levin authored
      Include <linux/if.h> and <linux/in6.h> to fix the following
      linux/ip6_tunnel.h userspace compilation errors:
      
      /usr/include/linux/ip6_tunnel.h:23:12: error: 'IFNAMSIZ' undeclared here (not in a function)
        char name[IFNAMSIZ]; /* name of tunnel device */
      /usr/include/linux/ip6_tunnel.h:30:18: error: field 'laddr' has incomplete type
        struct in6_addr laddr; /* local tunnel end-point address */
      Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      557d7acd
    • David S. Miller's avatar
      Merge branch 'mlx5-fixes' · 79873fb6
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      Mellanox mlx5e fixes for 4.11-rc1
      
      This series includes some important bug fixes for mlx5e driver.
      
      Three misc fixes:
      From Mohamad, compilation fix on s390 system
      From Me, A fix for driver unload when switchdev mode is on.
      From Tariq, HW LRO frag size optimization for when build_skb is not used
      (striding RQ mode).
      
      Three CQE compression related fixes:
      Two fixes from Tariq and I, to correctly setup CQE compression
      parameters on driver load and on arbitrary user modifications.
      Last patch, fixes a very critical issue that was originally reported
      by Tom, where the driver reported csum errors or even page ref issues
      for when cqe compression is enabled and rapidly active.
      
      For your convenience this series was generated on top of net-next branch:
      005c3490 ('Revert "ath10k: Search SMBIOS for OEM board file extension"')
      
      for -stable:
      net/mlx5e: Register/unregister vport representors on interface (for kernel >= 4.9)
      net/mlx5e: Do not reduce LRO WQE size when not using build_skb (for kernel >= 4.9)
      net/mlx5e: Fix broken CQE compression initialization (for kernel >= 4.9)
      net/mlx5e: Update MPWQE stride size when modifying CQE compress state (for kernel >= 4.7)
      net/mlx5e: Fix wrong CQE decompression (for kernel >= 4.7)
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      79873fb6
    • Tariq Toukan's avatar
      net/mlx5e: Fix wrong CQE decompression · 36154be4
      Tariq Toukan authored
      In cqe compression with striding RQ, the decompression of the CQE field
      wqe_counter was done with a wrong wraparound value.
      This caused handling cqes with a wrong pointer to wqe (rx descriptor)
      and creating SKBs with wrong data, pointing to wrong (and already consumed)
      strides/pages.
      
      The meaning of the CQE field wqe_counter in striding RQ holds the
      stride index instead of the WQE index. Hence, when decompressing
      a CQE, wqe_counter should have wrapped-around the number of strides
      in a single multi-packet WQE.
      
      We dropped this wrap-around mask at all in CQE decompression of striding
      RQ. It is not needed as in such cases the CQE compression session would
      break because of different value of wqe_id field, starting a new
      compression session.
      
      Tested:
       ethtool -K ethxx lro off/on
       ethtool --set-priv-flags ethxx rx_cqe_compress on
       super_netperf 16 {ipv4,ipv6} -t TCP_STREAM -m 50 -D
       verified no csum errors and no page refcount issues.
      
      Fixes: 7219ab34 ("net/mlx5e: CQE compression")
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Reported-by: default avatarTom Herbert <tom@herbertland.com>
      Cc: kernel-team@fb.com
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      36154be4
    • Saeed Mahameed's avatar
      net/mlx5e: Update MPWQE stride size when modifying CQE compress state · 6dc4b54e
      Saeed Mahameed authored
      When the admin enables/disables cqe compression, updating
      mpwqe stride size is required:
          CQE compress ON  ==> stride size = 256B
          CQE compress OFF ==> stride size = 64B
      
      This is already done on driver load via mlx5e_set_rq_type_params, all we
      need is just to call it on arbitrary admin changes of cqe compression
      state via priv flags or when changing timestamping state
      (as it is mutually exclusive with cqe compression).
      
      This bug introduces no functional damage, it only makes cqe compression
      occur less often, since in ConnectX4-LX CQE compression is performed
      only on packets smaller than stride size.
      
      Tested:
       ethtool --set-priv-flags ethxx rx_cqe_compress on
       pktgen with  64 < pkt size < 256 and netperf TCP_STREAM (IPv4/IPv6)
       verify `ethtool -S ethxx | grep compress` are advancing more often
       (rapidly)
      
      Fixes: 7219ab34 ("net/mlx5e: CQE compression")
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Reviewed-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Cc: kernel-team@fb.com
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6dc4b54e
    • Tariq Toukan's avatar
      net/mlx5e: Fix broken CQE compression initialization · b0d4660b
      Tariq Toukan authored
      Some of RQ type parameters are derived from CQE compression state flag,
      CQE compression flag was initialized only after RQ type parameters
      setup. This leads to load RQ with stride size smaller than what we
      want for when CQE compression is on.
      
      This bug introduces no functional damage, it only makes CQE compression
      occur less often, since in ConnectX4-LX CQE compression is performed
      only on packets smaller than stride size.
      
      Fix this by marking default status of CQE compression in PFLAG prior to
      calling mlx5e_set_rq_priv_params(), as it inits some fields based on it.
      
      Tested:
       load driver on systems where rx CQE compress will be on (MH)
       pktgen with  64 < pkt size < 256 and netperf TCP_STREAM (IPv4/IPv6)
       verify `ethtool -S ethxx | grep compress` are advancing more often
       (rapidly)
      
      Fixes: 2fc4bfb7 ("net/mlx5e: Dynamic RQ type infrastructure")
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Cc: kernel-team@fb.com
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0d4660b