[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241204083321.GA792395@gmail.com>
Date: Wed, 4 Dec 2024 08:33:21 +0000
From: Martin Habets <habetsm.xilinx@...il.com>
To: Alejandro Lucero Palau <alucerop@....com>
Cc: alejandro.lucero-palau@....com, linux-cxl@...r.kernel.org,
netdev@...r.kernel.org, dan.j.williams@...el.com,
martin.habets@...inx.com, edward.cree@....com, davem@...emloft.net,
kuba@...nel.org, pabeni@...hat.com, edumazet@...gle.com,
dave.jiang@...el.com
Subject: Re: [PATCH v6 23/28] sfc: create cxl region
On Tue, Dec 03, 2024 at 03:25:27PM +0000, Alejandro Lucero Palau wrote:
>
>
> On 12/3/24 14:37, Martin Habets wrote:
> > On Mon, Dec 02, 2024 at 05:12:17PM +0000, alejandro.lucero-palau@....com wrote:
> > > From: Alejandro Lucero <alucerop@....com>
> > >
> > > Use cxl api for creating a region using the endpoint decoder related to
> > > a DPA range.
> > >
> > > Signed-off-by: Alejandro Lucero <alucerop@....com>
> > Reviewed-by: Martin Habets <habetsm.xilinx@...il.com>
> > One comment below.
> >
> > > ---
> > > drivers/net/ethernet/sfc/efx_cxl.c | 10 ++++++++++
> > > 1 file changed, 10 insertions(+)
> > >
> > > diff --git a/drivers/net/ethernet/sfc/efx_cxl.c b/drivers/net/ethernet/sfc/efx_cxl.c
> > > index 6ca23874d0c7..3e44c31daf36 100644
> > > --- a/drivers/net/ethernet/sfc/efx_cxl.c
> > > +++ b/drivers/net/ethernet/sfc/efx_cxl.c
> > > @@ -128,10 +128,19 @@ int efx_cxl_init(struct efx_probe_data *probe_data)
> > > goto err3;
> > > }
> > > + cxl->efx_region = cxl_create_region(cxl->cxlrd, cxl->cxled);
> > > + if (!cxl->efx_region) {
> > > + pci_err(pci_dev, "CXL accel create region failed");
> > This error would be more meaningful if it printed out the region address and size.
> >
>
> The region can not be created so we have not that info.
Ahh, ok.
Martin
>
>
> > > + rc = PTR_ERR(cxl->efx_region);
> > > + goto err_region;
> > > + }
> > > +
> > > probe_data->cxl = cxl;
> > > return 0;
> > > +err_region:
> > > + cxl_dpa_free(cxl->cxled);
> > > err3:
> > > cxl_release_resource(cxl->cxlds, CXL_RES_RAM);
> > > err2:
> > > @@ -144,6 +153,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_accel_region_detach(probe_data->cxl->cxled);
> > > cxl_dpa_free(probe_data->cxl->cxled);
> > > cxl_release_resource(probe_data->cxl->cxlds, CXL_RES_RAM);
> > > kfree(probe_data->cxl->cxlds);
> > > --
> > > 2.17.1
> > >
> > >
>
Powered by blists - more mailing lists