Linux Kernel 6.9 is Released: This is What's New for Compute Express Link (CXL)
- Steve Scargall
- Cxl
- May 13, 2024
The Linux Kernel 6.9 release brings several improvements and additions related to Compute Express Link (CXL) technology.
New Features
Here is a list of new features for CXL:
CXL related changes from Kernel v6.8 to v6.9:
Here is the detailed list of all commits merged into the 6.9 Kernel for CXL and DAX. This list was generated by the Linux Kernel CXL Feature Tracker .
- cxl: Fix cxl_endpoint_get_perf_coordinate() support for RCH
- cxl/core: Fix potential payload size confusion in cxl_mem_get_poison()
- Merge tag ‘cxl-fixes-6.9-rc4’ of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
- cxl: Add checks to access_coordinate calculation to fail missing data
- cxl: Consolidate dport access_coordinate ->hb_coord and ->sw_coord into ->coord
- cxl: Fix incorrect region perf data calculation
- cxl: Fix retrieving of access_coordinates in PCIe path
- cxl: Remove checking of iter in cxl_endpoint_get_perf_coordinates()
- cxl/core: Fix initialization of mbox_cmd.size_out in get event
- cxl/core/regs: Fix usage of map->reg_type in cxl_decode_regblock() before assigned
- cxl/mem: Fix for the index of Clear Event Record Handle
- cxl: remove CONFIG_CXL_PMU entry in drivers/cxl/Kconfig
- Merge tag ’trace-v6.9-2’ of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
- cxl/trace: Properly initialize cxl_poison region name
- Merge branch ‘for-6.9/cxl-fixes’ into for-6.9/cxl
- Merge branch ‘for-6.9/cxl-einj’ into for-6.9/cxl
- Merge branch ‘for-6.9/cxl-qos’ into for-6.9/cxl
- lib/firmware_table: Provide buffer length argument to cdat_table_parse()
- cxl/pci: Get rid of pointer arithmetic reading CDAT table
- cxl/pci: Rename DOE mailbox handle to doe_mb
- cxl: Fix the incorrect assignment of SSLBIS entry pointer initial location
- cxl/core: Add CXL EINJ debugfs files
- cxl/region: Deal with numa nodes not enumerated by SRAT
- cxl/region: Add memory hotplug notifier for cxl region
- cxl/region: Add sysfs attribute for locality attributes of CXL regions
- cxl/region: Calculate performance data for a region
- cxl: Set cxlmd->endpoint before adding port device
- cxl: Move QoS class to be calculated from the nearest CPU
- cxl: Split out host bridge access coordinates
- cxl: Split out combine_coordinates() for common shared usage
- ACPI: HMAT / cxl: Add retrieval of generic port coordinates for both access classes
- cxl/acpi: Fix load failures due to single window creation failure
- Merge branch ‘for-6.8/cxl-cper’ into for-6.8/cxl
- acpi/ghes: Remove CXL CPER notifications
- cxl/pci: Fix disabling memory if DVSEC CXL Range does not match a CFMWS window
- cxl: Fix sysfs export of qos_class for memdev
- cxl: Remove unnecessary type cast in cxl_qos_class_verify()
- cxl: Change ‘struct cxl_memdev_state’ *_perf_list to single ‘struct cxl_dpa_perf’
- cxl/region: Allow out of order assembly of autodiscovered regions
- cxl/region: Handle endpoint decoders in cxl_region_find_decoder()
- Merge tag ’efi-fixes-for-v6.8-1’ of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi
- cxl/trace: Remove unnecessary memcpy’s
- cxl/pci: Skip to handle RAS errors if CXL.mem device is detached
- cxl/region:Fix overflow issue in alloc_hpa()
- cxl/pci: Skip irq features if MSI/MSI-X are not supported
- cxl/core: use sysfs_emit() for attr’s _show()
- Merge branch ‘for-6.8/cxl-cper’ into for-6.8/cxl
- cxl/pci: Register for and process CPER events
- cxl/events: Create a CXL event union
- cxl/events: Separate UUID from event structures
- cxl/events: Remove passing a UUID to known event traces
- cxl/events: Create common event UUID defines
- Merge branch ‘for-6.7/cxl’ into for-6.8/cxl
- Merge branch ‘for-6.8/cxl-misc’ into for-6.8/cxl
- Merge branch ‘for-6.8/cxl-cdat’ into for-6.8/cxl
- cxl/events: Promote CXL event structures to a core header
- cxl: Refactor to use __free() for cxl_root allocation in cxl_endpoint_port_probe()
- cxl: Refactor to use __free() for cxl_root allocation in cxl_find_nvdimm_bridge()
- cxl: Fix device reference leak in cxl_port_perf_data_calculate()
- cxl: Convert find_cxl_root() to return a ‘struct cxl_root *’
- cxl: Introduce put_cxl_root() helper
- cxl/port: Fix missing target list lock
- cxl/port: Fix decoder initialization when nr_targets > interleave_ways
- cxl/region: fix x9 interleave typo
- cxl/trace: Pass UUID explicitly to event traces
- Merge branch ‘for-6.8/cxl-cdat’ into for-6.8/cxl
- cxl/region: use %pap format to print resource_size_t
- cxl/region: Add dev_dbg() detail on failure to allocate HPA space
- cxl: Check qos_class validity on memdev probe
- cxl: Export sysfs attributes for memory device QoS class
- cxl: Store QTG IDs and related info to the CXL memory device context
- cxl: Compute the entire CXL path latency and bandwidth data
- cxl: Add helper function that calculate performance data for downstream ports
- cxl: Store the access coordinates for the generic ports
- cxl: Calculate and store PCI link latency for the downstream ports
- cxl: Add support for _DSM Function for retrieving QTG ID
- cxl: Add callback to parse the SSLBIS subtable from CDAT
- cxl: Add callback to parse the DSLBIS subtable from CDAT
- cxl: Add callback to parse the DSMAS subtables from CDAT
- cxl: Fix unregister_region() callback parameter assignment
- cxl/pmu: Ensure put_device on pmu devices
- cxl/cdat: Free correct buffer on checksum error
- cxl/hdm: Fix dpa translation locking
- cxl: Add Support for Get Timestamp
- cxl/memdev: Hold region_rwsem during inject and clear poison ops
- cxl/core: Always hold region_rwsem while reading poison lists
- cxl/hdm: Fix a benign lockdep splat
- cxl/pci: Change CXL AER support check to use native AER
- cxl/hdm: Remove broken error path
- cxl/hdm: Fix && vs || bug
- Merge branch ‘for-6.7/cxl-commited’ into cxl/next
- Merge branch ‘for-6.7/cxl’ into cxl/next
- Merge branch ‘for-6.7/cxl-qtg’ into cxl/next
- Merge branch ‘for-6.7/cxl-rch-eh’ into cxl/next
- cxl: Add support for reading CXL switch CDAT table
- cxl: Add checksum verification to CDAT from CXL
- cxl: Export QTG ids from CFMWS to sysfs as qos_class attribute
- cxl: Add decoders_committed sysfs attribute to cxl_port
- cxl: Add cxl_decoders_committed() helper
- cxl/core/regs: Rework cxl_map_pmu_regs() to use map->dev for devm
- cxl/core/regs: Rename phys_addr in cxl_map_component_regs()
- cxl/pci: Disable root port interrupts in RCH mode
- cxl/pci: Add RCH downstream port error logging
- cxl/pci: Map RCH downstream AER registers for logging protocol errors
- cxl/pci: Update CXL error logging to use RAS register address
- PCI/AER: Refactor cper_print_aer() for use by CXL driver module
- cxl/pci: Add RCH downstream port AER register discovery
- cxl/port: Remove Component Register base address from struct cxl_port
- cxl/pci: Remove Component Register base address from struct cxl_dev_state
- cxl/hdm: Use stored Component Register mappings to map HDM decoder capability
- cxl/pci: Store the endpoint’s Component Register mappings in struct cxl_dev_state
- cxl/port: Pre-initialize component register mappings
- cxl/port: Rename @comp_map to @reg_map in struct cxl_register_map
- cxl/port: Fix @host confusion in cxl_dport_setup_regs()
- cxl/core/regs: Rename @dev to @host in struct cxl_register_map
- cxl/port: Fix delete_endpoint() vs parent unregistration race
- cxl/region: Fix x1 root-decoder granularity calculations
- cxl/region: Fix cxl_region_rwsem lock held when returning to user space
- cxl/region: Use cxl_calc_interleave_pos() for auto-discovery
- cxl/region: Calculate a target position in a region interleave
- cxl/region: Prepare the decoder match range helper for reuse
- cxl/mbox: Remove useless cast in cxl_mem_create_range_info()
- cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails
- cxl/mem: Fix shutdown order
- cxl/memdev: Fix sanitize vs decoder setup locking
- cxl/pci: Fix sanitize notifier setup
- cxl/pci: Clarify devm host for memdev relative setup
- cxl/pci: Remove inconsistent usage of dev_err_probe()
- cxl/pci: Remove hardirq handler for cxl_request_irq()
- cxl/pci: Cleanup ‘sanitize’ to always poll
- cxl/pci: Remove unnecessary device reference management in sanitize work
- cxl/acpi: Annotate struct cxl_cxims_data with __counted_by
- cxl/port: Fix cxl_test register enumeration regression
- cxl/pci: Update comment
- cxl/port: Quiet warning messages from the cxl_test environment
- cxl/region: Refactor granularity select in cxl_port_setup_targets()
- cxl/region: Match auto-discovered region decoders by HPA range
- cxl/mbox: Fix CEL logic for poison and security commands
- cxl/pci: Replace host_bridge->native_aer with pcie_aer_is_native()
- cxl/pci: Fix appropriate checking for _OSC while handling CXL RAS registers
- cxl/memdev: Only show sanitize sysfs files when supported
- cxl/memdev: Document security state in kern-doc
- cxl/acpi: Return ‘rc’ instead of ‘0’ in cxl_parse_cfmws()
- cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()
- cxl/mem: Fix a double shift bug
- cxl: fix CONFIG_FW_LOADER dependency
- cxl: Fix one kernel-doc comment
- cxl/pci: Use correct flag for sanitize polling
- Merge branch ‘for-6.5/cxl-rch-eh’ into for-6.5/cxl
- Merge branch ‘for-6.5/cxl-perf’ into for-6.5/cxl
- perf: CXL Performance Monitoring Unit driver
- Merge branch ‘for-6.5/cxl-region-fixes’ into for-6.5/cxl
- Merge branch ‘for-6.5/cxl-type-2’ into for-6.5/cxl
- Merge branch ‘for-6.5/cxl-fwupd’ into for-6.5/cxl
- Merge branch ‘for-6.5/cxl-background’ into for-6.5/cxl
- cxl: add a firmware update mechanism using the sysfs firmware loader
- cxl/mem: Support Secure Erase
- 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
- cxl/port: Rename CXL_DECODER_{EXPANDER, ACCELERATOR} => {HOSTONLYMEM, DEVMEM}
- cxl/memdev: Make mailbox functionality optional
- cxl/mbox: Move mailbox related driver state to its own data structure
- cxl: Remove leftover attribute documentation in ‘struct cxl_dev_state’
- cxl: Fix kernel-doc warnings
- cxl/regs: Clarify when a ‘struct cxl_register_map’ is input vs output
- cxl/region: Fix state transitions after reset failure
- cxl/region: Flag partially torn down regions as unusable
- cxl/region: Move cache invalidation before region teardown, and before setup
- cxl/port: Store the downstream port’s Component Register mappings in struct cxl_dport
- cxl/port: Store the port’s Component Register mappings in struct cxl_port
- cxl/pci: Early setup RCH dport component registers from RCRB
- cxl/mem: Prepare for early RCH dport component register setup
- cxl/regs: Remove early capability checks in Component Register setup
- cxl/port: Remove Component Register base address from struct cxl_dport
- cxl/acpi: Directly bind the CEDT detected CHBCR to the Host Bridge’s port
- cxl/acpi: Move add_host_bridge_uport() after cxl_get_chbs()
- cxl/pci: Refactor component register discovery for reuse
- cxl/core/regs: Add @dev to cxl_register_map
- cxl: Rename ‘uport’ to ‘uport_dev’
- cxl: Rename member @dport of struct cxl_dport to @dport_dev
- cxl/rch: Prepare for caching the MMIO mapped PCIe AER capability
- cxl/acpi: Probe RCRB later during RCH downstream port creation
- cxl/pci: Find and register CXL PMU devices
- cxl: Add functions to get an instance of / count regblocks of a given type
- cxl: Explicitly initialize resources when media is not ready
- cxl/mbox: Add background cmd handling machinery
- cxl/pci: Introduce cxl_request_irq()
- cxl/pci: Allocate irq vectors earlier during probe
- cxl/port: Fix NULL pointer access in devm_cxl_add_port()
- cxl: Move cxl_await_media_ready() to before capacity info retrieval
- cxl: Wait Memory_Info_Valid before access memory related info
- cxl/port: Enable the HDM decoder capability for switch ports
- cxl: Add missing return to cdat read error path
- Merge tag ‘cxl-for-6.4’ of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
- Merge tag ‘driver-core-6.4-rc1’ of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
- cxl/mbox: Update CMD_RC_TABLE
- Merge branch ‘for-6.3/cxl-autodetect-fixes’ into for-6.4/cxl
- Merge branch ‘for-6.4/cxl-poison’ into for-6.4/cxl
- cxl/mem: Add debugfs attributes for poison inject and clear
- cxl/memdev: Trace inject and clear poison as cxl_poison events
- cxl/memdev: Warn of poison inject or clear to a mapped region
- cxl/memdev: Add support for the Clear Poison mailbox command
- cxl/memdev: Add support for the Inject Poison mailbox command
- cxl/trace: Add an HPA to cxl_poison trace events
- cxl/region: Provide region info to the cxl_poison trace event
- cxl/memdev: Add trigger_poison_list sysfs attribute
- cxl/trace: Add TRACE support for CXL media-error records
- cxl/mbox: Add GET_POISON_LIST mailbox command
- cxl/mbox: Initialize the poison state
- cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all
- cxl/mbox: Deprecate poison commands
- cxl/port: Fix port to pci device assumptions in read_cdat_data()
- cxl/pci: Rightsize CDAT response allocation
- cxl/pci: Simplify CDAT retrieval error path
- cxl/pci: Use CDAT DOE mailbox created by PCI core
- cxl/pci: Use synchronous API for DOE
- cxl/hdm: Add more HDM decoder debug messages at startup
- cxl/port: Scan single-target ports for decoders
- cxl/core: Drop unused io-64-nonatomic-lo-hi.h
- cxl/hdm: Use 4-byte reads to retrieve HDM decoder base+limit
- cxl/hdm: Fail upon detecting 0-sized decoders
- Merge branch ‘for-6.3/cxl-doe-fixes’ into for-6.3/cxl
- cxl/hdm: Extend DVSEC range register emulation for region enumeration
- cxl/hdm: Limit emulation to the number of range registers
- cxl/region: Move coherence tracking into cxl_region_attach()
- cxl/region: Fix region setup/teardown for RCDs
- cxl/port: Fix find_cxl_root() for RCDs and simplify it
- cxl/hdm: Skip emulation when driver manages mem_enable
- cxl/hdm: Fix double allocation of @cxlhdm
- cxl/pci: Handle excessive CDAT length
- cxl/pci: Handle truncated CDAT entries
- cxl/pci: Handle truncated CDAT header
- driver core: bus: mark the struct bus_type for sysfs callbacks as constant
- cxl/pci: Fix CDAT retrieval on big endian
- Merge tag ‘cxl-for-6.3’ of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
- Merge tag ‘driver-core-6.3-rc1’ of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
- Merge branch ‘for-6.3/cxl-events’ into cxl/next
- cxl/mem: Add kdoc param for event log driver state
- cxl/trace: Add serial number to trace points
- cxl/trace: Add host output to trace points
- cxl/trace: Standardize device information output
- Merge branch ‘for-6.3/cxl-rr-emu’ into cxl/next
- cxl/pci: Remove locked check for dvsec_range_allowed()
- cxl/hdm: Add emulation when HDM decoders are not committed
- cxl/hdm: Create emulated cxl_hdm for devices that do not have HDM decoders
- cxl/hdm: Emulate HDM decoder from DVSEC range registers
- cxl/pci: Refactor cxl_hdm_decode_init()
- cxl/port: Export cxl_dvsec_rr_decode() to cxl_port
- cxl/pci: Break out range register decoding from cxl_hdm_decode_init()
- Merge branch ‘for-6.3/cxl’ into cxl/next
- Merge branch ‘for-6.3/cxl-ram-region’ into cxl/next
- cxl: add RAS status unmasking for CXL
- cxl: remove unnecessary calling of pci_enable_pcie_error_reporting()
- cxl: avoid returning uninitialized error code
- cxl/pmem: Fix nvdimm registration races
- Merge branch ‘for-6.3/cxl-ram-region’ into cxl/next
- Merge branch ‘for-6.3/cxl’ into cxl/next
- cxl/uapi: Tag commands from cxl_query_cmd()
- cxl/mem: Remove unused CXL_CMD_FLAG_NONE define
- cxl/dax: Create dax devices for CXL RAM regions
- tools/testing/cxl: Define a fixed volatile configuration to parse
- cxl/region: Add region autodiscovery
- cxl/port: Split endpoint and switch port probe
- cxl/region: Enable CONFIG_CXL_REGION to be toggled
- kernel/range: Uplevel the cxl subsystem’s range_contains() helper
- cxl/region: Move region-position validation to a helper
- cxl/region: Cleanup target list on attach error
- cxl/region: Refactor attach_target() for autodiscovery
- cxl/region: Add volatile region creation support
- cxl/region: Validate region mode vs decoder mode
- cxl/region: Support empty uuids for non-pmem regions
- cxl/region: Add a mode attribute for regions
- cxl/memdev: Fix endpoint port removal
- cxl/mem: Correct full ID range allocation
- Merge branch ‘for-6.3/cxl-events’ into cxl/next
- Merge branch ‘for-6.3/cxl’ into cxl/next
- cxl/region: Fix passthrough-decoder detection
- cxl/region: Fix null pointer dereference for resetting decoder
- cxl/pci: Fix irq oneshot expectations
- cxl/pci: Set the device timestamp
- cxl/mbox: Add missing parameter to docs.
- cxl/mbox: Fix Payload Length check for Get Log command
- driver core: make struct bus_type.uevent() take a const *
- driver core: make struct device_type.devnode() take a const *
- cxl/mem: Trace Memory Module Event Record
- cxl/mem: Trace DRAM Event Record
- cxl/mem: Trace General Media Event Record
- cxl/mem: Wire up event interrupts
- cxl: fix spelling mistakes
- cxl/mbox: Add debug messages for enabled mailbox commands
- cxl/mem: Read, trace, and clear events on driver load
- cxl/pmem: Fix nvdimm unregistration when cxl_pmem driver is absent
- cxl/port: Link the ‘parent_dport’ in portX/ and endpointX/ sysfs
- cxl/region: Clarify when a cxld->commit() callback is mandatory
- cxl/pci: Show opcode in debug messages when sending a command
- cxl: fix cxl_report_and_clear() RAS UE addr mis-assignment
- cxl/region: Only warn about cpu_cache_invalidate_memregion() once
- cxl/pci: Move tracepoint definitions to drivers/cxl/core/
- cxl/region: Fix memdev reuse check
- cxl/pci: Remove endian confusion
- cxl/pci: Add some type-safety to the AER trace points
- cxl/security: Drop security command ioctl uapi
- cxl/mbox: Add variable output size validation for internal commands
- cxl/mbox: Enable cxl_mbox_send_cmd() users to validate output size
- cxl/security: Fix Get Security State output payload endian handling
- cxl: update names for interleave ways conversion macros
- cxl: update names for interleave granularity conversion macros
- cxl/acpi: Warn about an invalid CHBCR in an existing CHBS entry
- cxl/acpi: Fail decoder add if CXIMS for HBIG is missing
- cxl/region: Fix spelling mistake “memergion” -> “memregion”
- cxl/regs: Fix sparse warning
- Merge branch ‘for-6.2/cxl-xor’ into for-6.2/cxl
- Merge branch ‘for-6.2/cxl-aer’ into for-6.2/cxl
- Merge branch ‘for-6.2/cxl-security’ into for-6.2/cxl
- cxl/port: Add RCD endpoint port enumeration
- cxl/mem: Move devm_cxl_add_endpoint() from cxl_core to cxl_mem
- cxl/acpi: Support CXL XOR Interleave Math (CXIMS)
- cxl/pci: Add callback to log AER correctable error
- cxl/pci: Add (hopeful) error handling support
- cxl/pci: add tracepoint events for CXL RAS
- cxl/pci: Find and map the RAS Capability Structure
- cxl/pci: Prepare for mapping RAS Capability Structure
- cxl/port: Limit the port driver to just the HDM Decoder Capability
- cxl/core/regs: Make cxl_map_{component, device}_regs() device generic
- cxl/pci: Kill cxl_map_regs()
- cxl/pci: Cleanup cxl_map_device_regs()
- cxl/pci: Cleanup repeated code in cxl_probe_regs() helpers
- cxl/acpi: Extract component registers of restricted hosts from RCRB
- cxl/region: Manage CPU caches relative to DPA invalidation events
- cxl/pmem: Enforce keyctl ABI for PMEM security
- cxl/region: Fix missing probe failure
- cxl: add dimm_id support for __nvdimm_create()
- cxl/ACPI: Register CXL host ports by bridge device
- tools/testing/cxl: Make mock CEDT parsing more robust
- cxl/acpi: Move rescan to the workqueue
- cxl/pmem: Remove the cxl_pmem_wq and related infrastructure
- cxl/pmem: Refactor nvdimm device registration, delete the workqueue
- cxl/region: Drop redundant pmem region release handling
- cxl/acpi: Simplify cxl_nvdimm_bridge probing
- cxl/pmem: add provider name to cxl pmem dimm attribute group
- cxl/pmem: add id attribute to CXL based nvdimm
- nvdimm/cxl/pmem: Add support for master passphrase disable security command
- cxl/pmem: Add “Passphrase Secure Erase” security command support
- cxl/pmem: Add “Unlock” security command support
- cxl/pmem: Add “Freeze Security State” security command support
- cxl/pmem: Add Disable Passphrase security command support
- cxl/pmem: Add “Set Passphrase” security command support
- cxl/pmem: Introduce nvdimm_security_ops with ->get_flags() operation
- cxl: Replace HDM decoder granularity magic numbers
- cxl/acpi: Improve debug messages in cxl_acpi_probe()
- cxl: Unify debug messages when calling devm_cxl_add_dport()
- cxl: Unify debug messages when calling devm_cxl_add_port()
- cxl/core: Check physical address before mapping it in devm_cxl_iomap_block()
- cxl/core: Remove duplicate declaration of devm_cxl_iomap_block()
- cxl/doe: Request exclusive DOE access
- cxl/region: Recycle region ids
- cxl/region: Fix ‘distance’ calculation with passthrough ports
- cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak
- cxl/region: Fix cxl_region leak, cleanup targets at region delete
- cxl/region: Fix region HPA ordering validation
- cxl/pmem: Use size_add() against integer overflow
- cxl/region: Fix decoder allocation crash
- cxl/pmem: Fix failure to account for 8 byte header for writes to the device LSA.
- cxl/region: Fix null pointer dereference due to pass through decoder commit
- cxl/mbox: Add a check on input payload size
- cxl/hdm: Fix skip allocations vs multiple pmem allocations
- cxl/region: Disallow region granularity != window granularity
- cxl/region: Fix x1 interleave to greater than x1 interleave routing
- cxl/region: Move HPA setup to cxl_region_attach()
- cxl/region: Fix decoder interleave programming
- cxl/region: describe targets and nr_targets members of cxl_region_params
- cxl/regions: add padding for cxl_rr_ep_add nested lists
- cxl/region: Fix IS_ERR() vs NULL check
- cxl/region: Fix region reference target accounting
- cxl/region: Fix region commit uninitialized variable warning
- cxl/region: Fix port setup uninitialized variable warnings
- cxl/region: Stop initializing interleave granularity
- cxl/hdm: Fix DPA reservation vs cxl_endpoint_decoder lifetime
- cxl/acpi: Minimize granularity for x1 interleaves
- cxl/region: Delete ‘region’ attribute from root decoders
- cxl/acpi: Autoload driver for ‘cxl_acpi’ test devices
- cxl/region: decrement ->nr_targets on error in cxl_region_attach()
- cxl/region: prevent underflow in ways_to_cxl()
- cxl/region: uninitialized variable in alloc_hpa()
- cxl/region: Introduce cxl_pmem_region objects
- cxl/pmem: Fix offline_nvdimm_bus() to offline by bridge
- cxl/region: Add region driver boiler plate
- cxl/hdm: Commit decoder state to hardware
- cxl/region: Program target lists
- cxl/region: Attach endpoint decoders
- cxl/acpi: Add a host-bridge index lookup mechanism
- cxl/region: Enable the assignment of endpoint decoders to regions
- cxl/region: Allocate HPA capacity to regions
- cxl/region: Add interleave geometry attributes
- cxl/region: Add a ‘uuid’ attribute
- cxl/region: Add region creation support
- cxl/mem: Enumerate port targets before adding endpoints
- cxl/hdm: Add sysfs attributes for interleave ways + granularity
- cxl/port: Move dport tracking to an xarray
- cxl/port: Move ‘cxl_ep’ references to an xarray per port
- cxl/port: Record parent dport when adding ports
- cxl/port: Record dport in endpoint references
- cxl/hdm: Add support for allocating DPA to an endpoint decoder
- cxl/hdm: Track next decoder to allocate
- cxl/hdm: Add ‘mode’ attribute to decoder objects
- cxl/hdm: Enumerate allocated DPA
- cxl/core: Define a ‘struct cxl_endpoint_decoder’
- cxl/core: Define a ‘struct cxl_root_decoder’
- cxl/acpi: Track CXL resources in iomem_resource
- cxl/core: Define a ‘struct cxl_switch_decoder’
- cxl/port: Read CDAT table
- cxl/pci: Create PCI DOE mailbox’s for memory devices
- cxl/pmem: Delete unused nvdimm attribute
- cxl/hdm: Initialize decoder type for memory expander devices
- cxl/port: Cache CXL host bridge data
- tools/testing/cxl: Add partition support
- cxl/mem: Add a debugfs version of ‘iomem’ for DPA, ‘dpamem’
- cxl/debug: Move debugfs init to cxl_core_init()
- cxl/hdm: Require all decoders to be enumerated
- cxl/mem: Convert partition-info to resources
- cxl: Introduce cxl_to_{ways,granularity}
- cxl/core: Drop is_cxl_decoder()
- cxl/core: Drop ->platform_res attribute for root decoders
- cxl/core: Rename ->decoder_range ->hpa_range
- cxl/hdm: Use local hdm variable
- cxl/port: Keep port->uport valid for the entire life of a port
- cxl/mbox: Fix missing variable payload checks in cmd size validation
- cxl/mbox: Use __le32 in get,set_lsa mailbox structures
- cxl/core: Use is_endpoint_decoder
- cxl: Fix cleanup of port devices on failure to probe driver.
- cxl/port: Enable HDM Capability after validating DVSEC Ranges
- cxl/port: Reuse ‘struct cxl_hdm’ context for hdm init
- cxl/port: Move endpoint HDM Decoder Capability init to port driver
- cxl/pci: Drop @info argument to cxl_hdm_decode_init()
- cxl/mem: Merge cxl_dvsec_ranges() and cxl_hdm_decode_init()
- cxl/mem: Skip range enumeration if mem_enable clear
- cxl/mem: Consolidate CXL DVSEC Range enumeration in the core
- cxl/pci: Move cxl_await_media_ready() to the core
- cxl/mem: Validate port connectivity before dvsec ranges
- cxl/mem: Fix cxl_mem_probe() error exit
- cxl/pci: Drop wait_for_valid() from cxl_await_media_ready()
- cxl/pci: Consolidate wait_for_media() and wait_for_media_ready()
- cxl/mem: Drop mem_enabled check from wait_for_media()
- cxl: Drop cxl_device_lock()
- cxl/acpi: Add root device lockdep validation
- cxl: Replace lockdep_mutex with local lock classes
- cxl/mbox: fix logical vs bitwise typo
- cxl/mbox: Replace NULL check with IS_ERR() after vmemdup_user()
- cxl/mbox: Use type __u32 for mailbox payload sizes
- PM: CXL: Disable suspend
- cxl/mem: Replace redundant debug message with a comment
- cxl/mem: Rename cxl_dvsec_decode_init() to cxl_hdm_decode_init()
- cxl/pci: Make cxl_dvsec_ranges() failure not fatal to cxl_pci
- cxl/mem: Make cxl_dvsec_range() init failure fatal
- cxl/pci: Add debug for DVSEC range init failures
- cxl/mem: Drop DVSEC vs EFI Memory Map sanity check
- cxl/mbox: Use new return_code handling
- cxl/mbox: Improve handling of mbox_cmd hw return codes
- cxl/pci: Use CXL_MBOX_SUCCESS to check against mbox_cmd return code
- cxl/mbox: Drop mbox_mutex comment
- cxl/pmem: Remove CXL SET_PARTITION_INFO from exclusive_cmds list
- cxl/mbox: Block immediate mode in SET_PARTITION_INFO command
- cxl/mbox: Move cxl_mem_command param to a local variable
- cxl/mbox: Make handle_mailbox_cmd_from_user() use a mbox param
- cxl/mbox: Remove dependency on cxl_mem_command for a debug msg
- cxl/mbox: Construct a users cxl_mbox_cmd in the validation path
- cxl/mbox: Move build of user mailbox cmd to a helper functions
- cxl/mbox: Move raw command warning to raw command validation
- cxl/mbox: Move cxl_mem_command construction to helper funcs
- cxl/pci: Drop shadowed variable
- cxl/core/port: Fix NULL but dereferenced coccicheck error
- cxl/port: Hold port reference until decoder release
- cxl/port: Fix endpoint refcount leak
- cxl/core: Fix cxl_device_lock() class detection
- cxl/core/port: Fix unregister_port() lock assertion
- cxl/regs: Fix size of CXL Capability Header Register
- cxl/core/port: Handle invalid decoders
- cxl/core/port: Fix / relax decoder target enumeration
- cxl/core/port: Add endpoint decoders
- cxl/core: Move target_list out of base decoder attributes
- cxl/mem: Add the cxl_mem driver
- cxl/core/port: Add switch port enumeration
- cxl/memdev: Add numa_node attribute
- cxl/pci: Emit device serial number
- cxl/pci: Implement wait for media active
- cxl/pci: Retrieve CXL DVSEC memory info
- cxl/pci: Cache device DVSEC offset
- cxl/pci: Store component register base in cxlds
- cxl/core/port: Remove @host argument for dport + decoder enumeration
- cxl/port: Add a driver for ‘struct cxl_port’ objects
- cxl/core: Emit modalias for CXL devices
- cxl/core/hdm: Add CXL standard decoder enumeration to the core
- cxl/core: Generalize dport enumeration in the core
- cxl/pci: Rename pci.h to cxlpci.h
- cxl/port: Up-level cxl_add_dport() locking requirements to the caller
- cxl/pmem: Introduce a find_cxl_root() helper
- cxl/port: Introduce cxl_port_to_pci_bus()
- cxl/core/port: Use dedicated lock for decoder target list
- cxl: Prove CXL locking
- cxl/core: Track port depth
- cxl/core/port: Make passthrough decoder init implicit
- cxl/core: Fix cxl_probe_component_regs() error message
- cxl/core/port: Clarify decoder creation
- cxl/core: Convert decoder range to resource
- cxl/decoder: Hide physical address information from non-root
- cxl/core/port: Rename bus.c to port.c
- cxl: Introduce module_cxl_driver
- cxl/acpi: Map component registers for Root Ports
- cxl/pci: Add new DVSEC definitions
- cxl: Flesh out register names
- cxl/pci: Defer mailbox status checks to command timeouts
- cxl/pci: Implement Interface Ready Timeout
- cxl: Rename CXL_MEM to CXL_PCI
- cxl/core: Remove cxld_const_init in cxl_decoder_alloc()
- cxl/pmem: Fix module reload vs workqueue state
- ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT
- cxl/test: Mock acpi_table_parse_cedt()
- cxl/acpi: Convert CFMWS parsing to ACPI sub-table helpers
- cxl/memdev: Remove unused cxlmd field
- cxl/core: Convert to EXPORT_SYMBOL_NS_GPL
- cxl/memdev: Change cxl_mem to a more descriptive name
- cxl/mbox: Remove bad comment
- cxl/pmem: Fix reference counting for delayed work
- Merge tag ‘cxl-for-5.16’ of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
- cxl/pci: Use pci core’s DVSEC functionality
- cxl/pci: Split cxl_pci_setup_regs()
- cxl/pci: Add @base to cxl_register_map
- cxl/pci: Make more use of cxl_register_map
- cxl/pci: Remove pci request/release regions
- cxl/pci: Fix NULL vs ERR_PTR confusion
- cxl/pci: Remove dev_dbg for unknown register blocks
- cxl/pci: Convert register block identifiers to an enum
- cxl/acpi: Do not fail cxl_acpi_probe() based on a missing CHBS
- cxl/core: Replace unions with struct_group()
- cxl/pci: Disambiguate cxl_pci further from cxl_mem
- cxl/core: Split decoder setup into alloc + add
- tools/testing/cxl: Introduce a mock memory device + driver
- cxl/mbox: Move command definitions to common location
- cxl/bus: Populate the target list at decoder create
- tools/testing/cxl: Introduce a mocked-up CXL port hierarchy
- cxl/pmem: Add support for multiple nvdimm-bridge objects
- cxl/pmem: Translate NVDIMM label commands to CXL label commands
- cxl/mbox: Add exclusive kernel command support
- cxl/mbox: Convert ’enabled_cmds’ to DECLARE_BITMAP
- cxl/pci: Use module_pci_driver
- cxl/mbox: Move mailbox and other non-PCI specific infrastructure to the core
- cxl/pci: Drop idr.h
- cxl/mbox: Introduce the mbox_send operation
- cxl/pci: Clean up cxl_mem_get_partition_info()
- cxl/pci: Make ‘struct cxl_mem’ device type generic
- Merge tag ‘cxl-for-5.15’ of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
- cxl/registers: Fix Documentation warning
- cxl/pmem: Fix Documentation warning
- cxl/pci: Fix debug message in cxl_probe_regs()
- cxl/pci: Fix lockdown level
- cxl/acpi: Do not add DSDT disabled ACPI0016 host bridge ports
- cxl/mem: Adjust ram/pmem range to represent DPA ranges
- cxl/mem: Account for partitionable space in ram/pmem ranges
- cxl/pci: Store memory capacity values
- cxl/pci: Simplify register setup
- cxl/pci: Ignore unknown register block types
- cxl/core: Move memdev management to core
- cxl/pci: Introduce cdevm_file_operations
- cxl/core: Move register mapping infrastructure
- cxl/core: Move pmem functionality
- cxl/core: Improve CXL core kernel docs
- cxl: Move cxl_core to new directory
- bus: Make remove callback return void
- cxl/pci: Rename CXL REGLOC ID
- cxl/acpi: Use the ACPI CFMWS to create static decoder objects
- cxl/acpi: Add the Host Bridge base address to CXL port objects
- cxl/pmem: Register ‘pmem’ / cxl_nvdimm devices
- cxl/pmem: Add initial infrastructure for pmem support
- cxl/core: Add cxl-bus driver infrastructure
- cxl/pci: Add media provisioning required commands
- cxl/component_regs: Fix offset
- cxl/hdm: Fix decoder count calculation
- cxl/acpi: Introduce cxl_decoder objects
- cxl/acpi: Enumerate host bridge root ports
- cxl/acpi: Add downstream port data to cxl_port instances
- cxl/Kconfig: Default drivers to CONFIG_CXL_BUS
- cxl/acpi: Introduce the root of a cxl_port topology
- cxl/pci: Fixup devm_cxl_iomap_block() to take a ‘struct device *’
- cxl/pci: Add HDM decoder capabilities
- cxl/pci: Reserve individual register block regions
- cxl/pci: Map registers based on capabilities
- cxl/pci: Reserve all device regions at once
- cxl/pci: Introduce cxl_decode_register_block()
- cxl/mem: Get rid of @cxlm.base
- cxl/mem: Move register locator logic into reg setup
- cxl/mem: Split creation from mapping in probe
- cxl/mem: Use dev instead of pdev->dev
- cxl/mem: Demarcate vendor specific capability IDs
- cxl/pci.c: Add a ’label_storage_size’ attribute to the memdev
- cxl: Rename mem to pci
- cxl/core: Refactor CXL register lookup for bridge reuse
- cxl/core: Rename bus.c to core.c
- cxl/mem: Introduce ‘struct cxl_regs’ for “composable” CXL devices
- cxl/mem: Move some definitions to mem.h
- cxl/mem: Fix memory device capacity probing
- cxl/mem: Fix register block offset calculation
- cxl/mem: Force array size of mem_commands[] to CXL_MEM_COMMAND_ID_MAX
- cxl/mem: Disable cxl device power management
- cxl/mem: Do not rely on device_add() side effects for dev_set_name() failures
- cxl/mem: Fix synchronization mechanism for device removal vs ioctl operations
- cxl/mem: Use sysfs_emit() for attribute show routines
- cxl/mem: Fix potential memory leak
- cxl/mem: Return -EFAULT if copy_to_user() fails
- cxl/mem: Add set of informational commands
- cxl/mem: Enable commands via CEL
- cxl/mem: Add a “RAW” send command
- cxl/mem: Add basic IOCTL interface
- cxl/mem: Register CXL memX devices
- cxl/mem: Find device capabilities
- cxl/mem: Introduce a driver for CXL-2.0-Type-3 endpoints
- Merge tag ’libnvdimm-for-6.9’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge tag ‘mm-stable-2024-03-13-20-04’ of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
- mm, slab: remove last vestiges of SLAB_MEM_SPREAD
- dax: remove SLAB_MEM_SPREAD flag usage
- dax: fix incorrect list of data cache aliasing architectures
- dax: check for data cache aliasing at runtime
- dax: alloc_dax() return ERR_PTR(-EOPNOTSUPP) for CONFIG_DAX=n
- dax: add a sysfs knob to control memmap_on_memory behavior
- dax/bus.c: replace several sprintf() with sysfs_emit()
- dax/bus.c: replace driver-core lock usage by a local rwsem
- device-dax: make dax_bus_type const
- Merge tag ‘xfs-6.8-merge-3’ of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
- dax/kmem: allow kmem to add memory with memmap_on_memory
- mm, pmem, xfs: Introduce MF_MEM_PRE_REMOVE for unbind
- Merge tag ‘mm-stable-2023-11-01-14-33’ of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
- dax, kmem: calculate abstract distance with general interface
- dax: refactor deprecated strncpy
- mm: remove enum page_entry_size
- memory tier: rename destroy_memory_type() to put_memory_type()
- dax: enable dax fault handler to report VM_FAULT_HWPOISON
- dax/kmem: Pass valid argument to memory_group_register_static
- dax: Cleanup extra dax_region references
- dax: Introduce alloc_dev_dax_id()
- dax: Use device_unregister() in unregister_dax_mapping()
- dax: Fix dax_mapping_release() use after free
- dax: fix missing-prototype warnings
- Merge tag ‘cxl-for-6.3’ of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
- Merge tag ‘driver-core-6.3-rc1’ of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
- Merge tag ‘mm-stable-2023-02-20-13-37’ of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
- Merge tag ‘rcu.2023.02.10a’ of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu
- dax/kmem: Fix leak of memory-hotplug resources
- dax: cxl: add CXL_REGION dependency
- cxl/dax: Create dax devices for CXL RAM regions
- dax: Assign RAM regions to memory-hotplug by default
- dax/hmem: Move hmem device registration to dax_hmem.ko
- dax/hmem: Convey the dax range via memregion_info()
- dax/hmem: Drop unnecessary dax_hmem_remove()
- dax/hmem: Move HMAT and Soft reservation probe initcall level
- mm: replace vma->vm_flags direct modifications with modifier calls
- drivers/dax: Remove “select SRCU”
- driver core: make struct bus_type.uevent() take a const *
- dax: super.c: fix kernel-doc bad line warning
- device-dax: Fix duplicate ‘hmem’ device registration
- Merge tag ’libnvdimm-for-6.1’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge tag ‘mm-stable-2022-10-08’ of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
- ACPI: HMAT: Release platform device in case of platform_device_add_data() fails
- dax: Remove usage of the deprecated ida_simple_xxx API
- mm/demotion/dax/kmem: set node’s abstract distance to MEMTIER_DEFAULT_DAX_ADISTANCE
- devdax: Fix soft-reservation memory description
- dax: introduce holder for dax_device
- dax: add .recovery_write dax_operation
- dax: introduce DAX_RECOVERY_WRITE dax access mode
- Merge tag ‘dax-for-5.18’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge tag ‘folio-5.18b’ of git://git.infradead.org/users/willy/pagecache
- fs: allocate inode by using alloc_inode_sb()
- fs: Convert __set_page_dirty_no_writeback to noop_dirty_folio
- fs: Remove noop_invalidatepage()
- dax: Fix missing kdoc for dax_device
- dax: make sure inodes are flushed before destroy cache
- Merge branch ‘akpm’ (patches from Andrew)
- device-dax: compound devmap support
- device-dax: remove pfn from _dev_dax{pte,pmd,pud}_fault()
- device-dax: set mapping prior to vmf_insert_pfn{,_pmd,pud}()
- device-dax: factor out page mapping initialization
- device-dax: ensure dev_dax->pgmap is valid for dynamic devices
- device-dax: use struct_size()
- device-dax: use ALIGN() for determining pgoff
- dax: remove the copy_from_iter and copy_to_iter methods
- dax: remove the DAXDEV_F_SYNC flag
- dax: simplify dax_synchronous and set_dax_synchronous
- dax: return the partition offset from fs_dax_get_by_bdev
- fsdax: simplify the pgoff calculation
- dax: remove dax_capable
- dax: move the partition alignment check into fs_dax_get_by_bdev
- dax: remove the pgmap sanity checks in generic_fsdax_supported
- dax: simplify the dax_device <-> gendisk association
- dax: remove CONFIG_DAX_DRIVER
- dm: make the DAX support depend on CONFIG_FS_DAX
- dax: Kill DEV_DAX_PMEM_COMPAT
- nvdimm/pmem: move dax_attribute_group from dax to pmem
- Merge tag ’libnvdimm-for-5.15’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge branch ‘akpm’ (patches from Andrew)
- dax/kmem: use a single static memory group for a single probed unit
- mm/memory_hotplug: remove nid parameter from remove_memory() and friends
- Merge tag ‘driver-core-5.15-rc1’ of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
- dax: remove bdev_dax_supported
- dax: stub out dax_supported for !CONFIG_FS_DAX
- dax: remove __generic_fsdax_supported
- dax: move the dax_read_lock() locking into dax_supported
- dax: mark dax_get_by_host static
- dax: stop using bdevname
- Merge branch ‘for-5.14/dax’ into libnvdimm-fixes
- bus: Make remove callback return void
- dax: Ensure errno is returned from dax_direct_access
- fs: remove noop_set_page_dirty()
- dax: avoid -Wempty-body warnings
- Merge branch ‘work.misc’ of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
- Merge branch ‘for-5.12/dax’ into for-5.12/libnvdimm
- whack-a-mole: don’t open-code iminor/imajor
- dax-device: Make remove callback return void
- device-dax: Drop an empty .remove callback
- device-dax: Fix error path in dax_driver_register
- device-dax: Properly handle drivers without remove callback
- device-dax: Prevent registering drivers without probe callback
- libnvdimm: Make remove callback return void
- device-dax: Fix default return code of range_parse()
- Merge tag ’libnvdimm-for-5.11’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- device-dax: Avoid an unnecessary check in alloc_dev_dax_range()
- device-dax: Fix range release
- device-dax: delete a redundancy check in dev_dax_validate_align()
- device-dax/core: Fix memory leak when rmmod dax.ko
- device-dax/pmem: Convert comma to semicolon
- vm_ops: rename .split() callback to .may_split()
- device-dax/kmem: use struct_size()
- mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports
- Merge tag ‘fuse-update-5.10’ of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse
- mm/memory_hotplug: prepare passing flags to add_memory() and friends
- device-dax/kmem: fix resource release
- device-dax: add a range mapping allocation attribute
- dax/hmem: introduce dax_hmem.region_idle parameter
- device-dax: add an ‘align’ attribute
- device-dax: make align a per-device property
- device-dax: introduce ‘mapping’ devices
- device-dax: add dis-contiguous resource support
- mm/memremap_pages: support multiple ranges per invocation
- mm/memremap_pages: convert to ‘struct range’
- device-dax: add resize support
- device-dax: introduce ‘seed’ devices
- device-dax: introduce ‘struct dev_dax’ typed-driver operations
- device-dax: add an allocation interface for device-dax instances
- device-dax/kmem: replace release_resource() with release_mem_region()
- device-dax/kmem: move resource name tracking to drvdata
- device-dax/kmem: introduce dax_kmem_range()
- device-dax: make pgmap optional for instance creation
- device-dax: move instance creation parameters to ‘struct dev_dax_data’
- device-dax: drop the dax_region.pfn_flags attribute
- ACPI: HMAT: attach a device for each soft-reserved range
- ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device
- dax: Fix stack overflow when mounting fsdax pmem device
- dm: Call proper helper to determine dax support
- Merge tag ’libnvdimm-fix-v5.9-rc5’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- dax: Modify bdev_dax_pgoff() to handle NULL bdev
- Merge tag ‘for-linus-5.9-rc4-tag’ of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
- memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC
- dax: fix detection of dax support for non-persistent memory block devices
- dax: do not print error message for non-persistent memory block device
- Merge tag ’libnvdimm-for-5.9’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- drivers/dax: Expand lock scope to cover the use of addresses
- dax: print error message by pr_info() in __generic_fsdax_supported()
- block: remove the bd_queue field from struct block_device
- device-dax: add memory via add_memory_driver_managed()
- vfs: track per-sb writeback errors and report them to syncfs
- device-dax: don’t leak kernel memory to user space after unloading kmem
- dax: Move mandatory ->zero_page_range() check in alloc_dax()
- dax, pmem: Add a dax operation zero_page_range
- dax: Get rid of fs_dax_get_by_host() helper
- Merge tag ’libnvdimm-for-5.5’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- dax: Add numa_node to the default device-dax attributes
- dax: Simplify root read-only definition for the ‘resource’ attribute
- dax: Create a dax device_type
- libnvdimm/namespace: Differentiate between probe mapping and runtime mapping
- device-dax: Add a driver for “hmem” devices
- dax: Fix alloc_dax_region() compile warning
- Merge branch ‘work.mount0’ of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
- Merge tag ‘dax-for-5.3’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge tag ’libnvdimm-for-5.3’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- device-dax: “Hotremove” persistent memory that is used like normal RAM
- device-dax: fix memory and resource leak if hotplug fails
- libnvdimm: add dax_dev sync flag
- device-dax: use the dev_pagemap internal refcount
- memremap: pass a struct dev_pagemap to ->kill and ->cleanup
- memremap: move dev_pagemap callbacks into a separate structure
- memremap: validate the pagemap type passed to devm_memremap_pages
- device-dax: Add a ‘resource’ attribute
- mm/devm_memremap_pages: fix final page put race
- treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295
- vfs: Convert dax to use the new mount API
- mount_pseudo(): drop ’name’ argument, switch to d_make_root()
- Merge tag ’libnvdimm-fixes-5.2-rc2’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- treewide: Add SPDX license identifier - Makefile/Kconfig
- device-dax: Drop register_filesystem()
- dax: Arrange for dax_supported check to span multiple devices
- Merge tag ’libnvdimm-fixes-5.2-rc1’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses
- drivers/dax: Allow to include DEV_DAX_PMEM as builtin
- dax: make use of ->free_inode()
- dax/pmem: Fix whitespace in dax_pmem
- Merge tag ‘devdax-for-5.1’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- device-dax: “Hotplug” persistent memory for use like normal RAM
- device-dax: Add a ‘modalias’ attribute to DAX ‘bus’ devices
- dax: Check the end of the block-device capacity with dax_direct_access()
- device-dax: Add a ’target_node’ attribute
- device-dax: Auto-bind device after successful new_id
- acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node
- device-dax: Add /sys/class/dax backwards compatibility
- device-dax: Add support for a dax override driver
- device-dax: Move resource pinning+mapping into the common driver
- device-dax: Introduce bus + driver model
- device-dax: Start defining a dax bus model
- device-dax: Remove multi-resource infrastructure
- device-dax: Kill dax_region base
- device-dax: Kill dax_region ida
- mm, devm_memremap_pages: fix shutdown handling
- device-dax: Add missing address_space_operations
- drivers/dax/device.c: convert variable to vm_fault_t type
- Merge tag ’libnvdimm-for-4.19_dax-memory-failure’ of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge tag ’libnvdimm-for-4.19_misc’ of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm
- dax: remove VM_MIXEDMAP for fsdax and device dax
- device-dax: avoid hang on error before devm_memremap_pages()
- dax/super: Do not request a pointer kaddr when not required
- device-dax: Set page->index
- device-dax: Enable page_mapping()
- device-dax: Convert to vmf_insert_mixed and vm_fault_t
- Merge tag ’libnvdimm-fixes-4.18-rc5’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- dev-dax: check_vma: ratelimit dev_info-s
- dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
- Merge tag ’libnvdimm-for-4.18’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge branch ‘for-4.18/mcsafe’ into libnvdimm-for-next
- Merge branch ‘for-4.18/dax’ into libnvdimm-for-next
- Merge tag ‘overflow-v4.18-rc1’ of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
- treewide: Use struct_size() for kmalloc()-family
- dax: Use dax_write_cache* helpers
- dax: change bdev_dax_supported() to support boolean returns
- fs: allow per-device dax status checking for filesystems
- dax: Introduce a ->copy_to_iter dax operation
- mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS
- device-dax: allow MAP_SYNC to succeed
- Merge tag ’libnvdimm-for-4.17’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge branch ‘for-4.17/dax’ into libnvdimm-for-next
- device-dax: implement ->pagesize() for smaps to report MMUPageSize
- dax: introduce CONFIG_DAX_DRIVER
- dax: store pfns in the radix
- device-dax: use module_nd_driver
- device-dax: remove redundant func in dev_dbg
- dax: ->direct_access does not sleep anymore
- Merge branch ‘for-4.16/dax’ into libnvdimm-for-next
- device-dax: Fix trailing semicolon
- dax: require ‘struct page’ by default for filesystem dax
- memremap: change devm_memremap_pages interface to use struct dev_pagemap
- device-dax: implement ->split() to catch invalid munmap attempts
- Merge tag ’libnvdimm-for-4.15’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge branch ‘for-4.15/dax’ into libnvdimm-for-next
- dax: fix general protection fault in dax_alloc_inode
- dax: stop requiring a live device for dax_flush()
- dax: quiet bdev_dax_supported()
- License cleanup: add SPDX GPL-2.0 license identifier to files with no license
- dev/dax: fix uninitialized variable build warning
- dax: pr_err() strings should end with newlines
- Merge tag ‘for-4.14/dm-changes’ of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
- dax: remove the pmem_dax_ops->flush abstraction
- dax: fix FS_DAX=n BLOCK=y compilation
- dax: introduce a fs_dax_get_by_bdev() helper
- Merge tag ‘for-4.13/dm-fixes’ of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
- dm, dax: Make sure dm_dax_flush() is called if device supports it
- device-dax: fix sysfs duplicate warnings
- device-dax: fix ‘passing zero to ERR_PTR()’ warning
- Merge tag ‘for-linus-v4.13-2’ of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux
- Merge tag ’libnvdimm-for-4.13’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- fs: new infrastructure for writeback error handling and reporting
- libnvdimm, pmem, dax: export a cache control attribute
- dax: convert to bitmask for flags
- dax: remove default copy_from_iter fallback
- dm: add ->flush() dax operation support
- dm: add ->copy_from_iter() dax operation support
- device-dax: fix ‘dax’ device filesystem inode destruction crash
- dax: fix false CONFIG_BLOCK dependency
- Merge branch ’libnvdimm-fixes’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- device-dax: kill NR_DEV_DAX
- block, dax: move “select DAX” from BLOCK to FS_DAX
- device-dax: Tell kbuild DEV_DAX_PMEM depends on DEV_DAX
- Merge tag ’libnvdimm-for-4.12’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge branch ‘for-4.12/dax’ into libnvdimm-for-next
- Merge tag ‘char-misc-4.12-rc1’ of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
- Merge branch ‘x86-mm-for-linus’ of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
- device-dax: fix sysfs attribute deadlock
- mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash
- dax: introduce dax_direct_access()
- pmem: add dax_operations support
- dax: introduce dax_operations
- dax: add a facility to lookup a dax device by ‘host’ device name
- dax: refactor dax-fs into a generic provider of ‘struct dax_device’ instances
- device-dax: rename ‘dax_dev’ to ‘dev_dax’
- device-dax: improve fault handler debug output
- device-dax: fix dax_dev_huge_fault() unknown fault size handling
- Merge branch ‘for-4.11/libnvdimm’ into for-4.12/dax
- device-dax, tools/testing/nvdimm: enable device-dax with mock resources
- device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation
- Merge 4.11-rc4 into char-misc-next
- device-dax: utilize new cdev_device_add helper function
- device-dax: fix cdev leak
- device-dax: fix debug output typo
- device-dax: fix pud fault fallback handling
- device-dax: fix pmd/pte fault fallback handling
- sched/headers: Prepare to remove the <linux/magic.h> include from <linux/sched/task_stack.h>
- mm: replace FAULT_FLAG_SIZE with parameter to huge_fault
- dax: support for transparent PUD pages for device DAX
- mm,fs,dax: change ->pmd_fault to ->huge_fault
- mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf
- mm, dax: change pmd_fault() to take only vmf parameter
- mm, dax: make pmd_fault() and friends be the same as fault()
- Merge tag ’libnvdimm-for-4.10’ of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
- Merge branch ‘for-4.10/libnvdimm’ into libnvdimm-for-next
- dax: add region ‘id’, ‘size’, and ‘align’ attributes
- mm: use vmf->address instead of of vmf->virtual_address
- device-dax: fix private mapping restriction, permit read-only
- libnvdimm: use consistent naming for request_mem_region()
- device-dax: fail all private mapping attempts
- device-dax: check devm_nsio_enable() return value
- device-dax: fix percpu_ref_exit ordering
- nvdimm: make CONFIG_NVDIMM_DAX ‘bool’
- Merge branch ‘for-4.9/dax’ into libnvdimm-for-next
- dax: use correct dev_t value
- dax: convert devm_create_dax_dev to PTR_ERR
- dax: fix mapping size check
- dax: fix device-dax region base
- dax: check resource alignment at dax region/device create
- dax: unmap/truncate on device shutdown
- dax: define a unified inode/address_space for device-dax mappings
- dax: convert to the cdev api
- dax: embed a struct device in dax_dev
- dax: rename fops from dax_dev_ to dax_
- dax: reorder dax_fops function definitions
- dax: cleanup needlessly global symbol warnings
- dax: use devm_add_action_or_reset()
- /dev/dax, core: file operations and dax-mmap
- /dev/dax, pmem: direct access to persistent memory