From nobody Tue Oct 7 18:28:36 2025 Received: from sender4-pp-o94.zoho.com (sender4-pp-o94.zoho.com [136.143.188.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 964F63C01; Tue, 8 Jul 2025 05:16:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.94 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751951805; cv=pass; b=S4JMnK4keBtqSMYc9Ns9r2A/1H8S0wGMH+8GpjwQEnc/Fovfu5n2z+pz/FNg/ePC/VINNdz8G6+E4tIIeM+lUM30EQ9YF2wjzccYRdtYfOV4xlBSGWdlZ1m8HG5oEnsDhilRh6MmuMxpJXed9ZdofJjdag8sLCyGjnwTAvG649g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751951805; c=relaxed/simple; bh=KY/2DFaV1aTZP3Lr1fHxjsGhU89xRUGJpvxl4O/ssLY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kqPit8s5766H5L7NtgJhtT82p1Sxm54VUKoIMnBD7/DQ8BFqiOEueloyO4fUop4mDcWWxKz+61NSOvYR15JKQM6LecfeW5Er9FkiM80S7soc1E8bc4VKEjU8OSYt/kE3HeCmsXgnLLDzgTtDyHVaXSAdD75di4gUcTWRcotE6nE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com; spf=pass smtp.mailfrom=zohomail.com; dkim=pass (1024-bit key) header.d=zohomail.com header.i=ming.li@zohomail.com header.b=VErObh3I; arc=pass smtp.client-ip=136.143.188.94 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zohomail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=zohomail.com header.i=ming.li@zohomail.com header.b="VErObh3I" ARC-Seal: i=1; a=rsa-sha256; t=1751951777; cv=none; d=zohomail.com; s=zohoarc; b=aw3pawn8MtqaQ5cXD5enEJZZCOSw1iNUfKPtn2psQ+e3H6ShNlx3O0sGXQmsB2wHakVU6/MYaLy9j5uSdj+vWRfVo5W56ssb27psBPiRANYo/SCEtdCr2F3GuRJcpXjAitk4cpj9qQPXkicnKCp4D1e1G6g38jA2b3UlprO8RMU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751951777; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=hYBESk6nOP8V4psOWi9bl5fVZVI2OdSjQiQzH+9ACEo=; b=WYAWU8fZYccgrdPO4FKnxsRG1hTCQL+05iFhUuTv/gWpaNklQL/Nlajy+gj/q4c2hJwanvAk8JkA1Bg6VSmSc8znWvlY/cP6fnj5M5CQca1jUxMNy3Do7cwt7r5mF5sYMG73gvkJmTcrunFgKu6YulM/hFyUcAvZzD6cla3zao0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zohomail.com; spf=pass smtp.mailfrom=ming.li@zohomail.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1751951777; s=zm2022; d=zohomail.com; i=ming.li@zohomail.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Feedback-ID:Reply-To; bh=hYBESk6nOP8V4psOWi9bl5fVZVI2OdSjQiQzH+9ACEo=; b=VErObh3ItRqnjMWWnrwIQWAbbMZv1d+e876/cPKCSoJN7HpUKrLMZxQpLJmOEGZt 3UgMUudkFesf32PJLlvmPOOaDRE+iKemoMiFgiNXkB3lGgQj750ugNSArkw6/LnAgWE B9SAmjjzxuoX1izTYMnyz7eySime+o9LG7Pqc3DE= Received: by mx.zohomail.com with SMTPS id 1751951775085411.2607486019855; Mon, 7 Jul 2025 22:16:15 -0700 (PDT) From: Li Ming To: dave@stgolabs.net, jonathan.cameron@huawei.com, dave.jiang@intel.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, shiju.jose@huawei.com Cc: andriy.shevchenko@linux.intel.com, linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org, Li Ming Subject: [PATCH v3 1/3] cxl/core: Introduce a new helper resource_contains_addr() Date: Tue, 8 Jul 2025 13:15:34 +0800 Message-Id: <20250708051536.92119-2-ming.li@zohomail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250708051536.92119-1-ming.li@zohomail.com> References: <20250708051536.92119-1-ming.li@zohomail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Feedback-ID: rr0801122718af00d8b8b4b2bb720d4e590000d230f30d87874be179b99d2c2a6ce5ec2cc059c17b29f91afc:zu080112273ecdcb08181d3f659f7c32a30000ac0634e7386ccdb384c41aa66b68fc188d85d8dd3be87a4460:rf0801122db3f80ea441acb665a4c3c0380000be5df47c785eea47c9e70ac6ecff884ff3a631a9dfea3506e39317c01f5d2c:ZohoMail X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" 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 resource_contains_addr() to check if the resource range contains the input address. Suggested-by: Alison Schofield Signed-off-by: Li Ming Tested-by: Shiju Jose Reviewed-by: Alison Schofield --- drivers/cxl/core/core.h | 1 + drivers/cxl/core/hdm.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/drivers/cxl/core/core.h b/drivers/cxl/core/core.h index 29b61828a847..3798e9047175 100644 --- a/drivers/cxl/core/core.h +++ b/drivers/cxl/core/core.h @@ -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 resource_contains_addr(const struct resource *res, const resource_siz= e_t addr); =20 enum cxl_rcrb { CXL_RCRB_DOWNSTREAM, diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c index ab1007495f6b..701a6a3baa6a 100644 --- a/drivers/cxl/core/hdm.c +++ b/drivers/cxl/core/hdm.c @@ -547,6 +547,14 @@ resource_size_t cxl_dpa_resource_start(struct cxl_endp= oint_decoder *cxled) return base; } =20 +bool resource_contains_addr(const struct resource *res, const resource_siz= e_t addr) +{ + if (res->flags & IORESOURCE_MEM) + return res->start <=3D addr && addr <=3D res->end; + + return false; +} + int cxl_dpa_free(struct cxl_endpoint_decoder *cxled) { struct cxl_port *port =3D cxled_to_port(cxled); --=20 2.34.1 From nobody Tue Oct 7 18:28:36 2025 Received: from sender4-pp-o94.zoho.com (sender4-pp-o94.zoho.com [136.143.188.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E724D18024; Tue, 8 Jul 2025 05:16:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.94 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751951819; cv=pass; b=ely/yAnlQi1cFC2xhnOG4sIs2QCn6AkMTGa4jXkD1Pm13RUwmMcjr8kB4t1vWeHeoPQITytSshuoBRvQnRkEjlaBMpnG1m/V9EISOxdajVoj7ZZlif0YrhL4hiul9UboNgJbKF+5D6ybTziISkr0eKQtXfPZUar31sk1GpB+I6w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751951819; c=relaxed/simple; bh=2ZDuUNShW95ip2f8OVmtVr11lDCch/9BcgH4WefD5XA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=SL5ijmpZsBjpKlIJzKZyIxfIwTAMGavHBvaKxGIavtw8etXkQZvoFUPJj4JzeIsUba6ygsWPfR67KU4R3wKTWWoKtOeXDdaPZY7ttuOWMbPaJGA5N7UP1hMRkYUV3ggq0bXE2dGG8Bxb+6GjUgAFRGXX8BoJQrWwP0sr5GDnsqE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com; spf=pass smtp.mailfrom=zohomail.com; dkim=pass (1024-bit key) header.d=zohomail.com header.i=ming.li@zohomail.com header.b=dQQ5cPLn; arc=pass smtp.client-ip=136.143.188.94 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zohomail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=zohomail.com header.i=ming.li@zohomail.com header.b="dQQ5cPLn" ARC-Seal: i=1; a=rsa-sha256; t=1751951787; cv=none; d=zohomail.com; s=zohoarc; b=RvOBVS+ErrIQmqldb6S22S7BK1sDPtbb7aHoFcsbeDqWAJ3MOSa+SMdvjDSJ60mzl6AdUo2IkUZA5eKi/wJpDrSn9Daut+LNDf68HR+jbNv1mWg6hSOhBb08EyNpwDn1Y7DGpJrQ114p3t58nxhgFIMfb8lW0cfUf1cUM8DOqZE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751951787; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=gGSpLzSd92rRESKOsK2LDU70JTySnKIzYyf8+LC4oQs=; b=hguXxtvJqP/Hms67kGV8VgKx3U3saPrCGPBM0VeZFKdZ3qP/kRDzY0IzOjDtrIJue8iBxUDCTVb508PyAY2+Nb8hMG84XKeV0nB2EoYSqw7J5cQ2X4U/RcDtH8uGz3hADkHQElSmXDhrbD6L7kv38RiId3l57lkcf0Klvi/Z2I8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zohomail.com; spf=pass smtp.mailfrom=ming.li@zohomail.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1751951787; s=zm2022; d=zohomail.com; i=ming.li@zohomail.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Feedback-ID:Reply-To; bh=gGSpLzSd92rRESKOsK2LDU70JTySnKIzYyf8+LC4oQs=; b=dQQ5cPLnc8z96Y92an1j+xB3LikjMfXexgx+7oXwdwwcZ9PwlqfhU9Z17cHTU2xF yok9NuNf+6tA5fFTxDLp8dedgIsl22ib8Ya7cR3h4hG/voK1fkFEsXyDALLSh3uqGM9 tFv7uACDKR+gJY6Myxq5Dz7E9zEx/Nvy2kBli1Yw= Received: by mx.zohomail.com with SMTPS id 1751951785615142.2979915281103; Mon, 7 Jul 2025 22:16:25 -0700 (PDT) From: Li Ming To: dave@stgolabs.net, jonathan.cameron@huawei.com, dave.jiang@intel.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, shiju.jose@huawei.com Cc: andriy.shevchenko@linux.intel.com, linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org, Li Ming Subject: [PATCH v3 2/3] cxl/edac: Fix wrong dpa checking for PPR operation Date: Tue, 8 Jul 2025 13:15:35 +0800 Message-Id: <20250708051536.92119-3-ming.li@zohomail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250708051536.92119-1-ming.li@zohomail.com> References: <20250708051536.92119-1-ming.li@zohomail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Feedback-ID: rr08011227796a996157c9ee9b930be8bf0000fe19a3fcf7a8e254979770caba7678b0e87c6daf2e8a4a179f:zu08011227422916f8c3623d2dd111aa1800008cc4e4604a2dfce80d8b16898719ff9639a007b4b462eeb1bb:rf0801122da5c25905f8dca23101a7b5da0000cc540126a326f38887e353cc2e3e7c73dad3d07cb53515761cd5f21640eeea:ZohoMail X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" DPA 0 is considered invalid in cxl_do_ppr(), but per Table 8-143. "Get Partition Info Output Payload" in CXL r3.2 section 8.2.10.9.2.1 "Get Partition Info(Opcode 4100h)", it mentions that DPA 0 is a valid address of a CXL device. So the correct implementation should be checking if the DPA is in the DPA range of the CXL device rather than checking if the DPA is equal to 0. Fixes: be9b359e056a ("cxl/edac: Add CXL memory device soft PPR control feat= ure") Signed-off-by: Li Ming Tested-by: Shiju Jose Reviewed-by: Shiju Jose Reviewed-by: Alison Schofield Reviewed-by: Dave Jiang --- drivers/cxl/core/edac.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/cxl/core/edac.c b/drivers/cxl/core/edac.c index 623aaa4439c4..1cf65b1538b9 100644 --- a/drivers/cxl/core/edac.c +++ b/drivers/cxl/core/edac.c @@ -1923,8 +1923,11 @@ static int cxl_ppr_set_nibble_mask(struct device *de= v, void *drv_data, static int cxl_do_ppr(struct device *dev, void *drv_data, u32 val) { struct cxl_ppr_context *cxl_ppr_ctx =3D drv_data; + struct cxl_memdev *cxlmd =3D cxl_ppr_ctx->cxlmd; + struct cxl_dev_state *cxlds =3D cxlmd->cxlds; =20 - if (!cxl_ppr_ctx->dpa || val !=3D EDAC_DO_MEM_REPAIR) + if (!resource_contains_addr(&cxlds->dpa_res, cxl_ppr_ctx->dpa) || + val !=3D EDAC_DO_MEM_REPAIR) return -EINVAL; =20 return cxl_mem_perform_ppr(cxl_ppr_ctx); --=20 2.34.1 From nobody Tue Oct 7 18:28:36 2025 Received: from sender4-pp-o94.zoho.com (sender4-pp-o94.zoho.com [136.143.188.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5AEC23CB; Tue, 8 Jul 2025 05:17:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.94 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751951834; cv=pass; b=lHjEg69u4olH6IYzeEWtvxQ2GB444dZlwJX8cqkQBEQdF/AqTBLnWRrUpLLqKqpmMGwFCnrew8P28XDp1db3rxHCeMPvrvzG1JwRcCYDIQOp9rm54uYNgevxsTOqdbS0WjWx5xoX3S4yu/FdzebdSuY/ZrxCvdUULjx1ZozsjY4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751951834; c=relaxed/simple; bh=yqQBLnCWIwzmelNjOqBsAdm2CxKpCnetfezc6JNWm2A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lUa9Ixei0Akwhi/PmE+AF7pVdGEWVbGiELO6gyHQ8UAn2DbGTzEm2+ZpuPQQ1oY0uw305vudHaZJYMmpgv3iiJLZ1Zh5f6EfLKTHn7zdztfUf2IHNKabJwSRGMoJOtBfdWYlXhFan53Jyc4C/n6pYpKcUfEvhzk/wOOonyX+/vQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com; spf=pass smtp.mailfrom=zohomail.com; dkim=pass (1024-bit key) header.d=zohomail.com header.i=ming.li@zohomail.com header.b=CvEaQ9t2; arc=pass smtp.client-ip=136.143.188.94 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zohomail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=zohomail.com header.i=ming.li@zohomail.com header.b="CvEaQ9t2" ARC-Seal: i=1; a=rsa-sha256; t=1751951801; cv=none; d=zohomail.com; s=zohoarc; b=K/gKclbw5EaUYrNOWJglHQN4v+q5KlFxhp3bWXx728qXSvCSYJEJMksoAxd2aOBQnHL7aoWUTUcro0UdaVHdArfIxPOZ6PnCFlRMvkn2T1zJHTuhBQMbzr3FMQeRjMl/QTTJNb0972pyE/MFPluGiAcgPd2p0SQ8gB4oOq5rZBI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751951801; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=0Pmojcacwl6r3Ued+iszIAObwj+kmlNOSKi/S7iYpwc=; b=mJYAQHhCb/W2AevEdd0pgiqgGdvEH74M0wOGrxOXkX6AojriXPJipKEdgb1pT1eNOw0NapNWTcxounhbpY5/PK0YRy7YfTG6HAi0X3I2dsvEz/EoRnkFtljOUO/CLfnsbn7QJBuFbP41EKbcVcrv0f5Ny8kxVauPyGB1Ff92J6Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zohomail.com; spf=pass smtp.mailfrom=ming.li@zohomail.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1751951801; s=zm2022; d=zohomail.com; i=ming.li@zohomail.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Feedback-ID:Reply-To; bh=0Pmojcacwl6r3Ued+iszIAObwj+kmlNOSKi/S7iYpwc=; b=CvEaQ9t27uOQ2Qp0hnBrm4sphlA+go/AxvHFPHvwnysmb0xwYaKsbL2QwoY4qP6R aCeRMQGXPzS9kgwHM5uTIw1yG/9GhgwZ+nL8Vk3Td2XmGJxweHgShjXciBkXtIJWZ6N gPoQM6EcJY5rPrcPcDQaNX87MauVJGKrZu/VY7PA= Received: by mx.zohomail.com with SMTPS id 1751951799043184.00928419554668; Mon, 7 Jul 2025 22:16:39 -0700 (PDT) From: Li Ming To: dave@stgolabs.net, jonathan.cameron@huawei.com, dave.jiang@intel.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, shiju.jose@huawei.com Cc: andriy.shevchenko@linux.intel.com, linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org, Li Ming Subject: [PATCH v3 3/3] cxl/core: Using resource_contains_addr() to check address availability Date: Tue, 8 Jul 2025 13:15:36 +0800 Message-Id: <20250708051536.92119-4-ming.li@zohomail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250708051536.92119-1-ming.li@zohomail.com> References: <20250708051536.92119-1-ming.li@zohomail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Feedback-ID: rr08011227a6db064b8cd5835b60263f700000b1d374ed54791f2176c5f9dc75bc932213985b9a52f0b2cc2a:zu0801122756545e54832287663b65581b0000b1653817906c84f1d37255a88cce93717998c7dbab2d9b6354:rf0801122d5fce4a1cbbd4e26e642d5b4700007fad9d880d9f9ffc492842a97256ec9761e19cd7861a1b8d4197e4070c127d:ZohoMail X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" Helper function resource_contains_addr() can be used to check if a resource range contains an input address. Use it to replace all code that checks whether a resource range contains the input DPA/HPA/SPA. Signed-off-by: Li Ming Reviewed-by: Alison Schofield Reviewed-by: Dave Jiang --- drivers/cxl/core/edac.c | 4 ++-- drivers/cxl/core/memdev.c | 2 +- drivers/cxl/core/region.c | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/cxl/core/edac.c b/drivers/cxl/core/edac.c index 1cf65b1538b9..a3c19ec8033f 100644 --- a/drivers/cxl/core/edac.c +++ b/drivers/cxl/core/edac.c @@ -1523,7 +1523,7 @@ static int cxl_mem_sparing_set_dpa(struct device *dev= , void *drv_data, u64 dpa) struct cxl_memdev *cxlmd =3D ctx->cxlmd; struct cxl_dev_state *cxlds =3D cxlmd->cxlds; =20 - if (dpa < cxlds->dpa_res.start || dpa > cxlds->dpa_res.end) + if (!resource_contains_addr(&cxlds->dpa_res, dpa)) return -EINVAL; =20 ctx->dpa =3D dpa; @@ -1892,7 +1892,7 @@ static int cxl_ppr_set_dpa(struct device *dev, void *= drv_data, u64 dpa) struct cxl_memdev *cxlmd =3D cxl_ppr_ctx->cxlmd; struct cxl_dev_state *cxlds =3D cxlmd->cxlds; =20 - if (dpa < cxlds->dpa_res.start || dpa > cxlds->dpa_res.end) + if (!resource_contains_addr(&cxlds->dpa_res, dpa)) return -EINVAL; =20 cxl_ppr_ctx->dpa =3D dpa; diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c index f88a13adf7fa..4a5dc1d93af1 100644 --- a/drivers/cxl/core/memdev.c +++ b/drivers/cxl/core/memdev.c @@ -267,7 +267,7 @@ static int cxl_validate_poison_dpa(struct cxl_memdev *c= xlmd, u64 dpa) dev_dbg(cxlds->dev, "device has no dpa resource\n"); return -EINVAL; } - if (dpa < cxlds->dpa_res.start || dpa > cxlds->dpa_res.end) { + if (!resource_contains_addr(&cxlds->dpa_res, dpa)) { dev_dbg(cxlds->dev, "dpa:0x%llx not in resource:%pR\n", dpa, &cxlds->dpa_res); return -EINVAL; diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 6e5e1460068d..79d8211f8ed0 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -2847,7 +2847,7 @@ static int __cxl_dpa_to_region(struct device *dev, vo= id *arg) if (!cxled || !cxled->dpa_res || !resource_size(cxled->dpa_res)) return 0; =20 - if (dpa > cxled->dpa_res->end || dpa < cxled->dpa_res->start) + if (!resource_contains_addr(cxled->dpa_res, dpa)) return 0; =20 /* @@ -2959,7 +2959,7 @@ u64 cxl_dpa_to_hpa(struct cxl_region *cxlr, const str= uct cxl_memdev *cxlmd, if (cxlrd->hpa_to_spa) hpa =3D cxlrd->hpa_to_spa(cxlrd, hpa); =20 - if (hpa < p->res->start || hpa > p->res->end) { + if (!resource_contains_addr(p->res, hpa)) { dev_dbg(&cxlr->dev, "Addr trans fail: hpa 0x%llx not in region\n", hpa); return ULLONG_MAX; @@ -3499,7 +3499,7 @@ u64 cxl_port_get_spa_cache_alias(struct cxl_port *end= point, u64 spa) xa_for_each(&endpoint->regions, index, iter) { struct cxl_region_params *p =3D &iter->region->params; =20 - if (p->res->start <=3D spa && spa <=3D p->res->end) { + if (resource_contains_addr(p->res, spa)) { if (!p->cache_size) return ~0ULL; =20 --=20 2.34.1