Florian Fainelli wrote:
pause    asym_pause    enable tx?    enable rx?
-----    ----------    ----------    ----------
  0           0           No             No
  0           1           Yes            No
  1           0           Yes            Yes
  1           1           No             Yes

The last two seem backwards.  The internal driver enables RX and TX if
pause and asym_pause is enabled.

Is this chart correct?  I see drivers handle this differently.

nb8800_pause_config() has this:

        priv->pause_rx = phydev->pause;
        priv->pause_tx = phydev->pause ^ phydev->asym_pause;

But bcm_sf2_sw_adjust_link() does this:

        if (phydev->pause) {
                if (phydev->asym_pause)
                        reg |= TX_PAUSE_EN;
                reg |= RX_PAUSE_EN;
        }

Which one is correct?

--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

Reply via email to