On Sun, 11 Oct 2026 07:54:57 +0900 Anisa Su <[email protected]> wrote:
> From: Ira Weiny <[email protected]> > > Dynamic Capacity Devices (DCD) support extent change notifications > through the event log mechanism. The interrupt mailbox commands were > extended in CXL 3.1 to support these notifications. Firmware can't > configure DCD events to be FW controlled but can retain control of > memory events. > > Configure DCD event log interrupts on devices supporting dynamic > capacity. Disable DCD if interrupts are not supported. > > The DCD event log is not drained here. cxl_event_drain_mask() reports > only the logs the driver can service, and the DCD bit is added by > the patch introducing DCD event handling. Until then a DCD interrupt > wakes the event thread, which finds no log it owns and returns. > > Care is taken to preserve the interrupt policy set by the FW if FW first > has been selected by the BIOS. > > Based on an original patch by Navneet Singh. > > Signed-off-by: Ira Weiny <[email protected]> > Co-developed-by: Anisa Su <[email protected]> > Signed-off-by: Anisa Su <[email protected]> > Tested-by: Wonjae Lee <[email protected]> > Tested-by: Junhee Park <[email protected]> > Tested-by: Heesoo Kim <[email protected]> > One really minor thing below. Up to you on whether you change it even if you do respin! Reviewed-by: Jonathan Cameron <[email protected]> > static bool cxl_event_int_is_fw(u8 setting) > { > u8 mode = FIELD_GET(CXLDEV_EVENT_INT_MODE_MASK, setting); > @@ -651,46 +721,90 @@ static bool cxl_event_fw_owns_mem_logs(struct > cxl_event_interrupt_policy *policy > static int cxl_event_config(struct pci_host_bridge *host_bridge, > struct cxl_memdev_state *mds, bool irq_avail) > { > - struct cxl_event_interrupt_policy policy; > + struct cxl_event_interrupt_policy policy = { 0 }; Trivial but in earlier patch you used {}; for the bitmap. They are equivalent (with modern compilers + the options the kernel uses) but consistency would nice if you do respin. Not major enough to justify doing that though! I think we already have a mix in CXL so this isn't really making it worse. Jonathan > + bool native_cxl = host_bridge->native_cxl_error;

