lkml.org 
[lkml]   [2022]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH net-next v2 0/5] net: ipqess: introduce Qualcomm IPQESS driver
    Date
    Hello everyone,

    This is the 2nd iteration of a series that introduces a new driver, for
    the Qualcomm IPQESS Ethernet Controller, found on the IPQ4019.

    Notables changes on V2 :
    - Put the DSA tag in the skb itself instead of using skb->shinfo
    - Fixed the initialisation sequence based on Andrew's comments
    - Reworked the error paths in the init sequence
    - Add support for the clock and reset lines on that controller
    - Fixed and updated the binding

    The driver itself is pretty straightforward, but has lived out-of-tree
    for a while. I've done my best to clean-up some outdated API calls, but
    some might remain.

    This controller is somewhat special, since it's part of the IPQ4019 SoC
    which also includes an QCA8K switch, and uses the IPQESS controller for
    the CPU port. The switch is so tightly intergrated with the MAC that it
    is connected to the MAC using an internal link (hence the fact that we
    only support PHY_INTERFACE_MODE_INTERNAL), and this has some
    consequences on the DSA side.

    The tagging for the switch isn't done inband as most switch do, but
    out-of-band, the DSA tag being included in the DMA descriptor.

    This series includes a new out-of-band tagger that uses the skb headroom
    to convey the tag between the tagger and the MAC driver.

    Thanks to the Sartura folks who worked on a base version of this driver,
    and provided test hardware.

    Best regards,

    Maxime Chevallier

    Maxime Chevallier (5):
    net: ipqess: introduce the Qualcomm IPQESS driver
    net: dsa: add out-of-band tagging protocol
    net: ipqess: Add out-of-band DSA tagging support
    net: dt-bindings: Introduce the Qualcomm IPQESS Ethernet controller
    ARM: dts: qcom: ipq4019: Add description for the IPQESS Ethernet
    controller

    .../devicetree/bindings/net/qcom,ipqess.yaml | 104 ++
    MAINTAINERS | 6 +
    arch/arm/boot/dts/qcom-ipq4019.dtsi | 46 +
    drivers/net/ethernet/qualcomm/Kconfig | 12 +
    drivers/net/ethernet/qualcomm/Makefile | 2 +
    drivers/net/ethernet/qualcomm/ipqess/Makefile | 8 +
    drivers/net/ethernet/qualcomm/ipqess/ipqess.c | 1296 +++++++++++++++++
    drivers/net/ethernet/qualcomm/ipqess/ipqess.h | 518 +++++++
    .../ethernet/qualcomm/ipqess/ipqess_ethtool.c | 168 +++
    include/linux/dsa/oob.h | 17 +
    include/net/dsa.h | 2 +
    net/dsa/Kconfig | 7 +
    net/dsa/Makefile | 1 +
    net/dsa/tag_oob.c | 84 ++
    14 files changed, 2271 insertions(+)
    create mode 100644 Documentation/devicetree/bindings/net/qcom,ipqess.yaml
    create mode 100644 drivers/net/ethernet/qualcomm/ipqess/Makefile
    create mode 100644 drivers/net/ethernet/qualcomm/ipqess/ipqess.c
    create mode 100644 drivers/net/ethernet/qualcomm/ipqess/ipqess.h
    create mode 100644 drivers/net/ethernet/qualcomm/ipqess/ipqess_ethtool.c
    create mode 100644 include/linux/dsa/oob.h
    create mode 100644 net/dsa/tag_oob.c

    --
    2.36.1

    \
     
     \ /
      Last update: 2022-05-14 17:09    [W:4.311 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site