Skip to content

Commit 5b6031c

Browse files
liming011davejiang
authored andcommitted
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: Alison Schofield <alison.schofield@intel.com> Signed-off-by: Li Ming <ming.li@zohomail.com> Tested-by: Shiju Jose <shiju.jose@huawei.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Reviewed-by: Alison Schofield <alison.schofield@intel.com> Link: https://patch.msgid.link/20250711032357.127355-2-ming.li@zohomail.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
1 parent ac0fe6a commit 5b6031c

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

drivers/cxl/core/core.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ int cxl_dpa_alloc(struct cxl_endpoint_decoder *cxled, u64 size);
8080
int cxl_dpa_free(struct cxl_endpoint_decoder *cxled);
8181
resource_size_t cxl_dpa_size(struct cxl_endpoint_decoder *cxled);
8282
resource_size_t cxl_dpa_resource_start(struct cxl_endpoint_decoder *cxled);
83+
bool cxl_resource_contains_addr(const struct resource *res, const resource_size_t addr);
8384

8485
enum cxl_rcrb {
8586
CXL_RCRB_DOWNSTREAM,

drivers/cxl/core/hdm.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,13 @@ resource_size_t cxl_dpa_resource_start(struct cxl_endpoint_decoder *cxled)
547547
return base;
548548
}
549549

550+
bool cxl_resource_contains_addr(const struct resource *res, const resource_size_t addr)
551+
{
552+
struct resource _addr = DEFINE_RES_MEM(addr, 1);
553+
554+
return resource_contains(res, &_addr);
555+
}
556+
550557
int cxl_dpa_free(struct cxl_endpoint_decoder *cxled)
551558
{
552559
struct cxl_port *port = cxled_to_port(cxled);

0 commit comments

Comments
 (0)