2024-04-02 06:11:08

by Huang, Ying

[permalink] [raw]
Subject: [PATCH] cxl/hdm: Add debug message for invalid interleave granularity

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" <[email protected]>
---
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,
--
2.39.2



2024-04-03 16:16:48

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] cxl/hdm: Add debug message for invalid interleave granularity

On Tue, 2 Apr 2024 14:10:16 +0800
Huang Ying <[email protected]> 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" <[email protected]>
That is indeed odd given similar code around it.

Reviewed-by: Jonathan Cameron <[email protected]>

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