[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <65a98d1bc2dcc_2d43c29495@dwillia2-mobl3.amr.corp.intel.com.notmuch>
Date: Thu, 18 Jan 2024 12:42:03 -0800
From: Dan Williams <dan.j.williams@...el.com>
To: Ira Weiny <ira.weiny@...el.com>, Davidlohr Bueso <dave@...olabs.net>,
Jonathan Cameron <jonathan.cameron@...wei.com>, Dave Jiang
<dave.jiang@...el.com>, Alison Schofield <alison.schofield@...el.com>,
"Vishal Verma" <vishal.l.verma@...el.com>, Dan Williams
<dan.j.williams@...el.com>
CC: <linux-cxl@...r.kernel.org>, <linux-kernel@...r.kernel.org>, Dave Larsen
<davelarsen58@...il.com>, Fan Ni <fan.ni@...sung.com>, Ira Weiny
<ira.weiny@...el.com>
Subject: Re: [PATCH v2] cxl/pci: Skip irq features if MSI/MSI-X are not
supported
Ira Weiny wrote:
> CXL 3.1 Section 3.1.1 states:
>
> "A Function on a CXL device must not generate INTx messages if
> that Function participates in CXL.cache protocol or CXL.mem
> protocols."
>
> The generic CXL memory driver only supports devices which use the
> CXL.mem protocol. The current driver attempts to allocate MSI/MSI-X
> vectors in anticipation of their need for mailbox interrupts or event
> processing. However, the above requirement does not require a device to
> support interrupts, only that they use MSI/MSI-X. For example, a device
> may disable mailbox interrupts and either be configured for firmware
> first or skip event processing and function.
>
> Dave Larsen reported that the following Intel / Agilex card does not
> support interrupts on function 0.
>
> CXL: Intel Corporation Device 0ddb (rev 01) (prog-if 10 [CXL Memory Device (CXL 2.x)])
>
> Rather than fail device probe if interrupts are not supported; flag that
> irqs are not enabled and avoid features which require interrupts.
> Emit messages appropriate for the situation to aid in debugging should
> device behavior be unexpected due to a failure to allocate vectors.
>
> Note that it is possible for a device to have host based event
> processing through polling. However, the driver does not support
> polling and it is not anticipated to be generally required. Leave that
> functionality to a future patch if such a device comes along.
>
> Reported-by: Dave Larsen <davelarsen58@...il.com>
> Reviewed-by: Dave Jiang <dave.jiang@...el.com>
> Reviewed-by: Fan Ni <fan.ni@...sung.com>
> Signed-off-by: Ira Weiny <ira.weiny@...el.com>
> ---
> Changes in v2:
> - [djbw: add reported by and info about the card.]
> - [djbw: skip error reporting in the mailbox case.]
> - [djbw: clean up event message]
> - [iweiny: pick up tags]
> - Link to v1: https://lore.kernel.org/r/20240111-dont-fail-irq-v1-1-802c22a79ecb@intel.com
> ---
> drivers/cxl/pci.c | 26 +++++++++++++++-----------
> 1 file changed, 15 insertions(+), 11 deletions(-)
Looks good, I consider this suitable as post -rc1 material. Will get it
queued once the merge window closes.
Powered by blists - more mailing lists