[PATCH v2 0/3] hw/cxl: Fix decoder commit and uncommit handling

Jonathan Cameron via posted 3 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230421135906.3515-1-Jonathan.Cameron@huawei.com
Maintainers: Jonathan Cameron <jonathan.cameron@huawei.com>, Fan Ni <fan.ni@samsung.com>
hw/cxl/cxl-component-utils.c | 14 ++++++++------
hw/mem/cxl_type3.c           | 28 +++++++++++++++++++++++++---
2 files changed, 33 insertions(+), 9 deletions(-)
[PATCH v2 0/3] hw/cxl: Fix decoder commit and uncommit handling
Posted by Jonathan Cameron via 1 year ago
v2:
- Split dropping the transaction guards out as precursor (Phillipe)
- Picked up tags

Issue reported in discussion of:
https://lore.kernel.org/all/20230228224014.1402545-1-fan.ni@samsung.com/

The committed bit for HDM decoders is expected reset when commit transitions
from 1->0.  Whilst looking at that it was noticed that hardware was resetting
the commit bit which is not an option allowed by the CXL spec.

In common with many other areas the code did not take into account
big endian architectures, so fix that whilst we are here.

Note testing this exposed a kernel bug around repeated attempts to clear
a decoder out of order. That's been reported but not yet fixed.

Jonathan Cameron (3):
  hw/cxl: drop pointless memory_region_transaction_guards
  hw/cxl: Fix endian handling for decoder commit.
  hw/cxl: Fix incorrect reset of commit and associated clearing of
    committed.

 hw/cxl/cxl-component-utils.c | 14 ++++++++------
 hw/mem/cxl_type3.c           | 28 +++++++++++++++++++++++++---
 2 files changed, 33 insertions(+), 9 deletions(-)

-- 
2.37.2