1. 14 Dec, 2022 31 commits
    • Gaosheng Cui's avatar
      fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe() · c84bf485
      Gaosheng Cui authored
      The clk_disable_unprepare() should be called in the error handling
      of register_framebuffer(), fix it.
      
      Fixes: 0937a7b3 ("video: ep93xx: Prepare clock before using it")
      Signed-off-by: default avatarGaosheng Cui <cuigaosheng1@huawei.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      c84bf485
    • Uwe Kleine-König's avatar
      fbdev: matroxfb: Convert to i2c's .probe_new() · 30747423
      Uwe Kleine-König authored
      The probe function doesn't make use of the i2c_device_id * parameter so it
      can be trivially converted.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      30747423
    • Dongliang Mu's avatar
      fbdev: da8xx-fb: add missing regulator_disable() in fb_probe · cd53860e
      Dongliang Mu authored
      The error handling code in fb_probe misses regulator_disable if
      regulator_enable is called successfully. The previous commit only
      adds regulator_disable in the .remove(), forgetting the error
      handling code in the .probe.
      
      Fix this by adding a new error label to call regulator_disable.
      
      Fixes: 611097d5("fbdev: da8xx: add support for a regulator")
      Signed-off-by: default avatarDongliang Mu <dzm91@hust.edu.cn>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      cd53860e
    • Yu Zhe's avatar
      fbdev: controlfb: fix spelling mistake "paramaters"->"parameters" · ff61582e
      Yu Zhe authored
      There is a spelling mistake in comment. Fix it.
      Signed-off-by: default avatarYu Zhe <yuzhe@nfschina.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      ff61582e
    • Xiongfeng Wang's avatar
      fbdev: vermilion: decrease reference count in error path · 001f2cdb
      Xiongfeng Wang authored
      pci_get_device() will increase the reference count for the returned
      pci_dev. For the error path, we need to use pci_dev_put() to decrease
      the reference count.
      
      Fixes: dbe7e429 ("vmlfb: framebuffer driver for Intel Vermilion Range")
      Signed-off-by: default avatarXiongfeng Wang <wangxiongfeng2@huawei.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      001f2cdb
    • Dongliang Mu's avatar
      fbdev: smscufx: fix error handling code in ufx_usb_probe · b76449ee
      Dongliang Mu authored
      The current error handling code in ufx_usb_probe have many unmatching
      issues, e.g., missing ufx_free_usb_list, destroy_modedb label should
      only include framebuffer_release, fb_dealloc_cmap only matches
      fb_alloc_cmap.
      
      My local syzkaller reports a memory leak bug:
      
      memory leak in ufx_usb_probe
      
      BUG: memory leak
      unreferenced object 0xffff88802f879580 (size 128):
        comm "kworker/0:7", pid 17416, jiffies 4295067474 (age 46.710s)
        hex dump (first 32 bytes):
          80 21 7c 2e 80 88 ff ff 18 d0 d0 0c 80 88 ff ff  .!|.............
          00 d0 d0 0c 80 88 ff ff e0 ff ff ff 0f 00 00 00  ................
        backtrace:
          [<ffffffff814c99a0>] kmalloc_trace+0x20/0x90 mm/slab_common.c:1045
          [<ffffffff824d219c>] kmalloc include/linux/slab.h:553 [inline]
          [<ffffffff824d219c>] kzalloc include/linux/slab.h:689 [inline]
          [<ffffffff824d219c>] ufx_alloc_urb_list drivers/video/fbdev/smscufx.c:1873 [inline]
          [<ffffffff824d219c>] ufx_usb_probe+0x11c/0x15a0 drivers/video/fbdev/smscufx.c:1655
          [<ffffffff82d17927>] usb_probe_interface+0x177/0x370 drivers/usb/core/driver.c:396
          [<ffffffff82712f0d>] call_driver_probe drivers/base/dd.c:560 [inline]
          [<ffffffff82712f0d>] really_probe+0x12d/0x390 drivers/base/dd.c:639
          [<ffffffff8271322f>] __driver_probe_device+0xbf/0x140 drivers/base/dd.c:778
          [<ffffffff827132da>] driver_probe_device+0x2a/0x120 drivers/base/dd.c:808
          [<ffffffff82713c27>] __device_attach_driver+0xf7/0x150 drivers/base/dd.c:936
          [<ffffffff82710137>] bus_for_each_drv+0xb7/0x100 drivers/base/bus.c:427
          [<ffffffff827136b5>] __device_attach+0x105/0x2d0 drivers/base/dd.c:1008
          [<ffffffff82711d36>] bus_probe_device+0xc6/0xe0 drivers/base/bus.c:487
          [<ffffffff8270e242>] device_add+0x642/0xdc0 drivers/base/core.c:3517
          [<ffffffff82d14d5f>] usb_set_configuration+0x8ef/0xb80 drivers/usb/core/message.c:2170
          [<ffffffff82d2576c>] usb_generic_driver_probe+0x8c/0xc0 drivers/usb/core/generic.c:238
          [<ffffffff82d16ffc>] usb_probe_device+0x5c/0x140 drivers/usb/core/driver.c:293
          [<ffffffff82712f0d>] call_driver_probe drivers/base/dd.c:560 [inline]
          [<ffffffff82712f0d>] really_probe+0x12d/0x390 drivers/base/dd.c:639
          [<ffffffff8271322f>] __driver_probe_device+0xbf/0x140 drivers/base/dd.c:778
      
      Fix this bug by rewriting the error handling code in ufx_usb_probe.
      Reported-by: default avatarsyzkaller <syzkaller@googlegroups.com>
      Tested-by: default avatarDongliang Mu <dzm91@hust.edu.cn>
      Signed-off-by: default avatarDongliang Mu <dzm91@hust.edu.cn>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b76449ee
    • Shang XiaoJing's avatar
      fbdev: via: Fix error in via_core_init() · 5886b130
      Shang XiaoJing authored
      via_core_init() won't exit the driver when pci_register_driver() failed.
      Exit the viafb-i2c and the viafb-gpio in failed path to prevent error.
      
      VIA Graphics Integration Chipset framebuffer 2.4 initializing
      Error: Driver 'viafb-i2c' is already registered, aborting...
      Error: Driver 'viafb-gpio' is already registered, aborting...
      
      Fixes: 7582eb9b ("viafb: Turn GPIO and i2c into proper platform devices")
      Signed-off-by: default avatarShang XiaoJing <shangxiaojing@huawei.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      5886b130
    • Yang Yingliang's avatar
      fbdev: pm2fb: fix missing pci_disable_device() · ed359a46
      Yang Yingliang authored
      Add missing pci_disable_device() in error path of probe() and remove() path.
      
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      ed359a46
    • wangkailong@jari.cn's avatar
      fbdev: pxafb: Remove unnecessary print function dev_err() · eceadc92
      wangkailong@jari.cn authored
      Eliminate the follow coccicheck warning:
      
      ./drivers/video/fbdev/pxafb.c:2330:2-9: line 2330 is redundant because
      platform_get_irq() already prints an error
      Signed-off-by: default avatarKaiLong Wang <wangkailong@jari.cn>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      eceadc92
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-sharp-ls037v7dw01: fix included headers · 23910a20
      Dmitry Torokhov authored
      The driver is using gpiod API so it should include gpio/consumer.h and
      not gpio.gh or of_gpio.h.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      23910a20
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-tpo-td028ttec1: stop including gpio.h · 275a8558
      Dmitry Torokhov authored
      The driver does not use gpios, so there is no need to include gpio.h.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      275a8558
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-lgphilips-lb035q02: remove backlight GPIO handling · a6828b1e
      Dmitry Torokhov authored
      With f048e8c1 ("omapfb: panel-lgphilips-lb035q02: Remove legacy boot
      support") it is no longer possible to specify GPIO to control the
      backlight. Remove code trying to request and toggle it.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      a6828b1e
    • Dmitry Torokhov's avatar
      fbdev: omapfb: encoder-opa362: fix included headers · 891bbadf
      Dmitry Torokhov authored
      The driver has been switched to gpiod API, so it should include
      gpio/consumer.h instead of gpio.h and of_gpio.h.
      
      With of_gpio.h no longer included we need mod_devicetable.h for
      of_device_id definition.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      891bbadf
    • Dmitry Torokhov's avatar
      fbdev: omapfb: connector-analog-tv: remove support for platform data · 90a687d6
      Dmitry Torokhov authored
      There are no users of connector_atv_platform_data in the mainline
      kernel so support for it can be removed from the panel driver.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      90a687d6
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-dpi: remove support for platform data · b7ec002c
      Dmitry Torokhov authored
      There are no users of panel_dpi_platform_data in the mainline
      kernel so support for it can be removed from the panel driver.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b7ec002c
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-nec-nl8048hl11: switch to using gpiod API · 39630e0f
      Dmitry Torokhov authored
      Switch the driver from legacy gpio API that is deprecated to the newer
      gpiod API that respects line polarities described in ACPI/DT.
      
      Note that because existing DTSes specify incorrect polarity of reset
      lines (active high) and GPU drivers have adopted to this, we follow
      the suit and use inverted values when controlling reset lines.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      39630e0f
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-tpo-td043mtea1: switch to using gpiod API · 836bfb56
      Dmitry Torokhov authored
      Switch the driver from legacy gpio API that is deprecated to the newer
      gpiod API that respects line polarities described in ACPI/DT.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      836bfb56
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-dsi-cm: switch to using gpiod API · 67c366de
      Dmitry Torokhov authored
      Switch the driver from legacy gpio API that is deprecated to the newer
      gpiod API that respects line polarities described in ACPI/DT.
      
      Note that because existing DTSes specify incorrect polarity of reset
      lines (active high) and GPU drivers have adopted to this, we follow
      the suit and use inverted values when controlling reset lines.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      67c366de
    • Dmitry Torokhov's avatar
      fbdev: omapfb: encoder-tfp410: switch to using gpiod API · 6378085b
      Dmitry Torokhov authored
      Switch the driver from legacy gpio API that is deprecated to the newer
      gpiod API that respects line polarities described in ACPI/DT.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      6378085b
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-sony-acx565akm: switch to using gpiod API · 844c245f
      Dmitry Torokhov authored
      Switch the driver from legacy gpio API that is deprecated to the newer
      gpiod API that respects line polarities described in ACPI/DT.
      
      Note that because existing DTSes specify incorrect polarity of reset
      lines (active high) and GPU drivers have adopted to this, we follow
      the suit and use inverted values when controlling reset lines.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      844c245f
    • Dmitry Torokhov's avatar
      fbdev: omapfb: panel-sony-acx565akm: remove support for platform data · 5845b32e
      Dmitry Torokhov authored
      There are no users of panel_acx565akm_platform_data in the mainline
      kernel so support for it can be removed from the panel driver.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      5845b32e
    • Dmitry Torokhov's avatar
      fbdev: omapfb: connector-hdmi: switch to using gpiod API · 257030d4
      Dmitry Torokhov authored
      Switch the driver from legacy gpio API that is deprecated to the newer
      gpiod API that respects line polarities described in ACPI/DT.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      257030d4
    • Colin Ian King's avatar
      fbdev: omapfb: remove redundant variable checksum · 28f24e90
      Colin Ian King authored
      Variable checksum is being used to accumulate values however
      it is never read or used afterwards. It is redundant and can
      be removed.
      Signed-off-by: default avatarColin Ian King <colin.i.king@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      28f24e90
    • Andy Shevchenko's avatar
      fbdev: ssd1307fb: Drop duplicate NULL checks for PWM APIs · 6273c437
      Andy Shevchenko authored
      pwm_disable() and pwm_put() are NULL-aware, no need to
      duplicate the check in the caller.
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      6273c437
    • Andy Shevchenko's avatar
      fbdev: ssd1307fb: Drop optional dependency · 025e3b50
      Andy Shevchenko authored
      Only a single out of three devices need a PWM, so from driver it's
      optional. Moreover it's a single driver in the entire kernel that
      currently selects PWM. Unfortunately this selection is a root cause
      of the circular dependencies when we want to enable optional PWM
      for some other drivers that select GPIOLIB.
      
      Fixes: a2ed00da ("drivers/video: add support for the Solomon SSD1307 OLED Controller")
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      025e3b50
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · c7020e1b
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
      
         - Squash portdrv_{core,pci}.c into portdrv.c to ease maintenance and
           make more things static.
      
         - Make portdrv bind to Switch Ports that have AER. Previously, if
           these Ports lacked MSI/MSI-X, portdrv failed to bind, which meant
           the Ports couldn't be suspended to low-power states. AER on these
           Ports doesn't use interrupts, and the AER driver doesn't need to
           claim them.
      
         - Assign PCI domain IDs using ida_alloc(), which makes host bridge
           add/remove work better.
      
        Resource management:
      
         - To work better with recent BIOSes that use EfiMemoryMappedIO for
           PCI host bridge apertures, remove those regions from the E820 map
           (E820 entries normally prevent us from allocating BARs). In v5.19,
           we added some quirks to disable E820 checking, but that's not very
           maintainable. EfiMemoryMappedIO means the OS needs to map the
           region for use by EFI runtime services; it shouldn't prevent OS
           from using it.
      
        PCIe native device hotplug:
      
         - Build pciehp by default if USB4 is enabled, since Thunderbolt/USB4
           PCIe tunneling depends on native PCIe hotplug.
      
         - Enable Command Completed Interrupt only if supported to avoid user
           confusion from lspci output that says this is enabled but not
           supported.
      
         - Prevent pciehp from binding to Switch Upstream Ports; this happened
           because of interaction with acpiphp and caused devices below the
           Upstream Port to disappear.
      
        Power management:
      
         - Convert AGP drivers to generic power management. We hope to remove
           legacy power management from the PCI core eventually.
      
        Virtualization:
      
         - Fix pci_device_is_present(), which previously always returned
           "false" for VFs, causing virtio hangs when unbinding the driver.
      
        Miscellaneous:
      
         - Convert drivers to gpiod API to prepare for dropping some legacy
           code.
      
         - Fix DOE fencepost error for the maximum data object length.
      
        Baikal-T1 PCIe controller driver:
      
         - Add driver and DT bindings.
      
        Broadcom STB PCIe controller driver:
      
         - Enable Multi-MSI.
      
         - Delay 100ms after PERST# deassert to allow power and clocks to
           stabilize.
      
         - Configure Read Completion Boundary to 64 bytes.
      
        Freescale i.MX6 PCIe controller driver:
      
         - Initialize PHY before deasserting core reset to fix a regression in
           v6.0 on boards where the PHY provides the reference.
      
         - Fix imx6sx and imx8mq clock names in DT schema.
      
        Intel VMD host bridge driver:
      
         - Fix Secondary Bus Reset on VMD bridges, which allows reset of NVMe
           SSDs in VT-d pass-through scenarios.
      
         - Disable MSI remapping, which gets re-enabled by firmware during
           suspend/resume.
      
        MediaTek PCIe Gen3 controller driver:
      
         - Add MT7986 and MT8195 support.
      
        Qualcomm PCIe controller driver:
      
         - Add SC8280XP/SA8540P basic interconnect support.
      
        Rockchip DesignWare PCIe controller driver:
      
         - Base DT schema on common Synopsys schema.
      
        Synopsys DesignWare PCIe core:
      
         - Collect DT items shared between Root Port and Endpoint (PERST GPIO,
           PHY info, clocks, resets, link speed, number of lanes, number of
           iATU windows, interrupt info, etc) to snps,dw-pcie-common.yaml.
      
         - Add dma-ranges support for Root Ports and Endpoints.
      
         - Consolidate DT resource retrieval for "dbi", "dbi2", "atu", etc. to
           reduce code duplication.
      
         - Add generic names for clocks and resets to encourage more
           consistent naming across drivers using DesignWare IP.
      
         - Stop advertising PTM Responder role for Endpoints, which aren't
           allowed to be responders.
      
        TI J721E PCIe driver:
      
         - Add j721s2 host mode ID to DT schema.
      
         - Add interrupt properties to DT schema.
      
        Toshiba Visconti PCIe controller driver:
      
         - Fix interrupts array max constraints in DT schema"
      
      * tag 'pci-v6.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (95 commits)
        x86/PCI: Use pr_info() when possible
        x86/PCI: Fix log message typo
        x86/PCI: Tidy E820 removal messages
        PCI: Skip allocate_resource() if too little space available
        efi/x86: Remove EfiMemoryMappedIO from E820 map
        PCI/portdrv: Allow AER service only for Root Ports & RCECs
        PCI: xilinx-nwl: Fix coding style violations
        PCI: mvebu: Switch to using gpiod API
        PCI: pciehp: Enable Command Completed Interrupt only if supported
        PCI: aardvark: Switch to using devm_gpiod_get_optional()
        dt-bindings: PCI: mediatek-gen3: add support for mt7986
        dt-bindings: PCI: mediatek-gen3: add SoC based clock config
        dt-bindings: PCI: qcom: Allow 'dma-coherent' property
        PCI: mt7621: Add sentinel to quirks table
        PCI: vmd: Fix secondary bus reset for Intel bridges
        PCI: endpoint: pci-epf-vntb: Fix sparse ntb->reg build warning
        PCI: endpoint: pci-epf-vntb: Fix sparse build warning for epf_db
        PCI: endpoint: pci-epf-vntb: Replace hardcoded 4 with sizeof(u32)
        PCI: endpoint: pci-epf-vntb: Remove unused epf_db_phy struct member
        PCI: endpoint: pci-epf-vntb: Fix call pci_epc_mem_free_addr() in error path
        ...
      c7020e1b
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · a0a6c76c
      Linus Torvalds authored
      Pull i3c updates from Alexandre Belloni:
       "A non-urgent fix and SETDASA is now exported to drivers"
      
      * tag 'i3c/for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        MAINTAINERS: mark I3C DRIVER FOR SYNOPSYS DESIGNWARE orphan
        i3c: export SETDASA method
        i3c: Correct the macro module_i3c_i2c_driver
      a0a6c76c
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · ab425feb
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Usual size of updates, a new driver, and most of the bulk focusing on
        rxe:
      
         - Usual typos, style, and language updates
      
         - Driver updates for mlx5, irdma, siw, rts, srp, hfi1, hns, erdma,
           mlx4, srp
      
         - Lots of RXE updates:
            * Improve reply error handling for bad MR operations
            * Code tidying
            * Debug printing uses common loggers
            * Remove half implemented RD related stuff
            * Support IBA's recently defined Atomic Write and Flush operations
      
         - erdma support for atomic operations
      
         - New driver 'mana' for Ethernet HW available in Azure VMs. This
           driver only supports DPDK"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (122 commits)
        IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
        RDMA: Add missed netdev_put() for the netdevice_tracker
        RDMA/rxe: Enable RDMA FLUSH capability for rxe device
        RDMA/cm: Make QP FLUSHABLE for supported device
        RDMA/rxe: Implement flush completion
        RDMA/rxe: Implement flush execution in responder side
        RDMA/rxe: Implement RC RDMA FLUSH service in requester side
        RDMA/rxe: Extend rxe packet format to support flush
        RDMA/rxe: Allow registering persistent flag for pmem MR only
        RDMA/rxe: Extend rxe user ABI to support flush
        RDMA: Extend RDMA kernel verbs ABI to support flush
        RDMA: Extend RDMA user ABI to support flush
        RDMA/rxe: Fix incorrect responder length checking
        RDMA/rxe: Fix oops with zero length reads
        RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define
        RDMA/hns: Fix XRC caps on HIP08
        RDMA/hns: Fix error code of CMD
        RDMA/hns: Fix page size cap from firmware
        RDMA/hns: Fix PBL page MTR find
        RDMA/hns: Fix AH attr queried by query_qp
        ...
      ab425feb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 08cdc215
      Linus Torvalds authored
      Pull iommufd implementation from Jason Gunthorpe:
       "iommufd is the user API to control the IOMMU subsystem as it relates
        to managing IO page tables that point at user space memory.
      
        It takes over from drivers/vfio/vfio_iommu_type1.c (aka the VFIO
        container) which is the VFIO specific interface for a similar idea.
      
        We see a broad need for extended features, some being highly IOMMU
        device specific:
         - Binding iommu_domain's to PASID/SSID
         - Userspace IO page tables, for ARM, x86 and S390
         - Kernel bypassed invalidation of user page tables
         - Re-use of the KVM page table in the IOMMU
         - Dirty page tracking in the IOMMU
         - Runtime Increase/Decrease of IOPTE size
         - PRI support with faults resolved in userspace
      
        Many of these HW features exist to support VM use cases - for instance
        the combination of PASID, PRI and Userspace IO Page Tables allows an
        implementation of DMA Shared Virtual Addressing (vSVA) within a guest.
        Dirty tracking enables VM live migration with SRIOV devices and PASID
        support allow creating "scalable IOV" devices, among other things.
      
        As these features are fundamental to a VM platform they need to be
        uniformly exposed to all the driver families that do DMA into VMs,
        which is currently VFIO and VDPA"
      
      For more background, see the extended explanations in Jason's pull request:
      
        https://lore.kernel.org/lkml/Y5dzTU8dlmXTbzoJ@nvidia.com/
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd: (62 commits)
        iommufd: Change the order of MSI setup
        iommufd: Improve a few unclear bits of code
        iommufd: Fix comment typos
        vfio: Move vfio group specific code into group.c
        vfio: Refactor dma APIs for emulated devices
        vfio: Wrap vfio group module init/clean code into helpers
        vfio: Refactor vfio_device open and close
        vfio: Make vfio_device_open() truly device specific
        vfio: Swap order of vfio_device_container_register() and open_device()
        vfio: Set device->group in helper function
        vfio: Create wrappers for group register/unregister
        vfio: Move the sanity check of the group to vfio_create_group()
        vfio: Simplify vfio_create_group()
        iommufd: Allow iommufd to supply /dev/vfio/vfio
        vfio: Make vfio_container optionally compiled
        vfio: Move container related MODULE_ALIAS statements into container.c
        vfio-iommufd: Support iommufd for emulated VFIO devices
        vfio-iommufd: Support iommufd for physical VFIO devices
        vfio-iommufd: Allow iommufd to be used in place of a container fd
        vfio: Use IOMMU_CAP_ENFORCE_CACHE_COHERENCY for vfio_file_enforced_coherent()
        ...
      08cdc215
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · aa5ad10f
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "Updates to the usual drivers (target, ufs, smartpqi, lpfc).
      
        There are some core changes, mostly around reworking some of our user
        context assumptions in device put and moving some code around.
      
        The remaining updates are bug fixes and minor changes"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (138 commits)
        scsi: sg: Fix get_user() in call sg_scsi_ioctl()
        scsi: megaraid_sas: Fix some spelling mistakes in comment
        scsi: core: Use SCSI_SCAN_INITIAL in do_scsi_scan_host()
        scsi: core: Use SCSI_SCAN_RESCAN in __scsi_add_device()
        scsi: ufs: ufs-mediatek: Remove unnecessary return code
        scsi: ufs: core: Fix the polling implementation
        scsi: libsas: Do not export sas_ata_wait_after_reset()
        scsi: hisi_sas: Fix SATA devices missing issue during I_T nexus reset
        scsi: libsas: Add smp_ata_check_ready_type()
        scsi: Revert "scsi: hisi_sas: Don't send bcast events from HW during nexus HA reset"
        scsi: Revert "scsi: hisi_sas: Drain bcast events in hisi_sas_rescan_topology()"
        scsi: ufs: ufs-mediatek: Modify the return value
        scsi: ufs: ufs-mediatek: Remove unneeded code
        scsi: device_handler: alua: Call scsi_device_put() from non-atomic context
        scsi: device_handler: alua: Revert "Move a scsi_device_put() call out of alua_check_vpd()"
        scsi: snic: Fix possible UAF in snic_tgt_create()
        scsi: qla2xxx: Initialize vha->unknown_atio_[list, work] for NPIV hosts
        scsi: qla2xxx: Remove duplicate of vha->iocb_work initialization
        scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
        scsi: sd: Use 16-byte SYNCHRONIZE CACHE on ZBC devices
        ...
      aa5ad10f
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2022-12-13' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · e2ca6ba6
      Linus Torvalds authored
      Pull MM updates from Andrew Morton:
      
       - More userfaultfs work from Peter Xu
      
       - Several convert-to-folios series from Sidhartha Kumar and Huang Ying
      
       - Some filemap cleanups from Vishal Moola
      
       - David Hildenbrand added the ability to selftest anon memory COW
         handling
      
       - Some cpuset simplifications from Liu Shixin
      
       - Addition of vmalloc tracing support by Uladzislau Rezki
      
       - Some pagecache folioifications and simplifications from Matthew
         Wilcox
      
       - A pagemap cleanup from Kefeng Wang: we have VM_ACCESS_FLAGS, so use
         it
      
       - Miguel Ojeda contributed some cleanups for our use of the
         __no_sanitize_thread__ gcc keyword.
      
         This series should have been in the non-MM tree, my bad
      
       - Naoya Horiguchi improved the interaction between memory poisoning and
         memory section removal for huge pages
      
       - DAMON cleanups and tuneups from SeongJae Park
      
       - Tony Luck fixed the handling of COW faults against poisoned pages
      
       - Peter Xu utilized the PTE marker code for handling swapin errors
      
       - Hugh Dickins reworked compound page mapcount handling, simplifying it
         and making it more efficient
      
       - Removal of the autonuma savedwrite infrastructure from Nadav Amit and
         David Hildenbrand
      
       - zram support for multiple compression streams from Sergey Senozhatsky
      
       - David Hildenbrand reworked the GUP code's R/O long-term pinning so
         that drivers no longer need to use the FOLL_FORCE workaround which
         didn't work very well anyway
      
       - Mel Gorman altered the page allocator so that local IRQs can remnain
         enabled during per-cpu page allocations
      
       - Vishal Moola removed the try_to_release_page() wrapper
      
       - Stefan Roesch added some per-BDI sysfs tunables which are used to
         prevent network block devices from dirtying excessive amounts of
         pagecache
      
       - David Hildenbrand did some cleanup and repair work on KSM COW
         breaking
      
       - Nhat Pham and Johannes Weiner have implemented writeback in zswap's
         zsmalloc backend
      
       - Brian Foster has fixed a longstanding corner-case oddity in
         file[map]_write_and_wait_range()
      
       - sparse-vmemmap changes for MIPS, LoongArch and NIOS2 from Feiyang
         Chen
      
       - Shiyang Ruan has done some work on fsdax, to make its reflink mode
         work better under xfstests. Better, but still not perfect
      
       - Christoph Hellwig has removed the .writepage() method from several
         filesystems. They only need .writepages()
      
       - Yosry Ahmed wrote a series which fixes the memcg reclaim target
         beancounting
      
       - David Hildenbrand has fixed some of our MM selftests for 32-bit
         machines
      
       - Many singleton patches, as usual
      
      * tag 'mm-stable-2022-12-13' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (313 commits)
        mm/hugetlb: set head flag before setting compound_order in __prep_compound_gigantic_folio
        mm: mmu_gather: allow more than one batch of delayed rmaps
        mm: fix typo in struct pglist_data code comment
        kmsan: fix memcpy tests
        mm: add cond_resched() in swapin_walk_pmd_entry()
        mm: do not show fs mm pc for VM_LOCKONFAULT pages
        selftests/vm: ksm_functional_tests: fixes for 32bit
        selftests/vm: cow: fix compile warning on 32bit
        selftests/vm: madv_populate: fix missing MADV_POPULATE_(READ|WRITE) definitions
        mm/gup_test: fix PIN_LONGTERM_TEST_READ with highmem
        mm,thp,rmap: fix races between updates of subpages_mapcount
        mm: memcg: fix swapcached stat accounting
        mm: add nodes= arg to memory.reclaim
        mm: disable top-tier fallback to reclaim on proactive reclaim
        selftests: cgroup: make sure reclaim target memcg is unprotected
        selftests: cgroup: refactor proactive reclaim code to reclaim_until()
        mm: memcg: fix stale protection of reclaim target memcg
        mm/mmap: properly unaccount memory on mas_preallocate() failure
        omfs: remove ->writepage
        jfs: remove ->writepage
        ...
      e2ca6ba6
  2. 13 Dec, 2022 9 commits
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 7e68dd7d
      Linus Torvalds authored
      Pull networking updates from Paolo Abeni:
       "Core:
      
         - Allow live renaming when an interface is up
      
         - Add retpoline wrappers for tc, improving considerably the
           performances of complex queue discipline configurations
      
         - Add inet drop monitor support
      
         - A few GRO performance improvements
      
         - Add infrastructure for atomic dev stats, addressing long standing
           data races
      
         - De-duplicate common code between OVS and conntrack offloading
           infrastructure
      
         - A bunch of UBSAN_BOUNDS/FORTIFY_SOURCE improvements
      
         - Netfilter: introduce packet parser for tunneled packets
      
         - Replace IPVS timer-based estimators with kthreads to scale up the
           workload with the number of available CPUs
      
         - Add the helper support for connection-tracking OVS offload
      
        BPF:
      
         - Support for user defined BPF objects: the use case is to allocate
           own objects, build own object hierarchies and use the building
           blocks to build own data structures flexibly, for example, linked
           lists in BPF
      
         - Make cgroup local storage available to non-cgroup attached BPF
           programs
      
         - Avoid unnecessary deadlock detection and failures wrt BPF task
           storage helpers
      
         - A relevant bunch of BPF verifier fixes and improvements
      
         - Veristat tool improvements to support custom filtering, sorting,
           and replay of results
      
         - Add LLVM disassembler as default library for dumping JITed code
      
         - Lots of new BPF documentation for various BPF maps
      
         - Add bpf_rcu_read_{,un}lock() support for sleepable programs
      
         - Add RCU grace period chaining to BPF to wait for the completion of
           access from both sleepable and non-sleepable BPF programs
      
         - Add support storing struct task_struct objects as kptrs in maps
      
         - Improve helper UAPI by explicitly defining BPF_FUNC_xxx integer
           values
      
         - Add libbpf *_opts API-variants for bpf_*_get_fd_by_id() functions
      
        Protocols:
      
         - TCP: implement Protective Load Balancing across switch links
      
         - TCP: allow dynamically disabling TCP-MD5 static key, reverting back
           to fast[er]-path
      
         - UDP: Introduce optional per-netns hash lookup table
      
         - IPv6: simplify and cleanup sockets disposal
      
         - Netlink: support different type policies for each generic netlink
           operation
      
         - MPTCP: add MSG_FASTOPEN and FastOpen listener side support
      
         - MPTCP: add netlink notification support for listener sockets events
      
         - SCTP: add VRF support, allowing sctp sockets binding to VRF devices
      
         - Add bridging MAC Authentication Bypass (MAB) support
      
         - Extensions for Ethernet VPN bridging implementation to better
           support multicast scenarios
      
         - More work for Wi-Fi 7 support, comprising conversion of all the
           existing drivers to internal TX queue usage
      
         - IPSec: introduce a new offload type (packet offload) allowing
           complete header processing and crypto offloading
      
         - IPSec: extended ack support for more descriptive XFRM error
           reporting
      
         - RXRPC: increase SACK table size and move processing into a
           per-local endpoint kernel thread, reducing considerably the
           required locking
      
         - IEEE 802154: synchronous send frame and extended filtering support,
           initial support for scanning available 15.4 networks
      
         - Tun: bump the link speed from 10Mbps to 10Gbps
      
         - Tun/VirtioNet: implement UDP segmentation offload support
      
        Driver API:
      
         - PHY/SFP: improve power level switching between standard level 1 and
           the higher power levels
      
         - New API for netdev <-> devlink_port linkage
      
         - PTP: convert existing drivers to new frequency adjustment
           implementation
      
         - DSA: add support for rx offloading
      
         - Autoload DSA tagging driver when dynamically changing protocol
      
         - Add new PCP and APPTRUST attributes to Data Center Bridging
      
         - Add configuration support for 800Gbps link speed
      
         - Add devlink port function attribute to enable/disable RoCE and
           migratable
      
         - Extend devlink-rate to support strict prioriry and weighted fair
           queuing
      
         - Add devlink support to directly reading from region memory
      
         - New device tree helper to fetch MAC address from nvmem
      
         - New big TCP helper to simplify temporary header stripping
      
        New hardware / drivers:
      
         - Ethernet:
            - Marvel Octeon CNF95N and CN10KB Ethernet Switches
            - Marvel Prestera AC5X Ethernet Switch
            - WangXun 10 Gigabit NIC
            - Motorcomm yt8521 Gigabit Ethernet
            - Microchip ksz9563 Gigabit Ethernet Switch
            - Microsoft Azure Network Adapter
            - Linux Automation 10Base-T1L adapter
      
         - PHY:
            - Aquantia AQR112 and AQR412
            - Motorcomm YT8531S
      
         - PTP:
            - Orolia ART-CARD
      
         - WiFi:
            - MediaTek Wi-Fi 7 (802.11be) devices
            - RealTek rtw8821cu, rtw8822bu, rtw8822cu and rtw8723du USB
              devices
      
         - Bluetooth:
            - Broadcom BCM4377/4378/4387 Bluetooth chipsets
            - Realtek RTL8852BE and RTL8723DS
            - Cypress.CYW4373A0 WiFi + Bluetooth combo device
      
        Drivers:
      
         - CAN:
            - gs_usb: bus error reporting support
            - kvaser_usb: listen only and bus error reporting support
      
         - Ethernet NICs:
            - Intel (100G):
               - extend action skbedit to RX queue mapping
               - implement devlink-rate support
               - support direct read from memory
            - nVidia/Mellanox (mlx5):
               - SW steering improvements, increasing rules update rate
               - Support for enhanced events compression
               - extend H/W offload packet manipulation capabilities
               - implement IPSec packet offload mode
            - nVidia/Mellanox (mlx4):
               - better big TCP support
            - Netronome Ethernet NICs (nfp):
               - IPsec offload support
               - add support for multicast filter
            - Broadcom:
               - RSS and PTP support improvements
            - AMD/SolarFlare:
               - netlink extened ack improvements
               - add basic flower matches to offload, and related stats
            - Virtual NICs:
               - ibmvnic: introduce affinity hint support
            - small / embedded:
               - FreeScale fec: add initial XDP support
               - Marvel mv643xx_eth: support MII/GMII/RGMII modes for Kirkwood
               - TI am65-cpsw: add suspend/resume support
               - Mediatek MT7986: add RX wireless wthernet dispatch support
               - Realtek 8169: enable GRO software interrupt coalescing per
                 default
      
         - Ethernet high-speed switches:
            - Microchip (sparx5):
               - add support for Sparx5 TC/flower H/W offload via VCAP
            - Mellanox mlxsw:
               - add 802.1X and MAC Authentication Bypass offload support
               - add ip6gre support
      
         - Embedded Ethernet switches:
            - Mediatek (mtk_eth_soc):
               - improve PCS implementation, add DSA untag support
               - enable flow offload support
            - Renesas:
               - add rswitch R-Car Gen4 gPTP support
            - Microchip (lan966x):
               - add full XDP support
               - add TC H/W offload via VCAP
               - enable PTP on bridge interfaces
            - Microchip (ksz8):
               - add MTU support for KSZ8 series
      
         - Qualcomm 802.11ax WiFi (ath11k):
            - support configuring channel dwell time during scan
      
         - MediaTek WiFi (mt76):
            - enable Wireless Ethernet Dispatch (WED) offload support
            - add ack signal support
            - enable coredump support
            - remain_on_channel support
      
         - Intel WiFi (iwlwifi):
            - enable Wi-Fi 7 Extremely High Throughput (EHT) PHY capabilities
            - 320 MHz channels support
      
         - RealTek WiFi (rtw89):
            - new dynamic header firmware format support
            - wake-over-WLAN support"
      
      * tag 'net-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2002 commits)
        ipvs: fix type warning in do_div() on 32 bit
        net: lan966x: Remove a useless test in lan966x_ptp_add_trap()
        net: ipa: add IPA v4.7 support
        dt-bindings: net: qcom,ipa: Add SM6350 compatible
        bnxt: Use generic HBH removal helper in tx path
        IPv6/GRO: generic helper to remove temporary HBH/jumbo header in driver
        selftests: forwarding: Add bridge MDB test
        selftests: forwarding: Rename bridge_mdb test
        bridge: mcast: Support replacement of MDB port group entries
        bridge: mcast: Allow user space to specify MDB entry routing protocol
        bridge: mcast: Allow user space to add (*, G) with a source list and filter mode
        bridge: mcast: Add support for (*, G) with a source list and filter mode
        bridge: mcast: Avoid arming group timer when (S, G) corresponds to a source
        bridge: mcast: Add a flag for user installed source entries
        bridge: mcast: Expose __br_multicast_del_group_src()
        bridge: mcast: Expose br_multicast_new_group_src()
        bridge: mcast: Add a centralized error path
        bridge: mcast: Place netlink policy before validation functions
        bridge: mcast: Split (*, G) and (S, G) addition into different functions
        bridge: mcast: Do not derive entry type from its filter mode
        ...
      7e68dd7d
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20221213' of https://github.com/jcmvbkbc/linux-xtensa · 1ca06f1c
      Linus Torvalds authored
      Pull Xtensa updates from Max Filippov:
      
       - fix kernel build with gcc-13
      
       - various minor fixes
      
      * tag 'xtensa-20221213' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: add __umulsidi3 helper
        xtensa: update config files
        MAINTAINERS: update the 'T:' entry for xtensa
      1ca06f1c
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 4cb1fc6f
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - update unwinder to cope with module PLTs
      
       - enable UBSAN on ARM
      
       - improve kernel fault message
      
       - update UEFI runtime page tables dump
      
       - avoid clang's __aeabi_uldivmod generated in NWFPE code
      
       - disable FIQs on CPU shutdown paths
      
       - update XOR register usage
      
       - a number of build updates (using .arch, thread pointer, removal of
         lazy evaluation in Makefile)
      
       - conversion of stacktrace code to stackwalk
      
       - findbit assembly updates
      
       - hwcap feature updates for ARMv8 CPUs
      
       - instruction dump updates for big-endian platforms
      
       - support for function error injection
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (31 commits)
        ARM: 9279/1: support function error injection
        ARM: 9277/1: Make the dumped instructions are consistent with the disassembled ones
        ARM: 9276/1: Refactor dump_instr()
        ARM: 9275/1: Drop '-mthumb' from AFLAGS_ISA
        ARM: 9274/1: Add hwcap for Speculative Store Bypassing Safe
        ARM: 9273/1: Add hwcap for Speculation Barrier(SB)
        ARM: 9272/1: vfp: Add hwcap for FEAT_AA32I8MM
        ARM: 9271/1: vfp: Add hwcap for FEAT_AA32BF16
        ARM: 9270/1: vfp: Add hwcap for FEAT_FHM
        ARM: 9269/1: vfp: Add hwcap for FEAT_DotProd
        ARM: 9268/1: vfp: Add hwcap FPHP and ASIMDHP for FEAT_FP16
        ARM: 9267/1: Define Armv8 registers in AArch32 state
        ARM: findbit: add unwinder information
        ARM: findbit: operate by words
        ARM: findbit: convert to macros
        ARM: findbit: provide more efficient ARMv7 implementation
        ARM: findbit: document ARMv5 bit offset calculation
        ARM: 9259/1: stacktrace: Convert stacktrace to generic ARCH_STACKWALK
        ARM: 9258/1: stacktrace: Make stack walk callback consistent with generic code
        ARM: 9265/1: pass -march= only to compiler
        ...
      4cb1fc6f
    • Linus Torvalds's avatar
      Merge tag 'x86_sev_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 740afa4d
      Linus Torvalds authored
      Pull x86 sev updates from Borislav Petkov:
      
       - Two minor fixes to the sev-guest driver
      
      * tag 'x86_sev_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        virt/sev-guest: Add a MODULE_ALIAS
        virt/sev-guest: Remove unnecessary free in init_crypto()
      740afa4d
    • Linus Torvalds's avatar
      Merge tag 'x86_paravirt_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 82c72902
      Linus Torvalds authored
      Pull x86 paravirt update from Borislav Petkov:
      
       - Simplify paravirt patching machinery by removing the now unused
         clobber mask
      
      * tag 'x86_paravirt_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/paravirt: Remove clobber bitmask from .parainstructions
      82c72902
    • Linus Torvalds's avatar
      Merge tag 'x86_microcode_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a70210f4
      Linus Torvalds authored
      Pull x86 microcode and IFS updates from Borislav Petkov:
       "The IFS (In-Field Scan) stuff goes through tip because the IFS driver
        uses the same structures and similar functionality as the microcode
        loader and it made sense to route it all through this branch so that
        there are no conflicts.
      
         - Add support for multiple testing sequences to the Intel In-Field
           Scan driver in order to be able to run multiple different test
           patterns. Rework things and remove the BROKEN dependency so that
           the driver can be enabled (Jithu Joseph)
      
         - Remove the subsys interface usage in the microcode loader because
           it is not really needed
      
         - A couple of smaller fixes and cleanups"
      
      * tag 'x86_microcode_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        x86/microcode/intel: Do not retry microcode reloading on the APs
        x86/microcode/intel: Do not print microcode revision and processor flags
        platform/x86/intel/ifs: Add missing kernel-doc entry
        Revert "platform/x86/intel/ifs: Mark as BROKEN"
        Documentation/ABI: Update IFS ABI doc
        platform/x86/intel/ifs: Add current_batch sysfs entry
        platform/x86/intel/ifs: Remove reload sysfs entry
        platform/x86/intel/ifs: Add metadata validation
        platform/x86/intel/ifs: Use generic microcode headers and functions
        platform/x86/intel/ifs: Add metadata support
        x86/microcode/intel: Use a reserved field for metasize
        x86/microcode/intel: Add hdr_type to intel_microcode_sanity_check()
        x86/microcode/intel: Reuse microcode_sanity_check()
        x86/microcode/intel: Use appropriate type in microcode_sanity_check()
        x86/microcode/intel: Reuse find_matching_signature()
        platform/x86/intel/ifs: Remove memory allocation from load path
        platform/x86/intel/ifs: Remove image loading during init
        platform/x86/intel/ifs: Return a more appropriate error code
        platform/x86/intel/ifs: Remove unused selection
        x86/microcode: Drop struct ucode_cpu_info.valid
        ...
      a70210f4
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3ef3ace4
      Linus Torvalds authored
      Pull x86 cpu updates from Borislav Petkov:
      
       - Split MTRR and PAT init code to accomodate at least Xen PV and TDX
         guests which do not get MTRRs exposed but only PAT. (TDX guests do
         not support the cache disabling dance when setting up MTRRs so they
         fall under the same category)
      
         This is a cleanup work to remove all the ugly workarounds for such
         guests and init things separately (Juergen Gross)
      
       - Add two new Intel CPUs to the list of CPUs with "normal" Energy
         Performance Bias, leading to power savings
      
       - Do not do bus master arbitration in C3 (ARB_DISABLE) on modern
         Centaur CPUs
      
      * tag 'x86_cpu_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
        x86/mtrr: Make message for disabled MTRRs more descriptive
        x86/pat: Handle TDX guest PAT initialization
        x86/cpuid: Carve out all CPUID functionality
        x86/cpu: Switch to cpu_feature_enabled() for X86_FEATURE_XENPV
        x86/cpu: Remove X86_FEATURE_XENPV usage in setup_cpu_entry_area()
        x86/cpu: Drop 32-bit Xen PV guest code in update_task_stack()
        x86/cpu: Remove unneeded 64-bit dependency in arch_enter_from_user_mode()
        x86/cpufeatures: Add X86_FEATURE_XENPV to disabled-features.h
        x86/acpi/cstate: Optimize ARB_DISABLE on Centaur CPUs
        x86/mtrr: Simplify mtrr_ops initialization
        x86/cacheinfo: Switch cache_ap_init() to hotplug callback
        x86: Decouple PAT and MTRR handling
        x86/mtrr: Add a stop_machine() handler calling only cache_cpu_init()
        x86/mtrr: Let cache_aps_delayed_init replace mtrr_aps_delayed_init
        x86/mtrr: Get rid of __mtrr_enabled bool
        x86/mtrr: Simplify mtrr_bp_init()
        x86/mtrr: Remove set_all callback from struct mtrr_ops
        x86/mtrr: Disentangle MTRR init from PAT init
        x86/mtrr: Move cache control code to cacheinfo.c
        x86/mtrr: Split MTRR-specific handling from cache dis/enabling
        ...
      3ef3ace4
    • Linus Torvalds's avatar
      Merge tag 'x86_boot_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4eb77fa1
      Linus Torvalds authored
      Pull x86 boot updates from Borislav Petkov:
       "A  of early boot cleanups and fixes.
      
         - Do some spring cleaning to the compressed boot code by moving the
           EFI mixed-mode code to a separate compilation unit, the AMD memory
           encryption early code where it belongs and fixing up build
           dependencies. Make the deprecated EFI handover protocol optional
           with the goal of removing it at some point (Ard Biesheuvel)
      
         - Skip realmode init code on Xen PV guests as it is not needed there
      
         - Remove an old 32-bit PIC code compiler workaround"
      
      * tag 'x86_boot_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Remove x86_32 PIC using %ebx workaround
        x86/boot: Skip realmode init code when running as Xen PV guest
        x86/efi: Make the deprecated EFI handover protocol optional
        x86/boot/compressed: Only build mem_encrypt.S if AMD_MEM_ENCRYPT=y
        x86/boot/compressed: Adhere to calling convention in get_sev_encryption_bit()
        x86/boot/compressed: Move startup32_check_sev_cbit() out of head_64.S
        x86/boot/compressed: Move startup32_check_sev_cbit() into .text
        x86/boot/compressed: Move startup32_load_idt() out of head_64.S
        x86/boot/compressed: Move startup32_load_idt() into .text section
        x86/boot/compressed: Pull global variable reference into startup32_load_idt()
        x86/boot/compressed: Avoid touching ECX in startup32_set_idt_entry()
        x86/boot/compressed: Simplify IDT/GDT preserve/restore in the EFI thunk
        x86/boot/compressed, efi: Merge multiple definitions of image_offset into one
        x86/boot/compressed: Move efi32_pe_entry() out of head_64.S
        x86/boot/compressed: Move efi32_entry out of head_64.S
        x86/boot/compressed: Move efi32_pe_entry into .text section
        x86/boot/compressed: Move bootargs parsing out of 32-bit startup code
        x86/boot/compressed: Move 32-bit entrypoint code into .text section
        x86/boot/compressed: Rename efi_thunk_64.S to efi-mixed.S
      4eb77fa1
    • Linus Torvalds's avatar
      Merge tag 'x86_asm_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b9ed79c
      Linus Torvalds authored
      Pull x86 asm updates from Borislav Petkov:
      
       - Move the 32-bit memmove() asm implementation out-of-line in order to
         fix a 32-bit full LTO build failure with clang where it would fail at
         register allocation.
      
         Move it to an asm file and clean it up while at it, similar to what
         has been already done on 64-bit
      
      * tag 'x86_asm_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mem: Move memmove to out of line assembler
      8b9ed79c