devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Colin Foster <colin.foster@in-advantage.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: andrew@lunn.ch, vivien.didelot@gmail.com, f.fainelli@gmail.com,
	davem@davemloft.net, kuba@kernel.org, robh+dt@kernel.org,
	claudiu.manoil@nxp.com, alexandre.belloni@bootlin.com,
	UNGLinuxDriver@microchip.com, linux@armlinux.org.uk,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v2 net-next 7/8] net: dsa: ocelot: felix: add support for VSC75XX control over SPI
Date: Sun, 11 Jul 2021 10:09:27 -0700	[thread overview]
Message-ID: <20210711170927.GG2219684@euler> (raw)
In-Reply-To: <20210710205205.blitrpvdwmf4au7z@skbuf>

On Sat, Jul 10, 2021 at 11:52:05PM +0300, Vladimir Oltean wrote:
> On Sat, Jul 10, 2021 at 12:26:01PM -0700, Colin Foster wrote:
> > +static const struct felix_info ocelot_spi_info = {
> > +	.target_io_res			= vsc7512_target_io_res,
> > +	.port_io_res			= vsc7512_port_io_res,
> > +	.regfields			= vsc7512_regfields,
> > +	.map				= vsc7512_regmap,
> > +	.ops				= &vsc7512_ops,
> > +	.stats_layout			= vsc7512_stats_layout,
> > +	.num_stats			= ARRAY_SIZE(vsc7512_stats_layout),
> > +	.vcap				= vsc7512_vcap_props,
> > +	.num_mact_rows			= 1024,
> > +
> > +	/* The 7512 and 7514 both have support for up to 10 ports. The 7511 and
> > +	 * 7513 have support for 4. Due to lack of hardware to test and
> > +	 * validate external phys, this is currently limited to 4 ports.
> > +	 * Expanding this to 10 for the 7512 and 7514 and defining the
> > +	 * appropriate phy-handle values in the device tree should be possible.
> > +	 */
> > +	.num_ports			= 4,
> 
> Ouch, this was probably not a good move.
> felix_setup() -> felix_init_structs sets ocelot->num_phys_ports based on
> this value.
> If you search for ocelot->num_phys_ports in ocelot and in felix, it is
> widely used to denote "the index of the CPU port module within the
> analyzer block", since the CPU port module's number is equal to the
> number of the last physical port + 1. If VSC7512 has 10 ports, then the
> CPU port module is port 10, and if you set num_ports to 4 you will cause
> the driver to misbehave.

Yes, this is part of my concern with the CPU / NPI module mentioned
before. In my hardware, I'd have port 0 plugged to the external CPU. In
Ocelot it is the internal bus, and in Felix it is the NPI. In this SPI
design, does the driver lose significant functionality by not having
access to those ports?

In my test setup (and our expected production) we'd have port 0
connected to the external chip, and ports 1-3 exposed. Does Ocelot need
to be modified to allow a parameter for the CPU port?

And obviously I'd imagine this would want to be done in such a way that
it doesn't break existing device trees...

> 
> > +	.num_tx_queues			= OCELOT_NUM_TC,
> > +	.mdio_bus_alloc			= felix_mdio_bus_alloc,
> > +	.mdio_bus_free			= felix_mdio_bus_free,
> > +	.phylink_validate		= vsc7512_phylink_validate,
> > +	.prevalidate_phy_mode		= vsc7512_prevalidate_phy_mode,
> > +	.port_setup_tc			= vsc7512_port_setup_tc,
> > +	.init_regmap			= vsc7512_regmap_init,
> > +};
> 
> > +	/* Not sure about this */
> > +	ocelot->num_flooding_pgids = 1;
> 
> Why are you not sure? It's the same as ocelot.

Sorry - missed removing that comment... Removed.

  reply	other threads:[~2021-07-11 17:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-10 19:25 [RFC PATCH v2 net-next 0/8] Add support for VSC7511-7514 chips over SPI Colin Foster
2021-07-10 19:25 ` [RFC PATCH v2 net-next 1/8] net: dsa: ocelot: remove unnecessary pci_bar variables Colin Foster
2021-07-10 19:53   ` Vladimir Oltean
2021-07-11 16:36     ` Colin Foster
2021-07-10 19:25 ` [RFC PATCH v2 net-next 2/8] net: dsa: ocelot: felix: move MDIO access to a common location Colin Foster
2021-07-10 19:59   ` Vladimir Oltean
2021-07-10 20:02     ` Alexandre Belloni
2021-07-11 16:41     ` Colin Foster
2021-07-10 19:25 ` [RFC PATCH v2 net-next 3/8] net: dsa: ocelot: felix: NULL check on variable Colin Foster
2021-07-10 20:06   ` Vladimir Oltean
2021-07-11 16:47     ` Colin Foster
2021-07-10 19:25 ` [RFC PATCH v2 net-next 4/8] net: dsa: ocelot: felix: add interface for custom regmaps Colin Foster
2021-07-10 19:25 ` [RFC PATCH v2 net-next 5/8] net: mscc: ocelot: split register definitions to a separate file Colin Foster
2021-07-10 19:26 ` [RFC PATCH v2 net-next 6/8] net: mscc: ocelot: expose ocelot wm functions Colin Foster
2021-07-10 20:36   ` Vladimir Oltean
2021-07-10 19:26 ` [RFC PATCH v2 net-next 7/8] net: dsa: ocelot: felix: add support for VSC75XX control over SPI Colin Foster
2021-07-10 20:52   ` Vladimir Oltean
2021-07-11 17:09     ` Colin Foster [this message]
2021-07-11 22:13       ` Alexandre Belloni
2021-07-10 19:26 ` [RFC PATCH v2 net-next 8/8] Update documentation for the VSC7512 SPI device Colin Foster
2021-07-10 20:34   ` Vladimir Oltean
2021-07-11 16:58     ` Colin Foster
2021-07-10 19:47 ` [RFC PATCH v2 net-next 0/8] Add support for VSC7511-7514 chips over SPI Vladimir Oltean
2021-07-11 16:32   ` Colin Foster
2021-07-10 20:01 ` Alexandre Belloni
2021-07-11 16:44   ` Colin Foster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210711170927.GG2219684@euler \
    --to=colin.foster@in-advantage.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=vivien.didelot@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).