diff mbox series

cxl/hdm: Add debug message for invalid interleave granularity

Message ID 20240402061016.388408-1-ying.huang@intel.com
State Accepted
Headers show
Series cxl/hdm: Add debug message for invalid interleave granularity | expand

Commit Message

Huang Ying April 2, 2024, 6:10 a.m. UTC
There's no debug message for invalid interleave granularity.  This
makes it hard to debug related bugs.  So, this is added in this patch.

Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
---
 drivers/cxl/core/hdm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Jonathan Cameron April 3, 2024, 3:43 p.m. UTC | #1
On Tue,  2 Apr 2024 14:10:16 +0800
Huang Ying <ying.huang@intel.com> wrote:

> There's no debug message for invalid interleave granularity.  This
> makes it hard to debug related bugs.  So, this is added in this patch.
> 
> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
That is indeed odd given similar code around it.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> ---
>  drivers/cxl/core/hdm.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
> index 7d97790b893d..973a27543ed5 100644
> --- a/drivers/cxl/core/hdm.c
> +++ b/drivers/cxl/core/hdm.c
> @@ -888,8 +888,12 @@ static int init_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld,
>  	}
>  	rc = eig_to_granularity(FIELD_GET(CXL_HDM_DECODER0_CTRL_IG_MASK, ctrl),
>  				 &cxld->interleave_granularity);
> -	if (rc)
> +	if (rc) {
> +		dev_warn(&port->dev,
> +			 "decoder%d.%d: Invalid interleave granularity (ctrl: %#x)\n",
> +			 port->id, cxld->id, ctrl);
>  		return rc;
> +	}
>  
>  	dev_dbg(&port->dev, "decoder%d.%d: range: %#llx-%#llx iw: %d ig: %d\n",
>  		port->id, cxld->id, cxld->hpa_range.start, cxld->hpa_range.end,
diff mbox series

Patch

diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
index 7d97790b893d..973a27543ed5 100644
--- a/drivers/cxl/core/hdm.c
+++ b/drivers/cxl/core/hdm.c
@@ -888,8 +888,12 @@  static int init_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld,
 	}
 	rc = eig_to_granularity(FIELD_GET(CXL_HDM_DECODER0_CTRL_IG_MASK, ctrl),
 				 &cxld->interleave_granularity);
-	if (rc)
+	if (rc) {
+		dev_warn(&port->dev,
+			 "decoder%d.%d: Invalid interleave granularity (ctrl: %#x)\n",
+			 port->id, cxld->id, ctrl);
 		return rc;
+	}
 
 	dev_dbg(&port->dev, "decoder%d.%d: range: %#llx-%#llx iw: %d ig: %d\n",
 		port->id, cxld->id, cxld->hpa_range.start, cxld->hpa_range.end,