Skip to content
Permalink
Tony-Lindgren/…
Switch branches/tags

Commits on Nov 15, 2021

  1. serial: 8250_port: Remove calls to runtime PM

    Since we now have runtime PM calls in serial_core.c the individual
    drivers do not need them anymore for the struct uart_ops related
    functions.
    
    Remove runtime PM calls in 8250 driver. This still leaves the flag for
    UART_CAP_RPM for serial8250_rpm_get_tx(), serial8250_rpm_put_tx() and
    serial8250_wakeup() to manage the reference count for serial TX.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    [tony@atomide.com: updated to remove the exported functions too]
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    andy-shev authored and intel-lab-lkp committed Nov 15, 2021
  2. serial: 8250_omap: Drop the use of pm_runtime_irq_safe()

    We can finally drop the pm_runtime_irq_safe() usage for 8250_omap driver.
    
    We already have the serial layer RX wake path fixed for power management.
    We no longer allow deeper idle states unless the kernel console has been
    detached, and we require that the RX wakeirq is configured.
    
    For TX path, we now use the prep_tx() and uart_flush_tx() calls.
    
    To drop pm_runtime_irq_safe(), we remove all PM runtime calls from the
    interrupt context. If we ever see an interrupt for an idled port, we just
    bail out.
    
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    tmlind authored and intel-lab-lkp committed Nov 15, 2021
  3. serial: 8250_omap: Require a valid wakeirq for deeper idle states

    For deeper idle states the 8250 device gets powered off. The wakeup is
    handled with a separate wakeirq controller monitoring the RX pin.
    
    Let's check for a valid wakeirq before enabling deeper idle states.
    
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    tmlind authored and intel-lab-lkp committed Nov 15, 2021
  4. serial: 8250: Implement wakeup for TX and use it for 8250_omap

    We can use the wakeup() and uart_start_pending_tx() calls to wake up an
    idle serial port and send out the pending TX buffer on runtime PM resume.
    This allows us to remove the dependency to pm_runtime_irq_safe() for
    8250_omap driver in the following patches.
    
    We manage the port runtime_suspended flag in the serial port driver as
    only the driver knows when the hardware is runtime PM suspended. Note that
    The current flag for rpm_tx_active cannot be used as it is TX specific
    for 8250_port.
    
    We already have serial8250_start_tx() call serial8250_rpm_get_tx(), and
    serial8250_stop_tx() call serial8250_rpm_put_tx() to take care of the
    runtime PM usage count for TX. To have the serial port driver call
    uart_start_pending_tx() on runtime resume, we must now use just
    pm_runtime_get() for serial8250_start_tx() instead of the sync version.
    
    With these changes we must now also flip the 8250_omap driver over to
    call uart_start_pending_tx(). That's currently the only user of
    UART_CAP_RPM.
    
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    tmlind authored and intel-lab-lkp committed Nov 15, 2021
  5. serial: 8250_port: properly handle runtime PM in IRQ

    We can't and basically don't need to call runtime PM in IRQ handler. If
    IRQ is ours, device must be powered on. Otherwise check if the device is
    powered off and return immediately.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    [tony@atomide.com: use port->runtime_suspended]
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    andy-shev authored and intel-lab-lkp committed Nov 15, 2021
  6. serial: core: Add wakeup() and start_pending_tx() for asynchronous wake

    If the serial driver implements PM runtime with autosuspend, the port may
    be powered down on TX. To wake up the port, let's add new wakeup() call
    for serial drivers to implement as needed. We can call wakeup() from
    __uart_start() before attempting to write to the serial port registers.
    
    Let's keep track of the serial port with a new runtime_suspended flag
    that the device driver runtime PM suspend and resume can manage with
    port->lock held. This is because only the device driver knows what the
    device runtime PM state as in Documentation/power/runtime_pm.rst
    under "9. Autosuspend, or automatically-delayed suspend" for locking.
    
    To allow the serial port drivers to send out pending tx on runtime PM
    resume, let's add start_pending_tx() as suggested by Johan Hovold
    <johan@kernel.org>.
    
    Suggested-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    tmlind authored and intel-lab-lkp committed Nov 15, 2021
  7. serial: core: Add support of runtime PM

    8250 driver has wrong implementation of runtime power management, i.e.
    it uses an irq_safe flag. The irq_safe flag takes a permanent usage count
    on the parent device preventing the parent from idling. This patch
    prepares for making runtime power management generic by adding runtime PM
    calls to serial core once for all UART drivers.
    
    As we have serial drivers that do not enable runtime PM, and drivers that
    enable runtime PM, we add new functions for serial_pm_resume_and_get() and
    serial_pm_autosuspend() functions to handle errors and allow the use also
    for cases when runtime PM is not enabled. The other option considered was
    to not check for runtime PM enable errors. But some CPUs can hang when the
    clocks are not enabled for the device, so ignoring the errors is not a good
    option. Eventually with the serial port drivers updated, we should be able
    to just switch to using the standard runtime PM calls with no need for the
    wrapper functions.
    
    Note that this patch only adds runtime PM calls to the functions where we
    can call them for synchronous wake-up without the need for irq_safe flag.
    Additionally we also need asynchronous wake-up support for __uart_start(),
    that is added in a separate patch.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Co-developed-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    andy-shev authored and intel-lab-lkp committed Nov 15, 2021

Commits on Nov 4, 2021

  1. Merge tag 'usb-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/usb
    
    Pull USB / Thunderbolt updates from Greg KH:
     "Here is the big set of USB and Thunderbolt driver updates for
      5.16-rc1.
    
      Nothing major in here, just lots of little cleanups and additions for
      new hardware, all of which have been in linux-next for a while with no
      reported problems.
    
      Included in here are:
    
       - tiny Thunderbolt driver updates
    
       - USB typec driver updates
    
       - USB serial driver updates
    
       - USB gadget driver updates
    
       - dwc2 and dwc3 controller driver updates
    
       - tiny USB host driver updates
    
       - minor USB driver fixes and updates
    
       - USB dts updates for various platforms"
    
    * tag 'usb-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (123 commits)
      usb: gadget: Mark USB_FSL_QE broken on 64-bit
      usb: gadget: f_mass_storage: Disable eps during disconnect
      usb: gadget: udc: core: Revise comments for USB ep enable/disable
      USB: serial: keyspan: fix memleak on probe errors
      USB: serial: cp210x: use usb_control_msg_recv() and usb_control_msg_send()
      USB: serial: ch314: use usb_control_msg_recv()
      USB: iowarrior: fix control-message timeouts
      Documentation: USB: fix example bulk-message timeout
      usb: dwc2: stm32mp15: set otg_rev
      usb: dwc2: add otg_rev and otg_caps information for gadget driver
      dt-bindings: usb: dwc2: adopt otg properties defined in usb-drd.yaml
      dt-bindings: usb: dwc2: Add reference to usb-drd.yaml
      usb: gadget: uvc: implement dwPresentationTime and scrSourceClock
      usb: gadget: uvc: use on returned header len in video_encode_isoc_sg
      usb:gadget: f_uac1: fixed sync playback
      Docs: usb: remove :c:func: for usb_register and usb_deregister
      Docs: usb: update struct usb_driver
      usb: gadget: configfs: change config attributes file operation
      usb: gadget: configfs: add cfg_to_gadget_info() helper
      usb: dwc3: Align DWC3_EP_* flag macros
      ...
    torvalds committed Nov 4, 2021
  2. Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/clk/linux
    
    Pull clk updates from Stephen Boyd:
     "The usual collection of clk driver updates and new driver additions.
      In terms of lines it's mainly Qualcomm and Mediatek code, supporting
      various SoCs and their multitude of clk controllers.
    
      New Drivers:
       - GCC and RPMcc support for Qualcomm QCM2290 SoCs
       - GCC support for Qualcomm MSM8994/MSM8992 SoCs
       - LPASSCC and CAMCC support for Qualcomm SC7280 SoCs
       - Support for Mediatek MT8195 SoCs
       - Initial clock driver for the Exynos850 SoC
       - Add i.MX8ULP clock driver and related bindings
    
      Updates:
       - Clock power management for new SAMA7G5 SoC
       - Updates to the master clock driver and sam9x60-pll to be able to
         use cpufreq-dt driver and avoid overclocking of CPU and MCK0
         domains while changing the frequency via DVFS
       - Use ARRAY_SIZE in qcom clk drivers
       - Remove some impractical fallback parent names in qcom clk drivers
       - Make Mediatek clk drivers tristate
       - Refactoring of the CPU clock code and conversion of Samsung
         Exynos5433 CPU clock driver to the platform driver
       - A few conversions to devm_platform_ioremap_resource()
       - Updates of the Samsung Kconfig help text
       - Update video path realted clocks for Amlogic meson8
       - Add SPI Multi I/O Bus and SDHI clocks and resets on Renesas RZ/G2L
       - Add SPI Multi I/O Bus (RPC) clocks on Renesas R-Car V3U
       - Add MediaLB clocks on Renesas R-Car H3, M3-W/W+, and M3-N
       - Remove unused helpers from i.MX specific clock header
       - Rework all i.MX clk based helpers to use clk_hw based ones
       - Rework i.MX gate/mux/divider wrappers
       - Rework imx_clk_hw_composite and imx_clk_hw_pll14xx wrappers
       - Update i.MX pllv4 and composite clocks to support i.MX8ULP
       - Disable i.MX7ULP composite clock during initialization
       - Add CLK_SET_RATE_NO_REPARENT flag to the i.MX7ULP composite
       - Disable the i.MX pfd when set pfdv2 clock rate
       - Add support for i.MX8ULP in pfdv2
       - Add the pcc reset controller support on i.MX8ULP
       - Fix the build break when clk-imx8ulp is built as module
       - Move csi_sel mux to correct base register in i.MX6UL clock drivr
       - Fix csi clk gate register in i.MX6UL clock driver
       - Fix build bug making CLK_IMX8ULP select MXC_CLK
       - Add TPU (PWM), and Z (Cortex-A76) clocks on Renesas R-Car V3U
       - Add Ethernet clocks on Renesas RZ/G2L
       - Move Rockchip to use module_platform_probe
       - Enable usage of Coresight related clocks on Rockchip rk3399"
    
    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (170 commits)
      clk: use clk_core_get_rate_recalc() in clk_rate_get()
      clk: at91: sama7g5: set low limit for mck0 at 32KHz
      clk: at91: sama7g5: remove prescaler part of master clock
      clk: at91: clk-master: add notifier for divider
      clk: at91: clk-sam9x60-pll: add notifier for div part of PLL
      clk: at91: clk-master: fix prescaler logic
      clk: at91: clk-master: mask mckr against layout->mask
      clk: at91: clk-master: check if div or pres is zero
      clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL
      clk: at91: pmc: add sama7g5 to the list of available pmcs
      clk: at91: clk-master: improve readability by using local variables
      clk: at91: clk-master: add register definition for sama7g5's master clock
      clk: at91: sama7g5: add securam's peripheral clock
      clk: at91: pmc: execute suspend/resume only for backup mode
      clk: at91: re-factor clocks suspend/resume
      clk: ux500: Add driver for the reset portions of PRCC
      dt-bindings: clock: u8500: Rewrite in YAML and extend
      clk: composite: Use rate_ops.determine_rate when also a mux is available
      clk: samsung: describe drivers in Kconfig
      clk: samsung: exynos5433: update apollo and atlas clock probing
      ...
    torvalds committed Nov 4, 2021
  3. Merge tag 'defconfig-5.16' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/soc/soc
    
    Pull ARM defconfig updates from Arnd Bergmann:
     "These are the usual changes to enable newly added driver by default,
      and to do some housekeeping around changing Kconfig symbols"
    
    * tag 'defconfig-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (33 commits)
      arm64: defconfig: Enable Qualcomm LMH driver
      arm64: defconfig: Enable Qualcomm prima/pronto drivers
      arm64: defconfig: Enable Sleep stats driver
      arm64: defconfig: Visconti: Enable PCIe host controller
      ARM: configs: aspeed: Remove unused USB gadget devices
      ARM: config: aspeed: Enable Network Block Device
      ARM: configs: aspeed: Enable pstore and lockup detectors
      ARM: configs: aspeed: Enable commonly used drivers
      ARM: configs: aspeed: Disable IPV6 SIT device
      ARM: imx_v6_v7_defconfig: Enable HID I2C
      arm64: defconfig: Enable QTI SC7280 pinctrl, gcc and interconnect
      arm64: defconfig: Disable firmware sysfs fallback
      ARM: mvebu_v7_defconfig: rebuild default configuration
      ARM: mvebu_v7_defconfig: enable mtd physmap
      arm64: defconfig: Enable few Tegra210 based AHUB drivers
      arm64: defconfig: drop obsolete ARCH_* configs
      ARM: imx_v6_v7_defconfig: enable bpf syscall and cgroup bpf
      ARM: imx_v6_v7_defconfig: build imx sdma driver as module
      ARM: imx_v6_v7_defconfig: rebuild default configuration
      ARM: imx_v6_v7_defconfig: change snd soc tlv320aic3x to i2c variant
      ...
    torvalds committed Nov 4, 2021
  4. Merge tag 'drivers-5.16' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/soc/soc
    
    Pull ARM SoC driver updates from Arnd Bergmann:
     "These are all the driver updates for SoC specific drivers. There are a
      couple of subsystems with individual maintainers picking up their
      patches here:
    
       - The reset controller subsystem add support for a few new SoC
         variants to existing drivers, along with other minor improvements
    
       - The OP-TEE subsystem gets a driver for the ARM FF-A transport
    
       - The memory controller subsystem has improvements for Tegra,
         Mediatek, Renesas, Freescale and Broadcom specific drivers.
    
       - The tegra cpuidle driver changes get merged through this tree this
         time. There are only minor changes, but they depend on other tegra
         driver updates here.
    
       - The ep93xx platform finally moves to using the drivers/clk/
         subsystem, moving the code out of arch/arm in the process. This
         depends on a small sound driver change that is included here as
         well.
    
       - There are some minor updates for Qualcomm and Tegra specific
         firmware drivers.
    
      The other driver updates are mainly for drivers/soc, which contains a
      mixture of vendor specific drivers that don't really fit elsewhere:
    
       - Mediatek drivers gain more support for MT8192, with new support for
         hw-mutex and mmsys routing, plus support for reset lines in the
         mmsys driver.
    
       - Qualcomm gains a new "sleep stats" driver, and support for the
         "Generic Packet Router" in the APR driver.
    
       - There is a new user interface for routing the UARTS on ASpeed BMCs,
         something that apparently nobody else has needed so far.
    
       - More drivers can now be built as loadable modules, in particular
         for Broadcom and Samsung platforms.
    
       - Lots of improvements to the TI sysc driver for better
         suspend/resume support"
    
      Finally, there are lots of minor cleanups and new device IDs for
      amlogic, renesas, tegra, qualcomm, mediateka, samsung, imx,
      layerscape, allwinner, broadcom, and omap"
    
    * tag 'drivers-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (179 commits)
      optee: Fix spelling mistake "reclain" -> "reclaim"
      Revert "firmware: qcom: scm: Add support for MC boot address API"
      qcom: spm: allow compile-testing
      firmware: arm_ffa: Remove unused 'compat_version' variable
      soc: samsung: exynos-chipid: add exynosautov9 SoC support
      firmware: qcom: scm: Don't break compile test on non-ARM platforms
      soc: qcom: smp2p: Add of_node_put() before goto
      soc: qcom: apr: Add of_node_put() before return
      soc: qcom: qcom_stats: Fix client votes offset
      soc: qcom: rpmhpd: fix sm8350_mxc's peer domain
      dt-bindings: arm: cpus: Document qcom,msm8916-smp enable-method
      ARM: qcom: Add qcom,msm8916-smp enable-method identical to MSM8226
      firmware: qcom: scm: Add support for MC boot address API
      soc: qcom: spm: Add 8916 SPM register data
      dt-bindings: soc: qcom: spm: Document qcom,msm8916-saw2-v3.0-cpu
      soc: qcom: socinfo: Add PM8150C and SMB2351 models
      firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available()
      soc: aspeed: Add UART routing support
      soc: fsl: dpio: rename the enqueue descriptor variable
      soc: fsl: dpio: use an explicit NULL instead of 0
      ...
    torvalds committed Nov 4, 2021

Commits on Nov 3, 2021

  1. Merge tag 'dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/…

    …soc/soc
    
    Pull ARM SoC DT updates from Arnd Bergmann:
     "This is a rather large update for the ARM devicetree files, after a
      few quieter releases, with 775 total commits and 47 branches pulled
      into this one.
    
      There are 5 new SoC types plus some minor variations, and a total of
      60 new machines, so I'm limiting the summary to the main noteworthy
      items:
    
       - Apple M1 gain support for PCI and pinctrl, getting a bit closer to
         a usable system out of the box.
    
       - Qualcomm gains support for Snapdragon 690 (aka SM6350) as well as
         SM7225, 11 new smartphones, and three additional Chromebooks, and
         improvements all over the place.
    
       - Samsung gains support for ExynosAutov9, an automotive version of
         their smartphone SoC, but otherwise no major changes.
    
       - Microchip adds the SAMA5D29 SoC in the SAMA5 family, and a number
         of improvements for the recently added SAMA7 family. The LAN966 SoC
         that was added in the platform code does not have dts files yet.
         Two board files are added for the older at91sam9g20 SoC
    
       - Aspeed supports two additional server boards using their AST2600 as
         BMC, and improves support for qemu models
    
       - Rockchip RK3566/RK3688 gets added, along with six new development
         boards using RK3328/RK3399/RK3566, and one Chromebook tablet.
    
       - Two NAS boxes are added using the ARMv4 based Gemini platform
    
       - One new board is added to the Intel Arria SoC FPGA family
    
       - Marvell adds one network switch based on Armada 381 and the new
         MOCHAbin 7040 development board
    
       - NXP adds support for the S32G2 automotive SoC, two imx6 based ebook
         readers, and three additional development boards, which is notably
         less than their usual additions, but they also gain improvements to
         their many existing boards
    
       - STmicroelectronics adds their stm32mp13 SoC family along with a
         reference board
    
       - Renesas adds new versions of their R-Car Gen3 SoCs and many updates
         for their older generations
    
       - Broadcom adds support for a number of Cisco Meraki wireless
         controllers, along with two new boards and other updates for
         BCM53xx/BCM47xx networking SoCs and the Raspberry Pi boards
    
       - Mediatek improves support for the MT81xx SoCs used in Chromebooks
         as well as the MT76xx networking SoCs
    
       - NVIDIA adds a number of cleanups and additional support for more
         hardware on the already supported machines
    
       - TI K3 adds support for three new boards along with cleanups
    
       - Toshiba adds one board for the Visconti family
    
       - Xilinx adds five new ZynqMP based machines
    
       - Amlogic support is added for the Radxa Zero and two Jethub home
         automation controllers, along with changes to other machines
    
       - Rob Herring continues his work on fixing dtc warnings all over the
         tree.
    
       - Minor updates for TI OMAP, Mstar, Allwinner/sunxi, Hisilicon,
         Ux500, Unisoc"
    
    * tag 'dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (720 commits)
      arm64: dts: apple: j274: Expose PCI node for the Ethernet MAC address
      arm64: dts: apple: t8103: Add root port interrupt routing
      arm64: dts: apple: t8103: Add PCIe DARTs
      arm64: apple: Add PCIe node
      arm64: apple: Add pinctrl nodes
      ARM: dts: arm: Update ICST clock nodes 'reg' and node names
      ARM: dts: arm: Update register-bit-led nodes 'reg' and node names
      arm64: dts: exynos: add chipid node for exynosautov9 SoC
      ARM: dts: qcom: fix typo in IPQ8064 thermal-sensor node
      Revert "arm64: dts: qcom: msm8916-asus-z00l: Add sensors"
      arm64: dts: qcom: ipq6018: Remove unused 'iface_clk' property from dma-controller node
      arm64: dts: qcom: ipq6018: Remove unused 'qcom,config-pipe-trust-reg' property
      arm64: dts: qcom: sm8350: Add CPU topology and idle-states
      arm64: dts: qcom: Drop unneeded extra device-specific includes
      arm64: dts: qcom: msm8916: Drop standalone smem node
      arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes
      arm64: dts: qcom: msm8916-asus-z00l: Add sensors
      arm64: dts: qcom: msm8916-asus-z00l: Add SDCard
      arm64: dts: qcom: msm8916-asus-z00l: Add touchscreen
      arm64: dts: qcom: sdm845-oneplus: remove devinfo-size from ramoops node
      ...
    torvalds committed Nov 3, 2021
  2. Merge tag 'soc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/soc/soc
    
    Pull ARM SoC updates from Arnd Bergmann:
     "The SoC updates this time are mainly removing obsolete code from the
      OMAP2 platform, another step in the eternal cleanup of that platform.
    
      There are two new SoCs getting added: STMicroelectronics stm32mp13 and
      Microchip lan966. Both fit into existing platforms and require minimal
      changes here.
    
      A couple of MAINTAINER file updates relate to those changes, and
      update some file paths"
    
    * tag 'soc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (28 commits)
      MAINTAINERS: Update BCM7XXX entry with additional patterns
      MAINTAINERS: add pinctrl-apple-gpio to ARM/APPLE MACHINE
      MAINTAINERS: Add pasemi i2c to ARM/APPLE MACHINE
      ARM: SPEAr: Update MAINTAINERS entries
      ARM: OMAP2+: Drop unused CM defines for am3
      ARM: OMAP2+: Drop unused CM and SCRM defines for omap4
      ARM: OMAP2+: Drop unused CM and SCRM defines for omap5
      ARM: OMAP2+: Drop unused CM defines for dra7
      ARM: OMAP2+: Drop unused PRM defines for am3
      ARM: OMAP2+: Drop unused PRM defines for am4
      ARM: OMAP2+: Drop unused PRM defines for omap4
      ARM: OMAP2+: Drop unused PRM defines for omap5
      ARM: OMAP2+: Drop unused PRM defines for dra7
      ARM: OMAP2+: Fix comment typo
      ARM: OMAP2+: Fix typo in some comments
      ARM: at91: add basic support for new SoC family lan966
      dt-bindings: arm: at91: Document lan966 pcb8291 and pcb8290 boards
      ARM: at91: Documentation: add lan966 family
      ARM: at91: Documentation: add sama7g5 family
      MAINTAINERS: add an entry for NXP S32G boards
      ...
    torvalds committed Nov 3, 2021
  3. Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/mst/vhost
    
    Pull virtio updates from Michael Tsirkin:
     "vhost and virtio fixes and features:
    
       - Hardening work by Jason
    
       - vdpa driver for Alibaba ENI
    
       - Performance tweaks for virtio blk
    
       - virtio rng rework using an internal buffer
    
       - mac/mtu programming for mlx5 vdpa
    
       - Misc fixes, cleanups"
    
    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (45 commits)
      vdpa/mlx5: Forward only packets with allowed MAC address
      vdpa/mlx5: Support configuration of MAC
      vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit
      vdpa_sim_net: Enable user to set mac address and mtu
      vdpa: Enable user to set mac and mtu of vdpa device
      vdpa: Use kernel coding style for structure comments
      vdpa: Introduce query of device config layout
      vdpa: Introduce and use vdpa device get, set config helpers
      virtio-scsi: don't let virtio core to validate used buffer length
      virtio-blk: don't let virtio core to validate used length
      virtio-net: don't let virtio core to validate used length
      virtio_ring: validate used buffer length
      virtio_blk: correct types for status handling
      virtio_blk: allow 0 as num_request_queues
      i2c: virtio: Add support for zero-length requests
      virtio-blk: fixup coccinelle warnings
      virtio_ring: fix typos in vring_desc_extra
      virtio-pci: harden INTX interrupts
      virtio_pci: harden MSI-X interrupts
      virtio_config: introduce a new .enable_cbs method
      ...
    torvalds committed Nov 3, 2021
  4. Merge tag 'vfio-v5.16-rc1' of git://github.com/awilliam/linux-vfio

    Pull VFIO updates from Alex Williamson:
    
     - Cleanup vfio iommu_group creation (Christoph Hellwig)
    
     - Add individual device reset for vfio/fsl-mc (Diana Craciun)
    
     - IGD OpRegion 2.0+ support (Colin Xu)
    
     - Use modern cdev lifecycle for vfio_group (Jason Gunthorpe)
    
     - Use new mdev API in vfio_ccw (Jason Gunthorpe)
    
    * tag 'vfio-v5.16-rc1' of git://github.com/awilliam/linux-vfio: (27 commits)
      vfio/ccw: Convert to use vfio_register_emulated_iommu_dev()
      vfio/ccw: Pass vfio_ccw_private not mdev_device to various functions
      vfio/ccw: Use functions for alloc/free of the vfio_ccw_private
      vfio/ccw: Remove unneeded GFP_DMA
      vfio: Use cdev_device_add() instead of device_create()
      vfio: Use a refcount_t instead of a kref in the vfio_group
      vfio: Don't leak a group reference if the group already exists
      vfio: Do not open code the group list search in vfio_create_group()
      vfio: Delete vfio_get/put_group from vfio_iommu_group_notifier()
      vfio/pci: Add OpRegion 2.0+ Extended VBT support.
      vfio/iommu_type1: remove IS_IOMMU_CAP_DOMAIN_IN_CONTAINER
      vfio/iommu_type1: remove the "external" domain
      vfio/iommu_type1: initialize pgsize_bitmap in ->open
      vfio/spapr_tce: reject mediated devices
      vfio: clean up the check for mediated device in vfio_iommu_type1
      vfio: remove the unused mdev iommu hook
      vfio: move the vfio_iommu_driver_ops interface out of <linux/vfio.h>
      vfio: remove unused method from vfio_iommu_driver_ops
      vfio: simplify iommu group allocation for mediated devices
      vfio: remove the iommudata hack for noiommu groups
      ...
    torvalds committed Nov 3, 2021
  5. Merge branch 'per_signal_struct_coredumps-for-v5.16' of git://git.ker…

    …nel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
    
    Pull per signal_struct coredumps from Eric Biederman:
     "Current coredumps are mixed up with the exit code, the signal handling
      code, and the ptrace code making coredumps much more complicated than
      necessary and difficult to follow.
    
      This series of changes starts with ptrace_stop and cleans it up,
      making it easier to follow what is happening in ptrace_stop. Then
      cleans up the exec interactions with coredumps. Then cleans up the
      coredump interactions with exit. Finally the coredump interactions
      with the signal handling code is cleaned up.
    
      The first and last changes are bug fixes for minor bugs.
    
      I believe the fact that vfork followed by execve can kill the process
      the called vfork if exec fails is sufficient justification to change
      the userspace visible behavior.
    
      In previous discussions some of these changes were organized
      differently and individually appeared to make the code base worse. As
      currently written I believe they all stand on their own as cleanups
      and bug fixes.
    
      Which means that even if the worst should happen and the last change
      needs to be reverted for some unimaginable reason, the code base will
      still be improved.
    
      If the worst does not happen there are a more cleanups that can be
      made. Signals that generate coredumps can easily become eligible for
      short circuit delivery in complete_signal. The entire rendezvous for
      generating a coredump can move into get_signal. The function
      force_sig_info_to_task be written in a way that does not modify the
      signal handling state of the target task (because coredumps are
      eligible for short circuit delivery). Many of these future cleanups
      can be done another way but nothing so cleanly as if coredumps become
      per signal_struct"
    
    * 'per_signal_struct_coredumps-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
      coredump: Limit coredumps to a single thread group
      coredump:  Don't perform any cleanups before dumping core
      exit: Factor coredump_exit_mm out of exit_mm
      exec: Check for a pending fatal signal instead of core_state
      ptrace: Remove the unnecessary arguments from arch_ptrace_stop
      signal: Remove the bogus sigkill_pending in ptrace_stop
    torvalds committed Nov 3, 2021
  6. string: uninline memcpy_and_pad

    When building m68k:allmodconfig, recent versions of gcc generate the
    following error if the length of UTS_RELEASE is less than 8 bytes.
    
      In function 'memcpy_and_pad',
        inlined from 'nvmet_execute_disc_identify' at
          drivers/nvme/target/discovery.c:268:2: arch/m68k/include/asm/string.h:72:25: error:
    	'__builtin_memcpy' reading 8 bytes from a region of size 7
    
    Discussions around the problem suggest that this only happens if an
    architecture does not provide strlen(), if -ffreestanding is provided as
    compiler option, and if CONFIG_FORTIFY_SOURCE=n. All of this is the case
    for m68k. The exact reasons are unknown, but seem to be related to the
    ability of the compiler to evaluate the return value of strlen() and
    the resulting execution flow in memcpy_and_pad(). It would be possible
    to work around the problem by using sizeof(UTS_RELEASE) instead of
    strlen(UTS_RELEASE), but that would only postpone the problem until the
    function is called in a similar way. Uninline memcpy_and_pad() instead
    to solve the problem for good.
    
    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Andy Shevchenko <andriy.shevchenko@intel.com>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    groeck authored and torvalds committed Nov 3, 2021
  7. Merge tag 'jfs-5.16' of git://github.com/kleikamp/linux-shaggy

    Pull jfs fix from David Kleikamp:
     "Just one JFS patch"
    
    * tag 'jfs-5.16' of git://github.com/kleikamp/linux-shaggy:
      JFS: fix memleak in jfs_mount
    torvalds committed Nov 3, 2021
  8. Merge tag 'trace-v5.16-2' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rostedt/linux-trace
    
    Pull more tracing updates from Steven Rostedt:
    
     - osnoise and timerlat updates that will work with the RTLA tool
       (Real-Time Linux Analysis).
    
       Specifically it disconnects the work load (threads that look for
       latency) from the tracing instances attached to them, allowing for
       more than one instance to retrieve data from the work load.
    
     - Optimization on division in the trace histogram trigger code to use
       shift and multiply when possible. Also added documentation.
    
     - Fix prototype to my_direct_func in direct ftrace trampoline sample
       code.
    
    * tag 'trace-v5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      ftrace/samples: Add missing prototype for my_direct_func
      tracing/selftests: Add tests for hist trigger expression parsing
      tracing/histogram: Document hist trigger variables
      tracing/histogram: Update division by 0 documentation
      tracing/histogram: Optimize division by constants
      tracing/osnoise: Remove PREEMPT_RT ifdefs from inside functions
      tracing/osnoise: Remove STACKTRACE ifdefs from inside functions
      tracing/osnoise: Allow multiple instances of the same tracer
      tracing/osnoise: Remove TIMERLAT ifdefs from inside functions
      tracing/osnoise: Support a list of trace_array *tr
      tracing/osnoise: Use start/stop_per_cpu_kthreads() on osnoise_cpus_write()
      tracing/osnoise: Split workload start from the tracer start
      tracing/osnoise: Improve comments about barrier need for NMI callbacks
      tracing/osnoise: Do not follow tracing_cpumask
    torvalds committed Nov 3, 2021
  9. MAINTAINERS: Update BCM7XXX entry with additional patterns

    Broadcom STB systems use the bcm7038 pattern as well as the bcm7120
    pattern for some of its drivers, add those to the existing entry.
    
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Link: https://lore.kernel.org/r/20211028163756.4014059-1-f.fainelli@gmail.com'
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    ffainelli authored and arndb committed Nov 3, 2021
  10. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rdma/rdma
    
    Pull rdma updates from Jason Gunthorpe:
     "A typical collection of patches this cycle, mostly fixing with a few
      new features:
    
       - Fixes from static tools. clang warnings, dead code, unused
         variable, coccinelle sweeps, etc
    
       - Driver bug fixes and minor improvements in rxe, bnxt_re, hfi1,
         mlx5, irdma, qedr
    
       - rtrs ULP bug fixes an improvments
    
       - Additional counters for bnxt_re
    
       - Support verbs CQ notifications in EFA
    
       - Continued reworking and fixing of rxe
    
       - netlink control to enable/disable optional device counters
    
       - rxe now can use AH objects for its UD path, fixing various bugs in
         the process
    
       - Add DMABUF support to EFA"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (103 commits)
      RDMA/core: Require the driver to set the IOVA correctly during rereg_mr
      RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback
      RDMA/irdma: optimize rx path by removing unnecessary copy
      RDMA/qed: Use helper function to set GUIDs
      RDMA/hns: Use the core code to manage the fixed mmap entries
      IB/opa_vnic: Rebranding of OPA VNIC driver to Cornelis Networks
      IB/qib: Rebranding of qib driver to Cornelis Networks
      IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks
      RDMA/bnxt_re: Use helper function to set GUIDs
      RDMA/bnxt_re: Fix kernel panic when trying to access bnxt_re_stat_descs
      RDMA/qedr: Fix NULL deref for query_qp on the GSI QP
      RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility
      RDMA/hns: Fix initial arm_st of CQ
      RDMA/rxe: Make rxe_type_info static const
      RDMA/rxe: Use 'bitmap_zalloc()' when applicable
      RDMA/rxe: Save a few bytes from struct rxe_pool
      RDMA/irdma: Remove the unused variable local_qp
      RDMA/core: Fix missed initialization of rdma_hw_stats::lock
      RDMA/efa: Add support for dmabuf memory regions
      RDMA/umem: Allow pinned dmabuf umem usage
      ...
    torvalds committed Nov 3, 2021
  11. Merge tag 'sound-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tiwai/sound
    
    Pull sound updates from Takashi Iwai:
     "Lots of code development have been see in ASoC side as usual, while
      the continued development on memalloc helper and USB-audio low-
      latency support are found in the rest.
    
      Note that a few changes in the unusual places like arch/sh are
      included, which are a part of ASoC DAI format cleanups.
    
      ALSA core:
    
       - Continued memalloc helper updates and cleanups, now supporting
         non-coherent and non-contiguous pages
    
       - Fixes for races in mixer OSS layer
    
      ASoC:
    
       - A new version of the audio graph card which supports a wider range
         of systems
    
       - Several conversions to YAML DT bindings
    
       - Continuing cleanups to the SOF and Intel code
    
       - Move of the Cirrus DSP framework into drivers/firmware to allow for
         future use by non-audio DSPs
    
       - An overhaul of the cs42l42 driver, correcting many problems
    
       - DAI format terminology conversions over many drivers for cleanups
    
       - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim
         MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia
         Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS,
         RT5682S, and RT9120 and Rockchip RV1126 and RK3568
    
      USB-audio:
    
       - Continued improvements on low-latency playback
    
       - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14
    
      HD-audio:
    
       - Reduce excessive udelay() calls on Intel platforms; this should
         reduce the CPU load with PulseAudio
    
       - Quirks for HP and Clevo laptops
    
      FireWire:
    
       - Support for meter information on MOTU"
    
    * tag 'sound-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (513 commits)
      ALSA: usb-audio: Add quirk for Audient iD14
      ALSA: hda/realtek: Add quirk for Clevo PC70HS
      ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk
      ALSA: usb-audio: Add registration quirk for JBL Quantum 400
      ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()'
      ASoC: tlv320aic3x: Make aic3x_remove() return void
      ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs
      ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs
      ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs
      ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s
      ASoC: Intel: sof_rt5682: detect codec variant in probe function
      ASoC: soc-acpi: add comp_ids field for machine driver matching
      ASoC: mediatek: mt8195: add mt8195-mt6359-rt1011-rt5682 bindings document
      ASoC: mediatek: mt8195: add machine driver with mt6359, rt1011 and rt5682
      ASoC: Stop dummy from overriding hwparams
      ASoC: topology: Change topology device to card device
      ASoC: topology: Use correct device for prints
      ASoC: topology: Check for dapm widget completeness
      ASoC: topology: Add header payload_size verification
      ASoC: core: Remove invalid snd_soc_component_set_jack call
      ...
    torvalds committed Nov 3, 2021
  12. RDMA/core: Require the driver to set the IOVA correctly during rereg_mr

    If the driver returns a new MR during rereg it has to fill it with the
    IOVA from the proper source. If IB_MR_REREG_TRANS is set then the IOVA is
    cmd.hca_va, otherwise the IOVA comes from the old MR. mlx5 for example has
    two calls inside rereg_mr:
    
    		return create_real_mr(new_pd, umem, mr->ibmr.iova,
    				      new_access_flags);
    and
    		return create_real_mr(new_pd, new_umem, iova, new_access_flags);
    
    Unconditionally overwriting the iova in the newly allocated MR will
    corrupt the iova if the first path is used.
    
    Remove the redundant initializations from ib_uverbs_rereg_mr().
    
    Fixes: 6e0954b ("RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr")
    Link: https://lore.kernel.org/r/4b0a31bbc372842613286a10d7a8cbb0ee6069c7.1635400472.git.leonro@nvidia.com
    Signed-off-by: Aharon Landau <aharonl@nvidia.com>
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    aharonl-nvidia authored and jgunthorpe committed Nov 3, 2021
  13. RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback

    There is no need to return always zero for function which is not
    supported, especially since 0 is the wrong return code.
    
    Link: https://lore.kernel.org/r/20211102073054.410838-1-kamalheib1@gmail.com
    Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Kamalheib authored and jgunthorpe committed Nov 3, 2021
  14. Merge tag 'devicetree-for-5.16' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/robh/linux
    
    Pull devicetree updates from Rob Herring:
    
     - Convert /reserved-memory bindings to schemas
    
     - Convert a bunch of NFC bindings to schemas
    
     - Convert bindings to schema: Xilinx USB, Freescale DDR controller, Arm
       CCI-400, UBlox Neo-6M, 1-Wire GPIO, MSI controller, ASpeed LPC, OMAP
       and Inside-Secure HWRNG, register-bit-led, OV5640, Silead GSL1680,
       Elan ekth3000, Marvell bluetooth, TI wlcore, TI bluetooth, ESP
       ESP8089, tlm,trusted-foundations, Microchip cap11xx, Ralink SoCs and
       boards, and TI sysc
    
     - New binding schemas for: msi-ranges, Aspeed UART routing controller,
       palmbus, Xylon LogiCVC display controller, Mediatek's MT7621 SDRAM
       memory controller, and Apple M1 PCIe host
    
     - Run schema checks for %.dtb targets
    
     - Improve build time when using DT_SCHEMA_FILES
    
     - Improve error message when dtschema is not found
    
     - Various doc reference fixes in MAINTAINERS
    
     - Convert architectures to common CPU h/w ID parsing function
       of_get_cpu_hwid().
    
     - Allow for empty NUMA node IDs which may be hotplugged
    
     - Cleanup of __fdt_scan_reserved_mem()
    
     - Constify device_node parameters
    
     - Update dtc to upstream v1.6.1-19-g0a3a9d3449c8. Adds new checks
       'node_name_vs_property_name' and 'interrupt_map'.
    
     - Enable dtc 'unit_address_format' warning by default
    
     - Fix unittest EXPECT text for gpio hog errors
    
    * tag 'devicetree-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (97 commits)
      dt-bindings: net: ti,bluetooth: Document default max-speed
      dt-bindings: pci: rcar-pci-ep: Document r8a7795
      dt-bindings: net: qcom,ipa: IPA does support up to two iommus
      of/fdt: Remove of_scan_flat_dt() usage for __fdt_scan_reserved_mem()
      of: unittest: document intentional interrupt-map provider build warning
      of: unittest: fix EXPECT text for gpio hog errors
      of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings
      scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8
      dt-bindings: arm: firmware: tlm,trusted-foundations: Convert txt bindings to yaml
      dt-bindings: display: tilcd: Fix endpoint addressing in example
      dt-bindings: input: microchip,cap11xx: Convert txt bindings to yaml
      dt-bindings: ufs: exynos-ufs: add exynosautov9 compatible
      dt-bindings: ufs: exynos-ufs: add io-coherency property
      dt-bindings: mips: convert Ralink SoCs and boards to schema
      dt-bindings: display: xilinx: Fix example with psgtr
      dt-bindings: net: nfc: nxp,pn544: Convert txt bindings to yaml
      dt-bindings: Add a help message when dtschema tools are missing
      dt-bindings: bus: ti-sysc: Update to use yaml binding
      dt-bindings: sram: Allow numbers in sram region node name
      dt-bindings: display: Document the Xylon LogiCVC display controller
      ...
    torvalds committed Nov 3, 2021
  15. Merge tag 'docs-5.16' of git://git.lwn.net/linux

    Pull documentation updates from Jonathan Corbet:
     "This is a relatively unexciting cycle for documentation.
    
       - Some small scripts/kerneldoc fixes
    
       - More Chinese translation work, but at a much reduced rate.
    
       - The tip-tree maintainer's handbook
    
      ...plus the usual array of build fixes, typo fixes, etc"
    
    * tag 'docs-5.16' of git://git.lwn.net/linux: (53 commits)
      kernel-doc: support DECLARE_PHY_INTERFACE_MASK()
      docs/zh_CN: add core-api xarray translation
      docs/zh_CN: add core-api assoc_array translation
      speakup: Fix typo in documentation "boo" -> "boot"
      docs: submitting-patches: make section about the Link: tag more explicit
      docs: deprecated.rst: Clarify open-coded arithmetic with literals
      scripts: documentation-file-ref-check: fix bpf selftests path
      scripts: documentation-file-ref-check: ignore hidden files
      coding-style.rst: trivial: fix location of driver model macros
      docs: f2fs: fix text alignment
      docs/zh_CN add PCI pci.rst translation
      docs/zh_CN add PCI index.rst translation
      docs: translations: zh_CN: memory-hotplug.rst: fix a typo
      docs: translations: zn_CN: irq-affinity.rst: add a missing extension
      block: add documentation for inflight
      scripts: kernel-doc: Ignore __alloc_size() attribute
      docs: pdfdocs: Adjust \headheight for fancyhdr
      docs: UML: user_mode_linux_howto_v2 edits
      docs: use the lore redirector everywhere
      docs: proc.rst: mountinfo: align columns
      ...
    torvalds committed Nov 3, 2021
  16. Merge tag 'linux-kselftest-kunit-5.16-rc1' of git://git.kernel.org/pu…

    …b/scm/linux/kernel/git/shuah/linux-kselftest
    
    Pull KUnit updates from Shuah Khan:
     "Several enhancements and fixes:
    
       - ability to run each test suite and test separately
    
       - support for timing test run
    
       - several fixes and improvements"
    
    * tag 'linux-kselftest-kunit-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      kunit: tool: fix typecheck errors about loading qemu configs
      kunit: tool: continue past invalid utf-8 output
      kunit: Reset suite count after running tests
      kunit: tool: improve compatibility of kunit_parser with KTAP specification
      kunit: tool: yield output from run_kernel in real time
      kunit: tool: support running each suite/test separately
      kunit: tool: actually track how long it took to run tests
      kunit: tool: factor exec + parse steps into a function
      kunit: add 'kunit.action' param to allow listing out tests
      kunit: tool: show list of valid --arch options when invalid
      kunit: tool: misc fixes (unused vars, imports, leaked files)
      kunit: fix too small allocation when using suite-only kunit.filter_glob
      kunit: tool: allow filtering test cases via glob
      kunit: drop assumption in kunit-log-test about current suite
    torvalds committed Nov 3, 2021
  17. Merge tag 'linux-kselftest-next-5.16-rc1' of git://git.kernel.org/pub…

    …/scm/linux/kernel/git/shuah/linux-kselftest
    
    Pull Kselftest updates from Shuah Khan:
     "Fixes to compile time errors and warnings"
    
    * tag 'linux-kselftest-next-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      selftests/core: fix conflicting types compile error for close_range()
      selftests: x86: fix [-Wstringop-overread] warn in test_process_vm_readv()
      selftests: kvm: fix mismatched fclose() after popen()
    torvalds committed Nov 3, 2021
  18. Merge tag 'platform-drivers-x86-v5.16-1' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver updates from Hans de Goede:
     "Highlights:
    
       - AMD-PMC S0ix support fixes and improvements
    
       - HP-WMI support for Omen laptops
    
       - New nvidia-wmi-ec-backlight driver
    
       - New Intel ISH ECLITE driver
    
       - WMI core cleanups
    
       - Support for various new Melanox platforms
    
       - System76 Laptop support improvements
    
       - Surface Laptop Studio support and initial Surface Pro 8 support
    
       - Various other small fixes and hardware-id additions"
    
    * tag 'platform-drivers-x86-v5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (106 commits)
      platform/x86: system76_acpi: Fix input device error handling
      platform/x86: touchscreen_dmi: Add info for the Viglen Connect 10 tablet
      platform/surface: aggregator_registry: Add initial support for Surface Pro 8
      platform/x86: mlx-platform: Add support for new system SGN2410
      platform/x86: mlx-platform: Add BIOS attributes for CoffeeLake COMEx based systems
      platform/x86: mlx-platform: Extend FAN and LED configuration to support new MQM97xx systems
      platform/x86: asus-wmi: rename platform_profile_* function symbols
      platform/x86: hp-wmi: rename platform_profile_* function symbols
      platform/x86: amd-pmc: Drop check for valid alarm time
      platform/x86: amd-pmc: Downgrade dev_info message to dev_dbg
      platform/x86: amd-pmc: fix compilation without CONFIG_RTC_SYSTOHC_DEVICE
      platform/x86: system76_acpi: fix Kconfig dependencies
      platform/x86: barco-p50-gpio: use KEY_VENDOR for button instead of KEY_RESTART
      platform/x86: sony-laptop: replace snprintf in show functions with sysfs_emit
      platform/x86: lg-laptop: replace snprintf in show functions with sysfs_emit
      docs: ABI: fix documentation warning in sysfs-driver-mlxreg-io
      platform/x86: wmi: change notification handler type
      HID: surface-hid: Allow driver matching for target ID 1 devices
      HID: surface-hid: Use correct event registry for managing HID events
      platform/surface: aggregator_registry: Add support for Surface Laptop Studio
      ...
    torvalds committed Nov 3, 2021

Commits on Nov 2, 2021

  1. Merge tag 'drm-next-2021-11-03' of git://anongit.freedesktop.org/drm/drm

    Pull drm updates from Dave Airlie:
     "Summary below. i915 starts to add support for DG2 GPUs, enables DG1
      and ADL-S support by default, lots of work to enable DisplayPort 2.0
      across drivers. Lots of documentation updates and fixes across the
      board.
    
      core:
       - improve dma_fence, lease and resv documentation
       - shmem-helpers: allocate WC pages on x86, use vmf_insert_pin
       - sched fixes/improvements
       - allow empty drm leases
       - add dma resv iterator
       - add more DP 2.0 headers
       - DP MST helper improvements for DP2.0
    
      dma-buf:
       - avoid warnings, remove fence trace macros
    
      bridge:
       - new helper to get rid of panels
       - probe improvements for it66121
       - enable DSI EOTP for anx7625
    
      fbdev:
       - efifb: release runtime PM on destroy
    
      ttm:
       - kerneldoc switch
       - helper to clear all DMA mappings
       - pool shrinker optimizaton
       - remove ttm_tt_destroy_common
       - update ttm_move_memcpy for async use
    
      panel:
       - add new panel-edp driver
    
      amdgpu:
       - Initial DP 2.0 support
       - Initial USB4 DP tunnelling support
       - Aldebaran MCE support
       - Modifier support for DCC image stores for GFX 10.3
       - Display rework for better FP code handling
       - Yellow Carp/Cyan Skillfish updates
       - Cyan Skillfish display support
       - convert vega/navi to IP discovery asic enumeration
       - validate IP discovery table
       - RAS improvements
       - Lots of fixes
    
      i915:
       - DG1 PCI IDs + LMEM discovery/placement
       - DG1 GuC submission by default
       - ADL-S PCI IDs updated + enabled by default
       - ADL-P (XE_LPD) fixed and updates
       - DG2 display fixes
       - PXP protected object support for Gen12 integrated
       - expose multi-LRC submission interface for GuC
       - export logical engine instance to user
       - Disable engine bonding on Gen12+
       - PSR cleanup
       - PSR2 selective fetch by default
       - DP 2.0 prep work
       - VESA vendor block + MSO use of it
       - FBC refactor
       - try again to fix fast-narrow vs slow-wide eDP training
       - use THP when IOMMU enabled
       - LMEM backup/restore for suspend/resume
       - locking simplification
       - GuC major reworking
       - async flip VT-D workaround changes
       - DP link training improvements
       - misc display refactorings
    
      bochs:
       - new PCI ID
    
      rcar-du:
       - Non-contiguious buffer import support for rcar-du
       - r8a779a0 support prep
    
      omapdrm:
       - COMPILE_TEST fixes
    
      sti:
       - COMPILE_TEST fixes
    
      msm:
       - fence ordering improvements
       - eDP support in DP sub-driver
       - dpu irq handling cleanup
       - CRC support for making igt happy
       - NO_CONNECTOR bridge support
       - dsi: 14nm phy support for msm8953
       - mdp5: msm8x53, sdm450, sdm632 support
    
      stm:
       - layer alpha + zpo support
    
      v3d:
       - fix Vulkan CTS failure
       - support multiple sync objects
    
      gud:
       - add R8/RGB332/RGB888 pixel formats
    
      vc4:
       - convert to new bridge helpers
    
      vgem:
       - use shmem helpers
    
      virtio:
       - support mapping exported vram
    
      zte:
       - remove obsolete driver
    
      rockchip:
       - use bridge attach no connector for LVDS/RGB"
    
    * tag 'drm-next-2021-11-03' of git://anongit.freedesktop.org/drm/drm: (1259 commits)
      drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits
      drm/amd/display: MST support for DPIA
      drm/amdgpu: Fix even more out of bound writes from debugfs
      drm/amdgpu/discovery: add SDMA IP instance info for soc15 parts
      drm/amdgpu/discovery: add UVD/VCN IP instance info for soc15 parts
      drm/amdgpu/UAPI: rearrange header to better align related items
      drm/amd/display: Enable dpia in dmub only for DCN31 B0
      drm/amd/display: Fix USB4 hot plug crash issue
      drm/amd/display: Fix deadlock when falling back to v2 from v3
      drm/amd/display: Fallback to clocks which meet requested voltage on DCN31
      drm/amd/display: move FPU associated DCN301 code to DML folder
      drm/amd/display: fix link training regression for 1 or 2 lane
      drm/amd/display: add two lane settings training options
      drm/amd/display: decouple hw_lane_settings from dpcd_lane_settings
      drm/amd/display: implement decide lane settings
      drm/amd/display: adopt DP2.0 LT SCR revision 8
      drm/amd/display: FEC configuration for dpia links in MST mode
      drm/amd/display: FEC configuration for dpia links
      drm/amd/display: Add workaround flag for EDID read on certain docks
      drm/amd/display: Set phy_mux_sel bit in dmub scratch register
      ...
    torvalds committed Nov 2, 2021
  2. Merge tag 'pnp-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/rafael/linux-pm
    
    Pull PNP update from Rafael Wysocki:
     "Fix a comment incorrectly marked as kernel-doc (Randy Dunlap)"
    
    * tag 'pnp-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      PNP: system.c: unmark a comment as being kernel-doc
    torvalds committed Nov 2, 2021
  3. Merge tag 'thermal-5.16-rc1' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/rafael/linux-pm
    
    Pull thermal control updates from Rafael Wysocki:
     "These extend the thermal trip point crossing notifications sent via
      netlink to contain the temperature causing the trip point to be
      crossed, deprecate the user space thermal governor, add new DT
      bindings to drivers, move ABI documentation to Documentation/ABI, fix
      assorted issues and clean up code.
    
      Specifics:
    
       - Constify a variable in thermal MMIO driver (Rikard Falkeborn).
    
       - Add the current temperature in the netlink message when crossing a
         trip point in order to prevent useless back and forth reading from
         userspace (Daniel Lezcano).
    
       - Add support for the 'HC' variant on PM8998 PMIC in order to support
         VADC channels on recent QCom boards (Bjorn Andersson).
    
       - Add support for calibration values from hardware when they are
         fused (Niklas Söderlund).
    
       - Fix NULL pointer dereference in the thermal_release callback when
         an error occurs in the thermal_zone_device_register() (Yuanzheng
         Song).
    
       - Fix use-after-free in __thermal_cooling_device_register() in the
         error path (Ziyang Xuan).
    
       - Fix compilation of the LMh driver when CONFIG_QCOM_SCM is not set
         (Jackie Liu).
    
       - Add timeout when reading a register that can block forever in
         certain circumstances in the tsens driver (Ansuel Smith).
    
       - Add DT binding for the reset lines and use them in the rockchip
         sensor driver (Johan Jonker).
    
       - Add new uniphier NX1 SoC temperature sensor (Kunihiko Hayashi).
    
       - Save and restore the TCC value in the int340x driver (Antoine
         Tenart).
    
       - Deprecate the writability of the cooling device state sysfs file
         and the user space governor (Daniel Lezcano).
    
       - Delete bogus length check in int340x (Dan Carpenter).
    
       - Use bitmap_zalloc/bitmap_free when applicable in intel_powerclamp
         (Christophe JAILLET).
    
       - Move thermal ABI documentation to Documentation/ABI (Mauro Carvalho
         Chehab)"
    
    * tag 'thermal-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (21 commits)
      thermal/core: Deprecate changing cooling device state from userspace
      thermal/core: Make the userspace governor deprecated
      thermal/drivers/int340x: Improve the tcc offset saving for suspend/resume
      thermal/drivers/uniphier: Add compatible string for NX1 SoC
      dt-bindings: thermal: uniphier: Add binding for NX1 SoC
      thermal/drivers/rockchip_thermal: Allow more resets for tsadc node
      dt-bindings: thermal: remove redundant comments from rockchip-thermal.yaml
      dt-bindings: thermal: allow more resets for tsadc node in rockchip-thermal.yaml
      thermal/drivers/tsens: Add timeout to get_temp_tsens_valid
      thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM
      thermal/core: fix a UAF bug in __thermal_cooling_device_register()
      thermal/core: Fix null pointer dereference in thermal_release()
      thermal: rcar_gen3_thermal: Read calibration from hardware
      thermal: rcar_gen3_thermal: Store thcode and ptat in priv data
      thermal/drivers/qcom/spmi-adc-tm5: Add support for HC variant
      dt-bindings: thermal: qcom: add HC variant of adc-thermal monitor bindings
      thermal: Move ABI documentation to Documentation/ABI
      thermal/drivers/netlink: Add the temperature when crossing a trip point
      thermal/drivers/thermal_mmio: Constify static struct thermal_mmio_ops
      thermal: int340x: delete bogus length check
      ...
    torvalds committed Nov 2, 2021
  4. Merge tag 'pm-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/rafael/linux-pm
    
    Pull power management updates from Rafael Wysocki:
     "These make the power management of PCI devices with ACPI companions
      more straightforwad, add support for inefficient operating performance
      points to the Energy model and make cpufreq handle them as
      appropriate, rearrange the handling of cpuidle during system PM
      transitions, update a few cpufreq drivers and intel_idle, fix assorded
      issues and clean up code in multiple places.
    
      Specifics:
    
       - Add support for inefficient operating performance points to the
         Energy Model and modify cpufreq to use them properly (Vincent
         Donnefort).
    
       - Rearrange the DTPM framework code to simplify it and make it easier
         to follow (Daniel Lezcano).
    
       - Fix power intialization in DTPM (Daniel Lezcano).
    
       - Add CPU load consideration when estimating the instaneous power
         consumption in DTPM (Daniel Lezcano).
    
       - Fix cpu->pstate.turbo_freq initialization in intel_pstate (Zhang
         Rui).
    
       - Make intel_pstate process HWP Guaranteed change notifications from
         the processor (Srinivas Pandruvada).
    
       - Fix typo in cpufreq.h (Rafael Wysocki).
    
       - Fix tegra driver to handle BPMP errors properly (Mikko Perttunen).
    
       - Fix the parameter usage of the newly added perf-domain API (Hector
         Yuan).
    
       - Minor cleanups to cppc, vexpress and s3c244x drivers (Han Wang,
         Guenter Roeck, and Arnd Bergmann).
    
       - Fix kobject memory leaks in cpuidle error paths (Anel
         Orazgaliyeva).
    
       - Make intel_idle enable interrupts before entering C1 on some Xeon
         processor models (Artem Bityutskiy).
    
       - Clean up hib_wait_io() (Falla Coulibaly).
    
       - Fix sparse warnings in hibernation-related code (Anders Roxell).
    
       - Use vzalloc() and kzalloc() instead of their open-coded equivalents
         in hibernation-related code (Cai Huoqing).
    
       - Prevent user space from crashing the kernel by attempting to
         restore the system state from a swap partition in use (Ye Bin).
    
       - Do not let "syscore" devices runtime-suspend during system PM
         transitions (Rafael Wysocki).
    
       - Do not pause cpuidle in the suspend-to-idle path (Rafael Wysocki).
    
       - Pause cpuidle later and resume it earlier during system PM
         transitions (Rafael Wysocki).
    
       - Make system suspend code use valid_state() consistently (Rafael
         Wysocki).
    
       - Add support for enabling wakeup IRQs after invoking the
         ->runtime_suspend() callback and make two drivers use it (Chunfeng
         Yun).
    
       - Make the association of ACPI device objects with PCI devices more
         straightforward and simplify the code doing that for all devices in
         general (Rafael Wysocki).
    
       - Eliminate struct pci_platform_pm_ops and handle the both of its
         users (PCI and Intel MID) directly in the PCI bus code (Rafael
         Wysocki).
    
       - Simplify and clarify ACPI PCI device PM helpers (Rafael Wysocki).
    
       - Fix ordering of operations in pci_back_from_sleep() (Rafael
         Wysocki).
    
       - Make exynos-ppmu use hyphens in DT properties (Krzysztof
         Kozlowski).
    
       - Simplify parsing event-type from DT in exynos-ppmu (Krzysztof
         Kozlowski).
    
       - Strengthen check for freq_table in devfreq (Samuel Holland)"
    
    * tag 'pm-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (49 commits)
      cpufreq: Fix parameter in parse_perf_domain()
      usb: mtu3: enable wake-up interrupt after runtime_suspend called
      usb: xhci-mtk: enable wake-up interrupt after runtime_suspend called
      PM / wakeirq: support enabling wake-up irq after runtime_suspend called
      PM / devfreq: Strengthen check for freq_table
      devfreq: exynos-ppmu: simplify parsing event-type from DT
      devfreq: exynos-ppmu: use node names with hyphens
      cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization
      PM: suspend: Use valid_state() consistently
      PM: sleep: Pause cpuidle later and resume it earlier during system transitions
      PM: suspend: Do not pause cpuidle in the suspend-to-idle path
      PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions
      PM: hibernate: Get block device exclusively in swsusp_check()
      powercap/drivers/dtpm: Fix power limit initialization
      powercap/drivers/dtpm: Scale the power with the load
      powercap/drivers/dtpm: Use container_of instead of a private data field
      powercap/drivers/dtpm: Simplify the dtpm table
      powercap/drivers/dtpm: Encapsulate even more the code
      PM: hibernate: swap: Use vzalloc() and kzalloc()
      PM: hibernate: fix sparse warnings
      ...
    torvalds committed Nov 2, 2021
  5. Merge tag 'acpi-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rafael/linux-pm
    
    Pull ACPI updates from Rafael Wysocki:
     "These update the ACPICA code in the kernel to the most recent upstream
      revision, address some issues related to the ACPI power resources
      management, simplify the enumeration of PCI devices having ACPI
      companions, add new quirks, fix assorted problems, update the
      ACPI-related information in maintainers and clean up code in several
      places.
    
      Specifics:
    
       - Update the ACPICA code in the kernel to upstream revision 20210930
         including the following changes:
    
            - Fix system-wide resume issue caused by evaluating control
              methods too early in the resume path (Rafael Wysocki).
    
            - Add support for Windows 2020 _OSI string (Mario Limonciello).
    
            - Add Generic Port Affinity type for SRAT (Alison Schofield).
    
            - Add disassembly support for the NHLT ACPI table (Bob Moore).
    
       - Avoid flushing caches before entering C3 type of idle states on AMD
         processors (Deepak Sharma).
    
       - Avoid enumerating CPUs that are not present and not online-capable
         according to the platform firmware (Mario Limonciello).
    
       - Add DMI-based mechanism to quirk IRQ overrides and use it for two
         platforms (Hui Wang).
    
       - Change the configuration of unused ACPI device objects to reflect
         the D3cold power state after enumerating devices (Rafael Wysocki).
    
       - Update MAINTAINERS information regarding ACPI (Rafael Wysocki).
    
       - Fix typo in ACPI Kconfig (Masanari Iid).
    
       - Use sysfs_emit() instead of snprintf() in some places (Qing Wang).
    
       - Make the association of ACPI device objects with PCI devices more
         straightforward and simplify the code doing that for all devices in
         general (Rafael Wysocki).
    
       - Use acpi_device_adr() in acpi_find_child_device() instead of
         evaluating _ADR (Rafael Wysocki).
    
       - Drop duplicate device IDs from PNP device IDs list (Krzysztof
         Kozlowski).
    
       - Allow acpi_idle_play_dead() to use C3 on AMD processors (Richard
         Gong).
    
       - Use ACPI_COMPANION() to simplify code in some drivers (Rafael
         Wysocki).
    
       - Check the states of all ACPI power resources during initialization
         to avoid dealing with power resources in unknown states (Rafael
         Wysocki).
    
       - Fix ACPI power resource issues related to sharing wakeup power
         resources (Rafael Wysocki).
    
       - Avoid registering redundant suspend_ops (Rafael Wysocki).
    
       - Report battery charging state as "full" if it appears to be over
         the design capacity (André Almeida).
    
       - Quirk GK45 mini PC to skip reading _PSR in the AC driver (Stefan
         Schaeckeler).
    
       - Mark apei_hest_parse() static (Christoph Hellwig).
    
       - Relax platform response timeout to 1 second after instructing it to
         inject an error (Shuai Xue).
    
       - Make the PRM code handle memory allocation and remapping failures
         more gracefully and drop some unnecessary blank lines from that
         code (Aubrey Li).
    
       - Fix spelling mistake in the ACPI documentation (Colin Ian King)"
    
    * tag 'acpi-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (36 commits)
      ACPI: glue: Use acpi_device_adr() in acpi_find_child_device()
      perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly
      ACPI: APEI: mark apei_hest_parse() static
      ACPI: APEI: EINJ: Relax platform response timeout to 1 second
      gpio-amdpt: ACPI: Use the ACPI_COMPANION() macro directly
      nouveau: ACPI: Use the ACPI_COMPANION() macro directly
      ACPI: resources: Add one more Medion model in IRQ override quirk
      ACPI: AC: Quirk GK45 to skip reading _PSR
      ACPI: PM: sleep: Do not set suspend_ops unnecessarily
      ACPI: PRM: Handle memory allocation and memory remap failure
      ACPI: PRM: Remove unnecessary blank lines
      ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors
      ACPI: PM: Fix sharing of wakeup power resources
      ACPI: PM: Turn off unused wakeup power resources
      ACPI: PM: Check states of power resources during initialization
      ACPI: replace snprintf() in "show" functions with sysfs_emit()
      ACPI: LPSS: Use ACPI_COMPANION() directly
      ACPI: scan: Release PM resources blocked by unused objects
      ACPI: battery: Accept charges over the design capacity as full
      ACPICA: Update version to 20210930
      ...
    torvalds committed Nov 2, 2021
  6. Merge branch 'ucount-fixes-for-v5.16' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/ebiederm/user-namespace
    
    Pull ucount cleanups from Eric Biederman:
     "While working on the ucount fixes a for v5.15 a number of cleanups
      suggested themselves.
    
      Little things like not testing for NULL when a pointer can not be NULL
      and wrapping atomic_add_negative with a more descriptive name, so that
      people reading the code can more quickly understand what is going on"
    
    * 'ucount-fixes-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
      ucounts: Use atomic_long_sub_return for clarity
      ucounts: Add get_ucounts_or_wrap for clarity
      ucounts: Remove unnecessary test for NULL ucount in get_ucounts
      ucounts: In set_cred_ucounts assume new->ucounts is non-NULL
    torvalds committed Nov 2, 2021
Older