diff options
author | Ira Weiny <ira.weiny@intel.com> | 2021-08-10 20:57:59 +0200 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2021-08-10 20:57:59 +0200 |
commit | f847502ad8e3299e7ad256aa0bd7eaf184646117 (patch) | |
tree | c36f2992630f1d6ec8bd6c12ccd926af02e00a41 /drivers/cxl/cxlmem.h | |
parent | cxl/pci: Store memory capacity values (diff) | |
download | linux-f847502ad8e3299e7ad256aa0bd7eaf184646117.tar.xz linux-f847502ad8e3299e7ad256aa0bd7eaf184646117.zip |
cxl/mem: Account for partitionable space in ram/pmem ranges
Memory devices may specify volatile only, persistent only, and
partitionable space which when added together result in a total capacity.
If Identify Memory Device.Partition Alignment != 0 the device supports
partitionable space. This partitionable space can be split between
volatile and persistent space. The total volatile and persistent sizes
are reported in Get Partition Info. ie
active volatile memory = volatile only + partitionable volatile
active persistent memory = persistent only + partitionable persistent
Define cxl_mem_get_partition(), check for partitionable support, and use
cxl_mem_get_partition() if applicable.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/cxl/cxlmem.h')
-rw-r--r-- | drivers/cxl/cxlmem.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h index 22344fda8ca5..6c0b1e2ea97c 100644 --- a/drivers/cxl/cxlmem.h +++ b/drivers/cxl/cxlmem.h @@ -99,5 +99,10 @@ struct cxl_mem { u64 volatile_only_bytes; u64 persistent_only_bytes; u64 partition_align_bytes; + + u64 active_volatile_bytes; + u64 active_persistent_bytes; + u64 next_volatile_bytes; + u64 next_persistent_bytes; }; #endif /* __CXL_MEM_H__ */ |