Thread (89 messages) 89 messages, 6 authors, 2025-01-22

Re: [PATCH v9 09/27] sfc: request cxl ram resource

flat view

From: Alejandro Lucero Palau <hidden>
Date: 2025-01-20 16:00:31
Also in: linux-cxl

On 1/18/25 01:58, Dan Williams wrote:
alejandro.lucero-palau@ wrote:
quoted
From: Alejandro Lucero <redacted>

Use cxl accessor for obtaining the ram resource the device advertises.

Signed-off-by: Alejandro Lucero <redacted>
Reviewed-by: Martin Habets <redacted>
Reviewed-by: Fan Ni <redacted>
Acked-by: Edward Cree <ecree.xilinx@gmail.com>
Reviewed-by: Jonathan Cameron <redacted>
---
  drivers/net/ethernet/sfc/efx_cxl.c | 7 +++++++
  1 file changed, 7 insertions(+)
diff --git a/drivers/net/ethernet/sfc/efx_cxl.c b/drivers/net/ethernet/sfc/efx_cxl.c
index 29368d010adc..2031f08ee689 100644
--- a/drivers/net/ethernet/sfc/efx_cxl.c
+++ b/drivers/net/ethernet/sfc/efx_cxl.c
@@ -85,6 +85,12 @@ int efx_cxl_init(struct efx_probe_data *probe_data)
  		goto err_resource_set;
  	}
  
+	rc = cxl_request_resource(cxl->cxlds, CXL_RES_RAM);
+	if (rc) {
+		pci_err(pci_dev, "CXL request resource failed");
+		goto err_resource_set;
+	}
+
  	probe_data->cxl = cxl;
  
  	return 0;
@@ -99,6 +105,7 @@ int efx_cxl_init(struct efx_probe_data *probe_data)
  void efx_cxl_exit(struct efx_probe_data *probe_data)
  {
  	if (probe_data->cxl) {
+		cxl_release_resource(probe_data->cxl->cxlds, CXL_RES_RAM);
Given that the DPA layout is a static property of 'struct cxl_dev_state'
once set there is no need to release it. Notice how there is no release
in the memdev case either. The 'release' is freeing @cxlds.

Now, any DPA reservations from that partition need to be released, but
those releases are with respect to cxl_dpa_{alloc,free}().

Yes, it is now all more clear after the "DPA layout mess" work-in-progress.

I'll drop the release_resource in patch 8.

Thanks

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help