[dpdk-dev] [PATCH 0/4] DPDK polling-mode driver for Amazon Elastic Network Adapters (ENA)

2016-01-30 Thread Matushevsky, Alexander
Hello Thomas,?
Regarding the documentation, we are going to add a description in 
doc/guides/nics in updated patch early on the upcoming week.

The full device spec still undergoes internal review, and will be released as 
soon as we have the approvals.

Best regards,
Alex

From: Thomas Monjalon <thomas.monja...@6wind.com>
Sent: Friday, January 29, 2016 6:04 PM
To: Jan M?dala
Cc: Matushevsky, Alexander; dev at dpdk.org
Subject: Re: [dpdk-dev] [PATCH 0/4] DPDK polling-mode driver for Amazon Elastic 
Network Adapters (ENA)

2016-01-29 16:42, Jan M?dala:
> Hello Thomas,
>
> 2016-01-28 16:40 GMT+01:00 Thomas Monjalon :
>
> > >  lib/librte_eal/linuxapp/ena_uio/ena_uio_driver.c   |  276 +++
> >
> > Sorry the kernel module party is over.
> > One day, igb_uio will be removed.
> > I suggest to make a first version without interrupt support
> > and work with Linux community to fix your issues.
>
> Rationale to deliver UIO kernel module is based on lack of legacy INTx
> interrupts in ENA device. It's operating only on MSI-X.
> Currently we do not implement interrupt support (yet) in PMD, but hardware
> was unable to operate under uio_generic_pci driver - probe is failing.
> It might be possible to use igb_uio kmod with ENA and I will do necessary
> investigation+experiments to prove that.
>
> Could you elaborate on the topic of kernel module removal - how would it
> look like, is there going to be generic PCI driver dedicated for MSI-X
> devices?

VFIO is the driver which should cover every needs for userspace drivers
requiring a generic kernel module. Another approach is used for mlx devices.
Thanks for checking how to improve your driver.

My other question was about documentation. I don't know your device.
Please any info or pointer?


[dpdk-dev] [PATCH 0/4] DPDK polling-mode driver for Amazon Elastic Network Adapters (ENA)

2016-01-29 Thread Thomas Monjalon
2016-01-29 16:42, Jan M?dala:
> Hello Thomas,
> 
> 2016-01-28 16:40 GMT+01:00 Thomas Monjalon :
> 
> > >  lib/librte_eal/linuxapp/ena_uio/ena_uio_driver.c   |  276 +++
> >
> > Sorry the kernel module party is over.
> > One day, igb_uio will be removed.
> > I suggest to make a first version without interrupt support
> > and work with Linux community to fix your issues.
> 
> Rationale to deliver UIO kernel module is based on lack of legacy INTx
> interrupts in ENA device. It's operating only on MSI-X.
> Currently we do not implement interrupt support (yet) in PMD, but hardware
> was unable to operate under uio_generic_pci driver - probe is failing.
> It might be possible to use igb_uio kmod with ENA and I will do necessary
> investigation+experiments to prove that.
> 
> Could you elaborate on the topic of kernel module removal - how would it
> look like, is there going to be generic PCI driver dedicated for MSI-X
> devices?

VFIO is the driver which should cover every needs for userspace drivers
requiring a generic kernel module. Another approach is used for mlx devices.
Thanks for checking how to improve your driver.

My other question was about documentation. I don't know your device.
Please any info or pointer?


[dpdk-dev] [PATCH 0/4] DPDK polling-mode driver for Amazon Elastic Network Adapters (ENA)

2016-01-29 Thread Jan Mędala
Hello Thomas,

2016-01-28 16:40 GMT+01:00 Thomas Monjalon :

> >  lib/librte_eal/linuxapp/ena_uio/ena_uio_driver.c   |  276 +++
>
> Sorry the kernel module party is over.
> One day, igb_uio will be removed.
> I suggest to make a first version without interrupt support
> and work with Linux community to fix your issues.
>

Rationale to deliver UIO kernel module is based on lack of legacy INTx
interrupts in ENA device. It's operating only on MSI-X.
Currently we do not implement interrupt support (yet) in PMD, but hardware
was unable to operate under uio_generic_pci driver - probe is failing.
It might be possible to use igb_uio kmod with ENA and I will do necessary
investigation+experiments to prove that.

Could you elaborate on the topic of kernel module removal - how would it
look like, is there going to be generic PCI driver dedicated for MSI-X
devices?

Thanks,
Jan


[dpdk-dev] [PATCH 0/4] DPDK polling-mode driver for Amazon Elastic Network Adapters (ENA)

2016-01-28 Thread Thomas Monjalon
Woh a new driver!
Welcome :)

2016-01-28 16:20, Jan Medala:
> This is a PMD for the Amazon ethernet ENA family.

Where can we find some documentation about this family?
Please some explanations about its design and usage with DPDK
would be well fit in the directory doc/guides/nics/.

> The driver operates variety of ENA adapters through feature negotiation with 
> the adapter and upgradable commands set.
> ENA driver handles PCI Physical and Virtual ENA functions.

Definitely interested to know more.

>  lib/librte_eal/linuxapp/ena_uio/ena_uio_driver.c   |  276 +++

Sorry the kernel module party is over.
One day, igb_uio will be removed.
I suggest to make a first version without interrupt support
and work with Linux community to fix your issues.


[dpdk-dev] [PATCH 0/4] DPDK polling-mode driver for Amazon Elastic Network Adapters (ENA)

2016-01-28 Thread Jan Medala
This is a PMD for the Amazon ethernet ENA family.
The driver operates variety of ENA adapters through feature negotiation with 
the adapter and upgradable commands set.
ENA driver handles PCI Physical and Virtual ENA functions.

Jan Medala (4):
  Amazon ENA UIO driver
  Amazon ENA communication layer
  Amazon ENA communication layer for DPDK platform
  DPDK polling-mode driver for Amazon Elastic Network Adapters (ENA)

 config/common_linuxapp |   12 +
 drivers/net/Makefile   |1 +
 drivers/net/ena/Makefile   |   62 +
 drivers/net/ena/base/ena_com.c | 2401 
 drivers/net/ena/base/ena_com.h |  765 +++
 drivers/net/ena/base/ena_defs/ena_admin_defs.h | 1660 ++
 .../net/ena/base/ena_defs/ena_admin_defs_custom.h  |   40 +
 drivers/net/ena/base/ena_defs/ena_common_defs.h|   54 +
 drivers/net/ena/base/ena_defs/ena_efa_admin_defs.h |  685 ++
 drivers/net/ena/base/ena_defs/ena_efa_io_defs.h|  543 +
 drivers/net/ena/base/ena_defs/ena_eth_io_defs.h| 1095 +
 drivers/net/ena/base/ena_defs/ena_gen_info.h   |   35 +
 drivers/net/ena/base/ena_defs/ena_includes.h   |   39 +
 drivers/net/ena/base/ena_defs/ena_regs_defs.h  |  326 +++
 drivers/net/ena/base/ena_eth_com.c |  496 
 drivers/net/ena/base/ena_eth_com.h |  130 ++
 drivers/net/ena/base/ena_plat.h|   51 +
 drivers/net/ena/base/ena_plat_dpdk.h   |  209 ++
 drivers/net/ena/ena_ethdev.c   | 1051 +
 drivers/net/ena/ena_ethdev.h   |  143 ++
 drivers/net/ena/ena_logs.h |   76 +
 drivers/net/ena/ena_platform.h |   58 +
 lib/librte_eal/common/include/rte_pci.h|1 +
 lib/librte_eal/common/include/rte_pci_dev_ids.h|   16 +
 lib/librte_eal/linuxapp/Makefile   |3 +
 lib/librte_eal/linuxapp/eal/eal_pci.c  |4 +
 lib/librte_eal/linuxapp/ena_uio/Makefile   |   55 +
 lib/librte_eal/linuxapp/ena_uio/ena_uio_driver.c   |  276 +++
 mk/rte.app.mk  |1 +
 29 files changed, 10288 insertions(+)
 create mode 100755 drivers/net/ena/Makefile
 create mode 100644 drivers/net/ena/base/ena_com.c
 create mode 100644 drivers/net/ena/base/ena_com.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_admin_defs.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_admin_defs_custom.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_common_defs.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_efa_admin_defs.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_efa_io_defs.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_eth_io_defs.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_gen_info.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_includes.h
 create mode 100644 drivers/net/ena/base/ena_defs/ena_regs_defs.h
 create mode 100644 drivers/net/ena/base/ena_eth_com.c
 create mode 100644 drivers/net/ena/base/ena_eth_com.h
 create mode 100644 drivers/net/ena/base/ena_plat.h
 create mode 100644 drivers/net/ena/base/ena_plat_dpdk.h
 create mode 100644 drivers/net/ena/ena_ethdev.c
 create mode 100755 drivers/net/ena/ena_ethdev.h
 create mode 100644 drivers/net/ena/ena_logs.h
 create mode 100644 drivers/net/ena/ena_platform.h
 create mode 100644 lib/librte_eal/linuxapp/ena_uio/Makefile
 create mode 100644 lib/librte_eal/linuxapp/ena_uio/ena_uio_driver.c

-- 
1.9.1