// SPDX-License-Identifier: GPL-2.0

cxl-free-dpa(1)
===============

NAME
----
cxl-free-dpa - release device-physical address space

SYNOPSIS
--------
[verse]
'cxl free-dpa' <mem0> [<mem1>..<memN>] [<options>]

The CXL region provisioning process proceeds in multiple steps. One of
the steps is identifying and reserving the DPA span that each member of
the interleave-set (region) contributes in advance of attaching that
allocation to a region. For development, test, and debug purposes this
command is a helper to find the last allocated decoder on a device and
zero-out / free its DPA allocation.

OPTIONS
-------
<memory device(s)>::
include::memdev-option.txt[]

include::bus-option.txt[]

-d::
--decoder::
	Specify the decoder to free. The CXL specification
	mandates that DPA must be released in the reverse order it was
	allocated. See linkcxl:cxl-reserve-dpa[1]

-t::
--type::
	Constrain the search for "last allocated decoder" to decoders targeting
	the given partition.

-f::
--force::
	The kernel enforces CXL DPA ordering constraints on deallocation events,
	and the tool anticipates those and fails operations that are expected to
	fail without sending them to the kernel. For test purposes, continue to
	attempt "expected to fail" operations to exercise the driver.

-v::
	Turn on verbose debug messages in the library (if libcxl was built with
	logging and debug enabled).

include::../copyright.txt[]

SEE ALSO
--------
linkcxl:cxl-reserve-dpa[1]
