linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Calvin Johnson <calvin.johnson@oss.nxp.com>
Cc: Jeremy Linton <jeremy.linton@arm.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Russell King - ARM Linux admin <linux@armlinux.org.uk>,
	linux.cj@gmail.com, Florian Fainelli <f.fainelli@gmail.com>,
	Cristi Sovaiala <cristian.sovaiala@nxp.com>,
	Florin Laurentiu Chiculita <florinlaurentiu.chiculita@nxp.com>,
	Ioana Ciornei <ioana.ciornei@nxp.com>,
	Madalin Bucur <madalin.bucur@oss.nxp.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Varun Sethi <V.Sethi@nxp.com>,
	"Rajesh V . Bikkina" <rajesh.bikkina@nxp.com>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Diana Madalina Craciun <diana.craciun@nxp.com>,
	netdev <netdev@vger.kernel.org>, Marcin Wojtas <mw@semihalf.com>,
	Laurentiu Tudor <laurentiu.tudor@nxp.com>,
	Makarand Pawagi <makarand.pawagi@nxp.com>,
	linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
	Pankaj Bansal <pankaj.bansal@nxp.com>,
	"David S. Miller" <davem@davemloft.net>,
	Heiner Kallweit <hkallweit1@gmail.com>
Subject: Re: [net-next PATCH v3 4/5] net: phy: Introduce fwnode_get_phy_id()
Date: Mon, 11 May 2020 14:53:15 +0200	[thread overview]
Message-ID: <20200511125315.GB409897@lunn.ch> (raw)
In-Reply-To: <20200511055231.GA12725@lsv03152.swis.in-blr01.nxp.com>

On Mon, May 11, 2020 at 11:22:31AM +0530, Calvin Johnson wrote:
> Thanks Andrew and Jeremy for the detailed discussion!
> 
> On Fri, May 08, 2020 at 08:13:01PM +0200, Andrew Lunn wrote:
> > > > It does have a numeric version defined for EISA types. OTOH I suspect that
> > > > your right. If there were a "PHY\VEN_IDvvvv&ID_DDDD" definition, it may not
> > > > be ideal to parse it. Instead the normal ACPI model of exactly matching the
> > > > complete string in the phy driver might be more appropriate.
> > > 
> > > IMO, it should be fine to parse the string to extract the phy_id. Is there any
> > > reason why we cannot do this?
> > 
> > Some background here, about what the PHY core does.
> > 
> > PHYs have two ID registers. This contains vendor, device, and often
> > revision of the PHY. Only the vendor part is standardised, vendors can
> > decide how to use the device part, but it is common for the lowest
> > nibble to be revision. The core will read these ID registers, and then
> > go through all the PHY drivers registered and ask them if they support
> > this ID. The drivers provide a table of IDs and masks. The mask is
> > applied, and then if the ID matches, the driver is used. The mask
> > allows the revision to be ignored, etc.
> > 
> > There is a very small number of devices where the vendor messed up,
> > and did not put valid contents in the ID registers. In such cases, we
> > can read the IDs from device tree. These are then used in exactly the
> > same way as if they were read from the device.
> > 
> > If you want the ACPI model to be used, an exact match on the string,
> > you are going to have to modify the core and the drivers. They
> > currently don't have any string, and have no idea about different
> > revisions which are out in the wild.
> 
> I don't think ACPI mandates that OS driver use exact string match and not parse
> the string.
> 
> First of all, I would suggest that we use "compatible" property instead of _CID.
> Not sure of a reason why we cannot. This will simplify implementation of fwnode
> APIs.
> 
> Already I've pointed out couple of ASL files in tianocore where they are already
> used.
> one eg:https://github.com/tianocore/edk2-platforms/blob/master/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl#L280
> 
> Even if we use _CID, I'm not sure we are prohibited from extracting characters
> (phy_id) from it.
> If we decide to use _CID, then we need to define somewhere and standardize
> exactly how we are going to use it. I'm not sure where we can do this.

Hi Calvin

Whatever is decided needs to be documented as it becomes a defacto
standard. Once this is in the Linux PHY core, that is how it is done
for all boards using ACPI.

Maybe sometime in the future when the ACPI standards committee
definitively defines how this should be done, we can add a second
implementation which is standards conformant.

       Andrew

  reply	other threads:[~2020-05-11 12:53 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-05 13:29 [net-next PATCH v3 0/5] Introduce new fwnode based APIs to support phylink and phy layers Calvin Johnson
2020-05-05 13:29 ` [net-next PATCH v3 1/5] net: phy: Introduce phy related fwnode functions Calvin Johnson
2020-05-05 14:44   ` Russell King - ARM Linux admin
2020-05-05 23:21   ` kbuild test robot
2020-05-05 23:39   ` Russell King - ARM Linux admin
2020-05-06  0:07   ` kbuild test robot
2020-05-05 13:29 ` [net-next PATCH v3 2/5] net: phy: alphabetically sort header includes Calvin Johnson
2020-05-05 13:29 ` [net-next PATCH v3 3/5] phylink: Introduce phylink_fwnode_phy_connect() Calvin Johnson
2020-05-05 14:13   ` Andy Shevchenko
2020-05-05 14:35   ` Russell King - ARM Linux admin
2020-05-05 13:29 ` [net-next PATCH v3 4/5] net: phy: Introduce fwnode_get_phy_id() Calvin Johnson
2020-05-05 14:15   ` Andy Shevchenko
2020-05-05 14:20     ` Russell King - ARM Linux admin
2020-05-07 13:26   ` Jeremy Linton
2020-05-07 17:27     ` Andy Shevchenko
2020-05-07 19:54       ` Jeremy Linton
2020-05-08 16:07         ` Calvin Johnson
2020-05-08 18:13           ` Andrew Lunn
2020-05-08 19:18             ` Jeremy Linton
2020-05-08 20:27               ` Andrew Lunn
2020-05-08 22:48                 ` Jeremy Linton
2020-05-08 23:42                   ` Andrew Lunn
2020-05-09  0:11                     ` Jeremy Linton
2020-05-11  8:00                     ` Calvin Johnson
2020-05-11  9:38                       ` Russell King - ARM Linux admin
2020-05-11 10:29                         ` Calvin Johnson
2020-05-11 10:48                           ` Russell King - ARM Linux admin
2020-05-11 12:02                             ` Calvin Johnson
2020-05-11 13:04                       ` Andrew Lunn
2020-05-11 13:35                         ` Russell King - ARM Linux admin
2020-05-11 14:59                         ` Calvin Johnson
2020-05-11  7:39                   ` Calvin Johnson
2020-05-11  5:52             ` Calvin Johnson
2020-05-11 12:53               ` Andrew Lunn [this message]
2020-05-05 13:29 ` [net-next PATCH v3 5/5] net: mdiobus: Introduce fwnode_mdiobus_register_phy() Calvin Johnson
2020-05-05 14:22   ` Andy Shevchenko
2020-05-07  7:44     ` Calvin Johnson
2020-05-07  9:10       ` Andy Shevchenko

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=20200511125315.GB409897@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=V.Sethi@nxp.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=calvin.johnson@oss.nxp.com \
    --cc=cristian.sovaiala@nxp.com \
    --cc=davem@davemloft.net \
    --cc=diana.craciun@nxp.com \
    --cc=f.fainelli@gmail.com \
    --cc=florinlaurentiu.chiculita@nxp.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=hkallweit1@gmail.com \
    --cc=ioana.ciornei@nxp.com \
    --cc=jeremy.linton@arm.com \
    --cc=laurentiu.tudor@nxp.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux.cj@gmail.com \
    --cc=linux@armlinux.org.uk \
    --cc=madalin.bucur@oss.nxp.com \
    --cc=makarand.pawagi@nxp.com \
    --cc=mw@semihalf.com \
    --cc=netdev@vger.kernel.org \
    --cc=pankaj.bansal@nxp.com \
    --cc=rafael@kernel.org \
    --cc=rajesh.bikkina@nxp.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).