• Linus Torvalds's avatar
    Merge tag 'cxl-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · 033af36d
    Linus Torvalds authored
    Pull compute express link (cxl) updates from Dave Jiang:
     "Major changes address HDM decoder initialization from DVSEC ranges,
      refactoring the code related to cxl mailboxes to be independent of the
      memory devices, and adding support for shared upstream link
      access_coordinate calculation, as well as a change to remove locking
      from memory notifier callback.
    
      In addition, a number of misc cleanups and refactoring of the code are
      also included.
    
      Address HDM decoder initialization from DVSEC ranges:
       - Only register non-zero DVSEC ranges
       - Remove duplicate implementation of waiting for memory_info_valid
       - Simplify the checking of mem_enabled in  cxl_hdm_decode_init()
    
      Refactor the code related to cxl mailboxes to be independent of the memory devices:
       - Move cxl headers in include/linux/ to include/cxl
       - Move all mailbox related data to 'struct cxl_mailbox'
       - Refactor mailbox APIs with 'struct cxl_mailbox' as input instead of
         memory device state
    
      Add support for shared upstream link access_coordinate calculation for
      configurations that have multiple targets under a switch or a root
      port where the aggregated bandwidth can be greater than the upstream
      link of the switch/RP upstream link:
       - Preserve the CDAT access_coordinate from an endpoint
       - Add the support for shared upstream link access_coordinate calculation
       - Add documentation to explain how the calculations are done
    
      Remove locking from memory notifier callback.
    
      Misc cleanups:
       - Convert devm_cxl_add_root() to return using ERR_CAST()
       - cxl_test use dev_is_platform() instead of open coding
       - Remove duplicate include of header core.h in core/cdat.c
       - use scoped resource management to drop put_device() for cxl_port
       - Use scoped_guard to drop device_lock() for cxl_port
       - Refactor __devm_cxl_add_port() to drop gotos
       - Rename cxl_setup_parent_dport to cxl_dport_init_aer and
         cxl_dport_map_regs() to cxl_dport_map_ras()
       - Refactor cxl_dport_init_aer() to be more concise
       - Remove duplicate host_bridge->native_aer checking in
         cxl_dport_init_ras_reporting()
       - Fix comment for cxl_query_cmd()"
    
    * tag 'cxl-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (21 commits)
      cxl: Add documentation to explain the shared link bandwidth calculation
      cxl: Calculate region bandwidth of targets with shared upstream link
      cxl: Preserve the CDAT access_coordinate for an endpoint
      cxl: Fix comment regarding cxl_query_cmd() return data
      cxl: Convert cxl_internal_send_cmd() to use 'struct cxl_mailbox' as input
      cxl: Move mailbox related bits to the same context
      cxl: move cxl headers to new include/cxl/ directory
      cxl/region: Remove lock from memory notifier callback
      cxl/pci: simplify the check of mem_enabled in cxl_hdm_decode_init()
      cxl/pci: Check Mem_info_valid bit for each applicable DVSEC
      cxl/pci: Remove duplicated implementation of waiting for memory_info_valid
      cxl/pci: Fix to record only non-zero ranges
      cxl/pci: Remove duplicate host_bridge->native_aer checking
      cxl/pci: cxl_dport_map_rch_aer() cleanup
      cxl/pci: Rename cxl_setup_parent_dport() and cxl_dport_map_regs()
      cxl/port: Refactor __devm_cxl_add_port() to drop goto pattern
      cxl/port: Use scoped_guard()/guard() to drop device_lock() for cxl_port
      cxl/port: Use __free() to drop put_device() for cxl_port
      cxl: Remove duplicate included header file core.h
      tools/testing/cxl: Use dev_is_platform()
      ...
    033af36d
MAINTAINERS 767 KB