Re: [PATCH v2 00/14] Introduce AMD Pensando RDMA driver

Jason Gunthorpe
2025-05-26T15:41:39Z

On Mon, May 26, 2025 at 10:19:38AM -0300, Jason Gunthorpe wrote:
> > > @@ -1454,11 +1466,15 @@ static int ionic_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata)
> > > static bool pd_local_privileged(struct ib_pd *pd)
> > > {
> > > + /* That isn't how it works, only the lkey get_dma_mr() returns is
> > > + special and must be used on any WRs that require it. WRs refering to any
> > > + other lkeys must behave normally. */
> > > return !pd->uobject;
> > > }

I was thinking about this some more, probably the call to get_dma_mr()
should set a flag in the pd struct (you need a pds_pd struct) which
indicates that the IONIC_DMA_LKEY is enabled on that PD. Then all
QPs/etc created against the PD should allow using it.

Checking a uobject here is just a little weird.

Jason