diff options
Diffstat (limited to 'drivers/cxl/core/hdm.c')
| -rw-r--r-- | drivers/cxl/core/hdm.c | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c index 7d97790b893d..784843fa2a22 100644 --- a/drivers/cxl/core/hdm.c +++ b/drivers/cxl/core/hdm.c @@ -319,8 +319,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;  	} @@ -519,8 +519,7 @@ int cxl_dpa_alloc(struct cxl_endpoint_decoder *cxled, unsigned long long size)  	if (size > avail) {  		dev_dbg(dev, "%pa exceeds available %s capacity: %pa\n", &size, -			cxled->mode == CXL_DECODER_RAM ? "ram" : "pmem", -			&avail); +			cxl_decoder_mode_name(cxled->mode), &avail);  		rc = -ENOSPC;  		goto out;  	} @@ -888,8 +887,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,  |