1. 10 1月, 2021 1 次提交
    • I
      dpaa2-mac: export MAC counters even when in TYPE_FIXED · d87e6063
      Ioana Ciornei 提交于
      If the network interface object is connected to a MAC of TYPE_FIXED, the
      link status management is handled exclusively by the firmware. This does
      not mean that the driver cannot access the MAC counters and export them
      in ethtool.
      
      For this to happen, we open the attached dpmac device and keep a pointer
      to it in priv->mac. Because of this, all the checks in the driver of the
      following form 'if (priv->mac)' have to be updated to actually check
      the dpmac attribute and not rely on the presence of a non-NULL value.
      Signed-off-by: NIoana Ciornei <ioana.ciornei@nxp.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      d87e6063
  2. 26 9月, 2020 1 次提交
  3. 19 9月, 2020 1 次提交
    • Y
      dpaa2-eth: support PTP Sync packet one-step timestamping · c5521189
      Yangbo Lu 提交于
      This patch is to add PTP sync packet one-step timestamping support.
      Before egress, one-step timestamping enablement needs,
      
      - Enabling timestamp and FAS (Frame Annotation Status) in
        dpni buffer layout.
      
      - Write timestamp to frame annotation and set PTP bit in
        FAS to mark as one-step timestamping event.
      
      - Enabling one-step timestamping by dpni_set_single_step_cfg()
        API, with offset provided to insert correction time on frame.
        The offset must respect all MAC headers, VLAN tags and other
        protocol headers accordingly. The correction field update can
        consider delays up to one second. So PTP frame needs to be
        filtered and parsed, and written timestamp into Sync frame
        originTimestamp field.
      
      The operation of API dpni_set_single_step_cfg() has to be done
      when no one-step timestamping frames are in flight. So we have
      to make sure the last one-step timestamping frame has already
      been transmitted on hardware before starting to send the current
      one. The resolution is,
      
      - Utilize skb->cb[0] to mark timestamping request per packet.
        If it is one-step timestamping PTP sync packet, queue to skb queue.
        If not, transmit immediately.
      
      - Schedule a work to transmit skbs in skb queue.
      
      - mutex lock is used to ensure the last one-step timestamping packet
        has already been transmitted on hardware through TX confirmation queue
        before transmitting current packet.
      Signed-off-by: NYangbo Lu <yangbo.lu@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c5521189
  4. 02 9月, 2020 1 次提交
  5. 30 6月, 2020 2 次提交
  6. 02 6月, 2020 2 次提交
  7. 09 5月, 2020 1 次提交
  8. 26 4月, 2020 1 次提交
  9. 28 2月, 2020 1 次提交
  10. 08 11月, 2019 1 次提交
  11. 01 11月, 2019 1 次提交
    • I
      dpaa2-eth: add MAC/PHY support through phylink · 71947923
      Ioana Ciornei 提交于
      The dpaa2-eth driver now has support for connecting to its associated
      PHY device found through standard OF bindings.
      
      This happens when the DPNI object (that the driver probes on) gets
      connected to a DPMAC. When that happens, the device tree is looked up by
      the DPMAC ID, and the associated PHY bindings are found.
      
      The old logic of handling the net device's link state by hand still
      needs to be kept, as the DPNI can be connected to other devices on the
      bus than a DPMAC: other DPNI, DPSW ports, etc. This logic is only
      engaged when there is no DPMAC (and therefore no phylink instance)
      attached.
      
      The MC firmware support multiple type of DPMAC links: TYPE_FIXED,
      TYPE_PHY. The TYPE_FIXED mode does not require any DPMAC management from
      Linux side, and as such, the driver will not handle such a DPMAC.
      
      Although PHYLINK typically handles SFP cages and in-band AN modes, for
      the moment the driver only supports the RGMII interfaces found on the
      LX2160A. Support for other modes will come later.
      Signed-off-by: NIoana Ciornei <ioana.ciornei@nxp.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      71947923
  12. 07 10月, 2019 1 次提交
  13. 05 9月, 2019 2 次提交
  14. 30 8月, 2019 3 次提交
  15. 27 5月, 2019 1 次提交
  16. 17 4月, 2019 1 次提交
    • I
      dpaa2-eth: Add flow steering support without masking · 2d680237
      Ioana Ciocoi Radulescu 提交于
      On platforms that lack a TCAM (like LS1088A), masking of
      flow steering keys is not supported. Until now we didn't
      offer flow steering capabilities at all on these platforms,
      since our driver implementation configured a "comprehensive"
      FS key (containing all supported header fields), with masks
      used to ignore the fields not present in the rules provided
      by the user.
      
      We now allow ethtool rules that share a common key (i.e. have
      the same header fields). The FS key is now kept in the driver
      private data and initialized when the first rule is added to
      an empty table, rather than at probe time. If a rule with a new
      composition key is wanted, the user must first manually delete
      all previous rules.
      
      When building a FS table entry to pass to firmware, we still use
      the old building algorithm, which assumes an all-supported-fields
      key, and later collapse the fields which aren't actually needed.
      
      Masked rules are not supported; if provided, the mask value
      will be ignored. For firmware versions older than MC10.7.0
      (that only offer the legacy ABIs for configuring distribution
      keys) flow steering without masking support remains unavailable.
      Signed-off-by: NIoana Radulescu <ruxandra.radulescu@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2d680237
  17. 04 3月, 2019 1 次提交
  18. 20 12月, 2018 1 次提交
  19. 29 11月, 2018 2 次提交
  20. 03 10月, 2018 1 次提交
  21. 25 9月, 2018 1 次提交
  22. 02 9月, 2018 1 次提交
  23. 02 8月, 2018 1 次提交
  24. 27 7月, 2018 1 次提交
  25. 29 4月, 2018 1 次提交
  26. 23 3月, 2018 2 次提交
  27. 08 12月, 2017 1 次提交
  28. 18 10月, 2017 1 次提交
  29. 16 7月, 2017 1 次提交
  30. 13 6月, 2017 3 次提交
  31. 28 4月, 2017 1 次提交