• Linus Torvalds's avatar
    Merge tag 'cxl-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · d25f0025
    Linus Torvalds authored
    Pull CXL updates from Dan Williams:
     "The highlights in terms of new functionality are support for the
      standard CXL Performance Monitor definition that appeared in CXL 3.0,
      support for device sanitization (wiping all data from a device),
      secure-erase (re-keying encryption of user data), and support for
      firmware update. The firmware update support is notable as it reuses
      the simple sysfs_upload interface to just cat(1) a blob to a sysfs
      file and pipe that to the device.
    
      Additionally there are a substantial number of cleanups and
      reorganizations to get ready for RCH error handling (RCH == Restricted
      CXL Host == current shipping hardware generation / pre CXL-2.0
      topologies) and type-2 (accelerator / vendor specific) devices.
    
      For vendor specific devices they implement a subset of what the
      generic type-3 (generic memory expander) driver expects. As a result
      the rework decouples optional infrastructure from the core driver
      context.
    
      For RCH topologies, where the specification working group did not want
      to confuse pre-CXL-aware operating systems, many of the standard
      registers are hidden which makes support standard bus features like
      AER (PCIe Advanced Error Reporting) difficult. The rework arranges for
      the driver to help the PCI-AER core. Bjorn is on board with this
      direction but a late regression disocvery means the completion of this
      functionality needs to cook a bit longer, so it is code
      reorganizations only for now.
    
      Summary:
    
       - Add infrastructure for supporting background commands along with
         support for device sanitization and firmware update
    
       - Introduce a CXL performance monitoring unit driver based on the
         common definition in the specification.
    
       - Land some preparatory cleanup and refactoring for the anticipated
         arrival of CXL type-2 (accelerator devices) and CXL RCH (CXL-v1.1
         topology) error handling.
    
       - Rework CPU cache management with respect to region configuration
         (device hotplug or other dynamic changes to memory interleaving)
    
       - Fix region reconfiguration vs CXL decoder ordering rules"
    
    * tag 'cxl-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (51 commits)
      cxl: Fix one kernel-doc comment
      cxl/pci: Use correct flag for sanitize polling
      docs: perf: Minimal introduction the the CXL PMU device and driver
      perf: CXL Performance Monitoring Unit driver
      tools/testing/cxl: add firmware update emulation to CXL memdevs
      tools/testing/cxl: Use named effects for the Command Effect Log
      tools/testing/cxl: Fix command effects for inject/clear poison
      cxl: add a firmware update mechanism using the sysfs firmware loader
      cxl/test: Add Secure Erase opcode support
      cxl/mem: Support Secure Erase
      cxl/test: Add Sanitize opcode support
      cxl/mem: Wire up Sanitization support
      cxl/mbox: Add sanitization handling machinery
      cxl/mem: Introduce security state sysfs file
      cxl/mbox: Allow for IRQ_NONE case in the isr
      Revert "cxl/port: Enable the HDM decoder capability for switch ports"
      cxl/memdev: Formalize endpoint port linkage
      cxl/pci: Unconditionally unmask 256B Flit errors
      cxl/region: Manage decoder target_type at decoder-attach time
      cxl/hdm: Default CXL_DEVTYPE_DEVMEM decoders to CXL_DECODER_DEVMEM
      ...
    d25f0025
perf_event.h 54.1 KB