Re: [PATCH net 2/2] dpaa_eth: fix usage as DSA master, try 4

From: Vladimir Oltean
Date: Tue Jun 16 2020 - 11:13:02 EST


On Tue, 16 Jun 2020 at 18:08, Vladimir Oltean <olteanv@xxxxxxxxx> wrote:
>
> On Tue, 16 Jun 2020 at 18:04, Joakim Tjernlund
> <Joakim.Tjernlund@xxxxxxxxxxxx> wrote:
> >
> > On Tue, 2020-06-16 at 17:56 +0300, Vladimir Oltean wrote:
> > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
> > >
> > >
> > > Hi Joakim,
> > >
> > > On Tue, 16 Jun 2020 at 17:51, Joakim Tjernlund
> > > <Joakim.Tjernlund@xxxxxxxxxxxx> wrote:
> > > > On Tue, 2020-06-16 at 17:41 +0300, Vladimir Oltean wrote:
> > > > > From: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> > > > >
> > > > > The dpaa-eth driver probes on compatible string for the MAC node, and
> > > > > the fman/mac.c driver allocates a dpaa-ethernet platform device that
> > > > > triggers the probing of the dpaa-eth net device driver.
> > > > >
> > > > > All of this is fine, but the problem is that the struct device of the
> > > > > dpaa_eth net_device is 2 parents away from the MAC which can be
> > > > > referenced via of_node. So of_find_net_device_by_node can't find it, and
> > > > > DSA switches won't be able to probe on top of FMan ports.
> > > > >
> > > > > It would be a bit silly to modify a core function
> > > > > (of_find_net_device_by_node) to look for dev->parent->parent->of_node
> > > > > just for one driver. We're just 1 step away from implementing full
> > > > > recursion.
> > > > >
> > > > > On T1040, the /sys/class/net/eth0 symlink currently points to:
> > > > >
> > > > > ../../devices/platform/ffe000000.soc/ffe400000.fman/ffe4e6000.ethernet/net/eth0
> > > >
> > > > Just want to point out that on 4.19.x, the above patch still exists:
> > > > cd /sys
> > > > find -name eth0
> > > > ./devices/platform/ffe000000.soc/ffe400000.fman/ffe4e6000.ethernet/net/eth0
> > > > ./class/net/eth
> > > >
> > >
> > > By 'current' I mean 'the net tree just before this patch is applied',
> > > i.e. a v5.7 tree with "dpaa_eth: fix usage as DSA master, try 3"
> > > reverted.
> >
> > Confused, with patch reverted(and DSA working) in 4.19, I have
> > ../../devices/platform/ffe000000.soc/ffe400000.fman/ffe4e6000.ethernet/net/eth0
> > Is that the wanted path? Because I figured you wanted to change it to the path further down in this email?
> >
> > Jocke
> > >
>
> Yes, this is the wanted path.
> The path is fine for anything below commit 060ad66f9795 ("dpaa_eth:
> change DMA device"), including your v4.19.y, that's the point. By
> specifying that commit in the Fixes: tag, people who deal with
> backporting to stable trees know to not backport it below that commit.
> So your stable tree will only get the revert patch.
>
> -Vladimir

Oh, sorry, now I see what you were saying. The paths are reversed in
the commit description. It should be:

Good:

../../devices/platform/ffe000000.soc/ffe400000.fman/ffe4e6000.ethernet/net/eth0

Bad:

../../devices/platform/ffe000000.soc/ffe400000.fman/ffe4e6000.ethernet/dpaa-ethernet.0/net/eth0

So I need to spin another version.

Sorry for the confusion.

-Vladimir