mbox series

[v3,00/60] common/sfc_efx: support Riverhead NIC family

Message ID 1600949555-28043-1-git-send-email-arybchenko@solarflare.com (mailing list archive)
Headers
Series common/sfc_efx: support Riverhead NIC family |

Message

Andrew Rybchenko Sept. 24, 2020, 12:11 p.m. UTC
  Riverhead is a new NIC family, the first one with EF100 architecture.
Control interface is an MCDI similar to EF10. Datapath interface is
completely new.

The patch series is build tested with and without EFSYS_OPT_RIVERHEAD
enabled.

EF10-based NICs are tested with the patch series applied with and
without EFSYS_OPT_RIVERHEAD enabled.

net/sfc patches will follow.

v3:
 - more spelling fixes
 - fix extremely long lines in common/sfc_efx/base: update MCDI headers

v2:
 - fix spelling in few patches
 - use tabs to indent instead of spaces

Andrew Rybchenko (41):
  common/sfc_efx/base: add EF100 registers definitions
  common/sfc_efx/base: update MCDI headers
  common/sfc_efx/base: add event queue operation to do polling
  common/sfc_efx/base: add efsys option for Riverhead
  common/sfc_efx/base: add Riverhead NIC family
  common/sfc_efx/base: update registers check for Riverhead
  common/sfc_efx/base: use EF10 MCDI methods for Riverhead
  common/sfc_efx/base: use EF10 PHY methods for Riverhead
  common/sfc_efx/base: move 14b prefix check out of caps get
  common/sfc_efx/base: remove PF count get from caps get
  common/sfc_efx/base: factor out helper to get board config
  common/sfc_efx/base: set NIC features in generic place
  common/sfc_efx/base: factor out MCDI entity reset helper
  common/sfc_efx/base: add Riverhead support to NIC module
  common/sfc_efx/base: use dummy tunnel ops for Riverhead
  common/sfc_efx/base: use EF10 filter methods for Riverhead
  common/sfc_efx/base: use EF10 MAC methods for Riverhead
  common/sfc_efx/base: add interrupts module for Riverhead
  common/sfc_efx/base: move EvQ init/fini wrappers to generic
  common/sfc_efx/base: move EvQ create generic checks
  common/sfc_efx/base: prepare to merge EvQ init functions
  common/sfc_efx/base: merge versions of init EvQ wrappers
  common/sfc_efx/base: add event queue module for Riverhead
  common/sfc_efx/base: handle MCDI events on Riverhead
  common/sfc_efx/base: move RxQ init/fini wrappers to generic
  common/sfc_efx/base: move TxQ init/fini wrappers to generic
  common/sfc_efx/base: switch TxQ init to extended version
  common/sfc_efx/base: maintain RxQ counter in generic code
  common/sfc_efx/base: free Rx queue structure in generic code
  common/sfc_efx/base: move Rx index check to generic code
  common/sfc_efx/base: implement Rx control path for Riverhead
  common/sfc_efx/base: implement Tx control path for Riverhead
  common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead
  common/sfc_efx/base: handle Rx events for Riverhead
  common/sfc_efx/base: handle Tx complete on Riverhead
  common/sfc_efx: do not include libefx headers from efsys.h
  common/sfc_efx/base: add API to get Rx prefix information
  common/sfc_efx/base: group RxQ parameters into a structure
  common/sfc_efx/base: choose smallest Rx prefix on Riverhead
  common/sfc_efx/base: use EF10 EVB methods for Riverhead
  common/sfc_efx/base: allocate vAdaptor on Riverhead

Andy Moreton (7):
  common/sfc_efx/base: add option for extended width events
  common/sfc_efx/base: add 256bit type
  common/sfc_efx/base: support creation of extended width EvQ
  common/sfc_efx/base: poll extended width event queues
  common/sfc_efx/base: handle normal events in extended width
  common/sfc_efx/base: add option for descriptor proxy queues
  common/sfc_efx/base: handle descriptor proxy queue events

Igor Romanov (9):
  common/sfc_efx/base: add function control window concept
  common/sfc_efx/base: add function control window lookup API
  common/sfc_efx/base: add efsys API to find a memory BAR
  common/sfc_efx/base: add Xilinx capabilities table lookup
  common/sfc_efx/base: add NIC magic check on BAR lookup
  common/sfc_efx/base: introduce UDP tunnel destruct operation
  common/sfc_efx/base: introduce states for UDP tunnel entries
  common/sfc_efx/base: support UDP tunnel operations for EF100
  common/sfc_efx/base: replace PCI efsys macros with functions

Ivan Malov (3):
  common/sfc_efx/base: complete EvQ creation on Riverhead
  common/sfc_efx/base: indicate support for TSO version 3
  common/sfc_efx/base: report restrictions for TSO version 3

 drivers/common/sfc_efx/base/ef10_ev.c         |  391 +-
 drivers/common/sfc_efx/base/ef10_evb.c        |    8 +-
 drivers/common/sfc_efx/base/ef10_filter.c     |   24 +-
 drivers/common/sfc_efx/base/ef10_impl.h       |   38 +
 drivers/common/sfc_efx/base/ef10_mac.c        |    6 +-
 drivers/common/sfc_efx/base/ef10_mcdi.c       |   55 +-
 drivers/common/sfc_efx/base/ef10_nic.c        |  413 +-
 drivers/common/sfc_efx/base/ef10_phy.c        |    4 +-
 drivers/common/sfc_efx/base/ef10_rx.c         |  384 +-
 drivers/common/sfc_efx/base/ef10_tx.c         |  137 +-
 drivers/common/sfc_efx/base/efx.h             |  226 +-
 drivers/common/sfc_efx/base/efx_check.h       |   71 +-
 drivers/common/sfc_efx/base/efx_ev.c          |  456 +-
 drivers/common/sfc_efx/base/efx_evb.c         |   24 +
 drivers/common/sfc_efx/base/efx_filter.c      |   18 +
 drivers/common/sfc_efx/base/efx_impl.h        |  252 +-
 drivers/common/sfc_efx/base/efx_intr.c        |   20 +
 drivers/common/sfc_efx/base/efx_mac.c         |   32 +
 drivers/common/sfc_efx/base/efx_mcdi.c        |  588 +-
 drivers/common/sfc_efx/base/efx_mcdi.h        |   11 +
 drivers/common/sfc_efx/base/efx_nic.c         |  102 +
 drivers/common/sfc_efx/base/efx_pci.c         |  367 ++
 drivers/common/sfc_efx/base/efx_phy.c         |   26 +
 drivers/common/sfc_efx/base/efx_regs_ef100.h  |  934 +++
 drivers/common/sfc_efx/base/efx_regs_mcdi.h   | 5483 ++++++++++++++++-
 .../common/sfc_efx/base/efx_regs_mcdi_aoe.h   |  201 +-
 .../common/sfc_efx/base/efx_regs_mcdi_strs.h  |    2 +-
 drivers/common/sfc_efx/base/efx_rx.c          |  112 +-
 drivers/common/sfc_efx/base/efx_tunnel.c      |  342 +-
 drivers/common/sfc_efx/base/efx_tx.c          |   35 +-
 drivers/common/sfc_efx/base/efx_types.h       |  581 +-
 drivers/common/sfc_efx/base/hunt_nic.c        |    6 +
 drivers/common/sfc_efx/base/medford2_nic.c    |    6 +
 drivers/common/sfc_efx/base/medford_nic.c     |    6 +
 drivers/common/sfc_efx/base/meson.build       |   10 +-
 drivers/common/sfc_efx/base/rhead_ev.c        |  687 +++
 drivers/common/sfc_efx/base/rhead_impl.h      |  484 ++
 drivers/common/sfc_efx/base/rhead_intr.c      |  104 +
 drivers/common/sfc_efx/base/rhead_nic.c       |  633 ++
 drivers/common/sfc_efx/base/rhead_pci.c       |  146 +
 drivers/common/sfc_efx/base/rhead_rx.c        |  677 ++
 drivers/common/sfc_efx/base/rhead_tunnel.c    |  343 ++
 drivers/common/sfc_efx/base/rhead_tx.c        |  192 +
 drivers/common/sfc_efx/base/siena_nic.c       |   10 +-
 drivers/common/sfc_efx/efsys.h                |    9 +-
 .../sfc_efx/rte_common_sfc_efx_version.map    |    3 +
 drivers/net/sfc/sfc.c                         |    3 +-
 drivers/net/sfc/sfc_ev.c                      |   18 +-
 48 files changed, 13193 insertions(+), 1487 deletions(-)
 create mode 100644 drivers/common/sfc_efx/base/efx_pci.c
 create mode 100644 drivers/common/sfc_efx/base/efx_regs_ef100.h
 create mode 100644 drivers/common/sfc_efx/base/rhead_ev.c
 create mode 100644 drivers/common/sfc_efx/base/rhead_impl.h
 create mode 100644 drivers/common/sfc_efx/base/rhead_intr.c
 create mode 100644 drivers/common/sfc_efx/base/rhead_nic.c
 create mode 100644 drivers/common/sfc_efx/base/rhead_pci.c
 create mode 100644 drivers/common/sfc_efx/base/rhead_rx.c
 create mode 100644 drivers/common/sfc_efx/base/rhead_tunnel.c
 create mode 100644 drivers/common/sfc_efx/base/rhead_tx.c
  

Comments

Ferruh Yigit Sept. 29, 2020, 11:32 a.m. UTC | #1
On 9/24/2020 1:11 PM, Andrew Rybchenko wrote:
> Riverhead is a new NIC family, the first one with EF100 architecture.
> Control interface is an MCDI similar to EF10. Datapath interface is
> completely new.

Hi Andrew,

Can you please update documentation and release notes for new Riverhead devices, 
it is OK to send it as separate patches from this patchset.

> 
> The patch series is build tested with and without EFSYS_OPT_RIVERHEAD
> enabled.
> 
> EF10-based NICs are tested with the patch series applied with and
> without EFSYS_OPT_RIVERHEAD enabled.
> 
> net/sfc patches will follow.
> 
> v3:
>   - more spelling fixes
>   - fix extremely long lines in common/sfc_efx/base: update MCDI headers
> 
> v2:
>   - fix spelling in few patches
>   - use tabs to indent instead of spaces
> 
> Andrew Rybchenko (41):
>    common/sfc_efx/base: add EF100 registers definitions
>    common/sfc_efx/base: update MCDI headers
>    common/sfc_efx/base: add event queue operation to do polling
>    common/sfc_efx/base: add efsys option for Riverhead
>    common/sfc_efx/base: add Riverhead NIC family
>    common/sfc_efx/base: update registers check for Riverhead
>    common/sfc_efx/base: use EF10 MCDI methods for Riverhead
>    common/sfc_efx/base: use EF10 PHY methods for Riverhead
>    common/sfc_efx/base: move 14b prefix check out of caps get
>    common/sfc_efx/base: remove PF count get from caps get
>    common/sfc_efx/base: factor out helper to get board config
>    common/sfc_efx/base: set NIC features in generic place
>    common/sfc_efx/base: factor out MCDI entity reset helper
>    common/sfc_efx/base: add Riverhead support to NIC module
>    common/sfc_efx/base: use dummy tunnel ops for Riverhead
>    common/sfc_efx/base: use EF10 filter methods for Riverhead
>    common/sfc_efx/base: use EF10 MAC methods for Riverhead
>    common/sfc_efx/base: add interrupts module for Riverhead
>    common/sfc_efx/base: move EvQ init/fini wrappers to generic
>    common/sfc_efx/base: move EvQ create generic checks
>    common/sfc_efx/base: prepare to merge EvQ init functions
>    common/sfc_efx/base: merge versions of init EvQ wrappers
>    common/sfc_efx/base: add event queue module for Riverhead
>    common/sfc_efx/base: handle MCDI events on Riverhead
>    common/sfc_efx/base: move RxQ init/fini wrappers to generic
>    common/sfc_efx/base: move TxQ init/fini wrappers to generic
>    common/sfc_efx/base: switch TxQ init to extended version
>    common/sfc_efx/base: maintain RxQ counter in generic code
>    common/sfc_efx/base: free Rx queue structure in generic code
>    common/sfc_efx/base: move Rx index check to generic code
>    common/sfc_efx/base: implement Rx control path for Riverhead
>    common/sfc_efx/base: implement Tx control path for Riverhead
>    common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead
>    common/sfc_efx/base: handle Rx events for Riverhead
>    common/sfc_efx/base: handle Tx complete on Riverhead
>    common/sfc_efx: do not include libefx headers from efsys.h
>    common/sfc_efx/base: add API to get Rx prefix information
>    common/sfc_efx/base: group RxQ parameters into a structure
>    common/sfc_efx/base: choose smallest Rx prefix on Riverhead
>    common/sfc_efx/base: use EF10 EVB methods for Riverhead
>    common/sfc_efx/base: allocate vAdaptor on Riverhead
> 
> Andy Moreton (7):
>    common/sfc_efx/base: add option for extended width events
>    common/sfc_efx/base: add 256bit type
>    common/sfc_efx/base: support creation of extended width EvQ
>    common/sfc_efx/base: poll extended width event queues
>    common/sfc_efx/base: handle normal events in extended width
>    common/sfc_efx/base: add option for descriptor proxy queues
>    common/sfc_efx/base: handle descriptor proxy queue events
> 
> Igor Romanov (9):
>    common/sfc_efx/base: add function control window concept
>    common/sfc_efx/base: add function control window lookup API
>    common/sfc_efx/base: add efsys API to find a memory BAR
>    common/sfc_efx/base: add Xilinx capabilities table lookup
>    common/sfc_efx/base: add NIC magic check on BAR lookup
>    common/sfc_efx/base: introduce UDP tunnel destruct operation
>    common/sfc_efx/base: introduce states for UDP tunnel entries
>    common/sfc_efx/base: support UDP tunnel operations for EF100
>    common/sfc_efx/base: replace PCI efsys macros with functions
> 
> Ivan Malov (3):
>    common/sfc_efx/base: complete EvQ creation on Riverhead
>    common/sfc_efx/base: indicate support for TSO version 3
>    common/sfc_efx/base: report restrictions for TSO version 3

<...>
  
Andrew Rybchenko Sept. 29, 2020, 11:41 a.m. UTC | #2
On 9/29/20 2:32 PM, Ferruh Yigit wrote:
> On 9/24/2020 1:11 PM, Andrew Rybchenko wrote:
>> Riverhead is a new NIC family, the first one with EF100 architecture.
>> Control interface is an MCDI similar to EF10. Datapath interface is
>> completely new.
> 
> Hi Andrew,
> 
> Can you please update documentation and release notes for new Riverhead
> devices, it is OK to send it as separate patches from this patchset.

Hi Ferruh,

these patches just update base driver. It does not add any new
functionality visible to DPDK users.
The point here is to prepare base driver to add new HW to
DPDK native net/sfc driver. Release notes will be updated
at the point (this release).
I can join these patch series, but it is already tooooo long.

Thanks,
Andrew.

> 
>>
>> The patch series is build tested with and without EFSYS_OPT_RIVERHEAD
>> enabled.
>>
>> EF10-based NICs are tested with the patch series applied with and
>> without EFSYS_OPT_RIVERHEAD enabled.
>>
>> net/sfc patches will follow.
>>
>> v3:
>>   - more spelling fixes
>>   - fix extremely long lines in common/sfc_efx/base: update MCDI headers
>>
>> v2:
>>   - fix spelling in few patches
>>   - use tabs to indent instead of spaces
>>
>> Andrew Rybchenko (41):
>>    common/sfc_efx/base: add EF100 registers definitions
>>    common/sfc_efx/base: update MCDI headers
>>    common/sfc_efx/base: add event queue operation to do polling
>>    common/sfc_efx/base: add efsys option for Riverhead
>>    common/sfc_efx/base: add Riverhead NIC family
>>    common/sfc_efx/base: update registers check for Riverhead
>>    common/sfc_efx/base: use EF10 MCDI methods for Riverhead
>>    common/sfc_efx/base: use EF10 PHY methods for Riverhead
>>    common/sfc_efx/base: move 14b prefix check out of caps get
>>    common/sfc_efx/base: remove PF count get from caps get
>>    common/sfc_efx/base: factor out helper to get board config
>>    common/sfc_efx/base: set NIC features in generic place
>>    common/sfc_efx/base: factor out MCDI entity reset helper
>>    common/sfc_efx/base: add Riverhead support to NIC module
>>    common/sfc_efx/base: use dummy tunnel ops for Riverhead
>>    common/sfc_efx/base: use EF10 filter methods for Riverhead
>>    common/sfc_efx/base: use EF10 MAC methods for Riverhead
>>    common/sfc_efx/base: add interrupts module for Riverhead
>>    common/sfc_efx/base: move EvQ init/fini wrappers to generic
>>    common/sfc_efx/base: move EvQ create generic checks
>>    common/sfc_efx/base: prepare to merge EvQ init functions
>>    common/sfc_efx/base: merge versions of init EvQ wrappers
>>    common/sfc_efx/base: add event queue module for Riverhead
>>    common/sfc_efx/base: handle MCDI events on Riverhead
>>    common/sfc_efx/base: move RxQ init/fini wrappers to generic
>>    common/sfc_efx/base: move TxQ init/fini wrappers to generic
>>    common/sfc_efx/base: switch TxQ init to extended version
>>    common/sfc_efx/base: maintain RxQ counter in generic code
>>    common/sfc_efx/base: free Rx queue structure in generic code
>>    common/sfc_efx/base: move Rx index check to generic code
>>    common/sfc_efx/base: implement Rx control path for Riverhead
>>    common/sfc_efx/base: implement Tx control path for Riverhead
>>    common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead
>>    common/sfc_efx/base: handle Rx events for Riverhead
>>    common/sfc_efx/base: handle Tx complete on Riverhead
>>    common/sfc_efx: do not include libefx headers from efsys.h
>>    common/sfc_efx/base: add API to get Rx prefix information
>>    common/sfc_efx/base: group RxQ parameters into a structure
>>    common/sfc_efx/base: choose smallest Rx prefix on Riverhead
>>    common/sfc_efx/base: use EF10 EVB methods for Riverhead
>>    common/sfc_efx/base: allocate vAdaptor on Riverhead
>>
>> Andy Moreton (7):
>>    common/sfc_efx/base: add option for extended width events
>>    common/sfc_efx/base: add 256bit type
>>    common/sfc_efx/base: support creation of extended width EvQ
>>    common/sfc_efx/base: poll extended width event queues
>>    common/sfc_efx/base: handle normal events in extended width
>>    common/sfc_efx/base: add option for descriptor proxy queues
>>    common/sfc_efx/base: handle descriptor proxy queue events
>>
>> Igor Romanov (9):
>>    common/sfc_efx/base: add function control window concept
>>    common/sfc_efx/base: add function control window lookup API
>>    common/sfc_efx/base: add efsys API to find a memory BAR
>>    common/sfc_efx/base: add Xilinx capabilities table lookup
>>    common/sfc_efx/base: add NIC magic check on BAR lookup
>>    common/sfc_efx/base: introduce UDP tunnel destruct operation
>>    common/sfc_efx/base: introduce states for UDP tunnel entries
>>    common/sfc_efx/base: support UDP tunnel operations for EF100
>>    common/sfc_efx/base: replace PCI efsys macros with functions
>>
>> Ivan Malov (3):
>>    common/sfc_efx/base: complete EvQ creation on Riverhead
>>    common/sfc_efx/base: indicate support for TSO version 3
>>    common/sfc_efx/base: report restrictions for TSO version 3
> 
> <...>
  
Ferruh Yigit Sept. 29, 2020, 11:52 a.m. UTC | #3
On 9/29/2020 12:41 PM, Andrew Rybchenko wrote:
> On 9/29/20 2:32 PM, Ferruh Yigit wrote:
>> On 9/24/2020 1:11 PM, Andrew Rybchenko wrote:
>>> Riverhead is a new NIC family, the first one with EF100 architecture.
>>> Control interface is an MCDI similar to EF10. Datapath interface is
>>> completely new.
>>
>> Hi Andrew,
>>
>> Can you please update documentation and release notes for new Riverhead
>> devices, it is OK to send it as separate patches from this patchset.
> 
> Hi Ferruh,
> 
> these patches just update base driver. It does not add any new
> functionality visible to DPDK users.
> The point here is to prepare base driver to add new HW to
> DPDK native net/sfc driver. Release notes will be updated
> at the point (this release).
 >

Got it, if you already have a plan to update the documentation and release note 
that is OK.


> I can join these patch series, but it is already tooooo long.
> 

scary

> Thanks,
> Andrew.
> 
>>
>>>
>>> The patch series is build tested with and without EFSYS_OPT_RIVERHEAD
>>> enabled.
>>>
>>> EF10-based NICs are tested with the patch series applied with and
>>> without EFSYS_OPT_RIVERHEAD enabled.
>>>
>>> net/sfc patches will follow.
>>>
>>> v3:
>>>    - more spelling fixes
>>>    - fix extremely long lines in common/sfc_efx/base: update MCDI headers
>>>
>>> v2:
>>>    - fix spelling in few patches
>>>    - use tabs to indent instead of spaces
>>>
>>> Andrew Rybchenko (41):
>>>     common/sfc_efx/base: add EF100 registers definitions
>>>     common/sfc_efx/base: update MCDI headers
>>>     common/sfc_efx/base: add event queue operation to do polling
>>>     common/sfc_efx/base: add efsys option for Riverhead
>>>     common/sfc_efx/base: add Riverhead NIC family
>>>     common/sfc_efx/base: update registers check for Riverhead
>>>     common/sfc_efx/base: use EF10 MCDI methods for Riverhead
>>>     common/sfc_efx/base: use EF10 PHY methods for Riverhead
>>>     common/sfc_efx/base: move 14b prefix check out of caps get
>>>     common/sfc_efx/base: remove PF count get from caps get
>>>     common/sfc_efx/base: factor out helper to get board config
>>>     common/sfc_efx/base: set NIC features in generic place
>>>     common/sfc_efx/base: factor out MCDI entity reset helper
>>>     common/sfc_efx/base: add Riverhead support to NIC module
>>>     common/sfc_efx/base: use dummy tunnel ops for Riverhead
>>>     common/sfc_efx/base: use EF10 filter methods for Riverhead
>>>     common/sfc_efx/base: use EF10 MAC methods for Riverhead
>>>     common/sfc_efx/base: add interrupts module for Riverhead
>>>     common/sfc_efx/base: move EvQ init/fini wrappers to generic
>>>     common/sfc_efx/base: move EvQ create generic checks
>>>     common/sfc_efx/base: prepare to merge EvQ init functions
>>>     common/sfc_efx/base: merge versions of init EvQ wrappers
>>>     common/sfc_efx/base: add event queue module for Riverhead
>>>     common/sfc_efx/base: handle MCDI events on Riverhead
>>>     common/sfc_efx/base: move RxQ init/fini wrappers to generic
>>>     common/sfc_efx/base: move TxQ init/fini wrappers to generic
>>>     common/sfc_efx/base: switch TxQ init to extended version
>>>     common/sfc_efx/base: maintain RxQ counter in generic code
>>>     common/sfc_efx/base: free Rx queue structure in generic code
>>>     common/sfc_efx/base: move Rx index check to generic code
>>>     common/sfc_efx/base: implement Rx control path for Riverhead
>>>     common/sfc_efx/base: implement Tx control path for Riverhead
>>>     common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead
>>>     common/sfc_efx/base: handle Rx events for Riverhead
>>>     common/sfc_efx/base: handle Tx complete on Riverhead
>>>     common/sfc_efx: do not include libefx headers from efsys.h
>>>     common/sfc_efx/base: add API to get Rx prefix information
>>>     common/sfc_efx/base: group RxQ parameters into a structure
>>>     common/sfc_efx/base: choose smallest Rx prefix on Riverhead
>>>     common/sfc_efx/base: use EF10 EVB methods for Riverhead
>>>     common/sfc_efx/base: allocate vAdaptor on Riverhead
>>>
>>> Andy Moreton (7):
>>>     common/sfc_efx/base: add option for extended width events
>>>     common/sfc_efx/base: add 256bit type
>>>     common/sfc_efx/base: support creation of extended width EvQ
>>>     common/sfc_efx/base: poll extended width event queues
>>>     common/sfc_efx/base: handle normal events in extended width
>>>     common/sfc_efx/base: add option for descriptor proxy queues
>>>     common/sfc_efx/base: handle descriptor proxy queue events
>>>
>>> Igor Romanov (9):
>>>     common/sfc_efx/base: add function control window concept
>>>     common/sfc_efx/base: add function control window lookup API
>>>     common/sfc_efx/base: add efsys API to find a memory BAR
>>>     common/sfc_efx/base: add Xilinx capabilities table lookup
>>>     common/sfc_efx/base: add NIC magic check on BAR lookup
>>>     common/sfc_efx/base: introduce UDP tunnel destruct operation
>>>     common/sfc_efx/base: introduce states for UDP tunnel entries
>>>     common/sfc_efx/base: support UDP tunnel operations for EF100
>>>     common/sfc_efx/base: replace PCI efsys macros with functions
>>>
>>> Ivan Malov (3):
>>>     common/sfc_efx/base: complete EvQ creation on Riverhead
>>>     common/sfc_efx/base: indicate support for TSO version 3
>>>     common/sfc_efx/base: report restrictions for TSO version 3
>>
>> <...>
>
  
Ferruh Yigit Sept. 29, 2020, 11:52 a.m. UTC | #4
On 9/24/2020 1:11 PM, Andrew Rybchenko wrote:
> Riverhead is a new NIC family, the first one with EF100 architecture.
> Control interface is an MCDI similar to EF10. Datapath interface is
> completely new.
> 
> The patch series is build tested with and without EFSYS_OPT_RIVERHEAD
> enabled.
> 
> EF10-based NICs are tested with the patch series applied with and
> without EFSYS_OPT_RIVERHEAD enabled.
> 
> net/sfc patches will follow.
> 
> v3:
>   - more spelling fixes
>   - fix extremely long lines in common/sfc_efx/base: update MCDI headers
> 
> v2:
>   - fix spelling in few patches
>   - use tabs to indent instead of spaces
> 
> Andrew Rybchenko (41):
>    common/sfc_efx/base: add EF100 registers definitions
>    common/sfc_efx/base: update MCDI headers
>    common/sfc_efx/base: add event queue operation to do polling
>    common/sfc_efx/base: add efsys option for Riverhead
>    common/sfc_efx/base: add Riverhead NIC family
>    common/sfc_efx/base: update registers check for Riverhead
>    common/sfc_efx/base: use EF10 MCDI methods for Riverhead
>    common/sfc_efx/base: use EF10 PHY methods for Riverhead
>    common/sfc_efx/base: move 14b prefix check out of caps get
>    common/sfc_efx/base: remove PF count get from caps get
>    common/sfc_efx/base: factor out helper to get board config
>    common/sfc_efx/base: set NIC features in generic place
>    common/sfc_efx/base: factor out MCDI entity reset helper
>    common/sfc_efx/base: add Riverhead support to NIC module
>    common/sfc_efx/base: use dummy tunnel ops for Riverhead
>    common/sfc_efx/base: use EF10 filter methods for Riverhead
>    common/sfc_efx/base: use EF10 MAC methods for Riverhead
>    common/sfc_efx/base: add interrupts module for Riverhead
>    common/sfc_efx/base: move EvQ init/fini wrappers to generic
>    common/sfc_efx/base: move EvQ create generic checks
>    common/sfc_efx/base: prepare to merge EvQ init functions
>    common/sfc_efx/base: merge versions of init EvQ wrappers
>    common/sfc_efx/base: add event queue module for Riverhead
>    common/sfc_efx/base: handle MCDI events on Riverhead
>    common/sfc_efx/base: move RxQ init/fini wrappers to generic
>    common/sfc_efx/base: move TxQ init/fini wrappers to generic
>    common/sfc_efx/base: switch TxQ init to extended version
>    common/sfc_efx/base: maintain RxQ counter in generic code
>    common/sfc_efx/base: free Rx queue structure in generic code
>    common/sfc_efx/base: move Rx index check to generic code
>    common/sfc_efx/base: implement Rx control path for Riverhead
>    common/sfc_efx/base: implement Tx control path for Riverhead
>    common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead
>    common/sfc_efx/base: handle Rx events for Riverhead
>    common/sfc_efx/base: handle Tx complete on Riverhead
>    common/sfc_efx: do not include libefx headers from efsys.h
>    common/sfc_efx/base: add API to get Rx prefix information
>    common/sfc_efx/base: group RxQ parameters into a structure
>    common/sfc_efx/base: choose smallest Rx prefix on Riverhead
>    common/sfc_efx/base: use EF10 EVB methods for Riverhead
>    common/sfc_efx/base: allocate vAdaptor on Riverhead
> 
> Andy Moreton (7):
>    common/sfc_efx/base: add option for extended width events
>    common/sfc_efx/base: add 256bit type
>    common/sfc_efx/base: support creation of extended width EvQ
>    common/sfc_efx/base: poll extended width event queues
>    common/sfc_efx/base: handle normal events in extended width
>    common/sfc_efx/base: add option for descriptor proxy queues
>    common/sfc_efx/base: handle descriptor proxy queue events
> 
> Igor Romanov (9):
>    common/sfc_efx/base: add function control window concept
>    common/sfc_efx/base: add function control window lookup API
>    common/sfc_efx/base: add efsys API to find a memory BAR
>    common/sfc_efx/base: add Xilinx capabilities table lookup
>    common/sfc_efx/base: add NIC magic check on BAR lookup
>    common/sfc_efx/base: introduce UDP tunnel destruct operation
>    common/sfc_efx/base: introduce states for UDP tunnel entries
>    common/sfc_efx/base: support UDP tunnel operations for EF100
>    common/sfc_efx/base: replace PCI efsys macros with functions
> 
> Ivan Malov (3):
>    common/sfc_efx/base: complete EvQ creation on Riverhead
>    common/sfc_efx/base: indicate support for TSO version 3
>    common/sfc_efx/base: report restrictions for TSO version 3
> 

Series applied to dpdk-next-net/main, thanks.