[dpdk-dev] [PATCH v2 1/5] ethdev: add rx interrupt enable/disable functions
Zhou, Danny
danny.zhou at intel.com
Wed Feb 4 03:18:19 CET 2015
> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Wednesday, February 04, 2015 7:43 AM
> To: Zhou, Danny
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 1/5] ethdev: add rx interrupt enable/disable functions
>
> On Tue, 3 Feb 2015 16:18:27 +0800
> Zhou Danny <danny.zhou at intel.com> wrote:
>
> > +
> > +int
> > +rte_eth_dev_rx_queue_intr_enable(uint8_t port_id,
> > + uint16_t queue_id)
> > +{
> > + struct rte_eth_dev *dev;
> > +
> > + if (port_id >= nb_ports) {
> > + PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
> > + return (-ENODEV);
> > + }
> > +
> > + dev = &rte_eth_devices[port_id];
> > + if (dev == NULL) {
> > + PMD_DEBUG_TRACE("Invalid port device\n");
> > + return (-ENODEV);
> > + }
> > +
> > + FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_intr_enable, -ENOTSUP);
> > + (*dev->dev_ops->rx_queue_intr_enable)(dev, queue_id);
> > + return 0;
>
> The interrupt setup might fail for device specific reasons.
> You should give the device specific function a chance to
> return error as well.
Well, for ixgbe and igb, PMD just sets the specific bit on the interrupt mask
register without checking if it fails or not. But I agree it should allow return
errors. Will provide a fix for both enable and disable functions in v3 patch set.
More information about the dev
mailing list