mbox series

[net-next,00/13] HW support for VCAP IS1 and ES0 in mscc_ocelot

Message ID 20200929222733.770926-1-vladimir.oltean@nxp.com
Headers show
Series HW support for VCAP IS1 and ES0 in mscc_ocelot | expand

Message

Vladimir Oltean Sept. 29, 2020, 10:27 p.m. UTC
The patches from RFC series "Offload tc-flower to mscc_ocelot switch
using VCAP chains" have been split into 2:
https://patchwork.ozlabs.org/project/netdev/list/?series=204810&state=*

This is the boring part, that deals with the prerequisites, and not with
tc-flower integration. Apart from the initialization of some hardware
blocks, which at this point still don't do anything, no new
functionality is introduced.

- Key and action field offsets are defined for the supported switches.
- VCAP properties are added to the driver for the new TCAM blocks. But
  instead of adding them manually as was done for IS2, which is error
  prone, the driver is refactored to read these parameters from
  hardware, which is possible.
- Some improvements regarding the processing of struct ocelot_vcap_filter.
- Extending the code to be compatible with full and quarter keys.

This series was tested, along with other patches not yet submitted, on
the Felix and Seville switches.

Vladimir Oltean (11):
  net: mscc: ocelot: introduce a new ocelot_target_{read,write} API
  net: mscc: ocelot: generalize existing code for VCAP
  net: mscc: ocelot: add definitions for VCAP IS1 keys, actions and
    target
  net: mscc: ocelot: add definitions for VCAP ES0 keys, actions and
    target
  net: mscc: ocelot: automatically detect VCAP constants
  net: mscc: ocelot: remove unneeded VCAP parameters for IS2
  net: mscc: ocelot: parse flower action before key
  net: mscc: ocelot: rename variable 'count' in vcap_data_offset_get()
  net: mscc: ocelot: rename variable 'cnt' in vcap_data_offset_get()
  net: mscc: ocelot: add a new ocelot_vcap_block_find_filter_by_id
    function
  net: mscc: ocelot: look up the filters in flower_stats() and
    flower_destroy()

Xiaoliang Yang (2):
  net: mscc: ocelot: return error if VCAP filter is not found
  net: mscc: ocelot: calculate vcap offsets correctly for full and
    quarter entries

 arch/mips/boot/dts/mscc/ocelot.dtsi        |   4 +-
 drivers/net/dsa/ocelot/felix.c             |   2 -
 drivers/net/dsa/ocelot/felix.h             |   4 +-
 drivers/net/dsa/ocelot/felix_vsc9959.c     | 192 ++++++-
 drivers/net/dsa/ocelot/seville_vsc9953.c   | 193 +++++++-
 drivers/net/ethernet/mscc/ocelot.c         |   1 +
 drivers/net/ethernet/mscc/ocelot_flower.c  |  42 +-
 drivers/net/ethernet/mscc/ocelot_io.c      |  17 +
 drivers/net/ethernet/mscc/ocelot_s2.h      |  64 ---
 drivers/net/ethernet/mscc/ocelot_vcap.c    | 550 +++++++++++++--------
 drivers/net/ethernet/mscc/ocelot_vcap.h    |   3 +
 drivers/net/ethernet/mscc/ocelot_vsc7514.c | 184 ++++++-
 include/soc/mscc/ocelot.h                  |  59 ++-
 include/soc/mscc/ocelot_vcap.h             | 202 +++++++-
 14 files changed, 1140 insertions(+), 377 deletions(-)
 delete mode 100644 drivers/net/ethernet/mscc/ocelot_s2.h

Comments

David Miller Sept. 30, 2020, 1:26 a.m. UTC | #1
From: Vladimir Oltean <vladimir.oltean@nxp.com>

Date: Wed, 30 Sep 2020 01:27:20 +0300

> The patches from RFC series "Offload tc-flower to mscc_ocelot switch

> using VCAP chains" have been split into 2:

> https://patchwork.ozlabs.org/project/netdev/list/?series=204810&state=*

> 

> This is the boring part, that deals with the prerequisites, and not with

> tc-flower integration. Apart from the initialization of some hardware

> blocks, which at this point still don't do anything, no new

> functionality is introduced.

> 

> - Key and action field offsets are defined for the supported switches.

> - VCAP properties are added to the driver for the new TCAM blocks. But

>   instead of adding them manually as was done for IS2, which is error

>   prone, the driver is refactored to read these parameters from

>   hardware, which is possible.

> - Some improvements regarding the processing of struct ocelot_vcap_filter.

> - Extending the code to be compatible with full and quarter keys.

> 

> This series was tested, along with other patches not yet submitted, on

> the Felix and Seville switches.


Series applied, thanks.