On Tue, Jul 02, 2019 at 03:33:25AM +0100, Hu, Jiayu wrote: > > > -----Original Message----- > > From: Richardson, Bruce > > Sent: Monday, July 1, 2019 11:56 PM > > To: dev@dpdk.org > > Cc: tho...@monjalon.net; jer...@marvell.com; Hu, Jiayu > > <jiayu...@intel.com>; Richardson, Bruce <bruce.richard...@intel.com>; > > Van Haaren, Harry <harry.van.haa...@intel.com> > > Subject: [PATCH v4 6/9] raw/ioat: add device info function > > > > Add in the "info_get" function to the driver, to allow us to query the > > device. This allows us to have the unit test pick up the presence of > > supported hardware or not. > > > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > > Tested-by: Harry van Haaren <harry.van.haa...@intel.com> > > --- > > V4: Use TEST_SUCCESS in place of 0, when returning from test case. > > Minor documentation updates. > > > > V2: Test case is placed in driver self-test routine > > --- > > app/test/test_rawdev.c | 11 ++++++++++ > > doc/guides/rawdevs/ioat_rawdev.rst | 34 > > ++++++++++++++++++++++++++++++ > > drivers/raw/ioat/ioat_rawdev.c | 11 ++++++++++ > > drivers/raw/ioat/rte_ioat_rawdev.h | 11 ++++++++++ > > 4 files changed, 67 insertions(+) > > > > diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c > > index 86b5b2a77..2bfe2544d 100644 > > --- a/drivers/raw/ioat/ioat_rawdev.c > > +++ b/drivers/raw/ioat/ioat_rawdev.c > > @@ -34,10 +34,21 @@ static struct rte_pci_driver ioat_pmd_drv; > > #define IOAT_PMD_ERR(fmt, args...) IOAT_PMD_LOG(ERR, fmt, ## args) > > #define IOAT_PMD_WARN(fmt, args...) IOAT_PMD_LOG(WARNING, fmt, ## > > args) > > > > +static void > > +ioat_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info) > > +{ > > + struct rte_ioat_rawdev_config *cfg = dev_info; > > + struct rte_ioat_rawdev *ioat = dev->dev_private; > > + > > + if (cfg != NULL) > > + cfg->ring_size = ioat->ring_size; > > +} > > The CBDMA user may want to know the maximum copy length that the device > supports and the NUMA location of the device. So can ioat_dev_info_get() > return more device information? > The NUMA node id is already part of the rawdev info structure returned to the user.
As for maximum copy length, yes, that could be added. However, since it's actually a characteristic of the hardware, it could be just a define inside the header file rather than needing to be returned per instance. Unlike with ethdevs and cryptodevs, rawdevs always have a device-specific dependency so using defines from the header should work fine, and not everything needs to come via dev_info. Regards, /Bruce