1. 19 Sep, 2024 10 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/sysfs' · ed072e44
      Bjorn Helgaas authored
      - Add ARCH_PCI_DEV_GROUPS so s390 can add its own attribute_groups without
        having to stomp on the core's pdev->dev.groups (Lukas Wunner)
      
      * pci/sysfs:
        s390/pci: Stop usurping pdev->dev.groups
      ed072e44
    • Bjorn Helgaas's avatar
      Merge branch 'pci/reset' · f2a3ce15
      Bjorn Helgaas authored
      - Wait for each level of downstream bus, not just the first, to become
        accessible before restoring devices on that bus (Ilpo Järvinen)
      
      * pci/reset:
        PCI: Wait for Link before restoring Downstream Buses
      f2a3ce15
    • Bjorn Helgaas's avatar
      Merge branch 'pci/pwrctl' · d774674f
      Bjorn Helgaas authored
      - Add pwrctl support for ATH11K inside the WCN6855 package (Konrad Dybcio)
      
      * pci/pwrctl:
        PCI/pwrctl: Add WCN6855 support
      d774674f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/npem' · 9d4f1c07
      Bjorn Helgaas authored
      - Initialize leds class earlier (with an unfortunate Makefile ordering
        change) so the PCI NPEM driver can use it (Mariusz Tkaczyk)
      
      - Add Native PCIe Enclosure Management (NPEM) support for sysfs control of
        NVMe RAID storage indicators (ok/fail/locate/rebuild/etc) (Mariusz
        Tkaczyk)
      
      - Add support for the ACPI _DSM PCIe SSD status LED management, which is
        functionally similar to NPEM but mediated by platform firmware (Mariusz
        Tkaczyk)
      
      * pci/npem:
        PCI/NPEM: Add _DSM PCIe SSD status LED management
        PCI/NPEM: Add Native PCIe Enclosure Management support
        leds: Init leds class earlier
      9d4f1c07
    • Bjorn Helgaas's avatar
      Merge branch 'pci/iommu' · e642aa6b
      Bjorn Helgaas authored
      - Add function 0 DMA alias quirk for Glenfly Arise audio function, which
        uses the function 0 Requester ID (WangYuli)
      
      * pci/iommu:
        PCI: Add function 0 DMA alias quirk for Glenfly Arise chip
      e642aa6b
    • Bjorn Helgaas's avatar
      Merge branch 'pci/hotplug' · 15a724aa
      Bjorn Helgaas authored
      - Remove unnecessary hpc_ops struct from shpchp (ngn)
      
      - Check for PCI_POSSIBLE_ERROR(), not 0xffffffff, in cpqphp (weiyufeng)
      
      * pci/hotplug:
        PCI: cpqphp: Use PCI_POSSIBLE_ERROR() to check config reads
        PCI: shpchp: Remove hpc_ops
      15a724aa
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · dffe4cca
      Bjorn Helgaas authored
      - Clear LBMS bit after a manual link retrain so we don't try to retrain a
        link when there's no downstream device anymore (Maciej W. Rozycki)
      
      - Revert to the original link speed after retraining fails instead of
        leaving it restricted to 2.5GT/s, so a future device has a chance to use
        higher speeds (Maciej W. Rozycki)
      
      - Correct interpretation of pcie_retrain_link() return status and update it
        to return 0/errno instead of true/false (Maciej W.  Rozycki)
      
      * pci/enumeration:
        PCI: Use an error code with PCIe failed link retraining
        PCI: Correct error reporting with PCIe failed link retraining
        PCI: Revert to the original speed after PCIe failed link retraining
        PCI: Clear the LBMS bit after a link retrain
      dffe4cca
    • Bjorn Helgaas's avatar
      Merge branch 'pci/devres' · dceed697
      Bjorn Helgaas authored
      - Export pcim_request_region(), a managed counterpart of
        pci_request_region(), for use by drivers (Philipp Stanner)
      
      - Request the PCI BAR used by xboxvideo (Philipp Stanner)
      
      - Export pcim_iomap_region() and deprecate pcim_iomap_regions() (Philipp
        Stanner)
      
      - Request and map drm/ast BARs with pcim_iomap_region() (Philipp Stanner)
      
      * pci/devres:
        drm/ast: Request PCI BAR with devres
        PCI: Deprecate pcim_iomap_regions() in favor of pcim_iomap_region()
        drm/vboxvideo: Add PCI region request
        PCI: Make pcim_request_region() a public function
      dceed697
    • Bjorn Helgaas's avatar
      Merge branch 'pci/crs' · 59b748cd
      Bjorn Helgaas authored
      - Wait for device readiness after reset by polling Vendor ID and looking
        for Configuration RRS instead of polling the Command register and looking
        for non-error completions (Bjorn Helgaas)
      
      - Fix an aardvark issue with emulating Configuration RRS for two-byte reads
        of Vendor ID; previously it only worked for four-byte reads (Bjorn
        Helgaas)
      
      - Rename CRS Completion Status to RRS to match spec usage (Bjorn Helgaas)
      
      * pci/crs:
        PCI: Rename CRS Completion Status to RRS
        PCI: aardvark: Correct Configuration RRS checking
        PCI: Wait for device readiness with Configuration RRS
      59b748cd
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aer' · 1a346559
      Bjorn Helgaas authored
      - Use PCI_DEVID() macro in aer_inject() instead of open-coding it (Jinjie
        Ruan)
      
      * pci/aer:
        PCI/AER: Use PCI_DEVID() macro in aer_inject()
      1a346559
  2. 11 Sep, 2024 3 commits
    • Bjorn Helgaas's avatar
      PCI: Rename CRS Completion Status to RRS · 87f10faf
      Bjorn Helgaas authored
      PCIe r6.0 changed the abbreviation for "Configuration Request Retry Status"
      Completion Status from "CRS" to "RRS" and uses the terminology of
      "Configuration RRS Software Visibility" instead of "CRS Software
      Visibility".
      
      Align the Linux usage with the r6.0 spec language.  No functional change
      intended.
      
      It's confusing to make this change, but I think "RRS" *is* a better
      abbreviation because it was easy to interpret "CRS" as "Completion Retry
      Status", which really didn't make any sense.
      
      Link: https://lore.kernel.org/r/20240827234848.4429-4-helgaas@kernel.orgSigned-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      87f10faf
    • Bjorn Helgaas's avatar
      PCI: aardvark: Correct Configuration RRS checking · dd4e47ea
      Bjorn Helgaas authored
      Per PCIe r6.0, sec 2.3.2, when a Root Complex handles a Completion with
      Request Retry Status for a Configuration Read Request that includes both
      bytes of the Vendor ID field, it must complete the Request to the host by
      returning 0001h for the Vendor ID and all 1's for any additional bytes.
      
      Previously we only returned the 0001h Vendor ID value if we got an RRS
      completion for reads of exactly 4 bytes.  A read of 2 bytes would not
      qualify, although the spec says it should.
      
      Check for reads of 2 or more bytes including the Vendor ID.
      
      I don't think this will fix any observable problems because RRS only
      applies to the first config reads after reset, and those are all currently
      dword (4-byte) reads.
      
      Link: https://lore.kernel.org/r/20240827234848.4429-3-helgaas@kernel.orgSigned-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      dd4e47ea
    • Bjorn Helgaas's avatar
      PCI: Wait for device readiness with Configuration RRS · d591f680
      Bjorn Helgaas authored
      After a device reset, delays are required before the device can
      successfully complete config accesses.  PCIe r6.0, sec 6.6, specifies some
      delays required before software can perform config accesses.  Devices that
      require more time after those delays may respond to config accesses with
      Configuration Request Retry Status (RRS) completions.
      
      Callers of pci_dev_wait() are responsible for delays until the device can
      respond to config accesses.  pci_dev_wait() waits any additional time until
      the device can successfully complete config accesses.
      
      Reading config space of devices that are not present or not ready typically
      returns ~0 (PCI_ERROR_RESPONSE).  Previously we polled the Command register
      until we got a value other than ~0.  This is sometimes a problem because
      Root Complex handling of RRS completions may include several retries and
      implementation-specific behavior that is invisible to software (see sec
      2.3.2), so the exponential backoff in pci_dev_wait() may not work as
      intended.
      
      Linux enables Configuration RRS Software Visibility on all Root Ports that
      support it.  If it is enabled, read the Vendor ID instead of the Command
      register.  RRS completions cause immediate return of the 0x0001 reserved
      Vendor ID value, so the pci_dev_wait() backoff works correctly.
      
      When a read of Vendor ID eventually completes successfully by returning a
      non-0x0001 value (the Vendor ID or 0xffff for VFs), the device should be
      initialized and ready to respond to config requests.
      
      For conventional PCI devices or devices below Root Ports that don't support
      Configuration RRS Software Visibility, poll the Command register as before.
      
      This was developed independently, but is very similar to Stanislav
      Spassov's previous work at
      https://lore.kernel.org/linux-pci/20200223122057.6504-1-stanspas@amazon.com
      
      Link: https://lore.kernel.org/r/20240827234848.4429-2-helgaas@kernel.orgSigned-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Tested-by: default avatarDuc Dang <ducdang@google.com>
      d591f680
  3. 09 Sep, 2024 4 commits
  4. 06 Sep, 2024 1 commit
    • Mariusz Tkaczyk's avatar
      PCI/NPEM: Add _DSM PCIe SSD status LED management · 759ec282
      Mariusz Tkaczyk authored
      The PCIe SSD Status LED Management _DSM defined in PCI Firmware Spec r3.3
      sec 4.7 provides a way to manage LEDs via ACPI.
      
      The design is similar to NPEM defined in PCIe Base Specification r6.1 sec
      6.28:
      
        - Both standards are indication oriented,
      
        - _DSM supported bits correspond to NPEM capability register bits,
      
        - _DSM control bits correspond to NPEM control register bits.
      
      _DSM does not support enclosure-specific indications or the special NPEM
      commands NPEM_ENABLE and NPEM_RESET.
      
      _DSM is implemented as a second backend in NPEM driver. The backend used is
      logged with info priority. The same sysfs interface is used for both NPEM
      and _DSM.
      
      According to spec, _DSM has higher priority, and availability  of _DSM in
      not limited to devices with NPEM support.
      
      The Dell implementation of DSM uses acpi ipmi, which may not be available
      immediately (in fact it may take up to 10s for this interface to be
      available). It can determine if DSM is supported (GET_SUPPORTED_STATES_DSM
      is working) but it cannot serve GET_STATE_DSM or SET_STATE_DSM commands in
      this time.
      
      From userspace application perspective (primarily configured by systemd
      service) it is better to have not working but configured interface rather
      than have it available after few seconds.
      
      For that reason, npem->active_indications cache is now loaded lazily, i.e.
      any GET or SET request want cache to be updated if it is not done yet.
      
      Link: https://lore.kernel.org/r/20240904104848.23480-4-mariusz.tkaczyk@linux.intel.comSuggested-by: default avatarLukas Wunner <lukas@wunner.de>
      Signed-off-by: default avatarStuart Hayes <stuart.w.hayes@gmail.com>
      Signed-off-by: default avatarMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Tested-by: default avatarStuart Hayes <stuart.w.hayes@gmail.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      759ec282
  5. 04 Sep, 2024 2 commits
    • Mariusz Tkaczyk's avatar
      PCI/NPEM: Add Native PCIe Enclosure Management support · 4e893545
      Mariusz Tkaczyk authored
      Native PCIe Enclosure Management (NPEM, PCIe r6.1 sec 6.28) allows managing
      LEDs in storage enclosures. NPEM is indication oriented and it does not
      give direct access to LEDs. Although each indication *could* represent an
      individual LED, multiple indications could also be represented as a single,
      multi-color LED or a single LED blinking in a specific interval.  The
      specification leaves that open.
      
      Each enabled indication (capability register bit on) is represented as a
      ledclass_dev which can be controlled through sysfs. For every ledclass
      device only 2 brightness states are allowed: LED_ON (1) or LED_OFF (0).
      This corresponds to the NPEM control register (Indication bit on/off).
      
      Ledclass devices appear in sysfs as child devices (subdirectory) of PCI
      device which has an NPEM Extended Capability and indication is enabled in
      NPEM capability register. For example, these are LEDs created for pcieport
      "10000:02:05.0" on my setup:
      
        leds/
        ├── 10000:02:05.0:enclosure:fail
        ├── 10000:02:05.0:enclosure:locate
        ├── 10000:02:05.0:enclosure:ok
        └── 10000:02:05.0:enclosure:rebuild
      
      They can be also found in "/sys/class/leds" directory. The parent PCIe
      device domain/bus/device/function address is used to guarantee uniqueness
      across leds subsystem.
      
      To enable/disable a "fail" indication, the "brightness" file can be edited:
      
        echo 1 > ./leds/10000:02:05.0:enclosure:fail/brightness
        echo 0 > ./leds/10000:02:05.0:enclosure:fail/brightness
      
      PCIe r6.1, sec 7.9.19.2 defines the possible indications.
      
      Multiple indications for same parent PCIe device can conflict and hardware
      may update them when processing new request. To avoid issues, driver
      refresh all indications by reading back control register.
      
      This driver expects to be the exclusive NPEM extended capability manager.
      It waits up to 1 second after imposing new request, it doesn't verify if
      controller is busy before write, and it assumes the mutex lock gives
      protection from concurrent updates.
      
      If _DSM LED management is available, we assume the platform may be using
      NPEM for its own purposes (see PCI Firmware Spec r3.3 sec 4.7), so the
      driver does not use NPEM. A future patch will add _DSM support; an info
      message notes whether NPEM or _DSM is being used.
      
      NPEM is a PCIe extended capability so it should be registered in
      pcie_init_capabilities() but it is not possible due to LED dependency.  The
      parent pci_device must be added earlier for led_classdev_register() to be
      successful. NPEM does not require configuration on kernel side, so it is
      safe to register LED devices later.
      
      Link: https://lore.kernel.org/r/20240904104848.23480-3-mariusz.tkaczyk@linux.intel.comSuggested-by: default avatarLukas Wunner <lukas@wunner.de>
      Signed-off-by: default avatarMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Tested-by: default avatarStuart Hayes <stuart.w.hayes@gmail.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      4e893545
    • Mariusz Tkaczyk's avatar
      leds: Init leds class earlier · 78efa53e
      Mariusz Tkaczyk authored
      NPEM driver will require leds class, there is an init-order conflict.
      Make sure that LEDs initialization happens first and add comment.
      
      Link: https://lore.kernel.org/r/20240904104848.23480-2-mariusz.tkaczyk@linux.intel.comSuggested-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Tested-by: default avatarStuart Hayes <stuart.w.hayes@gmail.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
      78efa53e
  6. 01 Sep, 2024 1 commit
  7. 23 Aug, 2024 1 commit
  8. 22 Aug, 2024 1 commit
  9. 09 Aug, 2024 6 commits
  10. 06 Aug, 2024 1 commit
  11. 02 Aug, 2024 1 commit
  12. 28 Jul, 2024 9 commits
    • Linus Torvalds's avatar
      Linux 6.11-rc1 · 8400291e
      Linus Torvalds authored
      8400291e
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.11' of... · a0c04bd5
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix RPM package build error caused by an incorrect locale setup
      
       - Mark modules.weakdep as ghost in RPM package
      
       - Fix the odd combination of -S and -c in stack protector scripts,
         which is an error with the latest Clang
      
      * tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: Fix '-S -c' in x86 stack protector scripts
        kbuild: rpm-pkg: ghost modules.weakdep file
        kbuild: rpm-pkg: Fix C locale setup
      a0c04bd5
    • Linus Torvalds's avatar
      minmax: simplify and clarify min_t()/max_t() implementation · 017fa3e8
      Linus Torvalds authored
      This simplifies the min_t() and max_t() macros by no longer making them
      work in the context of a C constant expression.
      
      That means that you can no longer use them for static initializers or
      for array sizes in type definitions, but there were only a couple of
      such uses, and all of them were converted (famous last words) to use
      MIN_T/MAX_T instead.
      
      Cc: David Laight <David.Laight@aculab.com>
      Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      017fa3e8
    • Linus Torvalds's avatar
      minmax: add a few more MIN_T/MAX_T users · 4477b39c
      Linus Torvalds authored
      Commit 3a7e02c0 ("minmax: avoid overly complicated constant
      expressions in VM code") added the simpler MIN_T/MAX_T macros in order
      to avoid some excessive expansion from the rather complicated regular
      min/max macros.
      
      The complexity of those macros stems from two issues:
      
       (a) trying to use them in situations that require a C constant
           expression (in static initializers and for array sizes)
      
       (b) the type sanity checking
      
      and MIN_T/MAX_T avoids both of these issues.
      
      Now, in the whole (long) discussion about all this, it was pointed out
      that the whole type sanity checking is entirely unnecessary for
      min_t/max_t which get a fixed type that the comparison is done in.
      
      But that still leaves min_t/max_t unnecessarily complicated due to
      worries about the C constant expression case.
      
      However, it turns out that there really aren't very many cases that use
      min_t/max_t for this, and we can just force-convert those.
      
      This does exactly that.
      
      Which in turn will then allow for much simpler implementations of
      min_t()/max_t().  All the usual "macros in all upper case will evaluate
      the arguments multiple times" rules apply.
      
      We should do all the same things for the regular min/max() vs MIN/MAX()
      cases, but that has the added complexity of various drivers defining
      their own local versions of MIN/MAX, so that needs another level of
      fixes first.
      
      Link: https://lore.kernel.org/all/b47fad1d0cf8449886ad148f8c013dae@AcuMS.aculab.com/
      Cc: David Laight <David.Laight@aculab.com>
      Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4477b39c
    • Linus Torvalds's avatar
      Merge tag 'ubifs-for-linus-6.11-rc1-take2' of... · 7e2d0ba7
      Linus Torvalds authored
      Merge tag 'ubifs-for-linus-6.11-rc1-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs
      
      Pull UBI and UBIFS updates from Richard Weinberger:
      
       - Many fixes for power-cut issues by Zhihao Cheng
      
       - Another ubiblock error path fix
      
       - ubiblock section mismatch fix
      
       - Misc fixes all over the place
      
      * tag 'ubifs-for-linus-6.11-rc1-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubi: Fix ubi_init() ubiblock_exit() section mismatch
        ubifs: add check for crypto_shash_tfm_digest
        ubifs: Fix inconsistent inode size when powercut happens during appendant writing
        ubi: block: fix null-pointer-dereference in ubiblock_create()
        ubifs: fix kernel-doc warnings
        ubifs: correct UBIFS_DFS_DIR_LEN macro definition and improve code clarity
        mtd: ubi: Restore missing cleanup on ubi_init() failure path
        ubifs: dbg_orphan_check: Fix missed key type checking
        ubifs: Fix unattached inode when powercut happens in creating
        ubifs: Fix space leak when powercut happens in linking tmpfile
        ubifs: Move ui->data initialization after initializing security
        ubifs: Fix adding orphan entry twice for the same inode
        ubifs: Remove insert_dead_orphan from replaying orphan process
        Revert "ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path"
        ubifs: Don't add xattr inode into orphan area
        ubifs: Fix unattached xattr inode if powercut happens after deleting
        mtd: ubi: avoid expensive do_div() on 32-bit machines
        mtd: ubi: make ubi_class constant
        ubi: eba: properly rollback inside self_check_eba
      7e2d0ba7
    • Nathan Chancellor's avatar
      kbuild: Fix '-S -c' in x86 stack protector scripts · 3415b10a
      Nathan Chancellor authored
      After a recent change in clang to stop consuming all instances of '-S'
      and '-c' [1], the stack protector scripts break due to the kernel's use
      of -Werror=unused-command-line-argument to catch cases where flags are
      not being properly consumed by the compiler driver:
      
        $ echo | clang -o - -x c - -S -c -Werror=unused-command-line-argument
        clang: error: argument unused during compilation: '-c' [-Werror,-Wunused-command-line-argument]
      
      This results in CONFIG_STACKPROTECTOR getting disabled because
      CONFIG_CC_HAS_SANE_STACKPROTECTOR is no longer set.
      
      '-c' and '-S' both instruct the compiler to stop at different stages of
      the pipeline ('-S' after compiling, '-c' after assembling), so having
      them present together in the same command makes little sense. In this
      case, the test wants to stop before assembling because it is looking at
      the textual assembly output of the compiler for either '%fs' or '%gs',
      so remove '-c' from the list of arguments to resolve the error.
      
      All versions of GCC continue to work after this change, along with
      versions of clang that do or do not contain the change mentioned above.
      
      Cc: stable@vger.kernel.org
      Fixes: 4f7fd4d7 ("[PATCH] Add the -fstack-protector option to the CFLAGS")
      Fixes: 60a5317f ("x86: implement x86_32 stack protector")
      Link: https://github.com/llvm/llvm-project/commit/6461e537815f7fa68cef06842505353cf5600e9c [1]
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      3415b10a
    • Richard Weinberger's avatar
      ubi: Fix ubi_init() ubiblock_exit() section mismatch · 92a286e9
      Richard Weinberger authored
      Since ubiblock_exit() is now called from an init function,
      the __exit section no longer makes sense.
      
      Cc: Ben Hutchings <bwh@kernel.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202407131403.wZJpd8n2-lkp@intel.com/Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      Reviewed-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
      92a286e9
    • Linus Torvalds's avatar
      Merge tag 'v6.11-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · e172f1e9
      Linus Torvalds authored
      Pull turbostat updates from Len Brown:
      
       - Enable turbostat extensions to add both perf and PMT (Intel
         Platform Monitoring Technology) counters via the cmdline
      
       - Demonstrate PMT access with built-in support for Meteor Lake's
         Die C6 counter
      
      * tag 'v6.11-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        tools/power turbostat: version 2024.07.26
        tools/power turbostat: Include umask=%x in perf counter's config
        tools/power turbostat: Document PMT in turbostat.8
        tools/power turbostat: Add MTL's PMT DC6 builtin counter
        tools/power turbostat: Add early support for PMT counters
        tools/power turbostat: Add selftests for added perf counters
        tools/power turbostat: Add selftests for SMI, APERF and MPERF counters
        tools/power turbostat: Move verbose counter messages to level 2
        tools/power turbostat: Move debug prints from stdout to stderr
        tools/power turbostat: Fix typo in turbostat.8
        tools/power turbostat: Add perf added counter example to turbostat.8
        tools/power turbostat: Fix formatting in turbostat.8
        tools/power turbostat: Extend --add option with perf counters
        tools/power turbostat: Group SMI counter with APERF and MPERF
        tools/power turbostat: Add ZERO_ARRAY for zero initializing builtin array
        tools/power turbostat: Replace enum rapl_source and cstate_source with counter_source
        tools/power turbostat: Remove anonymous union from rapl_counter_info_t
        tools/power/turbostat: Switch to new Intel CPU model defines
      e172f1e9
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · e62f81bb
      Linus Torvalds authored
      Pull CXL updates from Dave Jiang:
       "Core:
      
         - A CXL maturity map has been added to the documentation to detail
           the current state of CXL enabling.
      
           It provides the status of the current state of various CXL features
           to inform current and future contributors of where things are and
           which areas need contribution.
      
         - A notifier handler has been added in order for a newly created CXL
           memory region to trigger the abstract distance metrics calculation.
      
           This should bring parity for CXL memory to the same level vs
           hotplugged DRAM for NUMA abstract distance calculation. The
           abstract distance reflects relative performance used for memory
           tiering handling.
      
         - An addition for XOR math has been added to address the CXL DPA to
           SPA translation.
      
           CXL address translation did not support address interleave math
           with XOR prior to this change.
      
        Fixes:
      
         - Fix to address race condition in the CXL memory hotplug notifier
      
         - Add missing MODULE_DESCRIPTION() for CXL modules
      
         - Fix incorrect vendor debug UUID define
      
        Misc:
      
         - A warning has been added to inform users of an unsupported
           configuration when mixing CXL VH and RCH/RCD hierarchies
      
         - The ENXIO error code has been replaced with EBUSY for inject poison
           limit reached via debugfs and cxl-test support
      
         - Moving the PCI config read in cxl_dvsec_rr_decode() to avoid
           unnecessary PCI config reads
      
         - A refactor to a common struct for DRAM and general media CXL
           events"
      
      * tag 'cxl-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
        cxl/core/pci: Move reading of control register to immediately before usage
        cxl: Remove defunct code calculating host bridge target positions
        cxl/region: Verify target positions using the ordered target list
        cxl: Restore XOR'd position bits during address translation
        cxl/core: Fold cxl_trace_hpa() into cxl_dpa_to_hpa()
        cxl/test: Replace ENXIO with EBUSY for inject poison limit reached
        cxl/memdev: Replace ENXIO with EBUSY for inject poison limit reached
        cxl/acpi: Warn on mixed CXL VH and RCH/RCD Hierarchy
        cxl/core: Fix incorrect vendor debug UUID define
        Documentation: CXL Maturity Map
        cxl/region: Simplify cxl_region_nid()
        cxl/region: Support to calculate memory tier abstract distance
        cxl/region: Fix a race condition in memory hotplug notifier
        cxl: add missing MODULE_DESCRIPTION() macros
        cxl/events: Use a common struct for DRAM and General Media events
      e62f81bb