[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0b4ec83c92cf850b111c248dafdbc2d9439445d0.camel@intel.com>
Date: Sat, 18 Feb 2023 03:17:58 +0000
From: "Verma, Vishal L" <vishal.l.verma@...el.com>
To: "Williams, Dan J" <dan.j.williams@...el.com>,
"Schofield, Alison" <alison.schofield@...el.com>,
"Jiang, Dave" <dave.jiang@...el.com>,
"bwidawsk@...nel.org" <bwidawsk@...nel.org>,
"Weiny, Ira" <ira.weiny@...el.com>
CC: "linux-cxl@...r.kernel.org" <linux-cxl@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder
On Fri, 2023-02-17 at 17:38 -0800, alison.schofield@...el.com wrote:
> From: Alison Schofield <alison.schofield@...el.com>
>
> A mixed mode decoder is programmed with device physical addresses
> that span both ram and pmem partitions of a memdev.
>
> Linux does not support mixed mode decoders. The driver rejects
> sysfs writes that try to set decoder mode to mixed, and if a
> resource bieng allocated is not wholly contained in either the
> pmem or ram partition of a memdev, it is also rejected. Basically,
> the CXL region driver is not going to create regions with mixed
> mode decoders, but the BIOS could.
>
> If the kernel driver sees the mixed mode decoder, it will fail to
> enable the region, and emit a dev_dbg() message.
>
> A dev_dbg() is not noisy enough in this case. Change the message
> to be a dev_warn() that explicitly says mixed mode is not supported.
>
> Suggested-by: Dan Williams <dan.j.williams@...el.com>
> Signed-off-by: Alison Schofield <alison.schofield@...el.com>
> ---
> drivers/cxl/core/hdm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Looks good,
Reviewed-by: Vishal Verma <vishal.l.verma@...el.com>
>
> diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
> index 45deda18ed32..9eaf93c8ebb0 100644
> --- a/drivers/cxl/core/hdm.c
> +++ b/drivers/cxl/core/hdm.c
> @@ -294,8 +294,8 @@ static int __cxl_dpa_reserve(struct cxl_endpoint_decoder *cxled,
> else if (resource_contains(&cxlds->ram_res, res))
> cxled->mode = CXL_DECODER_RAM;
> else {
> - dev_dbg(dev, "decoder%d.%d: %pr mixed\n", port->id,
> - cxled->cxld.id, cxled->dpa_res);
> + dev_warn(dev, "decoder%d.%d: %pr mixed mode not supported\n",
> + port->id, cxled->cxld.id, cxled->dpa_res);
> cxled->mode = CXL_DECODER_MIXED;
> }
>
>
> base-commit: a5fcd228ca1db9810ba1ed461c90b6ee933b9daf
Powered by blists - more mailing lists