1. 23 4月, 2020 4 次提交
  2. 28 2月, 2020 1 次提交
  3. 18 11月, 2019 1 次提交
  4. 13 11月, 2019 1 次提交
  5. 01 11月, 2019 2 次提交
    • 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
    • I
      dpaa2-eth: update the TX frame queues on DPNI_IRQ_EVENT_ENDPOINT_CHANGED · f5c3fffa
      Ioana Ciornei 提交于
      Currently the function is called at every link up event, although the
      FQID values will only change when the DPNI is disconnected from the
      current object and reconnected to a different one.
      
      The patch also avoids the forward declaration of update_tx_fqids.
      Signed-off-by: NIoana Ciornei <ioana.ciornei@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f5c3fffa
  6. 18 10月, 2019 2 次提交
  7. 07 10月, 2019 2 次提交
  8. 05 9月, 2019 1 次提交
  9. 30 8月, 2019 2 次提交
    • I
      dpaa2-eth: Add pause frame support · 8eb3cef8
      Ioana Radulescu 提交于
      Starting with firmware version MC10.18.0, we have support for
      L2 flow control. Asymmetrical configuration (Rx or Tx only) is
      supported, but not pause frame autonegotioation.
      
      Pause frame configuration is done via ethtool. By default, we start
      with flow control enabled on both Rx and Tx. Changes are propagated
      to hardware through firmware commands, using two flags (PAUSE,
      ASYM_PAUSE) to specify Rx and Tx pause configuration, as follows:
      
      PAUSE | ASYM_PAUSE | Rx pause | Tx pause
      ----------------------------------------
        0   |     0      | disabled | disabled
        0   |     1      | disabled | enabled
        1   |     0      | enabled  | enabled
        1   |     1      | enabled  | disabled
      
      The hardware can automatically send pause frames when the number
      of buffers in the pool goes below a predefined threshold. Due to
      this, flow control is incompatible with Rx frame queue taildrop
      (both mechanisms target the case when processing of ingress
      frames can't keep up with the Rx rate; for large frames, the number
      of buffers in the pool may never get low enough to trigger pause
      frames as long as taildrop is enabled). So we set pause frame
      generation and Rx FQ taildrop as mutually exclusive.
      Signed-off-by: NIoana Radulescu <ruxandra.radulescu@nxp.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8eb3cef8
    • I
      dpaa2-eth: Use stored link settings · cce62943
      Ioana Radulescu 提交于
      Whenever a link state change occurs, we get notified and save
      the new link settings in the device's private data. In ethtool
      get_link_ksettings, use the stored state instead of interrogating
      the firmware each time.
      Signed-off-by: NIoana Radulescu <ruxandra.radulescu@nxp.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cce62943
  10. 13 6月, 2019 3 次提交
  11. 10 6月, 2019 2 次提交
  12. 27 5月, 2019 1 次提交
  13. 24 5月, 2019 1 次提交
    • I
      Revert "dpaa2-eth: configure the cache stashing amount on a queue" · 16fa1cf1
      Ioana Radulescu 提交于
      This reverts commit f8b99585.
      
      The reverted change instructed the QMan hardware block to fetch
      RX frame annotation and beginning of frame data to cache before
      the core would read them.
      
      It turns out that in rare cases, it's possible that a QMan
      stashing transaction is delayed long enough such that, by the time
      it gets executed, the frame in question had already been dequeued
      by the core and software processing began on it. If the core
      manages to unmap the frame buffer _before_ the stashing transaction
      is executed, an SMMU exception will be raised.
      
      Unfortunately there is no easy way to work around this while keeping
      the performance advantages brought by QMan stashing, so disable
      it altogether.
      Signed-off-by: NIoana Radulescu <ruxandra.radulescu@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      16fa1cf1
  14. 17 4月, 2019 4 次提交
  15. 27 3月, 2019 2 次提交
  16. 21 3月, 2019 1 次提交
  17. 04 3月, 2019 2 次提交
  18. 27 2月, 2019 1 次提交
  19. 07 2月, 2019 3 次提交
  20. 20 1月, 2019 1 次提交
  21. 18 1月, 2019 1 次提交
    • I
      dpaa2-eth: Fix ndo_stop routine · 68d74315
      Ioana Ciocoi Radulescu 提交于
      In the current implementation, on interface down we disabled NAPI and
      then manually drained any remaining ingress frames. This could lead
      to a situation when, under heavy traffic, the data availability
      notification for some of the channels would not get rearmed correctly.
      
      Change the implementation such that we let all remaining ingress frames
      be processed as usual and only disable NAPI once the hardware queues
      are empty.
      
      We also add a wait on the Tx side, to allow hardware time to process
      all in-flight Tx frames before issueing the disable command.
      Signed-off-by: NIoana Radulescu <ruxandra.radulescu@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      68d74315
  22. 12 1月, 2019 1 次提交
  23. 30 11月, 2018 1 次提交