Commit 5b6031c8 authored by Li Ming's avatar Li Ming Committed by Dave Jiang
Browse files

cxl/core: Introduce a new helper cxl_resource_contains_addr()



In CXL subsystem, many functions need to check an address availability
by checking if the resource range contains the address. Providing a new
helper function cxl_resource_contains_addr() to check if the resource
range contains the input address.

Suggested-by: default avatarAlison Schofield <alison.schofield@intel.com>
Signed-off-by: default avatarLi Ming <ming.li@zohomail.com>
Tested-by: default avatarShiju Jose <shiju.jose@huawei.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarDave Jiang <dave.jiang@intel.com>
Reviewed-by: default avatarJonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: default avatarAlison Schofield <alison.schofield@intel.com>
Link: https://patch.msgid.link/20250711032357.127355-2-ming.li@zohomail.com


Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
parent ac0fe6a5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ int cxl_dpa_alloc(struct cxl_endpoint_decoder *cxled, u64 size);
int cxl_dpa_free(struct cxl_endpoint_decoder *cxled);
resource_size_t cxl_dpa_size(struct cxl_endpoint_decoder *cxled);
resource_size_t cxl_dpa_resource_start(struct cxl_endpoint_decoder *cxled);
bool cxl_resource_contains_addr(const struct resource *res, const resource_size_t addr);

enum cxl_rcrb {
	CXL_RCRB_DOWNSTREAM,
+7 −0
Original line number Diff line number Diff line
@@ -547,6 +547,13 @@ resource_size_t cxl_dpa_resource_start(struct cxl_endpoint_decoder *cxled)
	return base;
}

bool cxl_resource_contains_addr(const struct resource *res, const resource_size_t addr)
{
	struct resource _addr = DEFINE_RES_MEM(addr, 1);

	return resource_contains(res, &_addr);
}

int cxl_dpa_free(struct cxl_endpoint_decoder *cxled)
{
	struct cxl_port *port = cxled_to_port(cxled);