From: Ioana Ciornei <ioana.ciornei@nxp.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Jakub Kicinski <kuba@kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Alexandru Ardelean <alexandru.ardelean@analog.com>,
Andre Edich <andre.edich@microchip.com>,
Antoine Tenart <atenart@kernel.org>,
Baruch Siach <baruch@tkos.co.il>,
Christophe Leroy <christophe.leroy@c-s.fr>,
Dan Murphy <dmurphy@ti.com>,
Divya Koppera <Divya.Koppera@microchip.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Hauke Mehrtens <hauke@hauke-m.de>,
Jerome Brunet <jbrunet@baylibre.com>,
Kavya Sree Kotagiri <kavyasree.kotagiri@microchip.com>,
Linus Walleij <linus.walleij@linaro.org>,
Marco Felsch <m.felsch@pengutronix.de>,
Marek Vasut <marex@denx.de>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Mathias Kresin <dev@kresin.me>,
Maxim Kochetkov <fido_max@inbox.ru>,
Michael Walle <michael@walle.cc>,
Neil Armstrong <narmstrong@baylibre.com>,
Nisar Sayed <Nisar.Sayed@microchip.com>,
Oleksij Rempel <o.rempel@pengutronix.de>,
Philippe Schenker <philippe.schenker@toradex.com>,
Willy Liu <willy.liu@realtek.com>,
Yuiko Oshino <yuiko.oshino@microchip.com>
Subject: Re: [RFC net-next 0/5] net: phy: add support for shared interrupts
Date: Sat, 24 Oct 2020 18:19:46 +0000 [thread overview]
Message-ID: <20201024181945.pip6sdal6hpa6fns@skbuf> (raw)
In-Reply-To: <20201024171705.GK745568@lunn.ch>
On Sat, Oct 24, 2020 at 07:17:05PM +0200, Andrew Lunn wrote:
> > - Every PHY driver gains a .handle_interrupt() implementation that, for
> > the most part, would look like below:
> >
> > irq_status = phy_read(phydev, INTR_STATUS);
> > if (irq_status < 0) {
> > phy_error(phydev);
> > return IRQ_NONE;
> > }
> >
> > if (irq_status == 0)
> > return IRQ_NONE;
> >
> > phy_trigger_machine(phydev);
> >
> > return IRQ_HANDLED;
>
> Hi Ioana
>
> It looks like phy_trigger_machine(phydev) could be left in the core,
> phy_interrupt(). It just needs to look at the return code, IRQ_HANDLED
> means trigger the state machine.
I tend to disagree that this would bring us any benefit.
Keeping the phy_trigger_machine() inside the phy_interrupt() would mean
that we are changing the convention of what the implementation of
.handle_interrupt() should do.
At the moment, there are drivers which use it to handle multiple
interrupt sources within the same PHY device (e.g. MACSEC, 1588, link
state). With your suggestion, when a MACSEC interrupt is received, the
PHY driver would be forced to return IRQ_NONE just so phylib does not
trigger the link state machine. I think this would eventually lead to
some "irq X: nobody cared".
Also, the vsc8584_handle_interrupt() already calls a wrapper over
phy_trigger_machine() called phy_mac_interrupt() which was intended for
MAC driver use only.
Ioana
next prev parent reply other threads:[~2020-10-24 18:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-24 12:14 [RFC net-next 0/5] net: phy: add support for shared interrupts Ioana Ciornei
2020-10-24 12:14 ` [RFC net-next 1/5] net: phy: export phy_error and phy_trigger_machine Ioana Ciornei
2020-10-24 12:14 ` [RFC net-next 2/5] net: phy: add a shutdown procedure Ioana Ciornei
2020-10-24 12:14 ` [RFC net-next 3/5] net: phy: make .ack_interrupt() optional Ioana Ciornei
2020-10-24 12:14 ` [RFC net-next 4/5] net: phy: at803x: implement generic .handle_interrupt() callback Ioana Ciornei
2020-10-24 12:14 ` [RFC net-next 5/5] net: phy: at803x: remove the use of .ack_interrupt() Ioana Ciornei
2020-10-24 14:09 ` [RFC net-next 0/5] net: phy: add support for shared interrupts Ioana Ciornei
2020-10-24 17:17 ` Andrew Lunn
2020-10-24 18:09 ` Russell King - ARM Linux admin
2020-10-24 20:07 ` Andrew Lunn
2020-10-24 18:19 ` Ioana Ciornei [this message]
2020-10-25 8:17 ` Michael Walle
2020-10-25 10:18 ` Ioana Ciornei
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=20201024181945.pip6sdal6hpa6fns@skbuf \
--to=ioana.ciornei@nxp.com \
--cc=Divya.Koppera@microchip.com \
--cc=Nisar.Sayed@microchip.com \
--cc=alexandru.ardelean@analog.com \
--cc=andre.edich@microchip.com \
--cc=andrew@lunn.ch \
--cc=atenart@kernel.org \
--cc=baruch@tkos.co.il \
--cc=christophe.leroy@c-s.fr \
--cc=dev@kresin.me \
--cc=dmurphy@ti.com \
--cc=f.fainelli@gmail.com \
--cc=fido_max@inbox.ru \
--cc=hauke@hauke-m.de \
--cc=hkallweit1@gmail.com \
--cc=jbrunet@baylibre.com \
--cc=kavyasree.kotagiri@microchip.com \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=m.felsch@pengutronix.de \
--cc=marex@denx.de \
--cc=martin.blumenstingl@googlemail.com \
--cc=michael@walle.cc \
--cc=narmstrong@baylibre.com \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=philippe.schenker@toradex.com \
--cc=willy.liu@realtek.com \
--cc=yuiko.oshino@microchip.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).