mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vivien Didelot <vivien.didelot@gmail.com>
To: unlisted-recipients:; (no To-header on input)
Cc: linux-kernel@vger.kernel.org,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
	f.fainelli@gmail.com, andrew@lunn.ch, netdev@vger.kernel.org,
	davem@davemloft.net
Subject: [PATCH net-next 0/5] net: dsa: mv88e6xxx: avoid some redundant VTU operations
Date: Thu,  1 Aug 2019 14:36:32 -0400	[thread overview]
Message-ID: <20190801183637.24841-1-vivien.didelot@gmail.com> (raw)

The mv88e6xxx driver currently uses a mv88e6xxx_vtu_get wrapper to get a
single entry and uses a boolean to eventually initialize a fresh one.

However the fresh entry is only needed in one place and mv88e6xxx_vtu_getnext
is simple enough to call it directly. Doing so makes the code easier to read,
especially for the return code expected by switchdev to honor software VLANs.

In addition to not loading the VTU again when an entry is already correctly
programmed, this also allows to avoid programming the broadcast entries
again when updating a port's membership, from e.g. tagged to untagged.

This patch series removes the mv88e6xxx_vtu_get wrapper in favor of direct
calls to mv88e6xxx_vtu_getnext, and also renames the _mv88e6xxx_port_vlan_add
and _mv88e6xxx_port_vlan_del helpers using an old underscore prefix convention.

In case the port's membership is already correctly programmed in hardware,
the following debug message may be printed:

    [  745.989884] mv88e6085 2188000.ethernet-1:00: p4: already a member of VLAN 42

Vivien Didelot (5):
  net: dsa: mv88e6xxx: lock mutex in vlan_prepare
  net: dsa: mv88e6xxx: explicit entry passed to vtu_getnext
  net: dsa: mv88e6xxx: call vtu_getnext directly in db load/purge
  net: dsa: mv88e6xxx: call vtu_getnext directly in vlan_del
  net: dsa: mv88e6xxx: call vtu_getnext directly in vlan_add

 drivers/net/dsa/mv88e6xxx/chip.c | 182 +++++++++++++++++--------------
 1 file changed, 98 insertions(+), 84 deletions(-)

-- 
2.22.0


             reply	other threads:[~2019-08-01 18:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-01 18:36 Vivien Didelot [this message]
2019-08-01 18:36 ` [PATCH net-next 1/5] net: dsa: mv88e6xxx: lock mutex in vlan_prepare Vivien Didelot
2019-08-01 18:36 ` [PATCH net-next 2/5] net: dsa: mv88e6xxx: explicit entry passed to vtu_getnext Vivien Didelot
2019-08-01 18:36 ` [PATCH net-next 3/5] net: dsa: mv88e6xxx: call vtu_getnext directly in db load/purge Vivien Didelot
2019-08-01 18:36 ` [PATCH net-next 4/5] net: dsa: mv88e6xxx: call vtu_getnext directly in vlan_del Vivien Didelot
2019-08-01 18:36 ` [PATCH net-next 5/5] net: dsa: mv88e6xxx: call vtu_getnext directly in vlan_add Vivien Didelot
2019-08-01 20:43 ` [PATCH net-next 0/5] net: dsa: mv88e6xxx: avoid some redundant VTU operations David Miller

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=20190801183637.24841-1-vivien.didelot@gmail.com \
    --to=vivien.didelot@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=rasmus.villemoes@prevas.dk \
    /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

all inboxes | Powered by JetHome®