mirror of https://github.com/torvalds/linux.git
cxl: Adjust extended linear cache failure emission in cxl_acpi
The cxl_acpi module spams "Extended linear cache calculation failed" when the hmat memory target is not found for a node. This is normal when the memory target does not contain extended linear cache attributes. Adjust cxl_acpi_set_cache_size() to just return 0 if error is returned from hmat_get_extended_linear_cache_size(). That is the only error returned from hmat_get_extended_linear_cache_size() as -ENOENT. Also remove the check for -EOPNOTSUPP in cxl_setup_extended_linear_cache() since that errno is never returned by cxl_acpi_set_cache_size(). [dj: Flipped minor return logic suggested by Jonathan ] Suggested-by: Dan Williams <dan.j.williams@intel.com> Reviewed-by: Alison Schofield <alison.schofield@intel.com> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Link: https://patch.msgid.link/20251003185509.3215900-1-dave.jiang@intel.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
This commit is contained in:
parent
6146a0f1df
commit
f0c5d3bc28
|
|
@ -353,7 +353,7 @@ static int cxl_acpi_set_cache_size(struct cxl_root_decoder *cxlrd)
|
|||
|
||||
rc = hmat_get_extended_linear_cache_size(&res, nid, &cache_size);
|
||||
if (rc)
|
||||
return rc;
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* The cache range is expected to be within the CFMWS.
|
||||
|
|
@ -378,21 +378,18 @@ static void cxl_setup_extended_linear_cache(struct cxl_root_decoder *cxlrd)
|
|||
int rc;
|
||||
|
||||
rc = cxl_acpi_set_cache_size(cxlrd);
|
||||
if (!rc)
|
||||
return;
|
||||
|
||||
if (rc != -EOPNOTSUPP) {
|
||||
if (rc) {
|
||||
/*
|
||||
* Failing to support extended linear cache region resize does not
|
||||
* Failing to retrieve extended linear cache region resize does not
|
||||
* prevent the region from functioning. Only causes cxl list showing
|
||||
* incorrect region size.
|
||||
*/
|
||||
dev_warn(cxlrd->cxlsd.cxld.dev.parent,
|
||||
"Extended linear cache calculation failed rc:%d\n", rc);
|
||||
}
|
||||
"Extended linear cache retrieval failed rc:%d\n", rc);
|
||||
|
||||
/* Ignoring return code */
|
||||
cxlrd->cache_size = 0;
|
||||
/* Ignoring return code */
|
||||
cxlrd->cache_size = 0;
|
||||
}
|
||||
}
|
||||
|
||||
DEFINE_FREE(put_cxlrd, struct cxl_root_decoder *,
|
||||
|
|
|
|||
Loading…
Reference in New Issue