Re: [PATCH v3 net-next 12/12] net: mscc: ocelot: add MAC Merge layer support for VSC9959

From: Vladimir Oltean
Date: Wed Jan 18 2023 - 08:05:22 EST


On Tue, Jan 17, 2023 at 07:52:21PM -0800, Jakub Kicinski wrote:
> On Tue, 17 Jan 2023 10:59:47 +0200 Vladimir Oltean wrote:
> > Felix (VSC9959) has a DEV_GMII:MM_CONFIG block composed of 2 registers
> > (ENABLE_CONFIG and VERIF_CONFIG). Because the MAC Merge statistics and
> > pMAC statistics are already in the Ocelot switch lib even if just Felix
> > supports them, I'm adding support for the whole MAC Merge layer in the
> > common Ocelot library too.
> >
> > There is an interrupt (shared with the PTP interrupt) which signals
> > changes to the MM verification state. This is done because the
> > preemptible traffic classes should be committed to hardware only once
> > the verification procedure has declared the link partner of being
> > capable of receiving preemptible frames.
> >
> > We implement ethtool getters and setters for the MAC Merge layer state.
> > The "TX enabled" and "verify status" are taken from the IRQ handler,
> > using a mutex to ensure serialized access.
>
> Doesn't build now.

Right. In an incredibly stupid last-minute move, I turned the dev_info()
into a dev_dbg() here, but I apparently deleted the opening bracket too:

verify_status = ocelot_mm_verify_status(val);
if (mm->verify_status != verify_status)
dev_dbg(ocelot->dev,
"Port %d MAC Merge verification state %s\n",
port, mm_verify_state_to_string(verify_status));
mm->verify_status = verify_status;
}

I'll wait for some more comments from the TSN-inclined people (if the
netlink parts are okay with you) regarding the UAPI before reposting.