public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: Vladimir Oltean <olteanv@gmail.com>
To: Christian Marangi <ansuelsmth@gmail.com>
Cc: Andrew Lunn <andrew@lunn.ch>, Rob Herring <robh@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Broadcom internal kernel review list
	<bcm-kernel-feedback-list@broadcom.com>,
	Daniel Golle <daniel@makrotopia.org>,
	Qingfang Deng <dqfext@gmail.com>,
	SkyLake Huang <SkyLake.Huang@mediatek.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	David Epping <david.epping@missinglinkelectronics.com>,
	"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
	Harini Katakam <harini.katakam@amd.com>,
	Simon Horman <horms@kernel.org>,
	Robert Marko <robert.marko@sartura.hr>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: Re: [net-next RFC PATCH 03/14] dt-bindings: net: document ethernet PHY package nodes
Date: Fri, 24 Nov 2023 20:27:15 +0200	[thread overview]
Message-ID: <20231124182715.azmi3fwrdg3gfdkj@skbuf> (raw)
In-Reply-To: <6560dc65.050a0220.182b5.650c@mx.google.com>

On Fri, Nov 24, 2023 at 05:25:16PM +0100, Christian Marangi wrote:
> The main reason is the fact that PHY package are already a thing and API
> are already there (phy_package_join/leave...) so we just lack any way to
> support this in DT without using specialized code in the PHY driver.
> 
> This is really completing the feature.

Hmm, I see struct phy_package_shared as a mechanism to tell phylib that
multiple device structures are actually related with each other, because
the device core, and their parent bus, has no idea. If you're under
control of the parent bus code and you can probe PHY devices in any
order you want and do whatever you want before probing them, I don't see
why you would need struct phy_package_shared any longer? I don't see why
this feature needs to be completed, if that involves changes to the
device tree structure. PHY packages assumed no changes to the device
tree (they rely on a hacky interpretation of the MDIO address AFAIU).
If we change that basic premise, all implementation options are on the
table, I think.

> The only reason for the generic "ethernet-phy-package" compatible is to
> have a solid detection of the node in PHY core. (I assume parsing the
> node name might be problematic? Or maybe not now that we require adding
> a reg to it)

Our opinions seem to differ, but I don't think that the package needs a
solid detection of the node in the PHY core :) I think phy_devices and
mdio_devices already cover everything that's necessary to build a
solution.

> Also I don't expect tons of special properties for PHY package, with the
> current probe/config implementation, a PHY driver have lots of
> flexibility in all kind of validation.
> 
> Consider that the additional global-phys and global-phy-names are
> already expected to be dropped.
> (we know the PHY package base address and we can calculate the offset of
> the global phy from there in the PHY package probe)
> 
> And even the phy-mode has been scrapped for more specific solution...
> (some assumption can be done on probe by checking the PHY mode and set
> stuff accordingly or even do parsing in the PHY package node as we pass
> the OF node of the phy package)
> 
> The PHY package node would be reduced to a simple compatible (and even
> this can be dropped) and a reg.

So why does it need to be described in DT, at this stage? :)

> I feel there is a big chance here to generalize it and prevent any kind
> of mess with all kind of similar/equal code that just do the same thing.
> (and we already have an example with the PHY package API usage with
> every PHY having the same exact pattern for probe/config and nothing
> describing that the PHY are actually a package in DT)
> 
> Hope it all makes sense to you.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-11-24 18:27 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-20 13:50 [net-next RFC PATCH 00/14] net: phy: Support DT PHY package Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 01/14] net: phy: extend PHY package API to support multiple global address Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 02/14] dt-bindings: net: move PHY modes to common PHY mode types definition Christian Marangi
2023-11-20 15:14   ` Rob Herring
2023-11-20 17:30   ` Rob Herring
2023-11-20 13:50 ` [net-next RFC PATCH 03/14] dt-bindings: net: document ethernet PHY package nodes Christian Marangi
2023-11-20 17:41   ` Rob Herring
2023-11-20 16:39     ` Christian Marangi
2023-11-20 20:44   ` Andrew Lunn
2023-11-20 18:09     ` Christian Marangi
2023-11-20 21:25       ` Andrew Lunn
2023-11-20 18:45         ` Christian Marangi
2023-11-21 14:42     ` Rob Herring
2023-11-21 14:45       ` Andrew Lunn
2023-11-22 18:32         ` Christian Marangi
2023-11-23  3:30           ` Andrew Lunn
2023-11-23 10:38             ` Christian Marangi
2023-11-23 14:27               ` Andrew Lunn
2023-11-23 14:35                 ` Russell King (Oracle)
2023-11-23 14:57                   ` Andrew Lunn
2023-11-23 19:33                     ` Christian Marangi
2023-11-24 11:49                       ` Jie Luo
2023-11-24 12:02                         ` Russell King (Oracle)
2023-11-24 14:44                           ` Andrew Lunn
2023-11-24 15:16                             ` Russell King (Oracle)
2023-11-24 16:59                               ` Robert Marko
2023-11-23 15:07               ` Andrew Lunn
2023-11-23 19:36                 ` Christian Marangi
2023-11-24 16:59           ` Vladimir Oltean
2023-11-24 16:25             ` Christian Marangi
2023-11-24 18:27               ` Vladimir Oltean [this message]
2023-11-24 18:35             ` Andrew Lunn
2023-11-24 19:40               ` Vladimir Oltean
2023-11-20 13:50 ` [net-next RFC PATCH 04/14] net: phy: add initial support for PHY package in DT Christian Marangi
2023-11-22 10:41   ` Simon Horman
2023-11-22 10:52   ` Simon Horman
2023-11-22 18:15     ` Christian Marangi
2023-11-22 21:14       ` Simon Horman
2023-11-20 13:50 ` [net-next RFC PATCH 05/14] net: phy: add support for named global PHY in DT PHY package Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 06/14] net: phy: add support for shared priv data size for PHY package in DT Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 07/14] net: phy: add support for driver specific PHY package probe/config Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 08/14] net: phy: add support for PHY package interface mode Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 09/14] net: phy: move mmd_phy_indirect to generic header Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 10/14] net: phy: add support for PHY package MMD read/write Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 11/14] dt-bindings: net: add QCA807x PHY defines Christian Marangi
2023-11-23  3:01   ` Andrew Lunn
2023-11-20 13:50 ` [net-next RFC PATCH 12/14] dt-bindings: net: Document Qcom QCA807x PHY package Christian Marangi
2023-11-23  2:15   ` Andrew Lunn
2023-11-23 11:20     ` Robert Marko
2023-11-23  9:41   ` Russell King (Oracle)
2023-11-20 13:50 ` [net-next RFC PATCH 13/14] net: phy: add Qualcom QCA807x driver Christian Marangi
2023-11-23  2:55   ` Andrew Lunn
2023-11-20 13:50 ` [net-next RFC PATCH 14/14] net: phy: qca807x: Add support for configurable LED Christian Marangi
2023-11-20 15:11 ` [net-next RFC PATCH 00/14] net: phy: Support DT PHY package Maxime Chevallier

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=20231124182715.azmi3fwrdg3gfdkj@skbuf \
    --to=olteanv@gmail.com \
    --cc=SkyLake.Huang@mediatek.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=ansuelsmth@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel@makrotopia.org \
    --cc=davem@davemloft.net \
    --cc=david.epping@missinglinkelectronics.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dqfext@gmail.com \
    --cc=edumazet@google.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=harini.katakam@amd.com \
    --cc=hkallweit1@gmail.com \
    --cc=horms@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=matthias.bgg@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=robert.marko@sartura.hr \
    --cc=robh@kernel.org \
    /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