netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Antoine Tenart <antoine.tenart@bootlin.com>
To: David Miller <davem@davemloft.net>
Cc: antoine.tenart@bootlin.com, sd@queasysnail.net, andrew@lunn.ch,
	f.fainelli@gmail.com, hkallweit1@gmail.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	thomas.petazzoni@bootlin.com, alexandre.belloni@bootlin.com,
	allan.nielsen@microchip.com, camelia.groza@nxp.com,
	Simon.Edelhaus@aquantia.com, Igor.Russkikh@aquantia.com,
	jakub.kicinski@netronome.com
Subject: Re: [PATCH net-next v4 08/15] net: phy: mscc: macsec initialization
Date: Thu, 9 Jan 2020 14:18:42 +0100	[thread overview]
Message-ID: <20200109131842.GC5472@kwain> (raw)
In-Reply-To: <20191219.121117.1826219046339114907.davem@davemloft.net>

Hello David,

On Thu, Dec 19, 2019 at 12:11:17PM -0800, David Miller wrote:
> From: Antoine Tenart <antoine.tenart@bootlin.com>
> Date: Thu, 19 Dec 2019 11:55:08 +0100
> 
> > +static u32 __vsc8584_macsec_phy_read(struct phy_device *phydev,
> > +				     enum macsec_bank bank, u32 reg, bool init)
> > +{
> > +	u32 val, val_l = 0, val_h = 0;
> > +	unsigned long deadline;
> > +	int rc;
> > +
> > +	if (!init) {
> > +		rc = phy_select_page(phydev, MSCC_PHY_PAGE_MACSEC);
> > +		if (rc < 0)
> > +			goto failed;
> > +	} else {
> > +		__phy_write_page(phydev, MSCC_PHY_PAGE_MACSEC);
> > +	}
> 
> Having to export __phy_write_page() in the previous patch looked like
> a huge red flag to me, and indeed on top of it you're using it to do
> conditional locking here.
> 
> I'm going to unfortunately have to push back on this, please sanitize
> the locking here so that you can use the existing exports properly.

I do agree this conditional locking is not very good. We had discussions
with Andrew about how bad this is, but there are no easy fix for this.
At least the condition is consistent depending on if we're in the init
step or not, which is better than having different values in the same
context. The idea was not to duplicate hundreds of lines.

Having said that, the reason we had to do this is we have multiple PHYs
inside the same package and some steps are to be done for all PHYs at a
time. I had another look at this and, for MACsec only, we might be able
not to have a single common part. I'll test the changes and if that's
successful I'll be able to fix this in a clean way.

Thanks!
Antoine

-- 
Antoine Ténart, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2020-01-09 13:18 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-19 10:55 [PATCH net-next v4 00/15] net: macsec: initial support for hardware offloading Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 01/15] net: macsec: move some definitions in a dedicated header Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 02/15] net: macsec: introduce the macsec_context structure Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 03/15] net: macsec: introduce MACsec ops Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 04/15] net: phy: add MACsec ops in phy_device Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 05/15] net: macsec: hardware offloading infrastructure Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 06/15] net: macsec: add nla support for changing the offloading selection Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 07/15] net: phy: export __phy_read_page/__phy_write_page Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 08/15] net: phy: mscc: macsec initialization Antoine Tenart
2019-12-19 20:11   ` David Miller
2020-01-09 13:18     ` Antoine Tenart [this message]
2019-12-19 10:55 ` [PATCH net-next v4 09/15] net: phy: mscc: macsec support Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 10/15] net: macsec: PN wrap callback Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 11/15] net: phy: mscc: PN rollover support Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 12/15] net: introduce the MACSEC netdev feature Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 13/15] net: add a reference to MACsec ops in net_device Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 14/15] net: macsec: allow to reference a netdev from a MACsec context Antoine Tenart
2019-12-19 10:55 ` [PATCH net-next v4 15/15] net: macsec: add support for offloading to the MAC Antoine Tenart
2019-12-23 11:36   ` [EXT] " Igor Russkikh
2020-01-09 13:21     ` Antoine Tenart

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=20200109131842.GC5472@kwain \
    --to=antoine.tenart@bootlin.com \
    --cc=Igor.Russkikh@aquantia.com \
    --cc=Simon.Edelhaus@aquantia.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=allan.nielsen@microchip.com \
    --cc=andrew@lunn.ch \
    --cc=camelia.groza@nxp.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=jakub.kicinski@netronome.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sd@queasysnail.net \
    --cc=thomas.petazzoni@bootlin.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).