Symptom: CXL accelerator returns stale data from host memory. CXL.io works fine. Driver uses CXL.cache for data buffers.
Verify the selected CXL revision/device type and that platform firmware/software enabled the expected cache path and region attributes.
Trace the relevant host/device coherence messages, ownership state and completion rather than asking only whether coherency is 'bidirectional'.
Run a CPU-write → publication/synchronisation → device-read litmus with defined initial values and ownership steps.
Separate CXL.cache traffic from CXL.io in analyzer.
Check shareability/domain config for the buffer region.
Treating all CXL as PCIe DMA.
Mixing .io and .cache debug without separating traffic types.
Assuming one BIOS toggle fully defines cache/memory enablement, region attributes and software ownership.