Message ID | 20241216161042.42108-19-alejandro.lucero-palau@amd.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | cxl: add type2 device basic support | expand |
On Mon, Dec 16, 2024 at 04:10:33PM +0000, alejandro.lucero-palau@amd.com wrote: > From: Alejandro Lucero <alucerop@amd.com> > > Use cxl api for getting DPA (Device Physical Address) to use through an > endpoint decoder. > > Signed-off-by: Alejandro Lucero <alucerop@amd.com> > Reviewed-by: Martin Habets <habetsm.xilinx@gmail.com> > --- > drivers/net/ethernet/sfc/efx_cxl.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/net/ethernet/sfc/efx_cxl.c b/drivers/net/ethernet/sfc/efx_cxl.c > index 253c82c61f43..724bca59b4d4 100644 > --- a/drivers/net/ethernet/sfc/efx_cxl.c > +++ b/drivers/net/ethernet/sfc/efx_cxl.c > @@ -121,6 +121,14 @@ int efx_cxl_init(struct efx_probe_data *probe_data) > goto err_memdev; > } > > + cxl->cxled = cxl_request_dpa(cxl->cxlmd, true, EFX_CTPIO_BUFFER_SIZE, > + EFX_CTPIO_BUFFER_SIZE); > + if (IS_ERR(cxl->cxled)) { > + pci_err(pci_dev, "CXL accel request DPA failed"); > + rc = PTR_ERR(cxl->cxlrd); Hi Alejandro, Should the line above use cxl->cxled rather than cxl->cxlrd? Flagged by Smatch. > + goto err_memdev; > + } ...
On 12/17/24 10:42, Simon Horman wrote: > On Mon, Dec 16, 2024 at 04:10:33PM +0000, alejandro.lucero-palau@amd.com wrote: >> From: Alejandro Lucero <alucerop@amd.com> >> >> Use cxl api for getting DPA (Device Physical Address) to use through an >> endpoint decoder. >> >> Signed-off-by: Alejandro Lucero <alucerop@amd.com> >> Reviewed-by: Martin Habets <habetsm.xilinx@gmail.com> >> --- >> drivers/net/ethernet/sfc/efx_cxl.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/drivers/net/ethernet/sfc/efx_cxl.c b/drivers/net/ethernet/sfc/efx_cxl.c >> index 253c82c61f43..724bca59b4d4 100644 >> --- a/drivers/net/ethernet/sfc/efx_cxl.c >> +++ b/drivers/net/ethernet/sfc/efx_cxl.c >> @@ -121,6 +121,14 @@ int efx_cxl_init(struct efx_probe_data *probe_data) >> goto err_memdev; >> } >> >> + cxl->cxled = cxl_request_dpa(cxl->cxlmd, true, EFX_CTPIO_BUFFER_SIZE, >> + EFX_CTPIO_BUFFER_SIZE); >> + if (IS_ERR(cxl->cxled)) { >> + pci_err(pci_dev, "CXL accel request DPA failed"); >> + rc = PTR_ERR(cxl->cxlrd); > Hi Alejandro, > > Should the line above use cxl->cxled rather than cxl->cxlrd? Hi Simon, Of course. This one has gone through a lot of eyes undetected! BTW, apart from the fact that I should use Smatch from now on :-), out of curiosity, is Smatch only detecting one problem each time? Because this patch had another flagged issue in v7. Thank you > Flagged by Smatch. > >> + goto err_memdev; >> + } > ...
diff --git a/drivers/net/ethernet/sfc/efx_cxl.c b/drivers/net/ethernet/sfc/efx_cxl.c index 253c82c61f43..724bca59b4d4 100644 --- a/drivers/net/ethernet/sfc/efx_cxl.c +++ b/drivers/net/ethernet/sfc/efx_cxl.c @@ -121,6 +121,14 @@ int efx_cxl_init(struct efx_probe_data *probe_data) goto err_memdev; } + cxl->cxled = cxl_request_dpa(cxl->cxlmd, true, EFX_CTPIO_BUFFER_SIZE, + EFX_CTPIO_BUFFER_SIZE); + if (IS_ERR(cxl->cxled)) { + pci_err(pci_dev, "CXL accel request DPA failed"); + rc = PTR_ERR(cxl->cxlrd); + goto err_memdev; + } + probe_data->cxl = cxl; return 0; @@ -137,6 +145,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_dpa_free(probe_data->cxl->cxled); cxl_release_resource(probe_data->cxl->cxlds, CXL_RES_RAM); kfree(probe_data->cxl->cxlds); kfree(probe_data->cxl);