* Re: [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder
2023-02-18 1:38 [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder alison.schofield
@ 2023-02-18 3:17 ` Verma, Vishal L
2023-02-20 14:31 ` Jonathan Cameron
2023-02-21 17:14 ` Dave Jiang
2 siblings, 0 replies; 4+ messages in thread
From: Verma, Vishal L @ 2023-02-18 3:17 UTC (permalink / raw)
To: Williams, Dan J, Schofield, Alison, Jiang, Dave,
bwidawsk@kernel.org, Weiny, Ira
Cc: linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org
On Fri, 2023-02-17 at 17:38 -0800, alison.schofield@intel.com wrote:
> From: Alison Schofield <alison.schofield@intel.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@intel.com>
> Signed-off-by: Alison Schofield <alison.schofield@intel.com>
> ---
> drivers/cxl/core/hdm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Looks good,
Reviewed-by: Vishal Verma <vishal.l.verma@intel.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
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder
2023-02-18 1:38 [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder alison.schofield
2023-02-18 3:17 ` Verma, Vishal L
@ 2023-02-20 14:31 ` Jonathan Cameron
2023-02-21 17:14 ` Dave Jiang
2 siblings, 0 replies; 4+ messages in thread
From: Jonathan Cameron @ 2023-02-20 14:31 UTC (permalink / raw)
To: alison.schofield
Cc: Dan Williams, Ira Weiny, Vishal Verma, Dave Jiang, Ben Widawsky,
linux-cxl, linux-kernel
On Fri, 17 Feb 2023 17:38:34 -0800
alison.schofield@intel.com wrote:
> From: Alison Schofield <alison.schofield@intel.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@intel.com>
> Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Makes sense.
FWIW
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.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
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder
2023-02-18 1:38 [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder alison.schofield
2023-02-18 3:17 ` Verma, Vishal L
2023-02-20 14:31 ` Jonathan Cameron
@ 2023-02-21 17:14 ` Dave Jiang
2 siblings, 0 replies; 4+ messages in thread
From: Dave Jiang @ 2023-02-21 17:14 UTC (permalink / raw)
To: alison.schofield, Dan Williams, Ira Weiny, Vishal Verma,
Ben Widawsky
Cc: linux-cxl, linux-kernel
On 2/17/23 6:38 PM, alison.schofield@intel.com wrote:
> From: Alison Schofield <alison.schofield@intel.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@intel.com>
> Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.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
^ permalink raw reply [flat|nested] 4+ messages in thread