Re: [PATCH v16 17/18] PCI/CXL: Restore CXL state after CXL bus reset
From: Srirangan Madhavan
Date: Thu Nov 05 2026 - 11:59:07 EST
On 10/30/26 2:22 AM, Richard Cheng wrote:
+ rc = cxl_hdm_cache_copy_decoders(&pdev->hdm, snapshot);Hi Srirangan,
+ if (!rc) {
+ rc = pci_cxl_restore_state(pdev, snapshot, &command);
+ }
Looks like BME is going to be restored here?
The caller haven't unblock IOMMU, if we enable BME first the requesst will hit the
blocking domain.
I think we should enable BME after IOMMU restoration.
Thank you. Fixed this.
In v17 cxl_restore_state_after_pci_reset() leaves PCI_COMMAND
disabled and returns the saved value. cxl_reset_bus_function() calls the
new cxl_restore_command_after_pci_reset() after pci_dev_reset_iommu_done(), so bus mastering is enabled only once the
IOMMU translates again.
--
Regards,
Srirangan