[dpdk-dev] [PATCH v5 1/9] dmadev: add channel status check for testing use
Bruce Richardson
bruce.richardson at intel.com
Wed Sep 22 10:31:58 CEST 2021
On Wed, Sep 22, 2021 at 04:25:15PM +0800, fengchengwen wrote:
> On 2021/9/17 21:54, Bruce Richardson wrote:
> > Add in a function to check if a device or vchan has completed all jobs
> > assigned to it, without gathering in the results. This is primarily for
> > use in testing, to allow the hardware to be in a known-state prior to
> > gathering completions.
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> > Reviewed-by: Conor Walsh <conor.walsh at intel.com>
> > Reviewed-by: Kevin Laatz <kevin.laatz at intel.com>
> > ---
> > lib/dmadev/rte_dmadev.c | 15 +++++++++++++++
> > lib/dmadev/rte_dmadev.h | 33 +++++++++++++++++++++++++++++++++
> > lib/dmadev/rte_dmadev_core.h | 6 ++++++
> > lib/dmadev/version.map | 1 +
> > 4 files changed, 55 insertions(+)
> >
> > diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c
> > index 544937acf8..859958fff8 100644
> > --- a/lib/dmadev/rte_dmadev.c
> > +++ b/lib/dmadev/rte_dmadev.c
> > @@ -716,3 +716,18 @@ rte_dma_dump(int16_t dev_id, FILE *f)
> >
> > return 0;
> > }
> > +
> > +int
> > +rte_dma_vchan_status(uint16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *status)
>
> uint16_t dev_id -> int16_t
>
> > +{
> > + struct rte_dma_dev *dev = &rte_dma_devices[dev_id];
> > +
> > + RTE_DMA_VALID_DEV_ID_OR_ERR_RET(dev_id, -EINVAL);
> > + if (vchan >= dev->data->dev_conf.nb_vchans) {
> > + RTE_DMA_LOG(ERR, "Device %u vchan %u out of range\n", dev_id, vchan);
> > + return -EINVAL;
> > + }
> > +
> > + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->vchan_status, -ENOTSUP);
> > + return (*dev->dev_ops->vchan_status)(dev, vchan, status);
> > +}
> > diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h
> > index be54f2cb9d..86c4a38f83 100644
> > --- a/lib/dmadev/rte_dmadev.h
> > +++ b/lib/dmadev/rte_dmadev.h
> > @@ -660,6 +660,39 @@ int rte_dma_stats_get(int16_t dev_id, uint16_t vchan,
> > __rte_experimental
> > int rte_dma_stats_reset(int16_t dev_id, uint16_t vchan);
> >
> > +/**
> > + * device vchannel status
> > + *
> > + * Enum with the options for the channel status, either idle, active or halted due to error
>
> please add @see
>
Will do in next revision.
Thanks for feedback.
/Bruce
More information about the dev
mailing list