linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] cxl/hdm: dev_warn() on unsupported mixed mode decoder
@ 2023-02-18  1:38 alison.schofield
  2023-02-18  3:17 ` Verma, Vishal L
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: alison.schofield @ 2023-02-18  1:38 UTC (permalink / raw)
  To: Dan Williams, Ira Weiny, Vishal Verma, Dave Jiang, Ben Widawsky
  Cc: Alison Schofield, linux-cxl, linux-kernel

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(-)

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
-- 
2.37.3


^ permalink raw reply related	[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: Verma, Vishal L @ 2023-02-18  3:17 UTC (permalink / raw)
  To: Williams, Dan J, Schofield, Alison, Jiang, Dave, bwidawsk, Weiny, Ira
  Cc: linux-cxl, linux-kernel

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

end of thread, other threads:[~2023-02-21 17:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).