1. 18 Jan, 2024 11 commits
    • Linus Torvalds's avatar
      Merge tag 's390-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 302d1858
      Linus Torvalds authored
      Pull more s390 updates from Alexander Gordeev:
      
       - do not enable by default the support of 31-bit Enterprise Systems
         Architecture (ESA) ELF binaries
      
       - drop automatic CONFIG_KEXEC selection, while set CONFIG_KEXEC=y
         explicitly for defconfig and debug_defconfig only
      
       - fix zpci_get_max_io_size() to allow PCI block stores where normal PCI
         stores were used otherwise
      
       - remove unneeded tsk variable in do_exception() fault handler
      
       - __load_fpu_regs() is only called from the core kernel code.
         Therefore, remove not needed EXPORT_SYMBOL.
      
       - remove leftover comment from s390_fpregs_set() callback
      
       - few cleanups to Processor Activity Instrumentation (PAI) code (which
         perf framework is based on)
      
       - replace Wenjia Zhang with Thorsten Winkler as s390 Inter-User
         Communication Vehicle (IUCV) networking maintainer
      
       - Fix all scenarios where queues previously removed from a guest's
         Adjunct-Processor (AP) configuration do not re-appear in a reset
         state when they are subsequently made available to a guest again
      
      * tag 's390-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/vfio-ap: do not reset queue removed from host config
        s390/vfio-ap: reset queues associated with adapter for queue unbound from driver
        s390/vfio-ap: reset queues filtered from the guest's AP config
        s390/vfio-ap: let on_scan_complete() callback filter matrix and update guest's APCB
        s390/vfio-ap: loop over the shadow APCB when filtering guest's AP configuration
        s390/vfio-ap: always filter entire AP matrix
        s390/net: add Thorsten Winkler as maintainer
        s390/pai_ext: split function paiext_push_sample
        s390/pai_ext: rework function paiext_copy argments
        s390/pai: rework paiXXX_start and paiXXX_stop functions
        s390/pai_crypto: split function paicrypt_push_sample
        s390/pai: rework paixxxx_getctr interface
        s390/ptrace: remove leftover comment
        s390/fpu: remove __load_fpu_regs() export
        s390/mm,fault: remove not needed tsk variable
        s390/pci: fix max size calculation in zpci_memcpy_toio()
        s390/kexec: do not automatically select KEXEC option
        s390/compat: change default for CONFIG_COMPAT to "n"
      302d1858
    • Linus Torvalds's avatar
      Merge tag 'x86_tdx_for_6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b4442cad
      Linus Torvalds authored
      Pull x86 TDX updates from Dave Hansen:
       "This contains the initial support for host-side TDX support so that
        KVM can run TDX-protected guests. This does not include the actual
        KVM-side support which will come from the KVM folks. The TDX host
        interactions with kexec also needs to be ironed out before this is
        ready for prime time, so this code is currently Kconfig'd off when
        kexec is on.
      
        The majority of the code here is the kernel telling the TDX module
        which memory to protect and handing some additional memory over to it
        to use to store TDX module metadata. That sounds pretty simple, but
        the TDX architecture is rather flexible and it takes quite a bit of
        back-and-forth to say, "just protect all memory, please."
      
        There is also some code tacked on near the end of the series to handle
        a hardware erratum. The erratum can make software bugs such as a
        kernel write to TDX-protected memory cause a machine check and
        masquerade as a real hardware failure. The erratum handling watches
        out for these and tries to provide nicer user errors"
      
      * tag 'x86_tdx_for_6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        x86/virt/tdx: Make TDX host depend on X86_MCE
        x86/virt/tdx: Disable TDX host support when kexec is enabled
        Documentation/x86: Add documentation for TDX host support
        x86/mce: Differentiate real hardware #MCs from TDX erratum ones
        x86/cpu: Detect TDX partial write machine check erratum
        x86/virt/tdx: Handle TDX interaction with sleep and hibernation
        x86/virt/tdx: Initialize all TDMRs
        x86/virt/tdx: Configure global KeyID on all packages
        x86/virt/tdx: Configure TDX module with the TDMRs and global KeyID
        x86/virt/tdx: Designate reserved areas for all TDMRs
        x86/virt/tdx: Allocate and set up PAMTs for TDMRs
        x86/virt/tdx: Fill out TDMRs to cover all TDX memory regions
        x86/virt/tdx: Add placeholder to construct TDMRs to cover all TDX memory regions
        x86/virt/tdx: Get module global metadata for module initialization
        x86/virt/tdx: Use all system memory when initializing TDX module as TDX memory
        x86/virt/tdx: Add skeleton to enable TDX on demand
        x86/virt/tdx: Add SEAMCALL error printing for module initialization
        x86/virt/tdx: Handle SEAMCALL no entropy error in common code
        x86/virt/tdx: Make INTEL_TDX_HOST depend on X86_X2APIC
        x86/virt/tdx: Define TDX supported page sizes as macros
        ...
      b4442cad
    • Linus Torvalds's avatar
      Merge tag 'x86_sgx_for_6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ba7dd857
      Linus Torvalds authored
      Pull x86 SGX updates from Dave Hansen:
       "This time, these are entirely confined to SGX selftests fixes.
      
        The mini SGX enclave built by the selftests has garnered some
        attention because it stands alone and does not need the sizable
        infrastructure of the official SGX SDK. I think that's why folks are
        suddently interested in cleaning it up.
      
         - Clean up selftest compilation issues, mostly from non-gcc compilers
      
         - Avoid building selftests when not on x86"
      
      * tag 'x86_sgx_for_6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/sgx: Skip non X86_64 platform
        selftests/sgx: Remove incomplete ABI sanitization code in test enclave
        selftests/sgx: Discard unsupported ELF sections
        selftests/sgx: Ensure expected location of test enclave buffer
        selftests/sgx: Ensure test enclave buffer is entirely preserved
        selftests/sgx: Fix linker script asserts
        selftests/sgx: Handle relocations in test enclave
        selftests/sgx: Produce static-pie executable for test enclave
        selftests/sgx: Remove redundant enclave base address save/restore
        selftests/sgx: Specify freestanding environment for enclave compilation
        selftests/sgx: Separate linker options
        selftests/sgx: Include memory clobber for inline asm in test enclave
        selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry
        selftests/sgx: Fix uninitialized pointer dereference in error path
      ba7dd857
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2024-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b0d326da
      Linus Torvalds authored
      Pull scheduler fix from Ingo Molnar:
       "Fix a cpufreq related performance regression on certain systems, where
        the CPU would remain at the lowest frequency, degrading performance
        substantially"
      
      * tag 'sched-urgent-2024-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Fix frequency selection for non-invariant case
      b0d326da
    • Linus Torvalds's avatar
      Merge tag 'usb-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8c94ccc7
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the big set of USB and Thunderbolt changes for 6.8-rc1.
        Included in here are the following:
      
         - Thunderbolt subsystem and driver updates for USB 4 hardware and
           issues reported by real devices
      
         - xhci driver updates
      
         - dwc3 driver updates
      
         - uvc_video gadget driver updates
      
         - typec driver updates
      
         - gadget string functions cleaned up
      
         - other small changes
      
        All of these have been in the linux-next tree for a while with no
        reported issues"
      
      * tag 'usb-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (169 commits)
        usb: typec: tipd: fix use of device-specific init function
        usb: typec: tipd: Separate reset for TPS6598x
        usb: mon: Fix atomicity violation in mon_bin_vma_fault
        usb: gadget: uvc: Remove nested locking
        usb: gadget: uvc: Fix use are free during STREAMOFF
        usb: typec: class: fix typec_altmode_put_partner to put plugs
        dt-bindings: usb: dwc3: Limit num-hc-interrupters definition
        dt-bindings: usb: xhci: Add num-hc-interrupters definition
        xhci: add support to allocate several interrupters
        USB: core: Use device_driver directly in struct usb_driver and usb_device_driver
        arm64: dts: mediatek: mt8195: Add 'rx-fifo-depth' for cherry
        usb: xhci-mtk: fix a short packet issue of gen1 isoc-in transfer
        dt-bindings: usb: mtk-xhci: add a property for Gen1 isoc-in transfer issue
        arm64: dts: qcom: msm8996: Remove PNoC clock from MSS
        arm64: dts: qcom: msm8996: Remove AGGRE2 clock from SLPI
        arm64: dts: qcom: msm8998: Remove AGGRE2 clock from SLPI
        arm64: dts: qcom: msm8939: Drop RPM bus clocks
        arm64: dts: qcom: sdm630: Drop RPM bus clocks
        arm64: dts: qcom: qcs404: Drop RPM bus clocks
        arm64: dts: qcom: msm8996: Drop RPM bus clocks
        ...
      8c94ccc7
    • Linus Torvalds's avatar
      Merge tag 'tty-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · bd736f38
      Linus Torvalds authored
      Pull tty / serial updates from Greg KH:
       "Here is the big set of tty and serial driver changes for 6.8-rc1.
      
        As usual, Jiri has a bunch of refactoring and cleanups for the tty
        core and drivers in here, along with the usual set of rs485 updates
        (someday this might work properly...)
      
        Along with those, in here are changes for:
      
         - sc16is7xx serial driver updates
      
         - platform driver removal api updates
      
         - amba-pl011 driver updates
      
         - tty driver binding updates
      
         - other small tty/serial driver updates and changes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (197 commits)
        serial: sc16is7xx: refactor EFR lock
        serial: sc16is7xx: reorder code to remove prototype declarations
        serial: sc16is7xx: refactor FIFO access functions to increase commonality
        serial: sc16is7xx: drop unneeded MODULE_ALIAS
        serial: sc16is7xx: replace hardcoded divisor value with BIT() macro
        serial: sc16is7xx: add explicit return for some switch default cases
        serial: sc16is7xx: add macro for max number of UART ports
        serial: sc16is7xx: add driver name to struct uart_driver
        serial: sc16is7xx: use i2c_get_match_data()
        serial: sc16is7xx: use spi_get_device_match_data()
        serial: sc16is7xx: use DECLARE_BITMAP for sc16is7xx_lines bitfield
        serial: sc16is7xx: improve do/while loop in sc16is7xx_irq()
        serial: sc16is7xx: remove obsolete loop in sc16is7xx_port_irq()
        serial: sc16is7xx: set safe default SPI clock frequency
        serial: sc16is7xx: add check for unsupported SPI modes during probe
        serial: sc16is7xx: fix invalid sc16is7xx_lines bitfield in case of probe error
        serial: 8250_exar: Set missing rs485_supported flag
        serial: omap: do not override settings for RS485 support
        serial: core, imx: do not set RS485 enabled if it is not supported
        serial: core: make sure RS485 cannot be enabled when it is not supported
        ...
      bd736f38
    • Linus Torvalds's avatar
      Merge tag 'staging-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · e38f734a
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the "big" set of staging driver changes for 6.8-rc1. It's not
        really that big this release cycle, not much happened except for 186
        patches of coding style cleanups. The majority was in the rtl8192e
        driver, but there are other smaller changes in a few other staging
        drivers, full details in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (186 commits)
        Staging: rtl8192e: Rename variable OpMode
        Staging: rtl8192e: Rename variable bIsAggregateFrame
        Staging: rtl8192e: Rename function rtllib_EnableNetMonitorMode()
        Staging: rtl8192e: Rename variable NumRxOkInPeriod
        Staging: rtl8192e: Rename variable NumTxOkInPeriod
        Staging: rtl8192e: Rename variable bUsed
        staging: vme_user: print more detailed infomation when an error occurs
        Staging: rtl8192e: Rename function rtllib_DisableNetMonitorMode()
        Staging: rtl8192e: Rename variable bInitState
        Staging: rtl8192e: Rename variable skb_waitQ
        Staging: rtl8192e: Rename variable BasicRate
        Staging: rtl8192e: Rename variable QueryRate
        Staging: rtl8192e: Rename function rtllib_TURBO_Info()
        Staging: rtl8192e: Rename function rtllib_WMM_Info()
        Staging: rtl8192e: Rename function rtllib_MFIE_Grate()
        Staging: rtl8192e: Rename function rtllib_MFIE_Brate()
        Staging: rtl8192e: Fixup statement broken across 2 lines in rtllib_softmac_new_net()
        Staging: rtl8192e: Fixup statement broken across 2 lines in rtllib_softmac_xmit()
        Staging: rtl8192e: Fix function definition broken across multiple lines
        Staging: rtl8192e: Fix statement broken across 2 lines in rtllib_rx_assoc_resp()
        ...
      e38f734a
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 80955ae9
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here are the set of driver core and kernfs changes for 6.8-rc1.
        Nothing major in here this release cycle, just lots of small cleanups
        and some tweaks on kernfs that in the very end, got reverted and will
        come back in a safer way next release cycle.
      
        Included in here are:
      
         - more driver core 'const' cleanups and fixes
      
         - fw_devlink=rpm is now the default behavior
      
         - kernfs tiny changes to remove some string functions
      
         - cpu handling in the driver core is updated to work better on many
           systems that add topologies and cpus after booting
      
         - other minor changes and cleanups
      
        All of the cpu handling patches have been acked by the respective
        maintainers and are coming in here in one series. Everything has been
        in linux-next for a while with no reported issues"
      
      * tag 'driver-core-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (51 commits)
        Revert "kernfs: convert kernfs_idr_lock to an irq safe raw spinlock"
        kernfs: convert kernfs_idr_lock to an irq safe raw spinlock
        class: fix use-after-free in class_register()
        PM: clk: make pm_clk_add_notifier() take a const pointer
        EDAC: constantify the struct bus_type usage
        kernfs: fix reference to renamed function
        driver core: device.h: fix Excess kernel-doc description warning
        driver core: class: fix Excess kernel-doc description warning
        driver core: mark remaining local bus_type variables as const
        driver core: container: make container_subsys const
        driver core: bus: constantify subsys_register() calls
        driver core: bus: make bus_sort_breadthfirst() take a const pointer
        kernfs: d_obtain_alias(NULL) will do the right thing...
        driver core: Better advertise dev_err_probe()
        kernfs: Convert kernfs_path_from_node_locked() from strlcpy() to strscpy()
        kernfs: Convert kernfs_name_locked() from strlcpy() to strscpy()
        kernfs: Convert kernfs_walk_ns() from strlcpy() to strscpy()
        initramfs: Expose retained initrd as sysfs file
        fs/kernfs/dir: obey S_ISGID
        kernel/cgroup: use kernfs_create_dir_ns()
        ...
      80955ae9
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 296455ad
      Linus Torvalds authored
      Pull char/misc and other driver updates from Greg KH:
       "Here is the big set of char/misc and other driver subsystem changes
        for 6.8-rc1.
      
        Other than lots of binder driver changes (as you can see by the merge
        conflicts) included in here are:
      
         - lots of iio driver updates and additions
      
         - spmi driver updates
      
         - eeprom driver updates
      
         - firmware driver updates
      
         - ocxl driver updates
      
         - mhi driver updates
      
         - w1 driver updates
      
         - nvmem driver updates
      
         - coresight driver updates
      
         - platform driver remove callback api changes
      
         - tags.sh script updates
      
         - bus_type constant marking cleanups
      
         - lots of other small driver updates
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (341 commits)
        android: removed duplicate linux/errno
        uio: Fix use-after-free in uio_open
        drivers: soc: xilinx: add check for platform
        firmware: xilinx: Export function to use in other module
        scripts/tags.sh: remove find_sources
        scripts/tags.sh: use -n to test archinclude
        scripts/tags.sh: add local annotation
        scripts/tags.sh: use more portable -path instead of -wholename
        scripts/tags.sh: Update comment (addition of gtags)
        firmware: zynqmp: Convert to platform remove callback returning void
        firmware: turris-mox-rwtm: Convert to platform remove callback returning void
        firmware: stratix10-svc: Convert to platform remove callback returning void
        firmware: stratix10-rsu: Convert to platform remove callback returning void
        firmware: raspberrypi: Convert to platform remove callback returning void
        firmware: qemu_fw_cfg: Convert to platform remove callback returning void
        firmware: mtk-adsp-ipc: Convert to platform remove callback returning void
        firmware: imx-dsp: Convert to platform remove callback returning void
        firmware: coreboot_table: Convert to platform remove callback returning void
        firmware: arm_scpi: Convert to platform remove callback returning void
        firmware: arm_scmi: Convert to platform remove callback returning void
        ...
      296455ad
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.8-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · e1aa9df4
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Enumeration:
      
         - Reserve ECAM so we don't assign it to PCI BARs; this works around
           bugs where BIOS included ECAM in a PNP0A03 host bridge window,
           didn't reserve it via a PNP0C02 motherboard device, and didn't
           allocate space for SR-IOV VF BARs (Bjorn Helgaas)
      
         - Add MMCONFIG/ECAM debug logging (Bjorn Helgaas)
      
         - Rename 'MMCONFIG' to 'ECAM' to match spec usage (Bjorn Helgaas)
      
         - Log device type (Root Port, Switch Port, etc) during enumeration
           (Bjorn Helgaas)
      
         - Log bridges before downstream devices so the dmesg order is more
           logical (Bjorn Helgaas)
      
         - Log resource names (BAR 0, VF BAR 0, bridge window, etc)
           consistently instead of a mix of names and "reg 0x10" (Puranjay
           Mohan, Bjorn Helgaas)
      
         - Fix 64GT/s effective data rate calculation to use 1b/1b encoding
           rather than the 8b/10b or 128b/130b used by lower rates (Ilpo
           Järvinen)
      
         - Use PCI_HEADER_TYPE_* instead of literals in x86, powerpc, SCSI
           lpfc (Ilpo Järvinen)
      
         - Clean up open-coded PCIBIOS return code mangling (Ilpo Järvinen)
      
        Resource management:
      
         - Restructure pci_dev_for_each_resource() to avoid computing the
           address of an out-of-bounds array element (the bounds check was
           performed later so the element was never actually *read*, but it's
           nicer to avoid even computing an out-of-bounds address) (Andy
           Shevchenko)
      
        Driver binding:
      
         - Convert pci-host-common.c platform .remove() callback to
           .remove_new() returning 'void' since it's not useful to return
           error codes here (Uwe Kleine-König)
      
         - Convert exynos, keystone, kirin from .remove() to .remove_new(),
           which returns void instead of int (Uwe Kleine-König)
      
         - Drop unused struct pci_driver.node member (Mathias Krause)
      
        Virtualization:
      
         - Add ACS quirk for more Zhaoxin Root Ports (LeoLiuoc)
      
        Error handling:
      
         - Log AER errors as "Correctable" (not "Corrected") or
           "Uncorrectable" to match spec terminology (Bjorn Helgaas)
      
         - Decode Requester ID when no error info found instead of printing
           the raw hex value (Bjorn Helgaas)
      
        Endpoint framework:
      
         - Use a unique test pattern for each BAR in the pci_endpoint_test to
           make it easier to debug address translation issues (Niklas Cassel)
      
        Broadcom STB PCIe controller driver:
      
         - Add DT property "brcm,clkreq-mode" and driver support for different
           CLKREQ# modes to make ASPM L1.x states possible (Jim Quinlan)
      
        Freescale Layerscape PCIe controller driver:
      
         - Add suspend/resume support for Layerscape LS1043a and LS1021a,
           including software-managed PME_Turn_Off and transitions between L0,
           L2/L3_Ready Link states (Frank Li)
      
        MediaTek PCIe controller driver:
      
         - Clear MSI interrupt status before handler to avoid missing MSIs
           that occur after the handler (qizhong cheng)
      
        MediaTek PCIe Gen3 controller driver:
      
         - Update mediatek-gen3 translation window setup to handle MMIO space
           that is not a power of two in size (Jianjun Wang)
      
        Qualcomm PCIe controller driver:
      
         - Increase qcom iommu-map maxItems to accommodate SDX55 (five
           entries) and SDM845 (sixteen entries) (Krzysztof Kozlowski)
      
         - Describe qcom,pcie-sc8180x clocks and resets accurately (Krzysztof
           Kozlowski)
      
         - Describe qcom,pcie-sm8150 clocks and resets accurately (Krzysztof
           Kozlowski)
      
         - Correct the qcom "reset-name" property, previously incorrectly
           called "reset-names" (Krzysztof Kozlowski)
      
         - Document qcom,pcie-sm8650, based on qcom,pcie-sm8550 (Neil
           Armstrong)
      
        Renesas R-Car PCIe controller driver:
      
         - Replace of_device.h with explicit of.h include to untangle header
           usage (Rob Herring)
      
         - Add DT and driver support for optional miniPCIe 1.5v and 3.3v
           regulators on KingFisher (Wolfram Sang)
      
        SiFive FU740 PCIe controller driver:
      
         - Convert fu740 CONFIG_PCIE_FU740 dependency from SOC_SIFIVE to
           ARCH_SIFIVE (Conor Dooley)
      
        Synopsys DesignWare PCIe controller driver:
      
         - Align iATU mapping for endpoint MSI-X (Niklas Cassel)
      
         - Drop "host_" prefix from struct dw_pcie_host_ops members (Yoshihiro
           Shimoda)
      
         - Drop "ep_" prefix from struct dw_pcie_ep_ops members (Yoshihiro
           Shimoda)
      
         - Rename struct dw_pcie_ep_ops.func_conf_select() to
           .get_dbi_offset() to be more descriptive (Yoshihiro Shimoda)
      
         - Add Endpoint DBI accessors to encapsulate offset lookups (Yoshihiro
           Shimoda)
      
        TI J721E PCIe driver:
      
         - Add j721e DT and driver support for 'num-lanes' for devices that
           support x1, x2, or x4 Links (Matt Ranostay)
      
         - Add j721e DT compatible strings and driver support for j784s4 (Matt
           Ranostay)
      
         - Make TI J721E Kconfig depend on ARCH_K3 since the hardware is
           specific to those TI SoC parts (Peter Robinson)
      
        TI Keystone PCIe controller driver:
      
         - Hold power management references to all PHYs while enabling them to
           avoid a race when one provides clocks to others (Siddharth
           Vadapalli)
      
        Xilinx XDMA PCIe controller driver:
      
         - Remove redundant dev_err(), since platform_get_irq() and
           platform_get_irq_byname() already log errors (Yang Li)
      
         - Fix uninitialized symbols in xilinx_pl_dma_pcie_setup_irq()
           (Krzysztof Wilczyński)
      
         - Fix xilinx_pl_dma_pcie_init_irq_domain() error return when
           irq_domain_add_linear() fails (Harshit Mogalapalli)
      
        MicroSemi Switchtec management driver:
      
         - Do dma_mrpc cleanup during switchtec_pci_remove() to match its devm
           ioremapping in switchtec_pci_probe(). Previously the cleanup was
           done in stdev_release(), which used stale pointers if stdev->cdev
           happened to be open when the PCI device was removed (Daniel
           Stodden)
      
        Miscellaneous:
      
         - Convert interrupt terminology from "legacy" to "INTx" to be more
           specific and match spec terminology (Damien Le Moal)
      
         - In dw-xdata-pcie, pci_endpoint_test, and vmd, replace usage of
           deprecated ida_simple_*() API with ida_alloc() and ida_free()
           (Christophe JAILLET)"
      
      * tag 'pci-v6.8-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (97 commits)
        PCI: Fix kernel-doc issues
        PCI: brcmstb: Configure HW CLKREQ# mode appropriate for downstream device
        dt-bindings: PCI: brcmstb: Add property "brcm,clkreq-mode"
        PCI: mediatek-gen3: Fix translation window size calculation
        PCI: mediatek: Clear interrupt status before dispatching handler
        PCI: keystone: Fix race condition when initializing PHYs
        PCI: xilinx-xdma: Fix error code in xilinx_pl_dma_pcie_init_irq_domain()
        PCI: xilinx-xdma: Fix uninitialized symbols in xilinx_pl_dma_pcie_setup_irq()
        PCI: rcar-gen4: Fix -Wvoid-pointer-to-enum-cast error
        PCI: iproc: Fix -Wvoid-pointer-to-enum-cast warning
        PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
        PCI: dwc: Rename .func_conf_select to .get_dbi_offset in struct dw_pcie_ep_ops
        PCI: dwc: Rename .ep_init to .init in struct dw_pcie_ep_ops
        PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members
        misc: pci_endpoint_test: Use a unique test pattern for each BAR
        PCI: j721e: Make TI J721E depend on ARCH_K3
        PCI: j721e: Add TI J784S4 PCIe configuration
        PCI/AER: Use explicit register sizes for struct members
        PCI/AER: Decode Requester ID when no error info found
        PCI/AER: Use 'Correctable' and 'Uncorrectable' spec terms for errors
        ...
      e1aa9df4
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · a3f4a07b
      Linus Torvalds authored
      Pull i3c updates from Alexandre Belloni:
       "We are continuing to see more fixes as hardware is available and code
        is actually getting tested.
      
        Core:
         - Add a sysfs control for hotjoin
         - Add fallback method for GETMXDS CCC
      
        Drivers:
         - cdns: fix prescale for i2c clock
         - mipi-i3c-hci: more fixes now that the driver is used
         - svc: hotjoin enabling/disabling support"
      
      * tag 'i3c/for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        i3c: document hotjoin sysfs entry
        i3c: master: fix kernel-doc check warning
        i3c: master: cdns: Update maximum prescaler value for i2c clock
        i3c: master: fix Excess kernel-doc description warning
        i3c: master: svc: return actual transfer data len
        i3c: master: svc: rename read_len as actual_len
        i3c: add actual_len in i3c_priv_xfer
        i3c: master: svc: add hot join support
        i3c: master: add enable(disable) hot join in sys entry
        i3c: master: Fix build error
        i3c: Add fallback method for GETMXDS CCC
        i3c: mipi-i3c-hci: Add DMA bounce buffer for private transfers
        i3c: mipi-i3c-hci: Handle I3C address header error in hci_cmd_v1_daa()
        i3c: mipi-i3c-hci: Do not overallocate transfers in hci_cmd_v1_daa()
        i3c: mipi-i3c-hci: Report NACK response from CCC command to core
      a3f4a07b
  2. 17 Jan, 2024 29 commits
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · ed6c23b1
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "For this kernel cycle I managed an immutable branch for the PEF2256
        WAN framer that has some pin control portions. It already landed in
        your tree through the net pull request but here it is mentioned again.
      
        The most interesting is perhaps the Samsung Exynos subdrivers for the
        Tensor SoC used in Google Pixel 6 and the ExynosAuto subdriver for
        automotive. Along with the earlier merged Tesla FSD subdriver it shows
        some of the versatile uses of the Samsung Exynos silicon. It is also
        used in the latest version of Axis Communications ARTPEC chips so it
        is a very widely deployed SoC family.
      
        We also have the Intel Meteor Lake SoC which I think is for laptops.
        It's a pretty interesting chip with Xe graphics and integrated PCH.
      
        Core changes:
      
         - A new PINCTRL_GROUP_DESC() infrastructure macro is added and used
           in different drivers, generic group description struct group_desc
           is now used all over the place.
      
        New drivers:
      
         - New driver for the Texas Instruments TPS6494 Power Management IC.
      
         - New driver for the Lantic PEF2256 framer pin multiplexer. This IC
           has some pins that can be reconfigured in different ways. The
           actual driver comes on an immutable branch with the net WAN parts,
           the IC is some latest-and-greatest serial line funnel for e.g.
           wireless access points.
      
         - New subdriver for the Samsung Exynos Auto V920 pin controller, used
           for automotive applications.
      
         - New subdriver for the Samsung "GS101" SoC pin controller, this is
           the Google "Tensor" SoC used in the Google Pixel 6.
      
         - New subdriver for the Intel Meteor Point SoC pin controller.
      
         - New subdriver for the Qualcomm SM8650 top level (TLMM) and LPASS
           pin controllers.
      
         - New subdriver for the Qualcomm X1E80100 top level (TLMM) pin
           controller.
      
         - New subdriver for the Qualcomm SM4450 top level (TLMM) pin
           controller.
      
         - The "single" pin controller now supports the Texas Instruments
           J7200 SoC.
      
        Improvements:
      
         - Intel has created a new (Intel-)generic pin controller driver that
           is now used by all contemporary Intel platforms.
      
         - Intel is now also making use of some cleanup helpers.
      
         - Enble 910 Ohm bias in the Intel Tangier driver.
      
         - The Samsung driver now suppors irq_set_affinity() in it's IRQ chip
           giving support for non wake up external gpio interrupts"
      
      * tag 'pinctrl-v6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (112 commits)
        pinctrl: samsung: constify iomem pointers
        pinctrl: cy8c95x0: Cache muxed registers
        dt-bindings: pinctrl: xilinx: Rename *gpio to *gpio-grp
        pinctrl: qcom: lpass-lpi: remove duplicated include
        dt-bindings: pinctrl: qcom: drop common properties and allow wakeup-parent
        dt-bindings: pinctrl: qcom: drop common properties
        dt-bindings: pinctrl: qcom,ipq5018-tlmm: use common TLMM bindings
        dt-bindings: pinctrl: qcom,x1e80100-tlmm: restrict number of interrupts
        dt-bindings: pinctrl: qcom,sm8650-tlmm: restrict number of interrupts
        dt-bindings: pinctrl: qcom,sm8550-tlmm: restrict number of interrupts
        dt-bindings: pinctrl: qcom,sdx75-tlmm: restrict number of interrupts
        dt-bindings: pinctrl: qcom,sa8775p-tlmm: restrict number of interrupts
        dt-bindings: pinctrl: qcom,qdu1000-tlmm: restrict number of interrupts
        dt-bindings: pinctrl: qcom: create common LPASS LPI schema
        pinctrl: qcom: sm4450: dd SM4450 pinctrl driver
        dt-bindings: pinctrl: qcom: Add SM4450 pinctrl
        dt-bindings: pinctrl: qcom,pmic-mpp: clean up example
        pinctrl: intel: Add Intel Meteor Point pin controller and GPIO support
        pinctrl: renesas: rzg2l: Add input enable to the Ethernet pins
        pinctrl: renesas: rzg2l: Add output enable support
        ...
      ed6c23b1
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 5d197e97
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
      
       - modernize IDA API
      
      * tag 'hsi-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: omap_ssi: Remove usage of the deprecated ida_simple_xx() API
      5d197e97
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox · 75afd029
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - add CMDQ support for mediatek mt8188
      
       - mhuv2: fix channel window status
      
       - qcom: document X1E80100 IPC controller and misc cleanup
      
       - add Versal bindings to xlnx
      
       - Convert to platform remove callback returning void
      
      * tag 'mailbox-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox: (23 commits)
        mailbox: mtk-cmdq: Add CMDQ driver support for mt8188
        mailbox: mtk-cmdq: Sort cmdq platform data by compatible name
        mailbox: mtk-cmdq: Rename gce_plat variable with SoC name postfix
        dt-bindings: mailbox: qcom-ipcc: document the X1E80100 Inter-Processor Communication Controller
        mailbox: zynqmp-ipi: Convert to platform remove callback returning void
        mailbox: tegra-hsp: Convert to platform remove callback returning void
        mailbox: sun6i-msgbox: Convert to platform remove callback returning void
        mailbox: stm32-ipcc: Convert to platform remove callback returning void
        mailbox: qcom-ipcc: Convert to platform remove callback returning void
        mailbox: qcom-apcs-ipc: Convert to platform remove callback returning void
        mailbox: omap: Convert to platform remove callback returning void
        mailbox: mtk-cmdq: Convert to platform remove callback returning void
        mailbox: mailbox-test: Convert to platform remove callback returning void
        mailbox: imx: Convert to platform remove callback returning void
        mailbox: bcm-pdc: Convert to platform remove callback returning void
        mailbox: bcm-flexrm: Convert to platform remove callback returning void
        mailbox: zynqmp-ipi: fix an Excess struct member kernel-doc warning
        dt-bindings: mailbox: add Versal IPI bindings
        dt-bindings: mailbox: zynqmp: extend required list
        mailbox: arm_mhuv2: Fix a bug for mhuv2_sender_interrupt
        ...
      75afd029
    • Linus Torvalds's avatar
      Merge tag 'leds-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · 08df80a3
      Linus Torvalds authored
      Pull LED updates from Lee Jones:
       "New Drivers:
         - Add support for Allwinner A100 RGB LED controller
         - Add support for Maxim 5970 Dual Hot-swap controller
      
        New Device Support:
         - Add support for AW20108 to Awinic LED driver
      
        New Functionality:
         - Extend support for Net speeds to include; 2.5G, 5G and 10G
         - Allow tx/rx and cts/dsr/dcd/rng TTY LEDS to be turned on and off
           via sysfs if required
         - Add support for hardware control in AW200xx
      
        Fix-ups:
         - Use safer methods for string handling
         - Improve error handling; return proper error values, simplify,
           avoid duplicates, etc
         - Replace Mutex use with the Completion mechanism
         - Fix include lists; alphabetise, remove unused, explicitly add used
         - Use generic platform device properties
         - Use/convert to new/better APIs/helpers/MACROs instead of
           hand-rolling implementations
         - Device Tree binding adaptions/conversions/creation
         - Continue work to remove superfluous platform .remove() call-backs
         - Remove superfluous/defunct code
         - Trivial; whitespace, unused variables, spelling, clean-ups, etc
         - Avoid unnecessary duplicate locks
      
        Bug Fixes:
         - Repair Kconfig based dependency lists
         - Ensure unused dynamically allocated data is freed after use
         - Fix support for brightness control
         - Add missing sufficient delays during reset to ensure correct
           operation
         - Avoid division-by-zero issues"
      
      * tag 'leds-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (45 commits)
        leds: trigger: netdev: Add core support for hw not supporting fallback to LED sw control
        leds: trigger: panic: Don't register panic notifier if creating the trigger failed
        leds: sun50i-a100: Convert to be agnostic to property provider
        leds: max5970: Add missing headers
        leds: max5970: Make use of dev_err_probe()
        leds: max5970: Make use of device properties
        leds: max5970: Remove unused variable
        leds: rgb: Drop obsolete dependency on COMPILE_TEST
        leds: sun50i-a100: Avoid division-by-zero warning
        leds: trigger: Remove unused function led_trigger_rename_static()
        leds: qcom-lpg: Introduce a wrapper for getting driver data from a pwm chip
        leds: gpio: Add kernel log if devm_fwnode_gpiod_get() fails
        dt-bindings: leds: qcom,spmi-flash-led: Fix example node name
        dt-bindings: leds: aw200xx: Fix led pattern and add reg constraints
        dt-bindings: leds: awinic,aw200xx: Add AW20108 device
        leds: aw200xx: Add support for aw20108 device
        leds: aw200xx: Improve autodim calculation method
        leds: aw200xx: Enable disable_locking flag in regmap config
        leds: aw200xx: Add delay after software reset
        dt-bindings: leds: aw200xx: Remove property "awinic,display-rows"
        ...
      08df80a3
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 2385018a
      Linus Torvalds authored
      Pull mfd updates from Lee Jones:
       "New Device Support:
         - Add support for Qualcomm PM8937 PMIC to QCOM SPMI PMIC
      
        Fix-ups:
         - Use/convert to new/better APIs/helpers/MACROs instead of
           hand-rolling implementations
         - Device Tree binding adaptions/conversions/creation
         - Improve error handling; return proper error values, simplify,
           avoid duplicates, etc
         - Continue work to remove superfluous platform .remove() call-backs
         - Move some exported symbols into private namespaces
         - Clean-up and staticify PM related operations
         - Trivial; spelling, whitespace, clean-ups, etc
         - Fix include lists; alphabetise, remove unused, explicitly add used
      
        Bug Fixes:
         - Use PLATFORM_DEVID_AUTO to ensure multiple duplicate devices can
           co-exist
         - Ensure debugfs register view is correctly presented
         - Fix ordering and value issues in current use of
           clk_register_fractional_divider()
         - Repair Kconfig based dependency lists"
      
      * tag 'mfd-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (50 commits)
        mfd: ti_am335x_tscadc: Fix TI SoC dependencies
        dt-bindings: mfd: sprd: Add support for UMS9620
        mfd: ab8500-sysctrl: Drop ancient charger
        mfd: intel-lpss: Fix the fractional clock divider flags
        mfd: tps6594: Add null pointer check to tps6594_device_init()
        dt-bindings: mfd: pm8008: Clean up example node names
        dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Clean up example
        dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Fix regulator binding
        dt-bindings: mfd: hisilicon,hi6421-spmi-pmic: Fix up binding reference
        mfd: da9062: Simplify obtaining I2C match data
        mfd: syscon: Fix null pointer dereference in of_syscon_register()
        mfd: intel-lpss: Don't fail probe on success of pci_alloc_irq_vectors()
        mfd: twl6030-irq: Revert to use of_match_device()
        mfd: cs42l43: Correct order of include files to be alphabetical
        mfd: cs42l43: Correct SoundWire port list
        mfd: Fix a few spelling mistakes in PMIC header file comments
        mfd: intel-lpss: Provide Intel LPSS PM ops structure
        mfd: intel-lpss: Move exported symbols to INTEL_LPSS namespace
        mfd: intel-lpss: Adjust header inclusions
        mfd: intel-lpss: Use device_get_match_data()
        ...
      2385018a
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · a2ec2071
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
      
       - Correct kernel-doc through the hwspinlock core, to address build
         warnings (and improve the documentation)
      
       - Drop unused compatible in the Qualcomm TCSR mutex driver
      
      * tag 'hwlock-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        hwspinlock/core: fix kernel-doc warnings
        hwspinlock: qcom: Remove IPQ6018 SOC specific compatible
      a2ec2071
    • Linus Torvalds's avatar
      Merge tag 'rproc-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · e88481f7
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
      
       - The i.MX DSP remoteproc driver adds support for providing a resource
         table, in order to enable IPC with the core
      
       - The TI K3 DSP driver is transitioned to remove_new, error messages
         are changed to use symbolic error codes, and dev_err_probe() is used
         where applicable
      
       - Support for the Qualcomm SC7280 audio, compute and WiFi co-processors
         are added to the Qualcomm TrustZone based remoteproc driver
      
      * tag 'rproc-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        remoteproc: qcom_q6v5_pas: Add SC7280 ADSP, CDSP & WPSS
        dt-bindings: remoteproc: qcom: sc7180-pas: Add SC7280 compatibles
        dt-bindings: remoteproc: qcom: sc7180-pas: Fix SC7280 MPSS PD-names
        remoteproc: k3-dsp: Convert to platform remove callback returning void
        remoteproc: k3-dsp: Use symbolic error codes in error messages
        remoteproc: k3-dsp: Suppress duplicate error message in .remove()
        arm64: dts: imx8mp: Add reserve-memory nodes for DSP
        remoteproc: imx_dsp_rproc: Add mandatory find_loaded_rsc_table op
      e88481f7
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 2a434346
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This make virtio free driver_override upon removal. It also updates
        the rpmsg documentation after earlier API updates"
      
      * tag 'rpmsg-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        rpmsg: virtio: Free driver_override when rpmsg_remove()
        doc: rmpsg: Update with rpmsg_endpoint
      2a434346
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2024-01-15-1' of git://anongit.freedesktop.org/drm/drm · 8893a6bf
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is just a wrap up of fixes from the last few days. It has the
        proper fix to the i915/xe collision, we can clean up what you did
        later once rc1 lands.
      
        Otherwise it's a few other i915, a v3d, rockchip and a nouveau fix to
        make GSP load on some original Turing GPUs.
      
        i915:
         - Fixes for kernel-doc warnings enforced in linux-next
         - Another build warning fix for string formatting of intel_wakeref_t
         - Display fixes for DP DSC BPC and C20 PLL state verification
      
        v3d:
         - register readout fix
      
        rockchip:
         - two build warning fixes
      
        nouveau:
         - fix GSP loading on Turing with different nvdec configuration"
      
      * tag 'drm-next-2024-01-15-1' of git://anongit.freedesktop.org/drm/drm:
        nouveau/gsp: handle engines in runl without nonstall interrupts.
        drm/i915/perf: reconcile Excess struct member kernel-doc warnings
        drm/i915/guc: reconcile Excess struct member kernel-doc warnings
        drm/i915/gt: reconcile Excess struct member kernel-doc warnings
        drm/i915/gem: reconcile Excess struct member kernel-doc warnings
        drm/i915/dp: Fix the max DSC bpc supported by source
        drm/i915: don't make assumptions about intel_wakeref_t type
        drm/i915/dp: Fix the PSR debugfs entries wrt. MST connectors
        drm/i915/display: Fix C20 pll selection for state verification
        drm/v3d: Fix support for register debugging on the RPi 4
        drm/rockchip: vop2: Drop unused if_dclk_rate variable
        drm/rockchip: vop2: Drop superfluous include
      8893a6bf
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d8e6ba02
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "These add support for debugfs-based diagnostics to the thermal core,
        simplify the thermal netlink API, fix system-wide PM support in the
        Intel HFI driver and clean up some code.
      
        Specifics:
      
         - Add debugfs-based diagnostics support to the thermal core (Daniel
           Lezcano, Dan Carpenter)
      
         - Fix a power allocator thermal governor issue preventing it from
           resetting cooling devices sometimes (Di Shen)
      
         - Simplify the thermal netlink API and clean up related code (Rafael
           J. Wysocki)
      
         - Make the Intel HFI driver support hibernation and deep suspend
           properly (Ricardo Neri)"
      
      * tag 'thermal-6.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal/debugfs: Unlock on error path in thermal_debug_tz_trip_up()
        thermal: intel: hfi: Add syscore callbacks for system-wide PM
        thermal: gov_power_allocator: avoid inability to reset a cdev
        thermal: helpers: Rearrange thermal_cdev_set_cur_state()
        thermal: netlink: Rework notify API for cooling devices
        thermal: core: Use kstrdup_const() during cooling device registration
        thermal/debugfs: Add thermal debugfs information for mitigation episodes
        thermal/debugfs: Add thermal cooling device debugfs information
        thermal: netlink: Pass thermal zone pointer to notify routines
        thermal: netlink: Drop thermal_notify_tz_trip_add/delete()
        thermal: netlink: Pass pointers to thermal_notify_tz_trip_up/down()
        thermal: netlink: Pass pointers to thermal_notify_tz_trip_change()
      d8e6ba02
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7f369a8f
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These add support for new MADT flags to ACPICA, constify the PNP bus
        type structure and add new ACPI IRQ management quirks.
      
        Specifics:
      
         - Make pnp_bus_type const (Greg Kroah-Hartman)
      
         - Add ACPI IRQ management quirks for ASUS ExpertBook B1502CGA and
           ASUS Vivobook E1504GA and E1504GAB (Ben Mayo, Michael Maltsev)
      
         - Add new MADT GICC/GICR/ITS non-coherent flags and GICC online
           capable bit handling to ACPICA (Lorenzo Pieralisi)"
      
      * tag 'acpi-6.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPICA: MADT: Add new MADT GICC/GICR/ITS non-coherent flags handling
        ACPICA: MADT: Add GICC online capable bit handling
        ACPI: resource: Skip IRQ override on ASUS ExpertBook B1502CGA
        ACPI: resource: Add DMI quirks for ASUS Vivobook E1504GA and E1504GAB
        PNP: make pnp_bus_type const
      7f369a8f
    • Linus Torvalds's avatar
      Merge tag 'pm-6.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7b5bcf9b
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These restore the asynchronous device resume optimization removed by
        the previous PM merge, make the intel_pstate driver work better on
        Meteor Lake systems, optimize the PM QoS core code slightly and fix up
        typos in admin-guide.
      
        Specifics:
      
         - Restore the system-wide asynchronous device resume optimization
           removed by a recent concurrency fix (Rafael J. Wysocki)
      
         - Make the intel_pstate cpufreq driver allow Meteor Lake systems to
           run at somewhat higher frequencies (Srinivas Pandruvada)
      
         - Make the PM QoS core code use kcalloc() for array allocation (Erick
           Archer)
      
         - Fix two PM-related typos in admin-guide (Erwan Velu)"
      
      * tag 'pm-6.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: sleep: Restore asynchronous device resume optimization
        Documentation: admin-guide: PM: Fix two typos
        cpufreq: intel_pstate: Update hybrid scaling factor for Meteor Lake
        PM: QoS: Use kcalloc() instead of kzalloc()
      7b5bcf9b
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.8-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 82fd5ee9
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - update some Xen PV interface related headers
      
       - fix some kernel-doc comments in the xenbus driver
      
       - fix the Xen gntdev driver to not access the struct page of pages
         imported from a DMA-buf
      
      * tag 'for-linus-6.8-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import
        xen/xenbus: client: fix kernel-doc comments
        xen: update PV-device interface headers
      82fd5ee9
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 09d1c6a8
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "Generic:
      
         - Use memdup_array_user() to harden against overflow.
      
         - Unconditionally advertise KVM_CAP_DEVICE_CTRL for all
           architectures.
      
         - Clean up Kconfigs that all KVM architectures were selecting
      
         - New functionality around "guest_memfd", a new userspace API that
           creates an anonymous file and returns a file descriptor that refers
           to it. guest_memfd files are bound to their owning virtual machine,
           cannot be mapped, read, or written by userspace, and cannot be
           resized. guest_memfd files do however support PUNCH_HOLE, which can
           be used to switch a memory area between guest_memfd and regular
           anonymous memory.
      
         - New ioctl KVM_SET_MEMORY_ATTRIBUTES allowing userspace to specify
           per-page attributes for a given page of guest memory; right now the
           only attribute is whether the guest expects to access memory via
           guest_memfd or not, which in Confidential SVMs backed by SEV-SNP,
           TDX or ARM64 pKVM is checked by firmware or hypervisor that
           guarantees confidentiality (AMD PSP, Intel TDX module, or EL2 in
           the case of pKVM).
      
        x86:
      
         - Support for "software-protected VMs" that can use the new
           guest_memfd and page attributes infrastructure. This is mostly
           useful for testing, since there is no pKVM-like infrastructure to
           provide a meaningfully reduced TCB.
      
         - Fix a relatively benign off-by-one error when splitting huge pages
           during CLEAR_DIRTY_LOG.
      
         - Fix a bug where KVM could incorrectly test-and-clear dirty bits in
           non-leaf TDP MMU SPTEs if a racing thread replaces a huge SPTE with
           a non-huge SPTE.
      
         - Use more generic lockdep assertions in paths that don't actually
           care about whether the caller is a reader or a writer.
      
         - let Xen guests opt out of having PV clock reported as "based on a
           stable TSC", because some of them don't expect the "TSC stable" bit
           (added to the pvclock ABI by KVM, but never set by Xen) to be set.
      
         - Revert a bogus, made-up nested SVM consistency check for
           TLB_CONTROL.
      
         - Advertise flush-by-ASID support for nSVM unconditionally, as KVM
           always flushes on nested transitions, i.e. always satisfies flush
           requests. This allows running bleeding edge versions of VMware
           Workstation on top of KVM.
      
         - Sanity check that the CPU supports flush-by-ASID when enabling SEV
           support.
      
         - On AMD machines with vNMI, always rely on hardware instead of
           intercepting IRET in some cases to detect unmasking of NMIs
      
         - Support for virtualizing Linear Address Masking (LAM)
      
         - Fix a variety of vPMU bugs where KVM fail to stop/reset counters
           and other state prior to refreshing the vPMU model.
      
         - Fix a double-overflow PMU bug by tracking emulated counter events
           using a dedicated field instead of snapshotting the "previous"
           counter. If the hardware PMC count triggers overflow that is
           recognized in the same VM-Exit that KVM manually bumps an event
           count, KVM would pend PMIs for both the hardware-triggered overflow
           and for KVM-triggered overflow.
      
         - Turn off KVM_WERROR by default for all configs so that it's not
           inadvertantly enabled by non-KVM developers, which can be
           problematic for subsystems that require no regressions for W=1
           builds.
      
         - Advertise all of the host-supported CPUID bits that enumerate
           IA32_SPEC_CTRL "features".
      
         - Don't force a masterclock update when a vCPU synchronizes to the
           current TSC generation, as updating the masterclock can cause
           kvmclock's time to "jump" unexpectedly, e.g. when userspace
           hotplugs a pre-created vCPU.
      
         - Use RIP-relative address to read kvm_rebooting in the VM-Enter
           fault paths, partly as a super minor optimization, but mostly to
           make KVM play nice with position independent executable builds.
      
         - Guard KVM-on-HyperV's range-based TLB flush hooks with an #ifdef on
           CONFIG_HYPERV as a minor optimization, and to self-document the
           code.
      
         - Add CONFIG_KVM_HYPERV to allow disabling KVM support for HyperV
           "emulation" at build time.
      
        ARM64:
      
         - LPA2 support, adding 52bit IPA/PA capability for 4kB and 16kB base
           granule sizes. Branch shared with the arm64 tree.
      
         - Large Fine-Grained Trap rework, bringing some sanity to the
           feature, although there is more to come. This comes with a prefix
           branch shared with the arm64 tree.
      
         - Some additional Nested Virtualization groundwork, mostly
           introducing the NV2 VNCR support and retargetting the NV support to
           that version of the architecture.
      
         - A small set of vgic fixes and associated cleanups.
      
        Loongarch:
      
         - Optimization for memslot hugepage checking
      
         - Cleanup and fix some HW/SW timer issues
      
         - Add LSX/LASX (128bit/256bit SIMD) support
      
        RISC-V:
      
         - KVM_GET_REG_LIST improvement for vector registers
      
         - Generate ISA extension reg_list using macros in get-reg-list
           selftest
      
         - Support for reporting steal time along with selftest
      
        s390:
      
         - Bugfixes
      
        Selftests:
      
         - Fix an annoying goof where the NX hugepage test prints out garbage
           instead of the magic token needed to run the test.
      
         - Fix build errors when a header is delete/moved due to a missing
           flag in the Makefile.
      
         - Detect if KVM bugged/killed a selftest's VM and print out a helpful
           message instead of complaining that a random ioctl() failed.
      
         - Annotate the guest printf/assert helpers with __printf(), and fix
           the various bugs that were lurking due to lack of said annotation"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (185 commits)
        x86/kvm: Do not try to disable kvmclock if it was not enabled
        KVM: x86: add missing "depends on KVM"
        KVM: fix direction of dependency on MMU notifiers
        KVM: introduce CONFIG_KVM_COMMON
        KVM: arm64: Add missing memory barriers when switching to pKVM's hyp pgd
        KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache
        RISC-V: KVM: selftests: Add get-reg-list test for STA registers
        RISC-V: KVM: selftests: Add steal_time test support
        RISC-V: KVM: selftests: Add guest_sbi_probe_extension
        RISC-V: KVM: selftests: Move sbi_ecall to processor.c
        RISC-V: KVM: Implement SBI STA extension
        RISC-V: KVM: Add support for SBI STA registers
        RISC-V: KVM: Add support for SBI extension registers
        RISC-V: KVM: Add SBI STA info to vcpu_arch
        RISC-V: KVM: Add steal-update vcpu request
        RISC-V: KVM: Add SBI STA extension skeleton
        RISC-V: paravirt: Implement steal-time support
        RISC-V: Add SBI STA extension definitions
        RISC-V: paravirt: Add skeleton for pv-time support
        RISC-V: KVM: Fix indentation in kvm_riscv_vcpu_set_reg_csr()
        ...
      09d1c6a8
    • Linus Torvalds's avatar
      Merge tag 'docs-6.8-2' of git://git.lwn.net/linux · 1b1934db
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A handful of late-arriving documentation fixes"
      
      * tag 'docs-6.8-2' of git://git.lwn.net/linux:
        docs, kprobes: Add loongarch as supported architecture
        docs, kprobes: Update email address of Masami Hiramatsu
        docs: admin-guide: hw_random: update rng-tools website
        Documentation/core-api: fix spelling mistake in workqueue
        docs: kernel_feat.py: fix potential command injection
        Documentation: constrain alabaster package to older versions
      1b1934db
    • Linus Torvalds's avatar
      Merge tag 'parisc-for-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · bce3b5d6
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Two small fixes for the parisc architecture:
      
         - Fix PDC address calculation with narrow firmware (64-bit kernel on
           32-bit firmware)
      
         - Fix kthread which checks power button get started on qemu too"
      
      * tag 'parisc-for-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc/power: Fix power soft-off button emulation on qemu
        parisc/firmware: Fix F-extend for PDC addresses
      bce3b5d6
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20240117' of https://github.com/jcmvbkbc/linux-xtensa · 47ce834f
      Linus Torvalds authored
      Pull Xtensa updates from Max Filippov:
      
       - small cleanups in the xtensa PCI and asmmacro code
      
       - fix kernel build with FDPIC toolchain
      
      * tag 'xtensa-20240117' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: don't produce FDPIC output with fdpic toolchain
        xtensa: Use PCI_HEADER_TYPE_MFD instead of literal
        xtensa: replace <asm-generic/export.h> with <linux/export.h>
        xtensa: fix variants path in the Kconfig help
      47ce834f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · c4c6044d
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - add missing neon instructions for the neon support hook
      
       - arrange for davinci to select PINCTRL
      
       - try VMA lock-base page fault handling first
      
       - use memblock_alloc_try_nid_raw() for kasan shadow page
      
       - dma: use kvzalloc() rather than kzalloc()/vzalloc()
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9331/1: ARM/dma-mapping: replace kzalloc() and vzalloc() with kvzalloc()
        ARM: 9329/1: kasan: Use memblock_alloc_try_nid_raw for shadow page
        ARM: 9328/1: mm: try VMA lock-based page fault handling first
        ARM: 9330/1: davinci: also select PINCTRL
        ARM: 9327/1: vfp: Add missing VFP instructions to neon_support_hook
      c4c6044d
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v6.8' of git://git.monstr.eu/linux-2.6-microblaze · 284a4dde
      Linus Torvalds authored
      Pull microblaze updates from Michal Simek:
       "Just defconfig updates:
      
         - enable NFS, Marvell phy
      
         - sync defconfig with the latest Kconfig layout"
      
      * tag 'microblaze-v6.8' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: defconfig: Enable the Marvell phy driver
        microblaze: Enable options to mount a rootfs via NFS
        microblaze: Align defconfig with latest Kconfig layout
      284a4dde
    • Linus Torvalds's avatar
      Merge tag 'mips_6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 096f286e
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
       "Just cleanups and fixes"
      
      * tag 'mips_6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
        MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
        MIPS: Fix typos
        MIPS: Remove unused shadow GPR support from vector irq setup
        MIPS: Allow vectored interrupt handler to reside everywhere for 64bit
        mips: Set dump-stack arch description
        mips: mm: add slab availability checking in ioremap_prot
        mips: Optimize max_mapnr init procedure
        mips: Fix max_mapnr being uninitialized on early stages
        mips: Fix incorrect max_low_pfn adjustment
        mips: dmi: Fix early remap on MIPS32
        MIPS: compressed: Use correct instruction for 64 bit code
        MIPS: SGI-IP27: hubio: fix nasid kernel-doc warning
        MAINTAINERS: Add myself as maintainer of the Ralink architecture
      096f286e
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.8-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 4331f070
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for many new extensions in hwprobe, along with a handful of
         cleanups
      
       - Various cleanups to our page table handling code, so we alwayse use
         {READ,WRITE}_ONCE
      
       - Support for the which-cpus flavor of hwprobe
      
       - Support for XIP kernels has been resurrected
      
      * tag 'riscv-for-linus-6.8-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (52 commits)
        riscv: hwprobe: export Zicond extension
        riscv: hwprobe: export Zacas ISA extension
        riscv: add ISA extension parsing for Zacas
        dt-bindings: riscv: add Zacas ISA extension description
        riscv: hwprobe: export Ztso ISA extension
        riscv: add ISA extension parsing for Ztso
        use linux/export.h rather than asm-generic/export.h
        riscv: Remove SHADOW_OVERFLOW_STACK_SIZE macro
        riscv; fix __user annotation in save_v_state()
        riscv: fix __user annotation in traps_misaligned.c
        riscv: Select ARCH_WANTS_NO_INSTR
        riscv: Remove obsolete rv32_defconfig file
        riscv: Allow disabling of BUILTIN_DTB for XIP
        riscv: Fixed wrong register in XIP_FIXUP_FLASH_OFFSET macro
        riscv: Make XIP bootable again
        riscv: Fix set_direct_map_default_noflush() to reset _PAGE_EXEC
        riscv: Fix module_alloc() that did not reset the linear mapping permissions
        riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping
        riscv: Check if the code to patch lies in the exit section
        riscv: Use the same CPU operations for all CPUs
        ...
      4331f070
    • Linus Torvalds's avatar
      Merge tag 'uml-for-linus-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux · 6cff79f4
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - Clang coverage support
      
       - Many cleanups from Benjamin Berg
      
       - Various minor fixes
      
      * tag 'uml-for-linus-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux:
        um: Mark 32bit syscall helpers as clobbering memory
        um: Remove unused register save/restore functions
        um: Rely on PTRACE_SETREGSET to set FS/GS base registers
        Documentation: kunit: Add clang UML coverage example
        arch: um: Add Clang coverage support
        um: time-travel: fix time corruption
        um: net: Fix return type of uml_net_start_xmit()
        um: Always inline stub functions
        um: Do not use printk in userspace trampoline
        um: Reap winch thread if it fails
        um: Do not use printk in SIGWINCH helper thread
        um: Don't use vfprintf() for os_info()
        um: Make errors to stop ptraced child fatal during startup
        um: Drop NULL check from start_userspace
        um: Drop support for hosts without SYSEMU_SINGLESTEP support
        um: document arch_futex_atomic_op_inuser
        um: mmu: remove stub_pages
        um: Fix naming clash between UML and scheduler
        um: virt-pci: fix platform map offset
      6cff79f4
    • Linus Torvalds's avatar
      Merge tag 'ubifs-for-linus-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 0c6bc372
      Linus Torvalds authored
      Pull UBI and UBIFS updates from Richard Weinberger:
       "UBI:
         - Use in-tree fault injection framework and add new injection types
         - Fix for a memory leak in the block driver
      
        UBIFS:
         - kernel-doc fixes
         - Various minor fixes"
      
      * tag 'ubifs-for-linus-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubi: block: fix memleak in ubiblock_create()
        ubifs: fix kernel-doc warnings
        mtd: Add several functions to the fail_function list
        ubi: Reserve sufficient buffer length for the input mask
        ubi: Add six fault injection type for testing
        ubi: Split io_failures into write_failure and erase_failure
        ubi: Use the fault injection framework to enhance the fault injection capability
        ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
        ubifs: Check @c->dirty_[n|p]n_cnt and @c->nroot state under @c->lp_mutex
        ubifs: describe function parameters
        ubifs: auth.c: fix kernel-doc function prototype warning
        ubifs: use crypto_shash_tfm_digest() in ubifs_hmac_wkm()
      0c6bc372
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux · eebe7582
      Linus Torvalds authored
      Pull fscrypt fix from Eric Biggers:
       "Fix a bug in my change to how f2fs frees its superblock info (which
        was part of changing the timing of fscrypt keyring destruction)"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux:
        f2fs: fix double free of f2fs_sb_info
      eebe7582
    • Linus Torvalds's avatar
      Merge tag 'vfs-6.8-rc1.fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs · c2459ce0
      Linus Torvalds authored
      Pull vfs fixes from Christian Brauner:
       "This contains two fixes for the current merge window. The listmount
        changes that you requested and a fix for a fsnotify performance
        regression:
      
         - The proposed listmount changes are currently under my authorship. I
           wasn't sure whether you'd wanted to be author as the patch wasn't
           signed off. If you do I'm happy if you just apply your own patch.
      
           I've tested the patch with my sh4 cross-build setup. And confirmed
           that a) the build failure with sh on current upstream is
           reproducible and that b) the proposed patch fixes the build
           failure. That should only leave the task of fixing put_user on sh.
      
         - The fsnotify regression was caused by moving one of the hooks out
           of the security hook in preparation for other fsnotify work. This
           meant that CONFIG_SECURITY would have compiled out the fsnotify
           hook before but didn't do so now.
      
           That lead to up to 6% performance regression in some io_uring
           workloads that compile all fsnotify and security checks out. Fix
           this by making sure that the relevant hooks are covered by the
           already existing CONFIG_FANOTIFY_ACCESS_PERMISSIONS where the
           relevant hook belongs"
      
      * tag 'vfs-6.8-rc1.fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs:
        fs: rework listmount() implementation
        fsnotify: compile out fsnotify permission hooks if !FANOTIFY_ACCESS_PERMISSIONS
      c2459ce0
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2024-01-12-16-52' of... · 7f5e47f7
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2024-01-12-16-52' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc hotfixes from Andrew Morton:
       "For once not mostly MM-related.
      
        17 hotfixes. 10 address post-6.7 issues and the other 7 are cc:stable"
      
      * tag 'mm-hotfixes-stable-2024-01-12-16-52' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        userfaultfd: avoid huge_zero_page in UFFDIO_MOVE
        MAINTAINERS: add entry for shrinker
        selftests: mm: hugepage-vmemmap fails on 64K page size systems
        mm/memory_hotplug: fix memmap_on_memory sysfs value retrieval
        mailmap: switch email for Tanzir Hasan
        mailmap: add old address mappings for Randy
        kernel/crash_core.c: make __crash_hotplug_lock static
        efi: disable mirror feature during crashkernel
        kexec: do syscore_shutdown() in kernel_kexec
        mailmap: update entry for Manivannan Sadhasivam
        fs/proc/task_mmu: move mmu notification mechanism inside mm lock
        mm: zswap: switch maintainers to recently active developers and reviewers
        scripts/decode_stacktrace.sh: optionally use LLVM utilities
        kasan: avoid resetting aux_lock
        lib/Kconfig.debug: disable CONFIG_DEBUG_INFO_BTF for Hexagon
        MAINTAINERS: update LTP maintainers
        kdump: defer the insertion of crashkernel resources
      7f5e47f7
    • Tony Krowiak's avatar
      s390/vfio-ap: do not reset queue removed from host config · b9bd10c4
      Tony Krowiak authored
      When a queue is unbound from the vfio_ap device driver, it is reset to
      ensure its crypto data is not leaked when it is bound to another device
      driver. If the queue is unbound due to the fact that the adapter or domain
      was removed from the host's AP configuration, then attempting to reset it
      will fail with response code 01 (APID not valid) getting returned from the
      reset command. Let's ensure that the queue is assigned to the host's
      configuration before resetting it.
      Signed-off-by: default avatarTony Krowiak <akrowiak@linux.ibm.com>
      Reviewed-by: default avatar"Jason J. Herne" <jjherne@linux.ibm.com>
      Reviewed-by: default avatarHalil Pasic <pasic@linux.ibm.com>
      Fixes: eeb386ae ("s390/vfio-ap: handle config changed and scan complete notification")
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20240115185441.31526-7-akrowiak@linux.ibm.comSigned-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      b9bd10c4
    • Tony Krowiak's avatar
      s390/vfio-ap: reset queues associated with adapter for queue unbound from driver · f009cfa4
      Tony Krowiak authored
      When a queue is unbound from the vfio_ap device driver, if that queue is
      assigned to a guest's AP configuration, its associated adapter is removed
      because queues are defined to a guest via a matrix of adapters and
      domains; so, it is not possible to remove a single queue.
      
      If an adapter is removed from the guest's AP configuration, all associated
      queues must be reset to prevent leaking crypto data should any of them be
      assigned to a different guest or device driver. The one caveat is that if
      the queue is being removed because the adapter or domain has been removed
      from the host's AP configuration, then an attempt to reset the queue will
      fail with response code 01, AP-queue number not valid; so resetting these
      queues should be skipped.
      Acked-by: default avatarHalil Pasic <pasic@linux.ibm.com>
      Signed-off-by: default avatarTony Krowiak <akrowiak@linux.ibm.com>
      Fixes: 09d31ff7 ("s390/vfio-ap: hot plug/unplug of AP devices when probed/removed")
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20240115185441.31526-6-akrowiak@linux.ibm.comSigned-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      f009cfa4
    • Tony Krowiak's avatar
      s390/vfio-ap: reset queues filtered from the guest's AP config · f848cba7
      Tony Krowiak authored
      When filtering the adapters from the configuration profile for a guest to
      create or update a guest's AP configuration, if the APID of an adapter and
      the APQI of a domain identify a queue device that is not bound to the
      vfio_ap device driver, the APID of the adapter will be filtered because an
      individual APQN can not be filtered due to the fact the APQNs are assigned
      to an AP configuration as a matrix of APIDs and APQIs. Consequently, a
      guest will not have access to all of the queues associated with the
      filtered adapter. If the queues are subsequently made available again to
      the guest, they should re-appear in a reset state; so, let's make sure all
      queues associated with an adapter unplugged from the guest are reset.
      
      In order to identify the set of queues that need to be reset, let's allow a
      vfio_ap_queue object to be simultaneously stored in both a hashtable and a
      list: A hashtable used to store all of the queues assigned
      to a matrix mdev; and/or, a list used to store a subset of the queues that
      need to be reset. For example, when an adapter is hot unplugged from a
      guest, all guest queues associated with that adapter must be reset. Since
      that may be a subset of those assigned to the matrix mdev, they can be
      stored in a list that can be passed to the vfio_ap_mdev_reset_queues
      function.
      Signed-off-by: default avatarTony Krowiak <akrowiak@linux.ibm.com>
      Acked-by: default avatarHalil Pasic <pasic@linux.ibm.com>
      Fixes: 48cae940 ("s390/vfio-ap: refresh guest's APCB by filtering AP resources assigned to mdev")
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20240115185441.31526-5-akrowiak@linux.ibm.comSigned-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      f848cba7