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

From: Joakim Tjernlund
Date: Tue Jun 16 2020 - 11:15:22 EST


On Tue, 2020-06-16 at 18:12 +0300, Vladimir Oltean wrote:
> 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.

Thank you, I was doubting my(non native) understanding of English :)

Jocke