summaryrefslogtreecommitdiff
path: root/drivers/cxl/cxl.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2022-05-24 22:04:58 +0300
committerDan Williams <dan.j.williams@intel.com>2022-07-22 03:19:23 +0300
commit0c33b3935265cd5aafa18904363bab0c545adeee (patch)
tree71c79965e07a1ccec583a3e52b4c66067ce2a539 /drivers/cxl/cxl.h
parent2c8669033f16f5d791e10a5bdd42e39c7380da57 (diff)
downloadlinux-0c33b3935265cd5aafa18904363bab0c545adeee.tar.xz
cxl/hdm: Track next decoder to allocate
The CXL specification enforces that endpoint decoders are committed in hw instance id order. In preparation for adding dynamic DPA allocation, record the hw instance id in endpoint decoders, and enforce allocations to occur in hw instance id order. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/165784328827.1758207.9627538529944559954.stgit@dwillia2-xfh.jf.intel.com Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/cxl/cxl.h')
-rw-r--r--drivers/cxl/cxl.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h
index afaa76f065f9..14e1c2c08e09 100644
--- a/drivers/cxl/cxl.h
+++ b/drivers/cxl/cxl.h
@@ -333,6 +333,7 @@ struct cxl_nvdimm {
* @dports: cxl_dport instances referenced by decoders
* @endpoints: cxl_ep instances, endpoints that are a descendant of this port
* @decoder_ida: allocator for decoder ids
+ * @hdm_end: track last allocated HDM decoder instance for allocation ordering
* @component_reg_phys: component register capability base address (optional)
* @dead: last ep has been removed, force port re-creation
* @depth: How deep this port is relative to the root. depth 0 is the root.
@@ -347,6 +348,7 @@ struct cxl_port {
struct list_head dports;
struct list_head endpoints;
struct ida decoder_ida;
+ int hdm_end;
resource_size_t component_reg_phys;
bool dead;
unsigned int depth;