cxl/trace: Correct DPA field masks for general_media & dram events
authorAlison Schofield <alison.schofield@intel.com>
Tue, 30 Apr 2024 17:28:03 +0000 (10:28 -0700)
committerDave Jiang <dave.jiang@intel.com>
Tue, 30 Apr 2024 19:24:26 +0000 (12:24 -0700)
commit2042d11cb57b7e0cbda7910e5ff80e9e8bf0ae17
treef363227c3342e114b23a8f9837c3b3f44f8e826a
parente67572cd2204894179d89bd7b984072f19313b03
cxl/trace: Correct DPA field masks for general_media & dram events

The length of Physical Address in General Media and DRAM event
records is 64-bit, so the field mask for extracting the DPA should
be 64-bit also, otherwise the trace event reports DPA's with the
upper 32 bits of a DPA address masked off. If users do DPA-to-HPA
translations this could lead to incorrect page retirement decisions.

Use GENMASK_ULL() for CXL_DPA_MASK to get all the DPA address bits.

Tidy up CXL_DPA_FLAGS_MASK by using GENMASK() to only mask the exact
flag bits.

These bits are defined as part of the event record physical address
descriptions of General Media and DRAM events in CXL Spec 3.1
Section 8.2.9.2 Events.

Fixes: d54a531a430b ("cxl/mem: Trace General Media Event Record")
Co-developed-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/2867fc43c57720a4a15a3179431829b8dbd2dc16.1714496730.git.alison.schofield@intel.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
drivers/cxl/core/trace.h