Thread (10 messages) flat view 10 messages, 3 authors, 2021-02-04

Re: [PATCH net-next 3/3] net: dpaa2-mac: add backplane link mode support

From: Ioana Ciornei <ioana.ciornei@nxp.com>
Date: 2021-02-04 15:42:24

On Thu, Feb 04, 2021 at 02:51:24PM +0000, Russell King - ARM Linux admin wrote:
On Wed, Jan 20, 2021 at 10:19:01PM +0000, Ioana Ciornei wrote:
quoted
On Tue, Jan 19, 2021 at 03:36:09PM +0000, Russell King wrote:
quoted
Add support for backplane link mode, which is, according to discussions
with NXP earlier in the year, is a mode where the OS (Linux) is able to
manage the PCS and Serdes itself.
Indeed, DPMACs in TYPE_BACKPLANE can have both their PCS and SerDes managed
by Linux (since the firmware is not touching these).
That being said, DPMACs in TYPE_PHY (the type that is already supported
in dpaa2-mac) can also have their PCS managed by Linux (no interraction
from the firmware's part with the PCS, just the SerDes).

All in all, this patch is not needed for this particular usecase, where
the switch between 1000Base-X and SGMII is done by just a minor
reconfiguration in the PCS, without the need for SerDes changes.

Also, with just the changes from this patch, a interface connected to a
DPMAC in TYPE_BACKPLANE is not even creating a phylink instance. It's
mainly because of this check from dpaa2-eth:

	if (dpaa2_eth_is_type_phy(priv)) {
		err = dpaa2_mac_connect(mac);


I would suggest just dropping this patch.
Hi Ioana,

So what is happening with this series given our discussions off-list?
Let's also accept TYPE_BACKPLANE as you suggested.
Do I resend it as-is?
For the net-next, you would also need the following diff on top of your changes in patch 3/3:
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
@@ -695,7 +695,9 @@ static inline unsigned int dpaa2_eth_rx_head_room(struct dpaa2_eth_priv *priv)

 static inline bool dpaa2_eth_is_type_phy(struct dpaa2_eth_priv *priv)
 {
-       if (priv->mac && priv->mac->attr.link_type == DPMAC_LINK_TYPE_PHY)
+       if (priv->mac &&
+           (priv->mac->attr.link_type == DPMAC_LINK_TYPE_PHY ||
+            priv->mac->attr.link_type == DPMAC_LINK_TYPE_BACKPLANE))
                return true;

        return false;
Would you mind amending your commit with this and resending the series?

Thanks,
Ioana

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help