All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Fabio M. De Francesco" <fabio.m.de.francesco@linux.intel.com>
To: linux-cxl@vger.kernel.org, Dave Jiang <dave.jiang@intel.com>
Cc: dave@stgolabs.net, jonathan.cameron@huawei.com,
	alison.schofield@intel.com, vishal.l.verma@intel.com,
	ira.weiny@intel.com, dan.j.williams@intel.com
Subject: Re: [PATCH v2 3/3] cxl/test: Add support for acpi extended linear cache
Date: Mon, 17 Nov 2025 16:35:17 +0100	[thread overview]
Message-ID: <1943045.qM8IeB0Osv@fdefranc-mobl3> (raw)
In-Reply-To: <20251117144611.903692-4-dave.jiang@intel.com>

On Monday, November 17, 2025 3:46:11 PM Central European Standard Time Dave Jiang wrote:
> Add the mock wrappers for hmat_get_extended_linear_cache_size() in order
> to emulate the ACPI helper function for the regions that are mock'd by
> cxl_test.
> 
> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> ---
> v2:
> - Changed to use mock_auto_region_size
> ---

Reviewed-by: Fabio M. De Francesco <fabio.m.de.francesco@linux.intel.com>

>  tools/testing/cxl/Kbuild      |  1 +
>  tools/testing/cxl/test/cxl.c  | 21 +++++++++++++++++++++
>  tools/testing/cxl/test/mock.c | 20 ++++++++++++++++++++
>  tools/testing/cxl/test/mock.h |  3 +++
>  4 files changed, 45 insertions(+)
> 
> diff --git a/tools/testing/cxl/Kbuild b/tools/testing/cxl/Kbuild
> index 0d5ce4b74b9f..65e9ac227aee 100644
> --- a/tools/testing/cxl/Kbuild
> +++ b/tools/testing/cxl/Kbuild
> @@ -11,6 +11,7 @@ ldflags-y += --wrap=cxl_rcd_component_reg_phys
>  ldflags-y += --wrap=cxl_endpoint_parse_cdat
>  ldflags-y += --wrap=cxl_dport_init_ras_reporting
>  ldflags-y += --wrap=devm_cxl_endpoint_decoders_setup
> +ldflags-y += --wrap=hmat_get_extended_linear_cache_size
>  
>  DRIVERS := ../../../drivers
>  CXL_SRC := $(DRIVERS)/cxl
> diff --git a/tools/testing/cxl/test/cxl.c b/tools/testing/cxl/test/cxl.c
> index 2c3979c0b505..0c14e060a0cc 100644
> --- a/tools/testing/cxl/test/cxl.c
> +++ b/tools/testing/cxl/test/cxl.c
> @@ -614,6 +614,25 @@ mock_acpi_evaluate_integer(acpi_handle handle, acpi_string pathname,
>  	return AE_OK;
>  }
>  
> +static int
> +mock_hmat_get_extended_linear_cache_size(struct resource *backing_res,
> +					 int nid, resource_size_t *cache_size)
> +{
> +	struct acpi_cedt_cfmws *window = mock_cfmws[0];
> +	struct resource cfmws0_res =
> +		DEFINE_RES_MEM(window->base_hpa, window->window_size);
> +
> +	if (!extended_linear_cache ||
> +	    !resource_contains(&cfmws0_res, backing_res)) {
> +		return hmat_get_extended_linear_cache_size(backing_res,
> +							   nid, cache_size);
> +	}
> +
> +	*cache_size = mock_auto_region_size;
> +
> +	return 0;
> +}
> +
>  static struct pci_bus mock_pci_bus[NR_BRIDGES];
>  static struct acpi_pci_root mock_pci_root[ARRAY_SIZE(mock_pci_bus)] = {
>  	[0] = {
> @@ -1142,6 +1161,8 @@ static struct cxl_mock_ops cxl_mock_ops = {
>  	.devm_cxl_port_enumerate_dports = mock_cxl_port_enumerate_dports,
>  	.cxl_endpoint_parse_cdat = mock_cxl_endpoint_parse_cdat,
>  	.devm_cxl_add_dport_by_dev = mock_cxl_add_dport_by_dev,
> +	.hmat_get_extended_linear_cache_size =
> +		mock_hmat_get_extended_linear_cache_size,
>  	.list = LIST_HEAD_INIT(cxl_mock_ops.list),
>  };
>  
> diff --git a/tools/testing/cxl/test/mock.c b/tools/testing/cxl/test/mock.c
> index 995269a75cbd..bff5853717f0 100644
> --- a/tools/testing/cxl/test/mock.c
> +++ b/tools/testing/cxl/test/mock.c
> @@ -111,6 +111,26 @@ acpi_status __wrap_acpi_evaluate_integer(acpi_handle handle,
>  }
>  EXPORT_SYMBOL(__wrap_acpi_evaluate_integer);
>  
> +int __wrap_hmat_get_extended_linear_cache_size(struct resource *backing_res,
> +					       int nid,
> +					       resource_size_t *cache_size)
> +{
> +	int index, rc;
> +	struct cxl_mock_ops *ops = get_cxl_mock_ops(&index);
> +
> +	if (ops)
> +		rc = ops->hmat_get_extended_linear_cache_size(backing_res, nid,
> +							      cache_size);
> +	else
> +		rc = hmat_get_extended_linear_cache_size(backing_res, nid,
> +							 cache_size);
> +
> +	put_cxl_mock_ops(index);
> +
> +	return rc;
> +}
> +EXPORT_SYMBOL_GPL(__wrap_hmat_get_extended_linear_cache_size);
> +
>  struct acpi_pci_root *__wrap_acpi_pci_find_root(acpi_handle handle)
>  {
>  	int index;
> diff --git a/tools/testing/cxl/test/mock.h b/tools/testing/cxl/test/mock.h
> index 4ed932e76aae..bfd36cbdbae2 100644
> --- a/tools/testing/cxl/test/mock.h
> +++ b/tools/testing/cxl/test/mock.h
> @@ -25,6 +25,9 @@ struct cxl_mock_ops {
>  	void (*cxl_endpoint_parse_cdat)(struct cxl_port *port);
>  	struct cxl_dport *(*devm_cxl_add_dport_by_dev)(struct cxl_port *port,
>  						       struct device *dport_dev);
> +	int (*hmat_get_extended_linear_cache_size)(struct resource *backing_res,
> +						   int nid,
> +						   resource_size_t *cache_size);
>  };
>  
>  void register_cxl_mock_ops(struct cxl_mock_ops *ops);
> -- 
> 2.51.1
> 
> 
> 





  reply	other threads:[~2025-11-17 15:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-17 14:46 [PATCH v2 0/3] cxl/test: Add unit testing for extended linear cache Dave Jiang
2025-11-17 14:46 ` [PATCH v2 1/3] cxl/test: Standardize CXL auto region size Dave Jiang
2025-11-17 15:32   ` Fabio M. De Francesco
2025-11-17 14:46 ` [PATCH v2 2/3] cxl/test: Add cxl_test CFMWS support for extended linear cache Dave Jiang
2025-11-17 15:34   ` Fabio M. De Francesco
2025-11-17 14:46 ` [PATCH v2 3/3] cxl/test: Add support for acpi " Dave Jiang
2025-11-17 15:35   ` Fabio M. De Francesco [this message]
2025-11-17 18:13 ` [PATCH v2 0/3] cxl/test: Add unit testing for " Dave Jiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1943045.qM8IeB0Osv@fdefranc-mobl3 \
    --to=fabio.m.de.francesco@linux.intel.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=ira.weiny@intel.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=vishal.l.verma@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.