[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230220143112.00005678@Huawei.com>
Date: Mon, 20 Feb 2023 14:31:12 +0000
From: Jonathan Cameron <Jonathan.Cameron@...wei.com>
To: <alison.schofield@...el.com>
CC: Dan Williams <dan.j.williams@...el.com>,
Ira Weiny <ira.weiny@...el.com>,
Vishal Verma <vishal.l.verma@...el.com>,
Dave Jiang <dave.jiang@...el.com>,
Ben Widawsky <bwidawsk@...nel.org>,
<linux-cxl@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder
On Fri, 17 Feb 2023 17:38:34 -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>
Makes sense.
FWIW
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@...wei.com>
> ---
> drivers/cxl/core/hdm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> 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