.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
rfc->v1:
* Extend commit message with comment about wrong of_node_put()
* Fix destroy of cpu and dsa ports.
---
net/dsa/dsa.c | 86 --
net/dsa/dsa_priv.h | 3 ++
2 files ch
The switch may want to instantiate its own MDIO bus. Only do it
centrally if the switch has not already created one, and the read op
is implemented.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
net/dsa/dsa.c | 24 +---
1 file changed, 13 insertions(+), 11 del
Replace the two switch statements with an array lookup, and store the
result in the dsa tree structure. The drivers no longer need to know
the selected tag protocol, so remove it from the dsa switch structure.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
rfc->v1:
Rename _DSA
needs to select these two
> +properties as well to generate desired MDIO trascation on appropriate bus.
> +
nit pick: transactions
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
these functions, remove some of the _ prefixes, which
we are deprecating.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.c | 126 ++--
1 file changed, 63 insertions(+), 63 deletions(-)
diff --git a/drivers/net/dsa/mv88e6x
Add the new binding to the documentation of the existing binding.
Mark the old binding as deprecated.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
---
Documentation/devicetree/bindings/net/dsa/dsa.txt | 278 ++
From: Vivien Didelot
Lock debugging shows that there is a possible circular lock in the PPU
work code. Switch the lock order of smi_mutex and ppu_mutex to fix this.
Here's the full trace:
[4.341325]
The merged driver no longer offers the option to use DSA tagging. So
remove the code to setup the switch to do DSA tagging and hard code
the use of EDSA.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.c | 8 ++--
1 file changed, 2 insertions(+), 6 del
With a maximum of four switches, the size of the routing table is the
same as the pointer to it. Removing it makes the code simpler.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.c | 3 +--
include/net/dsa.h | 9 -
net/dsa/dsa.c
On Fri, Jun 03, 2016 at 08:56:06PM +0530, Pramod Kumar wrote:
> iProc based SoCs supports the integrated mdio multiplexer which
> has the bus selection as well as mdio transaction generation logic
> inside.
>
> This mutiplexer has child buses for PCIe, SATA, USB and ETH. These
multiplexer
>
There are going to be more per-port members added to the switch
structure. So add a port structure and move the netdev into it.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/bcm_sf2.c | 4 ++--
drivers/net/dsa/mv88e6xxx.c | 27 ---
include/net
The new binding does not make use of dsa_chip_data, a.k.a cd. When
retrieving the size of the EEPROM attached to a switch, don't assume
there is a cd attached to the switch structure.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
net/dsa/slave.c | 2 +-
1 file changed, 1 insertion
Hang the three switches of the three MDIO busses using the new DSA
binding. Also, make use of the mdio-bus and explicitly list the phys
on one device. This is not required, but good for testing.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
arch/arm/boot/dts/vf610-zii-dev-rev-b.dts
,
this is reversed, the switches exist first, and the interconnections
between the switches is derived from the individual switch
bindings. Thus this chip data structure becomes unneeded.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
include/net/dsa.h | 1 +
net/dsa/dsa.c | 8
n
ure there is a valid dsa_switch for this packet.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
net/dsa/tag_dsa.c | 6 +-
net/dsa/tag_edsa.c | 6 +-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c
index aa780e4ac0bd..f9832f0976
which can be embedded into any type of node on
a bus to represent one switch device, and its links to other switches.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
---
drivers/net/dsa/mv88e6xxx.c | 7 +
include/net/dsa.h |
the MDIO address.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
net/dsa/slave.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 135a91706755..f640a48a6ff3 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -49,8 +49,7 @
> Reason for resend:
> -Rebased on v4.7-rc1
How do you see this getting merged? Via netdev? If so, you should be
based on net-next/master, not v4.7-rc1.
Andrew
The new binding will not have a chip data structure, it will place the
routing directly into the switch structure. To enable backwards
compatibility, copy the routing from the chip data into the switch
structure.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.
t; Signed-off-by: Pramod Kumar <pramod.ku...@broadcom.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
Have the switch driver register its own MDIO bus. This allows for an
mdio property in the device tree, with child nodes for phys, which
can be referenced via phandles, etc.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.
On Thu, Jun 02, 2016 at 06:27:03PM -0500, Rob Herring wrote:
> On Tue, May 31, 2016 at 07:06:36PM +0530, Pramod Kumar wrote:
> > This property is used by integrated MDIO multiplexer
> > which has bus selection and mdio transaction generation logic,
> > integrated inside.
> >
> > Signed-off-by:
operations bound and reduces CPU load for TCP transmit.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/ethernet/intel/igb/igb_main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c
b/drivers/net/ethernet/intel/igb/igb_
operations bound and reduces CPU load for TCP transmit.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
v2:
Christmas tree the local variables
Pass size into igb_add_rx_frag() rather than repeating the endiness swap.
---
drivers/net/ethernet/intel/igb/igb_main.c | 7 ---
1 file changed, 4 inse
On Sun, Jun 05, 2016 at 08:33:02AM +0200, John Crispin wrote:
> During stress testing, after reducing the threshold value, we have seen
> TX timeouts that were caused by the watchdog_timeo value being too low.
> Increase the value to 5 * HZ which is a value commonly used by many other
> drivers.
e operations teardown restores the master netdev's ethtool_ops to its
> original ethtool_ops pointer (typically within the Ethernet driver)
>
> Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
On Tue, Jun 07, 2016 at 04:32:37PM -0700, Florian Fainelli wrote:
> Hi all,
>
> This patch series builds on top of Andrew's "New DSA bind, switches as
> devices"
> patch set and does the following:
Hi Florian
Thanks for the patience with my nit picking.
This is now ready to be applied.
On Wed, Jun 08, 2016 at 03:25:38PM -0700, Vincent Palatin wrote:
> On Tue, Jun 7, 2016 at 12:23 AM, Giuseppe CAVALLARO
> wrote:
> > Hello
> >
> > On 6/3/2016 7:29 PM, Vincent Palatin wrote:
> >>
> >> Do not shutdown the PHY if Wake-on-Lan is enabled, else it cannot wake
>
On Tue, Jun 07, 2016 at 03:13:35PM -0700, Florian Fainelli wrote:
> On 06/07/2016 02:51 PM, Andrew Lunn wrote:
> >> +int dsa_cpu_port_ethtool_setup(struct dsa_switch_tree *dst,
> >> + struct dsa_switch *ds)
> >> +{
> >> + st
> +int dsa_cpu_port_ethtool_setup(struct dsa_switch_tree *dst,
> +struct dsa_switch *ds)
> +{
> + struct net_device *master;
> + struct ethtool_ops *cpu_ops;
> +
> + master = ds->dst->master_netdev;
You pass in dst as a parameter, and then don't use it!
>
On Tue, Jun 07, 2016 at 02:06:53PM -0700, Florian Fainelli wrote:
> Mimic what net/dsa/dsa.c does and provide a slave MII bus by default
> which will be created if the driver implements a phy_read method.
>
> Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
Review
sa_get_ports_dn().
>
> Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
On Tue, Jun 07, 2016 at 02:22:12AM +0200, Andrew Lunn wrote:
> > @@ -304,6 +312,18 @@ static int dsa_ds_apply(struct dsa_switch_tree *dst,
> > struct dsa_switch *ds)
> > if (err < 0)
> > return err;
> >
> > + if (!ds->slave_mii_bus
> Hi Andrew,
>
> it is waiting for the watchdog to trigger :-) TBH the 1s seems to be too
> short to for the dma ring length to be flushed and i had to pick some
> value and 5 is used most places.
>
> it really depends on the amount of packets in the queue, their length
> and the mac setting.
> Signed-off-by: Pramod Kumar <pramod.ku...@broadcom.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
ism where mux driver could register a
> parent bus and pass it down to framework via mdio_mux_init api.
>
> Signed-off-by: Pramod Kumar <pramod.ku...@broadcom.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
e
> buses could be internal or external to SOC where PHYs are attached.
> These buses could use C-45 or C-22 mdio transaction.
>
> Signed-off-by: Pramod Kumar <pramod.ku...@broadcom.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
> + /* returns _AUXMAC_#AABBCCDDEEFF# */
> + status = acpi_evaluate_object(NULL, "\\_SB.AMAC", NULL, );
> + obj = (union acpi_object *)buffer.pointer;
> + if (ACPI_SUCCESS(status)) {
> + if (obj->type != ACPI_TYPE_BUFFER ||
> + obj->string.length !=
On Tue, Jun 07, 2016 at 12:48:37PM -0400, Vivien Didelot wrote:
> Hi Florian, Andrew,
>
> Vivien Didelot writes:
>
> > Hum reviewing that again, I see that if one of the 2 subsequent calls to
> > request_irq fails, you end up with an unregistered MDIO bus.
>
> +static void b53_switch_reset_gpio(struct b53_device *dev)
> +{
> + int gpio = dev->reset_gpio;
> +
> + if (gpio < 0)
> + return;
> +
> + /* Reset sequence: RESET low(50ms)->high(20ms)
> + */
> + gpio_set_value(gpio, 0);
> + mdelay(50);
> +
> +
> @@ -148,6 +155,9 @@ struct bcm_sf2_priv {
> struct device_node *master_mii_dn;
> struct mii_bus *slave_mii_bus;
> struct mii_bus *master_mii_bus;
> +
> + /* Cache of programmed VLANs */
> + struct bcm_sf2_vlan
On Fri, Jun 10, 2016 at 07:42:52PM +0200, Clemens Gruber wrote:
> Configuring the PHY LED registers for the Marvell 88E1510 and others is
> not possible, because regardless of the values in marvell,reg-init, it
> is later overridden in m88e1121_config_aneg with a non-standard default.
>
> This
On Fri, Jun 10, 2016 at 11:47:48AM -0700, Florian Fainelli wrote:
> On 06/10/2016 05:00 AM, Andrew Lunn wrote:
> >> @@ -148,6 +155,9 @@ struct bcm_sf2_priv {
> >>struct device_node *master_mii_dn;
> >>struct mii_bus *slave_m
> >> +static inline int b53_switch_get_reset_gpio(struct b53_device *dev)
> >> +{
> >> + enum bcm47xx_board board = bcm47xx_board_get();
> >> +
> >> + switch (board) {
> >> + case BCM47XX_BOARD_LINKSYS_WRT300NV11:
> >> + case BCM47XX_BOARD_LINKSYS_WRT310NV1:
> >> + return 8;
> >
> >
> We could move that 0x30 LED configuration to .config_init instead of
> .config_aneg, so that if nobody configures it with marvell,reg-init, the
> behavior does not change. I'd have to create a new .config_init function
> for the 1121, 1318 and 1510.
>
> Would you prefer that?
Hi Clemens
Yes,
On Fri, Jun 10, 2016 at 03:59:22PM -0400, Vivien Didelot wrote:
> Hi,
>
> Andrew Lunn <and...@lunn.ch> writes:
>
> > On Wed, Jun 08, 2016 at 08:44:52PM -0400, Vivien Didelot wrote:
> >> The MDIO device probe and remove functions are respectively increment
()
* Fix destroy of cpu and dsa ports.
* Rename _DSA_TAG_LAST to DSA_TAG_LAST and add a comment.
Andrew Lunn (16):
net: dsa: slave: chip data is optional, don't dereference NULL
net: dsa: slave: Remove MDIO address from switch MDIO bus name
net: dsa: tag_{e}dsa.c: Remove dependency on platform
t; ---
> > Changes from v5:
> > * Correct return value if hex2bin succesful but invalid ether addr
>
> Have things calmed down enough now that I can apply this?
Hi David
I think the code has reaching the level of maturity needed for
acceptance. So for the code quality:
Revi
d default.
>
> This patch moves that default configuration to .config_init to allow
> setting the LED configuration through marvell,reg-init in the device
> tree, which should override said default if it exists.
>
> Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com>
Reviewe
On Mon, Jun 13, 2016 at 02:07:54PM +0800, Dongpo Li wrote:
> This patch adds a separate driver for the MDIO interface of the
> Hisilicon Fast Ethernet MAC.
>
> Reviewed-by: Jiancheng Xue
> Signed-off-by: Dongpo Li
> ---
>
> > It is same, how to handle two network cards which tell us, that they
> > have same MAC addresses.
> >
>
> The kernel handles this just fine. In doing this patch I checked to see
> what it does in that scenario. Two devices are made. systemd doesn't
> rename the second device via the MAC
On Tue, Jun 14, 2016 at 11:16:02AM -0500, Jeremy Linton wrote:
> If the interrupt configuration isn't set and we are using the
> internal phy, then we need to poll the phy to reliably detect
> phy state changes.
Hi Jeremy
Why does the external phy not have the exact same problem?
Andrew
On Tue, Jun 14, 2016 at 10:49:20PM +0300, Sergei Shtylyov wrote:
> On 06/14/2016 10:27 PM, Sergei Shtylyov wrote:
>
> >>>If the interrupt configuration isn't set and we are using the
> >>>internal phy, then we need to poll the phy to reliably detect
> >>>phy state changes.
> >>>
>
> netdev experts,
>
> When there is a L2 switch underneath the network interface a flooding of
> multicast at the bridge interface results in one copy of this going through
> each
> of the slave resulting in multiple multicast packets reaching the underlying
> switch.
Yes, this is something
ointer
> argument.
>
> Signed-off-by: Arnd Bergmann <a...@arndb.de>
> Fixes: f20e6657a875 ("mdio: mux: Enhanced MDIO mux framework for integrated
> multiplexers")
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Thanks Arnd
Andrew
> How much support do we want to have for the old binding for in tree
> platforms? Is the plan to migrate them all to the new binding?
I think there are three cases to consider.
1) There are some old boards using setup.c files which have a platform
device, platform data, etc. I've never used
es a
> bit.
>
> Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
> @@ -304,6 +312,18 @@ static int dsa_ds_apply(struct dsa_switch_tree *dst,
> struct dsa_switch *ds)
> if (err < 0)
> return err;
>
> + if (!ds->slave_mii_bus && ds->drv->phy_read) {
> + ds->slave_mii_bus = devm_mdiobus_alloc(ds->dev);
> + if
On Mon, Jun 06, 2016 at 04:14:54PM -0700, Florian Fainelli wrote:
> Now that we can properly support multiple distinct trees in the system,
> using a global variable: dsa_cpu_port_ethtool_ops is getting clobbered
> as soon as the second switch tree gets probed, and we don't want that.
>
> We need
On Sun, Jun 05, 2016 at 03:29:01PM -0700, Florian Fainelli wrote:
> Le 04/06/2016 13:38, Andrew Lunn a écrit :
> >> index e8386157de30..938262010524 100644
> >> --- a/net/dsa/dsa2.c
> >> +++ b/net/dsa/dsa2.c
> >> @@ -346,7 +346,7 @@ static int dsa_ds_apply(st
> > With the legacy interface it is tricky. When would you call such a
> > remove/tairdown function when using the old binding?
>
> That'd go in dsa_switch_destroy I guess, but it just covers the case
> where the whole DSA code is unloaded...
I don't think that helps you. It should not be
On Wed, Jun 08, 2016 at 08:44:55PM -0400, Vivien Didelot wrote:
> Thanks to the new device probing, we can explicit the exact switch model
> in the device tree.
>
> Name the driver "mv88e6xxx" and list all its compatible supported chips.
No. This goes against the usual way of doing device tree
amily(ps) || mv88e6xxx_6351_family(ps) ||
> [...]
> + reg |= PORT_CONTROL_EGRESS_ADD_TAG;
>
> total: 0 errors, 3 warnings, 2 checks, 3805 lines checked
>
> Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
On Wed, Jun 08, 2016 at 08:44:56PM -0400, Vivien Didelot wrote:
> Now that we have access at probe time to the chip info described in the
> device tree, check if the probed device matches the device node,
> otherwise warn the user and fail.
What good is this? So what if the device tree says a
On Wed, Jun 08, 2016 at 08:44:53PM -0400, Vivien Didelot wrote:
> Extract the allocation and registration code related to the dsa_switch
> structure in a mv88e6xxx_register_switch helper function.
>
> For symmetry in the code, add a mv88e6xxx_unregister_switch function.
You say what you are
On Wed, Jun 08, 2016 at 08:44:51PM -0400, Vivien Didelot wrote:
> In the MDIO probing function, dev is already assigned to >dev
> and np is already assigned to mdiodev->dev.of_node, so use them.
>
> Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com>
e.
>
> Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
On Wed, Jun 08, 2016 at 08:44:52PM -0400, Vivien Didelot wrote:
> The MDIO device probe and remove functions are respectively incrementing
> and decrementing the bus refcount themselves. Since these bus level
> actions are out of the device scope, remove them.
I agree with the patch. But have you
> Do you know for which PHY I could implement this? I only have access to
> the documentation for the Lantiq / Intel PHYs.
Maybe actually implementing them is too far. But you could take a look
at available datasheets and thing about how you would implement the
binding. A quick search found:
On Sat, May 28, 2016 at 06:59:00PM +0200, Hauke Mehrtens wrote:
Hi Hauke
> + /**
> + * In most cases only one LED is connected to this phy, so
> + * configure them all to constant on and plue mode. LED3 is
pulse not plue?
> + * only available in some packages, let it in its
On Sat, May 28, 2016 at 06:59:01PM +0200, Hauke Mehrtens wrote:
> This makes it possible to configure the behavior of the LEDs connected
> to a PHY. The LEDs are controlled by the chip, this makes it possible
> to configure the behavior when the hardware should activate and
> deactivate the LEDs.
On Mon, May 30, 2016 at 12:40:49PM +0530, Pramod Kumar wrote:
> iProc based SoCs supports the integrated mdio multiplexer which
> has the bus selection as well as mdio transaction generation logic
> inside.
Hi Pramod
Great to see you using the existing MDIO framework. Thanks.
> +static int
On Mon, May 30, 2016 at 12:40:47PM +0530, Pramod Kumar wrote:
> Add DT binding doc for Broadcom MDIO bus mutiplexer driver.
>
> Signed-off-by: Pramod Kumar
> ---
> .../bindings/net/brcm,mdio-mux-iproc.txt | 64
> ++
> 1 file changed, 64
o the new_bus->irq instead, so fix this.
>
> Signed-off-by: Marek Vasut <ma...@denx.de>
> Cc: David S. Miller <da...@davemloft.net>
> Cc: Giuseppe Cavallaro <peppe.cavall...@st.com>
> Cc: Alexandre Torgue <alexandre.tor...@st.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Andrew
On Thu, May 26, 2016 at 04:06:47AM +0200, Christoph Fritz wrote:
> To detect link status up/down for connections where autonegotiation is
> explicitly disabled, we don't get an irq but need to poll the status
> register for link up/down detection.
> This patch adds a workqueue to poll for link
On Fri, May 27, 2016 at 04:39:05PM -0400, Vivien Didelot wrote:
>
> Hi Andrew, Florian,
>
> Here again, I'd suggested an implicit namespace for functions taking a
> dsa_switch_tree structure as first argument, i.e. dsa_tree_do_foo().
Using tree actually makes things worse, since tree is never
On Fri, May 27, 2016 at 03:25:47PM -0400, Vivien Didelot wrote:
> Hi Andrew, Florian,
>
> I suggest to use this RFC to agree on a consistent and robust API for
> the DSA layer. Some functions have non-intuitive names or signatures.
Nope.
What is important is getting this patchset accepted and
On Fri, May 27, 2016 at 03:35:57PM -0400, Vivien Didelot wrote:
> Hi Andrew,
>
> Andrew Lunn <and...@lunn.ch> writes:
>
> > @@ -26,6 +26,7 @@ enum dsa_tag_protocol {
> > DSA_TAG_PROTO_TRAILER,
> > DSA_TAG_PROTO_EDSA,
> > DSA_TAG_PROTO_BRCM,
&
> dsa_cpu_dsa_setups is not really meaningful and doesn't add much
> value.
I would disagree. Quoting Documentation/CodingStyle
Chapter 6: Functions
Functions should be short and sweet, and do just one thing. They should
fit on one or two screenfuls of text (the ISO/ANSI
On Fri, May 27, 2016 at 10:33:49AM -0400, Vivien Didelot wrote:
> Hi Andrew,
>
> Andrew Lunn <and...@lunn.ch> writes:
>
> > -static void dsa_switch_destroy(struct dsa_switch *ds)
> > +void dsa_cpu_dsa_destroy(struct device_node *port_dn)
> > {
> > - s
On Fri, May 27, 2016 at 10:55:45AM -0400, Vivien Didelot wrote:
> Hi Andrew,
>
> Andrew Lunn <and...@lunn.ch> writes:
>
> > - mdiobus_unregister(ds->slave_mii_bus);
> > + if (ds->slave_mii_bus && ds->drv->phy_read)
> > + md
On Tue, May 31, 2016 at 05:10:38PM -0700, Iyappan Subramanian wrote:
> +static int xgene_mdio_reset(struct xgene_mdio_pdata *pdata)
> +{
> + int ret;
> +
> + if (pdata->mdio_id == XGENE_MDIO_RGMII) {
> + if (pdata->dev->of_node) {
> +
On Fri, May 27, 2016 at 11:23:22AM +0200, Charles-Antoine Couret wrote:
>
> Hello,
> I'm sorry to repost that, but after one month, I need a answer to continue to
> imrpove my patch in the right direction. :)
Hi Charles-Aontine
Florian and I had a quick discussion. We think going with the
> >
> > > + pr_info("r8152: Using system auxiliary MAC address");
> >
> > It would be great to write also mac address into that pr_info
And since there could be multiple r8152 in the system, it would be
good to indicate which of them is having its MAC changed. So
netdev_info() or
> > And you want to check this for all Dell devices? Please be model
> > specific, I doubt a bunch of Dell servers wants to run this code...
> >
>
> Tracking model specific is really going to turn into a giant list never
> ending list.
> To drill down more specifically, I can match on chassis
From: Vivien Didelot
Lock debugging shows that there is a possible circular lock in the PPU
work code. Switch the lock order of smi_mutex and ppu_mutex to fix this.
Here's the full trace:
[4.341325]
which can be embedded into any type of node on
a bus to represent one switch device, and its links to other switches.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
---
drivers/net/dsa/mv88e6xxx.c | 7 +
include/net/dsa.h |
Have the switch driver register its own MDIO bus. This allows for an
mdio property in the device tree, with child nodes for phys, which
can be referenced via phandles, etc.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.c
The switch may want to instantiate its own MDIO bus. Only do it
centrally if the switch has not already created one, and the read op
is implemented.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
net/dsa/dsa.c | 24 +---
1 file changed, 13 insertions(+), 11 del
Replace the two switch statements with an array lookup, and store the
result in the dsa tree structure. The drivers no longer need to know
the selected tag protocol, so remove it from the dsa switch structure.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
include/net/dsa.h | 8 +
The merged driver no longer offers the option to use DSA tagging. So
remove the code to setup the switch to do DSA tagging and hard code
the use of EDSA.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.c | 8 ++--
1 file changed, 2 insertions(+), 6 del
ure there is a valid dsa_switch for this packet.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
net/dsa/tag_dsa.c | 6 +-
net/dsa/tag_edsa.c | 6 +-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c
index aa780e4ac0bd..f9832f0976
,
this is reversed, the switches exist first, and the interconnections
between the switches is derived from the individual switch
bindings. Thus this chip data structure becomes unneeded.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
include/net/dsa.h | 1 +
net/dsa/dsa.c | 8
n
The new binding will not have a chip data structure, it will place the
routing directly into the switch structure. To enable backwards
compatibility, copy the routing from the chip data into the switch
structure.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.
the MDIO address.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
net/dsa/slave.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 135a91706755..f640a48a6ff3 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -49,8 +49,7 @
With a maximum of four switches, the size of the routing table is the
same as the pointer to it. Removing it makes the code simpler.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/mv88e6xxx.c | 3 +--
include/net/dsa.h | 10 +-
net/dsa/dsa.c
John Crispin and Bryan Whitehead are interesting in
implementing DSA drivers, hence i have CC: you. Comments welcome.
Thanks go to Florian and Vivien for reviewing, testing and bug fixing
these patches.
Andrew Lunn (15):
dsa: slave: chip data is optional, don't dereference NULL
dsa: slave
Add the new binding to the documentation of the existing binding.
Mark the old binding as deprecated.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
---
Documentation/devicetree/bindings/net/dsa/dsa.txt | 278 ++
Hang the three switches of the three MDIO busses using the new DSA
binding. Also, make use of the mdio-bus and explicitly list the phys
on one device. This is not required, but good for testing.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
arch/arm/boot/dts/vf610-zii-dev-rev-b.dts
There are going to be more per-port members added to the switch
structure. So add a port structure and move the netdev into it.
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
drivers/net/dsa/bcm_sf2.c | 4 ++--
drivers/net/dsa/mv88e6xxx.c | 27 ---
include/net
401 - 500 of 4005 matches
Mail list logo