DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Cc: "Jain, Deepak K" <deepak.k.jain@intel.com>,
	dev@dpdk.org, "Griffin, John" <john.griffin@intel.com>,
	"De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>,
	"Doherty, Declan" <declan.doherty@intel.com>,
	Adrien Mazarguil <adrien.mazarguil@6wind.com>,
	Nelio Larenjero <nelio.laranjeiro@6wind.com>,
	alejandro.lucero@netronome.com
Subject: Re: [dpdk-dev] [PATCH] qat: fix for VFs not getting recognized
Date: Mon, 20 Jun 2016 14:59:21 +0200	[thread overview]
Message-ID: <8168457.L01VhZbAK5@xps13> (raw)
In-Reply-To: <20160617094241.GA32149@localhost.localdomain>

2016-06-17 15:12, Jerin Jacob:
> Thunderx nicvf also got the same problem when I rebased to
> dpdk-next-net/rel_16_07.
> 
> The root cause for this issue is that, PCI CLASS_ID EAL add
> changeset(701c8d80c820461e8255dfb7387a09f0e54399f0)
> has taken care only the pci devices where id table is created
> with RTE_PCI_DEVICE
> 
> For other devices, class_id comes as 0 instread of RTE_CLASS_ANY_ID and
> probe failes. To fix it,
> 
> one option is to add RTE_CLASS_ANY_ID for the devices where pci id table is not
> created with RTE_PCI_DEVICE
> 
> or
> 
> somewhere in common-code in the initaization set if class_id = 0 then make it as
> RTE_CLASS_ANY_ID(Thats would be a hack).
> 
> Seems like first option is correct-way to fix the problem? Any thoughts?

The best fix is to use RTE_PCI_DEVICE.
If we want to set the class id, we can add a new macro
	RTE_PCI_ID(class, vend, dev)
or maybe
	RTE_PCI_NET_ID(vend, dev) and RTE_PCI_CRYPTO_ID(vend, dev)

> looks like following devices does not exhibit this issue
> 
> [dpdk-thunderx] $ grep -r "RTE_PCI_DEVICE" drivers/
> drivers/net/szedata2/rte_eth_szedata2.c:
> drivers/net/bnx2x/bnx2x_ethdev.c
> drivers/net/vmxnet3/vmxnet3_ethdev.c
> drivers/net/enic/enic_ethdev.c
> drivers/net/e1000/em_ethdev.c
> drivers/net/ena/ena_ethdev.c
> drivers/net/qede/qede_ethdev.c
> drivers/net/ixgbe/ixgbe_ethdev.c:#define RTE_PCI_DEV_ID_DECL_IXGBE(vend,
> drivers/net/virtio/virtio_ethdev.c:#define
> drivers/net/i40e/i40e_ethdev.c:vend,

Going further:

pci=$(git grep -l rte_pci drivers | cut -d/ -f3 | sort -u)
ok=$(git grep -l RTE_PCI_DEVICE drivers | cut -d/ -f3 | sort -u)
printf "$pci\n$ok\n$ok" | sort | uniq -u | sed '/^$/d'

bonding
mlx4
mlx5
nfp
qat

It seems we need to fix qat, nfp and mlx.

  reply	other threads:[~2016-06-20 12:59 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-16 15:29 Jain, Deepak K
2016-06-16 16:15 ` Thomas Monjalon
2016-06-16 16:25   ` Jain, Deepak K
2016-06-17  8:18     ` Thomas Monjalon
2016-06-17  9:42       ` Jerin Jacob
2016-06-20 12:59         ` Thomas Monjalon [this message]
2016-06-17  9:49       ` Jain, Deepak K

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8168457.L01VhZbAK5@xps13 \
    --to=thomas.monjalon@6wind.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=alejandro.lucero@netronome.com \
    --cc=declan.doherty@intel.com \
    --cc=deepak.k.jain@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=john.griffin@intel.com \
    --cc=nelio.laranjeiro@6wind.com \
    --cc=pablo.de.lara.guarch@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).