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;

Reply via email to