[AMD Official Use Only - General]

> <abhijit.gangu...@amd.com> wrote:
> > @@ -383,10 +384,12 @@ cdx_probe_one_driver(struct rte_cdx_driver *dr,
> >         CDX_BUS_DEBUG("  probe device %s using driver: %s", dev_name,
> >                 dr->driver.name);
> >
> > -       ret = cdx_vfio_map_resource(dev);
> > -       if (ret != 0) {
> > -               CDX_BUS_ERR("CDX map device failed: %d", ret);
> > -               goto error_map_device;
> > +       if (dr->drv_flags & RTE_CDX_DRV_NEED_MAPPING) {
> > +               ret = cdx_vfio_map_resource(dev);
> > +               if (ret != 0) {
> > +                       CDX_BUS_ERR("CDX map device failed: %d", ret);
> > +                       goto error_map_device;
> > +               }
> >         }
> >
> >         /* call the driver probe() function */
> > diff --git a/drivers/bus/cdx/rte_bus_cdx.h b/drivers/bus/cdx/rte_bus_cdx.h
> > new file mode 100644
> > index 0000000000..4ca12f90c4
> > --- /dev/null
> > +++ b/drivers/bus/cdx/rte_bus_cdx.h
> > @@ -0,0 +1,52 @@
> > +/* SPDX-License-Identifier: BSD-3-Clause
> > + * Copyright (C) 2023, Advanced Micro Devices, Inc.
> > + */
> > +
> > +#ifndef RTE_BUS_CDX_H
> > +#define RTE_BUS_CDX_H
> > +
> > +/**
> > + * @file
> > + * CDX device & driver interface
> > + */
> > +
> > +#ifdef __cplusplus
> > +extern "C" {
> > +#endif
> > +
> > +/* Forward declarations */
> > +struct rte_cdx_device;
> > +
> > +/**
> > + * Map the CDX device resources in user space virtual memory address.
> > + *
> > + * Note that driver should not call this function when flag
> > + * RTE_CDX_DRV_NEED_MAPPING is set, as EAL will do that for
> > + * you when it's on.
>
> Why should we export this function in the application ABI, if it is
> only used by drivers?

This can be called from an application as well if this flag is not set hence, 
we need to export this function.
If needed, I can update the description of the API.

Thanks,
Abhijit

Reply via email to