]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'cxl-for-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 1 Aug 2025 22:47:06 +0000 (15:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 1 Aug 2025 22:47:06 +0000 (15:47 -0700)
Pull CXL updates from Dave Jiang:
 "The most significant changes in this pull request is the series that
  introduces ACQUIRE() and ACQUIRE_ERR() macros to replace conditional
  locking and ease the pain points of scoped_cond_guard().

  The series also includes follow on changes that refactor the CXL
  sub-system to utilize the new macros.

  Detail summary:

   - Add documentation template for CXL conventions to document CXL
     platform quirks

   - Replace mutex_lock_io() with mutex_lock() for mailbox

   - Add location limit for fake CFMWS range for cxl_test, ARM platform
     enabling

   - CXL documentation typo and clarity fixes

   - Use correct format specifier for function cxl_set_ecs_threshold()

   - Make cxl_bus_type constant

   - Introduce new helper cxl_resource_contains_addr() to check address
     availability

   - Fix wrong DPA checking for PPR operation

   - Remove core/acpi.c and CXL core dependency on ACPI

   - Introduce ACQUIRE() and ACQUIRE_ERR() for conditional locks

   - Add CXL updates utilizing ACQUIRE() macro to remove gotos and
     improve readability

   - Add return for the dummy version of cxl_decoder_detach() without
     CONFIG_CXL_REGION

   - CXL events updates for spec r3.2

   - Fix return of __cxl_decoder_detach() error path

   - CXL debugfs documentation fix"

* tag 'cxl-for-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (28 commits)
  Documentation/ABI/testing/debugfs-cxl: Add 'cxl' to clear_poison path
  cxl/region: Fix an ERR_PTR() vs NULL bug
  cxl/events: Trace Memory Sparing Event Record
  cxl/events: Add extra validity checks for CVME count in DRAM Event Record
  cxl/events: Add extra validity checks for corrected memory error count in General Media Event Record
  cxl/events: Update Common Event Record to CXL spec rev 3.2
  cxl: Fix -Werror=return-type in cxl_decoder_detach()
  cleanup: Fix documentation build error for ACQUIRE updates
  cxl: Convert to ACQUIRE() for conditional rwsem locking
  cxl/region: Consolidate cxl_decoder_kill_region() and cxl_region_detach()
  cxl/region: Move ready-to-probe state check to a helper
  cxl/region: Split commit_store() into __commit() and queue_reset() helpers
  cxl/decoder: Drop pointless locking
  cxl/decoder: Move decoder register programming to a helper
  cxl/mbox: Convert poison list mutex to ACQUIRE()
  cleanup: Introduce ACQUIRE() and ACQUIRE_ERR() for conditional locks
  cxl: Remove core/acpi.c and cxl core dependency on ACPI
  cxl/core: Using cxl_resource_contains_addr() to check address availability
  cxl/edac: Fix wrong dpa checking for PPR operation
  cxl/core: Introduce a new helper cxl_resource_contains_addr()
  ...

1  2 
drivers/cxl/core/region.c
drivers/cxl/cxl.h
include/linux/cleanup.h
include/linux/mutex.h

index ba42259c3701b752e0d6552f3a2d77d339fcefd9,e9bf42d91689438aded73b74975f01aa190f78d6..71cc42d052481ad5d57ca1c870dfb1da96726fc1
@@@ -3560,15 -3581,10 +3581,10 @@@ static int cxl_region_probe(struct devi
         * From this point on any path that changes the region's state away from
         * CXL_CONFIG_COMMIT is also responsible for releasing the driver.
         */
- out:
-       up_read(&cxl_region_rwsem);
-       if (rc)
-               return rc;
  
 -      cxlr->memory_notifier.notifier_call = cxl_region_perf_attrs_callback;
 -      cxlr->memory_notifier.priority = CXL_CALLBACK_PRI;
 -      register_memory_notifier(&cxlr->memory_notifier);
 +      cxlr->node_notifier.notifier_call = cxl_region_perf_attrs_callback;
 +      cxlr->node_notifier.priority = CXL_CALLBACK_PRI;
 +      register_node_notifier(&cxlr->node_notifier);
  
        cxlr->adist_notifier.notifier_call = cxl_region_calculate_adistance;
        cxlr->adist_notifier.priority = 100;
Simple merge
Simple merge
Simple merge