1. 12 Jun, 2018 12 commits
    • Benjamin Herrenschmidt's avatar
      fsi/fsi-master-gpio: Delay sampling of FSI data input · f3ca4834
      Benjamin Herrenschmidt authored
      Most SoC GPIO implementations, including the Aspeed one, have
      synchronizers on the GPIO inputs. This means that the value
      read from a GPIO is a couple of clocks old, from whatever clock
      source feeds those synchronizers.
      
      In practice, this means that in no-delay mode, we are using a
      value that can potentially be a bit too old and too close to
      the clock edge establishing the data on the other side of the link.
      
      The voltage converters we use on some systems make this worse
      and sensitive to things like voltage fluctuations etc... This is,
      we believe, the cause of occasional CRC errors encountered during
      heavy activity on the LPC bus.
      
      This is fixed by introducing a dummy GPIO read before the actual
      data read. It slows down SBEFIFO by about 15% (less than any delay
      primitive) and the end result is so far solid.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: default avatarChristopher Bostic <cbostic@linux.vnet.ibm.com>
      Tested-by: default avatarJoel Stanley <joel@jms.id.au>
      f3ca4834
    • Benjamin Herrenschmidt's avatar
      fsi/fsi-master-gpio: Reduce dpoll clocks · b632642e
      Benjamin Herrenschmidt authored
      FSI_GPIO_DPOLL_CLOCKS is the number of clocks before sending
      a DPOLL command after receiving a BUSY status. It should be
      at least tSendDelay (16 clocks).
      
      According to comments in the code, it needs to also be at least
      21 clocks due to HW issues.
      
      It's currently 100 clocks which impacts performances negatively
      in some cases. Reduces it in half to 50 clocks which seems to
      still be solid.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: default avatarChristopher Bostic <cbostic@linux.vnet.ibm.com>
      Tested-by: default avatarJoel Stanley <joel@jms.id.au>
      b632642e
    • Benjamin Herrenschmidt's avatar
      fsi/fsi-master-gpio: Reduce turnaround clocks · 97a4e5c9
      Benjamin Herrenschmidt authored
      FSI_GPIO_PRIME_SLAVE_CLOCKS is the number of clocks if the
      "idle" phase between the end of a response and the beginning
      of the next one. It corresponds to tSendDelay in the FSI
      specification.
      
      The default value in the slave is 16 clocks. 100 is way overkill
      and significantly reduces the driver performance.
      
      This changes it to 20 (which gives the HW a bit of margin still
      just in case).
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: default avatarChristopher Bostic <cbostic@linux.vnet.ibm.com>
      Tested-by: default avatarJoel Stanley <joel@jms.id.au>
      97a4e5c9
    • Benjamin Herrenschmidt's avatar
      fsi/fsi-master-gpio: Add "no-gpio-delays" option · bc1099d2
      Benjamin Herrenschmidt authored
      This adds support for an optional device-tree property that
      makes the driver skip all the delays around clocking the
      GPIOs and set it in the device-tree of common POWER9 based
      OpenPower platforms.
      
      This useful on chips like the AST2500 where the GPIO block is
      running at a fairly low clock frequency (25Mhz typically). In
      this case, the delays are unnecessary and due to the low
      precision of the timers, actually quite harmful in terms of
      performance.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: default avatarChristopher Bostic <cbostic@linux.vnet.ibm.com>
      Tested-by: default avatarJoel Stanley <joel@jms.id.au>
      bc1099d2
    • Benjamin Herrenschmidt's avatar
      fsi/fsi-master-gpio: Sample input data on different clock phase · 5d0d16f1
      Benjamin Herrenschmidt authored
      We currently sample the input data right after we toggle the
      clock low, then high. The slave establishes the data on the
      rising edge, so this is not ideal. We should sample it on
      the low phase instead.
      
      This currently works because we have an extra delay, but subsequent
      patches will remove it.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: default avatarChristopher Bostic <cbostic@linux.vnet.ibm.com>
      Tested-by: default avatarJoel Stanley <joel@jms.id.au>
      5d0d16f1
    • Jeremy Kerr's avatar
      fsi: gpio: Use a mutex to protect transfers · e5538139
      Jeremy Kerr authored
      Reduce time spent with interrupts disabled by limiting the critical
      sections to bitbanging FSI symbols. We only need to ensure exclusive use
      of the bus for an entire transfer, not that the transfer be performed in
      atomic context.
      Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Tested-by: default avatarJoel Stanley <joel@jms.id.au>
      e5538139
    • Andrew Jeffery's avatar
    • Andrew Jeffery's avatar
      fsi: gpio: Trace busy count · 918da951
      Andrew Jeffery authored
      An observation from trace output of the existing FSI tracepoints was
      that the remote device was sometimes reporting as busy. Add a new
      tracepoint reporting the busy count in order to get a better grip on how
      often this is the case.
      Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Acked-by: default avatarEddie James <eajames@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Tested-by: default avatarJoel Stanley <joel@jms.id.au>
      918da951
    • Linus Torvalds's avatar
      Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8efcf34a
      Linus Torvalds authored
      Pull ARM SoC late updates from Olof Johansson:
       "This is a branch with a few merge requests that either came in late,
        or took a while longer for us to review and merge than usual and thus
        cut it a bit close to the merge window. We stage them in a separate
        branch and if things look good, we still send them up -- and that's
        the case here.
      
        This is mostly DT additions for Renesas platforms, adding IP block
        descriptions for existing and new SoCs.
      
        There are also some driver updates for Qualcomm platforms for SMEM/QMI
        and GENI, which is their generalized serial protocol interface"
      
      * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (186 commits)
        soc: qcom: smem: introduce qcom_smem_virt_to_phys()
        soc: qcom: qmi: fix a buffer sizing bug
        MAINTAINERS: Update pattern for qcom_scm
        soc: Unconditionally include qcom Makefile
        soc: qcom: smem: check sooner in qcom_smem_set_global_partition()
        soc: qcom: smem: fix qcom_smem_set_global_partition()
        soc: qcom: smem: fix off-by-one error in qcom_smem_alloc_private()
        soc: qcom: smem: byte swap values properly
        soc: qcom: smem: return proper type for cached entry functions
        soc: qcom: smem: fix first cache entry calculation
        soc: qcom: cmd-db: Make endian-agnostic
        drivers: qcom: add command DB driver
        arm64: dts: renesas: salvator-common: Add ADV7482 support
        ARM: dts: r8a7740: Add CEU1
        ARM: dts: r8a7740: Add CEU0
        arm64: dts: renesas: salvator-common: enable VIN
        arm64: dts: renesas: r8a77970: add VIN and CSI-2 nodes
        arm64: dts: renesas: r8a77965: add VIN and CSI-2 nodes
        arm64: dts: renesas: r8a7796: add VIN and CSI-2 nodes
        arm64: dts: renesas: r8a7795-es1: add CSI-2 node
        ...
      8efcf34a
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 32bcbf8b
      Linus Torvalds authored
      Pull ARM SoC driver updates from Olof Johansson:
       "This contains platform-related driver updates for ARM and ARM64.
      
        Highlights:
      
         - ARM SCMI (System Control & Management Interface) driver cleanups
      
         - Hisilicon support for LPC bus w/ ACPI
      
         - Reset driver updates for several platforms: Uniphier,
      
         - Rockchip power domain bindings and hardware descriptions for
           several SoCs.
      
         - Tegra memory controller reset improvements"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (59 commits)
        ARM: tegra: fix compile-testing PCI host driver
        soc: rockchip: power-domain: add power domain support for px30
        dt-bindings: power: add binding for px30 power domains
        dt-bindings: power: add PX30 SoCs header for power-domain
        soc: rockchip: power-domain: add power domain support for rk3228
        dt-bindings: power: add binding for rk3228 power domains
        dt-bindings: power: add RK3228 SoCs header for power-domain
        soc: rockchip: power-domain: add power domain support for rk3128
        dt-bindings: power: add binding for rk3128 power domains
        dt-bindings: power: add RK3128 SoCs header for power-domain
        soc: rockchip: power-domain: add power domain support for rk3036
        dt-bindings: power: add binding for rk3036 power domains
        dt-bindings: power: add RK3036 SoCs header for power-domain
        dt-bindings: memory: tegra: Remove Tegra114 SATA and AFI reset definitions
        memory: tegra: Remove Tegra114 SATA and AFI reset definitions
        memory: tegra: Register SMMU after MC driver became ready
        soc: mediatek: remove unneeded semicolon
        soc: mediatek: add a fixed wait for SRAM stable
        soc: mediatek: introduce a CAPS flag for scp_domain_data
        soc: mediatek: reuse regmap_read_poll_timeout helpers
        ...
      32bcbf8b
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 721afaa2
      Linus Torvalds authored
      Pull ARM SoC device tree updates from Olof Johansson:
       "As always, a large number of DT updates. Too many to enumerate them
        all, but at a glance:
      
        New SoCs introduced in this release:
      
         - Amlogic:
            + Meson 8M2 SoC, a.k.a. S812. A quad Cortex-A9 SoC used in some
              set top boxes and other products.
      
         - Mediatek:
            + MT7623A, which is a flavor of the MT7623 family with other
              on-chip ethernet options.
      
         - Qualcomm:
            + SDM845, a.k.a Snapdragon 845, an 4+4-core Kryo 385/845
              (Cortex-A75/A55 derivative) SoC that's one of the current
              high-end mobile SoCs.
      
              It's great to see mainline support for it. So far, you can't do
              much with it, since a lot of peripherals are not yet in the DTs
              but driver support for USB, GPU and other pieces are starting to
              trickle in. This might end up being a well-supported SoC
              upstream if the momentum keeps up.
      
         - Renesas:
            + R8A77990, a.k.a R-Car E3, a new automotive
              entertainment-targeted SoC. Currently only one Cortex-A53 CPU is
              enabled, we are eagerly awaiting more. So far, basic drivers
              such as serial, gpios, PMU and ethernet are enabled.
            + R8A77470, a.k.a. RZ/G1C, a new dual Cortex-A7 SoC with PowerVR
              GPU. Same here, basic set of drivers such as serial, gpios and
              ethernet enabled, and SMP support is also forthcoming.
      
         - STMicroelectronics:
            + STM32F469, very similar tih STM32F429 but with display support
      
        Enhancements to SoCs/platforms (DTS contents, some driver portions
        might not be in yet):
         - Allwinner sun8i (h3/a33/a83t) SMP, DVFS tweaks, misc
         - Amlogic Meson: I2C, UFS, TDM, GPIO external interrupts, MMC resets
         - Hisilicon hi3660: Thermal cooling, CPU frequency scaling, mailbox interfaces
         - Marvell Berlin2CD: SMP support, thermal sensors
         - Mediatek MT7623: Highspeed DMA, audio support
         - Qualcomm IPQ8074 PCIe support, MSM8996 UFS support
         - Renesas: Watchdog and PMU support across many platforms
         - Rockchip RK3399: USB3 OTG support
         - Samsung Exynos: Audio-over-HDMI on Odroid X/X2/U3
         - STMicro STM32: Lots of peripherals added to STM32MP175C
         - Uniphier: Ethernet support
      
        New boards:
         - Allwinner A20: Olimex A20-SOM-EVB-eMMC variant
         - Allwinner H2+: Libre Computer ALL-H3-CC (h2+ version)
         - Allwinner A33: Nintendo NES/SuperNES Classic Edition
         - Aspeed: S2600WF, Inventec Lanyang BMC, Portwell Neptune
         - Berlin2CD: Valve Steam Link
         - Broadcom BCM5301X: Luxul XAP-1610 and XWR-3150 V1
         - Broadcom: Raspberry Pi 3 B+
         - Mediatek MT7623N and MT7623A: reference boards
         - Meson 8M2: Tronsmart MXIII Plus
         - NXP i.MX: Engicam i.CoreM6, DHCOM iMX6 SOM, BTicino i.MX6DL Mamoj
         - Qualcomm MSM8974: Sony Xperia Z1 Compact support
         - Qualcomm SDM845: MTP development board
         - Renesas: Ebisu R8A77990 board
         - Renesas RZ/G1C: iwg23s: iWave G235-SDB
         - TI am335x: Pocketbeagle support"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (448 commits)
        ARM: dts: aspeed: Fix hwrng register address
        arm64: dts: sprd: whale2: Add the rtc enable clock for watchdog
        arm64: dts: sprd: Add GPIO and GPIO keys device nodes
        arm64: dts: sprd: fix typo in 'remote-endpoint'
        arm64: dts: apq8096-db820c: Removed bt-en-1-8v regulator
        arm64: dts: fix regulator property name for wlan pcie endpoint
        arm64: dts: qcom: msm8996: Use UFS_GDSC for UFS
        ARM: dts: pxa3xx: fix MMC clocks
        ARM: pxa: dts: add pin definitions for extended GPIOs
        ARM: pxa: dts: add gpio-ranges to gpio controller
        ARM: dts: ipq8074: Enable few peripherals for hk01 board
        ARM: dts: ipq8074: Add pcie nodes
        ARM: dts: ipq8074: Add peripheral nodes
        ARM: dts: ipq4019: Add qcom-ipq4019-ap.dk07.1-c2 board file
        ARM: dts: ipq4019: Add qcom-ipq4019-ap.dk07.1-c1 board file
        ARM: dts: ipq4019: Add ipq4019-ap.dk07.1 common data
        ARM: dts: ipq4019: Add qcom-ipq4019-ap.dk04.1-c3 board file
        ARM: dts: ipq4019: Add ipq4019-ap.dk04.1-c1 board file
        ARM: dts: ipq4019: Add ipq4019-ap.dk04.dtsi
        ARM: dts: ipq4019: Change the max opp frequency
        ...
      721afaa2
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 7c00e8ae
      Linus Torvalds authored
      Pull ARM SoC platform updates from Olof Johansson:
       "Here are the main updates for SoC support (besides DT additions) for
        ARM 32- and 64-bit platforms. The branch also contains defconfig
        updates to turn on drivers and options as needed on the various
        platforms.
      
        The largest parts of the delta are from cleanups moving platform data
        and board file setup of TI platforms to ti-sysc bus drivers. There are
        also some sweeping changes of eeprom and nand setup on Davinci, i.MX
        and other platforms.
      
        Samsung is removing support for Exynos5440, which was an oddball SoC
        that hasn't been seen much use in designs.
      
        Renesas is adding support for new SoCs (R-Car E3, RZ/G1C and RZ/N1D).
      
        Linus Walleij is also removing support for ux500 (Sony Ericsson)
        U8540/9540 SoCs that never made it to significant mass production and
        products"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits)
        MAINTAINERS: add NXP linux team maillist as i.MX reviewer
        ARM: stm32: Don't select DMA unconditionally on STM32MP157C
        arm64: defconfig: Enable PCIe on msm8996 and db820c
        ARM: pxa3xx: enable external wakeup pins
        ARM: pxa: stargate2: use device properties for at24 eeprom
        arm64: defconfig: Enable HISILICON_LPC
        arm64: defconfig: enable drivers for Poplar support
        arm64: defconfig: Enable UFS on msm8996
        ARM: berlin: switch to SPDX license identifier
        arm: berlin: remove non-necessary flush_cache_all()
        ARM: berlin: extend BG2CD Kconfig entry
        OMAP: CLK: CLKSRC: Add suspend resume hooks
        ARM: AM43XX: Add functions to save/restore am43xx control registers
        ASoC: ams_delta: use GPIO lookup table
        ARM: OMAP1: ams-delta: add GPIO lookup tables
        bus: ti-sysc: Fix optional clocks array access
        ARM: OMAP2+: Make sure LOGICRETSTATE bits are not cleared
        ARM: OMAP2+: prm44xx: Inroduce cpu_pm notifiers for context save/restore
        ARM: OMAP2+: prm44xx: Introduce context save/restore for am43 PRCM IO
        ARM: OMAP2+: powerdomain: Introduce cpu_pm notifiers for context save/restore
        ...
      7c00e8ae
  2. 11 Jun, 2018 19 commits
    • Olof Johansson's avatar
      Merge branch 'next/defconfig' into next/soc · 958da6e3
      Olof Johansson authored
      Merging in defconfig updates. It's useful to keep them separate during
      development but little point in merging them upstream on their own.
      
      * next/defconfig: (40 commits)
        arm64: defconfig: Enable PCIe on msm8996 and db820c
        arm64: defconfig: Enable HISILICON_LPC
        arm64: defconfig: enable drivers for Poplar support
        arm64: defconfig: Enable UFS on msm8996
        arm64: defconfig: enable the Armada thermal driver
        ARM: multi_v7_defconfig: Enable RENESAS_WDT
        ARM: shmobile: defconfig: Enable RENESAS_WDT_GEN
        arm64: defconfig: enable R8A77990 SoC
        ARM: multi_v7_defconfig: Add STM32F7 I2C & STM32 USBPHYC support
        arm64: defconfig: Increase CMA size for VC4
        arm64: defconfig: enable rockchip efuse
        ARM: imx_v6_v7_defconfig: Select CONFIG_GPIO_MAX732X by default
        ARM: imx_v6_v7_defconfig: enable imx6sll by default
        arm64: defconfig: Enable CONFIG_SND_AUDIO_GRAPH_CARD
        arm64: defconfig: makes SND_SIMPLE_CARD to module
        ARM: multi_v7_defconfig: enable the Meson PWM controller
        arm: multi_v7_defconfig: enable the Amlogic Meson I2C driver
        arm64: defconfig: enable CONFIG_SPI_ARMADA_3700
        arm64: defconfig: Enable CONFIG_PINCTRL_MT7622 by default
        arm64: defconfig: Enable bluetooth USB support
        ...
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      958da6e3
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-4.18-rc1' of git://www.linux-watchdog.org/linux-watchdog · a2b7ab45
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       "Core:
         - simplify getting .drvdata
      
        renesas_wdt:
         - add support for the R8A77965 WDT and R-Car Gen2
         - remove R-Car M2-W ES2.x from blacklist
      
        sp805:
         - add restart handler
      
        hpwdt:
         - claim NMIs generated by iLO5
      
        mena21_wdt:
         - drop unnecessary mutex lock
      
        da9062 & da9063:
         - fixes and general cleanups"
      
      * tag 'linux-watchdog-4.18-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: da9063: remove duplicated timeout_to_sel calls
        watchdog: da9063: rename helper function to avoid misunderstandings
        watchdog: da9062: remove unused code
        watchdog: da9063: Fix timeout handling during probe
        watchdog: da9063: Fix updating timeout value
        watchdog: da9063: Fix setting/changing timeout
        dt-bindings: watchdog: renesas-wdt: Add R-Car Gen2 support
        watchdog: mena21_wdt: Drop unnecessary mutex lock
        watchdog: renesas-wdt: Add support for the R8A77965 WDT
        watchdog: hpwdt: Claim NMIs generated by iLO5
        watchdog: sp805: add restart handler
        watchdog: renesas-wdt: Remove R-Car M2-W ES2.x from blacklist
        watchdog: simplify getting .drvdata
      a2b7ab45
    • Linus Torvalds's avatar
      Revert "iommu/amd_iommu: Use CONFIG_DMA_DIRECT_OPS=y and dma_direct_{alloc,free}()" · e16c4790
      Linus Torvalds authored
      This reverts commit b468620f.
      
      It turns out that this broke drm on AMD platforms. Quoting Gabriel C:
       "I can confirm reverting b468620f fixes
        that issue for me.
      
        The GPU is working fine with SME enabled.
      
        Now with working GPU :) I can also confirm performance is back to
        normal without doing any other workarounds"
      
      Christan König analyzed it partially:
       "As far as I analyzed it we now get an -ENOMEM from dma_alloc_attrs()
        in drivers/gpu/drm/ttm/ttm_page_alloc_dma.c when IOMMU is enabled"
      
      and Christoph Hellwig responded:
       "I think the prime issue is that dma_direct_alloc respects the dma
        mask. Which we don't need if actually using the iommu. This would be
        mostly harmless exept for the the SEV bit high in the address that
        makes the checks fail.
      
        For now I'd say revert this commit for 4.17/4.18-rc and I'll look into
        addressing these issues properly"
      Reported-and-bisected-by: default avatarGabriel C <nix.or.die@gmail.com>
      Acked-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Michel Dänzer <michel.daenzer@amd.com>
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: stable@kernel.org		# v4.17
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e16c4790
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.18' of git://github.com/andersson/remoteproc · f7cca14b
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This migrates rpmsg to use SPDX license headers and fixes a
        use-after-free in SMD"
      
      * tag 'rpmsg-v4.18' of git://github.com/andersson/remoteproc:
        rpmsg: smd: do not use mananged resources for endpoints and channels
        rpmsg: char: Switch to SPDX license identifier
        rpmsg: glink: Switch to SPDX license identifier
        rpmsg: smd: Switch to SPDX license identifier
        rpmsg: virtio_rpmsg_bus: Switch to SPDX license identifier
        rpmsg: Switch to SPDX license identifier
        rpmsg: qcom_smd: Access APCS through mailbox framework
        rpmsg: Add driver_override device attribute for rpmsg_device
      f7cca14b
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.18' of git://github.com/andersson/remoteproc · b70c9d37
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This brings a few minor fixes to the Davinci driver, drops a orphan
        include file from the StE cleanup done ealier and introduces support
        for booting the modem on Qualcomm's SDM845 platform"
      
      * tag 'rproc-v4.18' of git://github.com/andersson/remoteproc:
        remoteproc: q6v5: Allow defining GLINK edge for mss remoteproc
        remoteproc: q6v5: Add support for mss remoteproc on SDM845
        remoteproc: q6v5: Introduce reset assert/deassert helper functions
        dt-bindings: remoteproc: Add Q6v5 Modem PIL binding for SDM845
        remoteproc: q6v5: Move proxy unvote to handover irq handler
        remoteproc: q6v5: Return irq from q6v5_request_irq()
        remoteproc/ste: remove abandoned include file
        remoteproc/davinci: use octal permissions for module_param()
        remoteproc/davinci: prepare and unprepare the clock where needed
        remoteproc/davinci: add the missing retval check for clk_enable()
        remoteproc: Remove depends on HAS_DMA in case of platform dependency
        remoteproc: Prevent incorrect rproc state on xfer mem ownership failure
      b70c9d37
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v4.18' of git://github.com/andersson/remoteproc · 6f75edea
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "In addition to migrating the files to use SPDX license headers this
        introduces the ability for clients to operate a hwlock without the
        framework taking any additional locks"
      
      * tag 'hwlock-v4.18' of git://github.com/andersson/remoteproc:
        hwspinlock/u8500: Switch to SPDX license identifier
        hwspinlock: sprd: Switch to SPDX license identifier
        hwspinlock/sirf: Switch to SPDX license identifier
        hwspinlock: qcom: Switch to SPDX license identifier
        hwspinlock/omap: Switch to SPDX license identifier
        hwspinlock/core: Switch to SPDX license identifier
        hwspinlock: Introduce one new mode for hwspinlock
        hwspinlock: Convert to use 'switch' statement
      6f75edea
    • Linus Torvalds's avatar
      ia64: disable CONFIG_PERFMON at least for now · d2b2250c
      Linus Torvalds authored
      Al noted that the semantics of the ia64 perfmon mmap() is really wrong,
      and can cause serious VM problems.  Before we look at whether it needs
      to be fixed, let's see if anybody even uses it, and mark it broken.  It
      may be that we can just remove the code entirely.
      Reported-by: default avatarAlexander Viro <viro@zeniv.linux.org.uk>
      Acked-by: default avatarMatthew Wilcox <willy@infradead.org>
      Acked-by: default avatarStephane Eranian <eranian@google.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d2b2250c
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · d54d35c5
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've mainly focused on discard, aka unmap, control
        along with fstrim for Android-specific usage model. In addition, we've
        fixed writepage flow which returned EAGAIN previously resulting in EIO
        of fsync(2) due to mapping's error state. In order to avoid old MM bug
        [1], we decided not to use __GFP_ZERO for the mapping for node and
        meta page caches. As always, we've cleaned up many places for future
        fsverity and symbol conflicts.
      
        Enhancements:
         - do discard/fstrim in lower priority considering fs utilization
         - split large discard commands into smaller ones for better responsiveness
         - add more sanity checks to address syzbot reports
         - add a mount option, fsync_mode=nobarrier, which can reduce # of cache flushes
         - clean up symbol namespace with modified function names
         - be strict on block allocation and IO control in corner cases
      
        Bug fixes:
         - don't use __GFP_ZERO for mappings
         - fix error reports in writepage to avoid fsync() failure
         - avoid selinux denial on CAP_RESOURCE on resgid/resuid
         - fix some subtle race conditions in GC/atomic writes/shutdown
         - fix overflow bugs in sanity_check_raw_super
         - fix missing bits on get_flags
      
        Clean-ups:
         - prepare the generic flow for future fsverity integration
         - fix some broken coding standard"
      
      [1] https://lkml.org/lkml/2018/4/8/661
      
      * tag 'f2fs-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (79 commits)
        f2fs: fix to clear FI_VOLATILE_FILE correctly
        f2fs: let sync node IO interrupt async one
        f2fs: don't change wbc->sync_mode
        f2fs: fix to update mtime correctly
        fs: f2fs: insert space around that ':' and ', '
        fs: f2fs: add missing blank lines after declarations
        fs: f2fs: changed variable type of offset "unsigned" to "loff_t"
        f2fs: clean up symbol namespace
        f2fs: make set_de_type() static
        f2fs: make __f2fs_write_data_pages() static
        f2fs: fix to avoid accessing cross the boundary
        f2fs: fix to let caller retry allocating block address
        disable loading f2fs module on PAGE_SIZE > 4KB
        f2fs: fix error path of move_data_page
        f2fs: don't drop dentry pages after fs shutdown
        f2fs: fix to avoid race during access gc_thread pointer
        f2fs: clean up with clear_radix_tree_dirty_tag
        f2fs: fix to don't trigger writeback during recovery
        f2fs: clear discard_wake earlier
        f2fs: let discard thread wait a little longer if dev is busy
        ...
      d54d35c5
    • Linus Torvalds's avatar
      autofs: remove left-over autofs4 stubs · a2225d93
      Linus Torvalds authored
      There's no need to retain the fs/autofs4 directory for backward
      compatibility.
      
      Adding an AUTOFS4_FS fragment to the autofs Kconfig and a module alias
      for autofs4 is sufficient for almost all cases. Not keeping fs/autofs4
      remnants will prevent "insmod <path>/autofs4/autofs4.ko" from working
      but this shouldn't be used in automation scripts rather than
      modprobe(8).
      
      There were some comments about things to look out for with the module
      rename in the fs/autofs4/Kconfig that is removed by this patch, see the
      commit patch if you are interested.
      
      One potential problem with this change is that when the
      fs/autofs/Kconfig fragment for AUTOFS4_FS is removed any AUTOFS4_FS
      entries will be removed from the kernel config, resulting in no autofs
      file system being built if there is no AUTOFS_FS entry also.
      
      This would have also happened if the fs/autofs4 remnants had remained
      and is most likely to be a problem with automated builds.
      
      Please check your build configurations before the removal which will
      occur after the next couple of kernel releases.
      Acked-by: default avatarIan Kent <raven@themaw.net>
      [ With edits and commit message from Ian Kent ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a2225d93
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 0f105cf4
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Core Frameworks
         - Provide helpers to enable/disable backlight
         - Provide standard and devres versions OF find helpers
      
        New Drivers:
         - Add support for the Zodiac Inflight Innovations RAVE Supervisory
           Processor
      
        New Functionality:
         - Allow pwm-on/pwm-off delay to be specified via DT
      
        Bug Fixes:
         - Fix ordering of the power {en,dis}able and PWM {en,dis}able
           signals
         - Fix Device Tree node look-up"
      
      * tag 'backlight-next-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: as3711_bl: Fix Device Tree node leaks
        backlight: tps65217_bl: Fix Device Tree node lookup
        backlight: max8925_bl: Fix Device Tree node lookup
        backlight: as3711_bl: Fix Device Tree node lookup
        MAINTAINERS: Add dri-devel for backlight subsystem patches
        backlight: Nuke BL_CORE_DRIVER1
        staging: fbtft: Stop using BL_CORE_DRIVER1
        backlight: pandora: Stop using BL_CORE_DRIVER1
        backlight: generic-bl: Remove DRIVER1 state
        backlight: Nuke unused backlight.props.state states
        backlight: otm3225a: Add support for ORISE OTM3225A LCD SoC
        backlight: pwm_bl: Don't use GPIOF_* with gpiod_get_direction
        pwm-backlight: Add support for PWM delays proprieties.
        dt-bindings: pwm-backlight: Add PWM delay proprieties.
        pwm-backlight: Enable/disable the PWM before/after LCD enable toggle.
        dt-bindings: backlight: Add binding for RAVE SP backlight driver
        backlight: Add RAVE SP backlight driver
      0f105cf4
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 883cad5b
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Device Support:
         - Add support for AXP813 ADC to AXP20x
         - Add support for PM8005, PM8998 and PMI8998
      
        New Functionality:
         - Add support for Battery Power Supply to AXP813
         - Add support for SYSCON to SPARD SC27XX SPI
         - Add support for RTC to ChromeOS Embedded-Controller
      
        Fix-ups:
         - Remove unused code; exynos{4,5}-pmu, cros_ec, cros_ec_acpi_gpe
         - Remove duplicate error messages (-ENOMEM, etc); htc-i2cpld,
              janz-cmodio, max8997, rc5t583, sm501, smsc-ece1099, abx500-core,
              si476x-i2c, ti_am335x_tscadc, tps65090, tps6586x, tps65910,
              tps80031, twl6030-irq, viperboard
         - Succinctly use ptr to struct in sizeof(); rc5t583, abx500-core,
              sm501, smsc-ece1099
         - Simplify syntax for NULL ptr checking; abx500-core, sm501
         - No not unnecessarily initialise variables; tps65910, tps65910
         - Reorganise and simplify driver data; omap-usb-tll
         - Move to SPDX license statement; tps68470
         - Probe ADCs via DT; axp20x
         - Use new GPIOD API; arizona-core
         - Constify things; axp20x
         - Reduce code-size (use MACROS, etc); axp20x, omap-usb-host
         - Add DT support/docs; motorola-cpcap
         - Remove VLAs; rave-sp
         - Use devm_* managed resources; cros_ec
         - Interrogate HW for firmware version; rave-sp
         - Provide ACPI support for ChromeOS Embedded-Controller
      
        Bug Fixes:
         - Reorder ordered (enum) device list; tps65218
         - Only accept valid data from the offset; rave-sp
         - Refrain from copying junk from failed SPI read; cros_ec_dev
         - Fix potential memory leaks; pcf50633-core
         - Fix clock initialisation; twl-core
         - Fix build-issue; tps65911
         - Fix off-by-one error; tps65911
         - Fix code ordering issues; intel-lpss
         - Fix COMPILE_TEST related issues; pwm-stm32
         - Fix broken MMC card detection; asic3
         - Fix clocking related issues; intel-lpss-pci"
      
      * tag 'mfd-next-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (84 commits)
        mfd: cros_ec: Remove unused __remove function
        mfd: wm97xx-core: Platform data can be NULL
        mfd: cros_ec_dev: Don't advertise junk features on failure
        mfd: cros_ec: Use devm_kzalloc for private data
        mfd: intel-lpss: Fix Intel Cannon Lake LPSS I2C input clock
        mfd: asic3: Fix broken MMC card detection
        mfd: timberdale: Fix spelling mistake "Uknown" -> "Unknown"
        mfd: omap-usb-host: Use match_string() helper
        mfd: stm32-timers: Fix pwm-stm32 linker issue with COMPILE_TEST
        pwm: stm32: Initialize raw local variables
        mfd: arizona: Update DT doc to support more standard Reset binding
        dt-bindings: mfd: Add bindings for DA9063L
        mfd: intel-lpss: Correct names of RESETS register bits
        mfd: qcom-spmi-pmic: Add support for pm8005, pm8998 and pmi8998
        mfd: intel-lpss: Program REMAP register in PIO mode
        mfd: cros_ec_i2c: Moving the system sleep pm ops to late
        mfd: cros_ec_i2c: Add ACPI module device table
        mfd: cros_ec_dev: Register shutdown function for debugfs
        mfd: cros_ec_dev: Register cros-ec-rtc driver as a subdevice
        mfd: cros_ec: Don't try to grab log when suspended
        ...
      883cad5b
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2018-06-11' of git://anongit.freedesktop.org/drm/drm · 8d08c055
      Linus Torvalds authored
      Pull drm msm updates and misc fixes from Dave Airlie:
       "I looked at Rob's msm tree, he kept it small due to being late, and it
        was in -next for a while before he was ill, so I think it should be
        fine.
      
        Otherwise this contains a set of i915 fixes and a v3d build fix, and
        vc4 leak fix"
      
      * tag 'drm-next-2018-06-11' of git://anongit.freedesktop.org/drm/drm: (31 commits)
        drm/i915/icl: Don't update enabled dbuf slices struct until updated in hw
        drm/i915/icl: fix icl_unmap/map_plls_to_ports
        drm/i915: Remove bogus NV12 PLANE_COLOR_CTL setup
        drm/msm: Fix NULL deref on bind/probe deferral
        drm/msm: Switch to atomic_helper_commit()
        drm/msm: Remove msm_commit/worker, use atomic helper commit
        drm/msm: Issue queued events when disabling crtc
        drm/msm: Move implicit sync handling to prepare_fb
        drm/msm: Refactor complete_commit() to look more the helpers
        drm/msm: Don't subclass drm_atomic_state anymore
        drm/msm/mdp5: Use the new private_obj state
        drm/msm/mdp5: Add global state as a private atomic object
        drm/msm: use correct aspace pointer in msm_gem_put_iova()
        drm/msm: remove unbalanced mutex unlock
        drm/msm: don't deref error pointer in the msm_fbdev_create error path
        drm/msm/dsi: use correct enum in dsi_get_cmd_fmt
        drm/msm: Fix possible null dereference on failure of get_pages()
        drm/msm: Add modifier to mdp_get_format arguments
        drm/msm: Mark the crtc->state->event consumed
        drm/msm/dsi: implement auto PHY timing calculator for 10nm PHY
        ...
      8d08c055
    • Johan Hovold's avatar
      backlight: as3711_bl: Fix Device Tree node leaks · d5318d30
      Johan Hovold authored
      Two framebuffer device-node names were looked up during probe, but were
      only used as flags to indicate the presence of two framebuffer device.
      
      Drop the unused framebuffer name along with a likewise unused device
      pointer from the driver data, and update the platform data to pass in
      booleans instead of the framebuffer strings. This allows us do drop the
      node references acquired during probe, which would otherwise leak.
      
      Note that there are no other in-kernel users of the modified
      platform-data fields.
      
      Fixes: 59eb2b5e ("drivers/video/backlight/as3711_bl.c: add OF support")
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Acked-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      d5318d30
    • Johan Hovold's avatar
      backlight: tps65217_bl: Fix Device Tree node lookup · 2b12dfa1
      Johan Hovold authored
      Fix child-node lookup during probe, which ended up searching the whole
      device tree depth-first starting at the parent rather than just matching
      on its children.
      
      This would only cause trouble if the child node is missing while there
      is an unrelated node named "backlight" elsewhere in the tree.
      
      Cc: stable <stable@vger.kernel.org>     # 3.7
      Fixes: eebfdc17 ("backlight: Add TPS65217 WLED driver")
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Acked-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      2b12dfa1
    • Johan Hovold's avatar
      backlight: max8925_bl: Fix Device Tree node lookup · d1cc0ec3
      Johan Hovold authored
      Fix child-node lookup during probe, which ended up searching the whole
      device tree depth-first starting at the parent rather than just matching
      on its children.
      
      To make things worse, the parent mfd node was also prematurely freed,
      while the child backlight node was leaked.
      
      Cc: stable <stable@vger.kernel.org>     # 3.9
      Fixes: 47ec340c ("mfd: max8925: Support dt for backlight")
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Acked-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      d1cc0ec3
    • Johan Hovold's avatar
      backlight: as3711_bl: Fix Device Tree node lookup · 4a9c8bb2
      Johan Hovold authored
      Fix child-node lookup during probe, which ended up searching the whole
      device tree depth-first starting at the parent rather than just matching
      on its children.
      
      To make things worse, the parent mfd node was also prematurely freed.
      
      Cc: stable <stable@vger.kernel.org>     # 3.10
      Fixes: 59eb2b5e ("drivers/video/backlight/as3711_bl.c: add OF support")
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Acked-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      4a9c8bb2
    • Arnd Bergmann's avatar
      mfd: cros_ec: Remove unused __remove function · 556c2420
      Arnd Bergmann authored
      This function is no longer called, so we get a harmless
      warning until it is removed as well:
      
      drivers/mfd/cros_ec_dev.c:265:13: error: '__remove' defined but not used [-Werror=unused-function]
      
      Fixes: 3aa2177e ("mfd: cros_ec: Use devm_kzalloc for private data")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      556c2420
    • Robert Jarzmik's avatar
      mfd: wm97xx-core: Platform data can be NULL · 46f107d0
      Robert Jarzmik authored
      It is not mandatory that platform data is passed along the ac97
      codec. Actually there are configuration without a battery connected to
      the ADC of the codec.
      
      This is for example the case for the PXA zylonite platform, so fix the
      NULL dereferencing by adding a test.
      
      Fixes: a5c6951c ("mfd: wm97xx-core: core support for wm97xx Codec")
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      46f107d0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f0dc7f9c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix several bpfilter/UMH bugs, in particular make the UMH build not
          depend upon X86 specific Kconfig symbols. From Alexei Starovoitov.
      
       2) Fix handling of modified context pointer in bpf verifier, from
          Daniel Borkmann.
      
       3) Kill regression in ifdown/ifup sequences for hv_netvsc driver, from
          Dexuan Cui.
      
       4) When the bonding primary member name changes, we have to re-evaluate
          the bond->force_primary setting, from Xiangning Yu.
      
       5) Eliminate possible padding beyone end of SKB in cdc_ncm driver, from
          Bjørn Mork.
      
       6) RX queue length reported for UDP sockets in procfs and socket diag
          are inaccurate, from Paolo Abeni.
      
       7) Fix br_fdb_find_port() locking, from Petr Machata.
      
       8) Limit sk_rcvlowat values properly in TCP, from Soheil Hassas
          Yeganeh.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (23 commits)
        tcp: limit sk_rcvlowat by the maximum receive buffer
        net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620
        socket: close race condition between sock_close() and sockfs_setattr()
        net: bridge: Fix locking in br_fdb_find_port()
        udp: fix rx queue len reported by diag and proc interface
        cdc_ncm: avoid padding beyond end of skb
        net/sched: act_simple: fix parsing of TCA_DEF_DATA
        net: fddi: fix a possible null-ptr-deref
        net: aquantia: fix unsigned numvecs comparison with less than zero
        net: stmmac: fix build failure due to missing COMMON_CLK dependency
        bpfilter: fix race in pipe access
        bpf, xdp: fix crash in xdp_umem_unaccount_pages
        xsk: Fix umem fill/completion queue mmap on 32-bit
        tools/bpf: fix selftest get_cgroup_id_user
        bpfilter: fix OUTPUT_FORMAT
        umh: fix race condition
        net: mscc: ocelot: Fix uninitialized error in ocelot_netdevice_event()
        bonding: re-evaluate force_primary when the primary slave name changes
        ip_tunnel: Fix name string concatenate in __ip_tunnel_create()
        hv_netvsc: Fix a network regression after ifdown/ifup
        ...
      f0dc7f9c
  3. 10 Jun, 2018 9 commits
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 1aaccb5f
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Setting the supported range from drivers for RTCs failing soon has
        started. A few fixes are developed along the way. Some drivers have
        been switched to SPDX by their maintainers.
      
        Subsystem:
      
         - rework of the rtc-test driver which allows to test the core more
           thoroughly
      
         - rtc_set_alarm() now fails early when alarms are not supported
      
        Drivers:
      
         - mktime() is now replaced by mktime64()
      
         - RTC range added for 88pm80x, ab-b5ze-s3, at91rm9200,
           brcmstb-waketimer, ds1685, ftrtc010, ls1x, mxc_v2, rx8581, sprd,
           st-lpc, tps6586x, tps65910 and vr41xx
      
         - fixed a possible race condition in probe functions
      
         - pxa: fix the probe function that is broken since v4.3
      
         - stm32: now supports stm32mp1"
      
      * tag 'rtc-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (78 commits)
        rtc: pxa: fix probe function
        rtc: cros-ec: Switch to SPDX identifier.
        rtc: cros-ec: Make license text and module license match.
        rtc: ensure rtc_set_alarm fails when alarms are not supported
        rtc: test: remove alarm support from the first device
        rtc: test: convert to devm_rtc_allocate_device
        rtc: ftrtc010: let the core handle range
        rtc: ftrtc010: handle dates after 2106
        rtc: ftrtc010: switch to devm_rtc_allocate_device
        rtc: mrst: switch to devm functions
        rtc: sunxi: fix possible race condition
        rtc: test: remove irq sysfs file
        rtc: test: emulate alarms using timers
        rtc: test: store time as an offset to system time
        rtc: test: allow registering many devices
        rtc: test: remove useless proc info
        rtc: ds1685: Add range
        rtc: ds1685: fix possible race condition
        rtc: sprd: Add new RTC power down check method
        rtc: sun6i: Fix bit_idx value for clk_register_gate
        ...
      1aaccb5f
    • Linus Torvalds's avatar
      Merge tag 'upstream-4.18-rc1' of git://git.infradead.org/linux-ubifs · ab0b2e59
      Linus Torvalds authored
      Pull UBI and UBIFS updates from Richard Weinberger:
      
       - the UBI on-disk format header file is now dual licensed
      
       - new way to detect Fastmap problems during runtime
      
       - bugfix for Fastmap
      
       - minor updates for UBIFS (spelling, comments, vm_fault_t, ...)
      
      * tag 'upstream-4.18-rc1' of git://git.infradead.org/linux-ubifs:
        mtd: ubi: Update ubi-media.h to dual license
        ubi: fastmap: Detect EBA mismatches on-the-fly
        ubi: fastmap: Check each mapping only once
        ubi: fastmap: Correctly handle interrupted erasures in EBA
        ubi: fastmap: Cancel work upon detach
        ubifs: lpt: Fix wrong pnode number range in comment
        ubifs: gc: Fix typo
        ubifs: log: Some spelling fixes
        ubifs: Spelling fix someting -> something
        ubifs: journal: Remove wrong comment
        ubifs: remove set but never used variable
        ubifs, xattr: remove misguided quota flags
        fs: ubifs: Adding new return type vm_fault_t
      ab0b2e59
    • Soheil Hassas Yeganeh's avatar
      tcp: limit sk_rcvlowat by the maximum receive buffer · 867f816b
      Soheil Hassas Yeganeh authored
      The user-provided value to setsockopt(SO_RCVLOWAT) can be
      larger than the maximum possible receive buffer. Such values
      mute POLLIN signals on the socket which can stall progress
      on the socket.
      
      Limit the user-provided value to half of the maximum receive
      buffer, i.e., half of sk_rcvbuf when the receive buffer size
      is set by the user, or otherwise half of sysctl_tcp_rmem[2].
      
      Fixes: d1361840 ("tcp: fix SO_RCVLOWAT and RCVBUF autotuning")
      Signed-off-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarNeal Cardwell <ncardwell@google.com>
      Acked-by: default avatarWillem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      867f816b
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 5f85942c
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This is mostly updates to the usual drivers: ufs, qedf, mpt3sas, lpfc,
        xfcp, hisi_sas, cxlflash, qla2xxx.
      
        In the absence of Nic, we're also taking target updates which are
        mostly minor except for the tcmu refactor.
      
        The only real core change to worry about is the removal of high page
        bouncing (in sas, storvsc and iscsi). This has been well tested and no
        problems have shown up so far"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (268 commits)
        scsi: lpfc: update driver version to 12.0.0.4
        scsi: lpfc: Fix port initialization failure.
        scsi: lpfc: Fix 16gb hbas failing cq create.
        scsi: lpfc: Fix crash in blk_mq layer when executing modprobe -r lpfc
        scsi: lpfc: correct oversubscription of nvme io requests for an adapter
        scsi: lpfc: Fix MDS diagnostics failure (Rx < Tx)
        scsi: hisi_sas: Mark PHY as in reset for nexus reset
        scsi: hisi_sas: Fix return value when get_free_slot() failed
        scsi: hisi_sas: Terminate STP reject quickly for v2 hw
        scsi: hisi_sas: Add v2 hw force PHY function for internal ATA command
        scsi: hisi_sas: Include TMF elements in struct hisi_sas_slot
        scsi: hisi_sas: Try wait commands before before controller reset
        scsi: hisi_sas: Init disks after controller reset
        scsi: hisi_sas: Create a scsi_host_template per HW module
        scsi: hisi_sas: Reset disks when discovered
        scsi: hisi_sas: Add LED feature for v3 hw
        scsi: hisi_sas: Change common allocation mode of device id
        scsi: hisi_sas: change slot index allocation mode
        scsi: hisi_sas: Introduce hisi_sas_phy_set_linkrate()
        scsi: hisi_sas: fix a typo in hisi_sas_task_prep()
        ...
      5f85942c
    • Alvaro Gamez Machado's avatar
      net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620 · b718e8c8
      Alvaro Gamez Machado authored
      DP83620 register set is compatible with the DP83848, but it also supports
      100base-FX. When the hardware is configured such as that fiber mode is
      enabled, autonegotiation is not possible.
      
      The chip, however, doesn't expose this information via BMSR_ANEGCAPABLE.
      Instead, this bit is always set high, even if the particular hardware
      configuration makes it so that auto negotiation is not possible [1]. Under
      these circumstances, the phy subsystem keeps trying for autonegotiation to
      happen, without success.
      
      Hereby, we inspect BMCR_ANENABLE bit after genphy_config_init, which on
      reset is set to 0 when auto negotiation is disabled, and so we use this
      value instead of BMSR_ANEGCAPABLE.
      
      [1] https://e2e.ti.com/support/interface/ethernet/f/903/p/697165/2571170Signed-off-by: default avatarAlvaro Gamez Machado <alvaro.gamez@hazent.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b718e8c8
    • Cong Wang's avatar
      socket: close race condition between sock_close() and sockfs_setattr() · 6d8c50dc
      Cong Wang authored
      fchownat() doesn't even hold refcnt of fd until it figures out
      fd is really needed (otherwise is ignored) and releases it after
      it resolves the path. This means sock_close() could race with
      sockfs_setattr(), which leads to a NULL pointer dereference
      since typically we set sock->sk to NULL in ->release().
      
      As pointed out by Al, this is unique to sockfs. So we can fix this
      in socket layer by acquiring inode_lock in sock_close() and
      checking against NULL in sockfs_setattr().
      
      sock_release() is called in many places, only the sock_close()
      path matters here. And fortunately, this should not affect normal
      sock_close() as it is only called when the last fd refcnt is gone.
      It only affects sock_close() with a parallel sockfs_setattr() in
      progress, which is not common.
      
      Fixes: 86741ec2 ("net: core: Add a UID field to struct sock.")
      Reported-by: default avatarshankarapailoor <shankarapailoor@gmail.com>
      Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Cc: Lorenzo Colitti <lorenzo@google.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6d8c50dc
    • Linus Torvalds's avatar
      Merge tag '4.18-fixes-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 0c14e43a
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
      
       - one smb3 (ACL related) fix for stable
      
       - one SMB3 security enhancement (when mounting -t smb3 forbid less
         secure dialects)
      
       - some RDMA and compounding fixes
      
      * tag '4.18-fixes-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix a buffer leak in smb2_query_symlink
        smb3: do not allow insecure cifs mounts when using smb3
        CIFS: Fix NULL ptr deref
        CIFS: fix encryption in SMB3.1.1
        CIFS: Pass page offset for encrypting
        CIFS: Pass page offset for calculating signature
        CIFS: SMBD: Support page offset in memory registration
        CIFS: SMBD: Support page offset in RDMA recv
        CIFS: SMBD: Support page offset in RDMA send
        CIFS: When sending data on socket, pass the correct page offset
        CIFS: Introduce helper function to get page offset and length in smb_rqst
        CIFS: Calculate the correct request length based on page offset and tail size
        cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class
        CIFS: Fix signing for SMB2/3
      0c14e43a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20180610' of git://git.kernel.dk/linux-block · bbaa1013
      Linus Torvalds authored
      Pull block flush handling fix from Jens Axboe:
       "Single fix that we should merge now, fixing a regression in queuing
        flush request, accessing request flags after calling the end_request
        handler"
      
      * tag 'for-linus-20180610' of git://git.kernel.dk/linux-block:
        block: fix use-after-free in block flush handling
      bbaa1013
    • Linus Torvalds's avatar
      Merge branch 'core-rseq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d82991a8
      Linus Torvalds authored
      Pull restartable sequence support from Thomas Gleixner:
       "The restartable sequences syscall (finally):
      
        After a lot of back and forth discussion and massive delays caused by
        the speculative distraction of maintainers, the core set of
        restartable sequences has finally reached a consensus.
      
        It comes with the basic non disputed core implementation along with
        support for arm, powerpc and x86 and a full set of selftests
      
        It was exposed to linux-next earlier this week, so it does not fully
        comply with the merge window requirements, but there is really no
        point to drag it out for yet another cycle"
      
      * 'core-rseq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rseq/selftests: Provide Makefile, scripts, gitignore
        rseq/selftests: Provide parametrized tests
        rseq/selftests: Provide basic percpu ops test
        rseq/selftests: Provide basic test
        rseq/selftests: Provide rseq library
        selftests/lib.mk: Introduce OVERRIDE_TARGETS
        powerpc: Wire up restartable sequences system call
        powerpc: Add syscall detection for restartable sequences
        powerpc: Add support for restartable sequences
        x86: Wire up restartable sequence system call
        x86: Add support for restartable sequences
        arm: Wire up restartable sequences system call
        arm: Add syscall detection for restartable sequences
        arm: Add restartable sequences support
        rseq: Introduce restartable sequences system call
        uapi/headers: Provide types_32_64.h
      d82991a8