Re: [PATCH V10 1/1] dmaengine: amd: qdma: Add AMD QDMA driver

From: Vinod Koul
Date: Wed Apr 17 2024 - 13:04:59 EST


On 08-04-24, 11:06, Lizhi Hou wrote:

> > > +static void *qdma_get_metadata_ptr(struct dma_async_tx_descriptor *tx,
> > > + size_t *payload_len, size_t *max_len)
> > > +{
> > > + struct qdma_mm_vdesc *vdesc;
> > > +
> > > + vdesc = container_of(tx, typeof(*vdesc), vdesc.tx);
> > > + if (payload_len)
> > > + *payload_len = sizeof(vdesc->dev_addr);
> > > + if (max_len)
> > > + *max_len = sizeof(vdesc->dev_addr);
> > > +
> > > + return &vdesc->dev_addr;
> > Can you describe what metadata is being used here for?
>
> The metadata is the device address the dma request will transfer
>
> data to / from.  Please see the example usage here:
>
> https://github.com/houlz0507/XRT-1/blob/qdma_v1_usage/src/runtime_src/core/pcie/driver/linux/xocl/subdev/qdma.c#L311
>
> Before dmaengine_submit(), it specifies the device address.

Hmmm, why is the vaddr passed like this, why not use slave_config for
this

--
~Vinod