Hi Smita, Tested on QEMU and physical setups - it worked as expected (had to disable ACPI_PRMT/CONFIG_CXL_ATL on our physical system though) Best regards, Tomasz Tested-by: Tomasz Wolski <tomasz.wolski@fujitsu.com>
One additional remark:
I observed one isue unrelated to this patch during tests
on our AMD machine with two CXL physical cards installed.
Region teardown with "destroy-region" fails with "Operation not permitted":
cxl region: destroy_region: region1: failed to reset decode: Operation not permitted
cxl region: decoder_region_action: region1: failed: Operation not permitted
cxl region: region_action: one or more failures, last failure: Operation not permitted
cxl region: cmd_destroy_region: destroyed 0 regions
Region lock is now correctly set by a fix "cxl: Test decoder flags as bitmasks"
(commit 0a70b7cd397e545e926c93715ff6366b67c716f6) but I cannot see any option
how it can be unlocked to proceed with the teardown?
Without the lock I'm able to destroy regions:
>static void cxl_region_setup_flags(struct cxl_region *cxlr,
> struct cxl_decoder *cxld)
>{
> if (cxld->flags & CXL_DECODER_F_LOCK) {
> dev_err(&cxlr->dev, "cxl_region_setup_flags: would lock, flags: %04lx\n", cxld->flags);
> }
> if (test_bit(CXL_DECODER_F_LOCK, &cxld->flags)) {
> dev_err(&cxlr->dev, "cxl_region_setup_flags: setting CXL_DECODER_F_LOCK, flags: %04lx\n", cxld->flags);
> set_bit(CXL_REGION_F_LOCK, &cxlr->flags);
> clear_bit(CXL_REGION_F_NEEDS_RESET, &cxlr->flags);
> }
>
> if (cxld->flags & CXL_DECODER_F_NORMALIZED_ADDRESSING)
> set_bit(CXL_REGION_F_NORMALIZED_ADDRESSING, &cxlr->flags);
>}
[ 5.155997] [ T12] cxl region0: cxl_region_setup_flags: would lock, flags: 0030
..
[ 5.130070] [ T12] cxl region1: cxl_region_setup_flags: would lock, flags: 0030
© 2016 - 2026 Red Hat, Inc.