mbox series

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

Message ID 20230421135906.3515-1-Jonathan.Cameron@huawei.com
Headers show
Series hw/cxl: Fix decoder commit and uncommit handling | expand

Message

Jonathan Cameron April 21, 2023, 1:59 p.m. UTC
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(-)