1. Feb 29, 2024
  2. Feb 23, 2024
  3. Feb 22, 2024
    • Abel Vesa's avatar
      iommu/arm-smmu-qcom: Add X1E80100 MDSS compatible · 12721e66
      Abel Vesa authored
      
      
      Add the X1E80100 MDSS compatible to clients compatible list, as it also
      needs the workarounds.
      
      Signed-off-by: default avatarAbel Vesa <abel.vesa@linaro.org>
      Link: https://lore.kernel.org/r/20240131-x1e80100-iommu-arm-smmu-qcom-v1-1-c1240419c718@linaro.org
      
      
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      12721e66
    • Konrad Dybcio's avatar
      dt-bindings: arm-smmu: Add QCM2290 GPU SMMU · 0eca305f
      Konrad Dybcio authored
      
      
      The GPU SMMU on QCM2290 nicely fits into the description we already have
      for SM61[12]5. Add it.
      
      Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
      Link: https://lore.kernel.org/r/20240219-topic-rb1_gpu-v1-1-d260fa854707@linaro.org
      
      
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      0eca305f
    • Jason Gunthorpe's avatar
      iommu/arm-smmu-v3: Do not use GFP_KERNEL under as spinlock · b5bf7778
      Jason Gunthorpe authored
      If the SMMU is configured to use a two level CD table then
      arm_smmu_write_ctx_desc() allocates a CD table leaf internally using
      GFP_KERNEL. Due to recent changes this is being done under a spinlock to
      iterate over the device list - thus it will trigger a sleeping while
      atomic warning:
      
        arm_smmu_sva_set_dev_pasid()
          mutex_lock(&sva_lock);
          __arm_smmu_sva_bind()
           arm_smmu_mmu_notifier_get()
            spin_lock_irqsave()
            arm_smmu_write_ctx_desc()
      	arm_smmu_get_cd_ptr()
               arm_smmu_alloc_cd_leaf_table()
      	  dmam_alloc_coherent(GFP_KERNEL)
      
      This is a 64K high order allocation and really should not be done
      atomically.
      
      At the moment the rework of the SVA to follow the new API is half
      finished. Recently the CD table memory was moved from the domain to the
      master, however we have the confusing situation where the SVA code is
      wrongly using the RID domains device's list to track which CD tables the
      SVA is installed in.
      
      Remove the logic to replicate the CD across all the domain's masters
      during attach. We know which master and which CD table the PASID should be
      installed in.
      
      Right now SVA only works when dma-iommu.c is in control of the RID
      translation, which means we have a single iommu_domain shared across the
      entire group and that iommu_domain is not shared outside the group.
      
      Critically this means that the iommu_group->devices list and RID's
      smmu_domain->devices list describe the same set of masters.
      
      For PCI cases the core code also insists on singleton groups so there is
      only one entry in the smmu_domain->devices list that is equal to the
      master being passed in to arm_smmu_sva_set_dev_pasid().
      
      Only non-PCI cases may have multi-device groups. However, the core code
      will repeat the calls to arm_smmu_sva_set_dev_pasid() across the entire
      iommu_group->devices list.
      
      Instead of having arm_smmu_mmu_notifier_get() indirectly loop over all the
      devices in the group via the RID's smmu_domain, rely on
      __arm_smmu_sva_bind() to be called for each device in the group and
      install the repeated CD entry that way.
      
      This avoids taking the spinlock to access the devices list and permits the
      arm_smmu_write_ctx_desc() to use a sleeping allocation. Leave the
      arm_smmu_mm_release() as a confusing situation, this requires tracking
      attached masters inside the SVA domain.
      
      Removing the loop allows arm_smmu_write_ctx_desc() to be called outside
      the spinlock and thus is safe to use GFP_KERNEL.
      
      Move the clearing of the CD into arm_smmu_sva_remove_dev_pasid() so that
      arm_smmu_mmu_notifier_get/put() remain paired functions.
      
      Fixes: 24503148
      
       ("iommu/arm-smmu-v3: Refactor write_ctx_desc")
      Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Closes: https://lore.kernel.org/all/4e25d161-0cf8-4050-9aa3-dfa21cd63e56@moroto.mountain/
      
      
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Reviewed-by: default avatarMichael Shavit <mshavit@google.com>
      Link: https://lore.kernel.org/r/0-v3-11978fc67151+112-smmu_cd_atomic_jgg@nvidia.com
      
      
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      b5bf7778
  4. Feb 13, 2024
  5. Jan 29, 2024
  6. Jan 28, 2024
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.8-2' of... · 8a696a29
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
      
       - WMI bus driver fixes
      
       - Second attempt (previously reverted) at P2SB PCI rescan deadlock fix
      
       - AMD PMF driver improvements
      
       - MAINTAINERS updates
      
       - Misc other small fixes and hw-id additions
      
      * tag 'platform-drivers-x86-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: touchscreen_dmi: Add info for the TECLAST X16 Plus tablet
        platform/x86/intel/ifs: Call release_firmware() when handling errors.
        platform/x86/amd/pmf: Fix memory leak in amd_pmf_get_pb_data()
        platform/x86/amd/pmf: Get ambient light information from AMD SFH driver
        platform/x86/amd/pmf: Get Human presence information from AMD SFH driver
        platform/mellanox: mlxbf-pmc: Fix offset calculation for crspace events
        platform/mellanox: mlxbf-tmfifo: Drop Tx network packet when Tx TmFIFO is full
        MAINTAINERS: remove defunct acpi4asus project info from asus notebooks section
        MAINTAINERS: add Luke Jones as maintainer for asus notebooks
        MAINTAINERS: Remove Perry Yuan as DELL WMI HARDWARE PRIVACY SUPPORT maintainer
        platform/x86: silicom-platform: Add missing "Description:" for power_cycle sysfs attr
        platform/x86: intel-wmi-sbl-fw-update: Fix function name in error message
        platform/x86: p2sb: Use pci_resource_n() in p2sb_read_bar0()
        platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe
        platform/x86: intel-uncore-freq: Fix types in sysfs callbacks
        platform/x86: wmi: Fix wmi_dev_probe()
        platform/x86: wmi: Fix notify callback locking
        platform/x86: wmi: Decouple legacy WMI notify handlers from wmi_block_list
        platform/x86: wmi: Return immediately if an suitable WMI event is found
        platform/x86: wmi: Fix error handling in legacy WMI notify handler functions
      8a696a29
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-6.8-1' of... · 95534043
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen:
       "Fix boot failure on machines with more than 8 nodes, and fix two build
        errors about KVM"
      
      * tag 'loongarch-fixes-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: KVM: Add returns to SIMD stubs
        LoongArch: KVM: Fix build due to API changes
        LoongArch/smp: Call rcutree_report_cpu_starting() at tlb_init()
      95534043
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.8-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · cd2286fc
      Linus Torvalds authored
      Pull xfs fix from Chandan Babu:
      
       - Fix read only mounts when using fsopen mount API
      
      * tag 'xfs-6.8-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: read only mounts with fsopen mount API are busted
      cd2286fc
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-01-26' of https://evilpiepirate.org/git/bcachefs · 064a4a5b
      Linus Torvalds authored
      Pull bcachefs fixes from Kent Overstreet:
      
       - fix for REQ_OP_FLUSH usage; this fixes filesystems going read only
         with -EOPNOTSUPP from the block layer.
      
         (this really should have gone in with the block layer patch causing
         the -EOPNOTSUPP, or should have gone in before).
      
       - fix an allocation in non-sleepable context
      
       - fix one source of srcu lock latency, on devices with terrible discard
         latency
      
       - fix a reattach_inode() issue in fsck
      
      * tag 'bcachefs-2024-01-26' of https://evilpiepirate.org/git/bcachefs:
        bcachefs: __lookup_dirent() works in snapshot, not subvol
        bcachefs: discard path uses unlock_long()
        bcachefs: fix incorrect usage of REQ_OP_FLUSH
        bcachefs: Add gfp flags param to bch2_prt_task_backtrace()
      064a4a5b
    • Linus Torvalds's avatar
      Merge tag '6.8-rc2-smb3-server-fixes' of git://git.samba.org/ksmbd · 8c6f6a76
      Linus Torvalds authored
      Pull smb server fixes from Steve French:
      
       - Fix netlink OOB
      
       - Minor kernel doc fix
      
      * tag '6.8-rc2-smb3-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: fix global oob in ksmbd_nl_policy
        smb: Fix some kernel-doc comments
      8c6f6a76
    • Linus Torvalds's avatar
      Merge tag '6.8-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · d1bba17e
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
       "Nine cifs/smb client fixes
      
         - Four network error fixes (three relating to replays of requests
           that need to be retried, and one fixing some places where we were
           returning the wrong rc up the stack on network errors)
      
         - Two multichannel fixes including locking fix and case where subset
           of channels need reconnect
      
         - netfs integration fixup: share remote i_size with netfslib
      
         - Two small cleanups (one for addressing a clang warning)"
      
      * tag '6.8-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix stray unlock in cifs_chan_skip_or_disable
        cifs: set replay flag for retries of write command
        cifs: commands that are retried should have replay flag set
        cifs: helper function to check replayable error codes
        cifs: translate network errors on send to -ECONNABORTED
        cifs: cifs_pick_channel should try selecting active channels
        cifs: Share server EOF pos with netfslib
        smb: Work around Clang __bdos() type confusion
        smb: client: delete "true", "false" defines
      d1bba17e
  7. Jan 27, 2024