All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	linux-tegra@vger.kernel.org, Ben Dooks <ben-linux@fluff.org>,
	Stephen Warren <swarren@wwwdotorg.org>,
	linux-sh@vger.kernel.org, Tim Harvey <tharvey@gateworks.com>,
	Jingoo Han <jg1.han@samsung.com>,
	Richard Zhu <r65037@freescale.com>,
	Simon Horman <horms@verge.net.au>,
	Thierry Reding <thierry.reding@gmail.com>,
	kernel@pengutronix.de, Bjorn Helgaas <bhelgaas@google.com>,
	Kukjin Kim <kgene.kim@samsung.com>,
	Shawn Guo <shawn.guo@linaro.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 7/7] PCI: designware: split samsung and fsl bindings
Date: Tue, 11 Mar 2014 14:34:38 +0100	[thread overview]
Message-ID: <201403111434.38834.arnd@arndb.de> (raw)
In-Reply-To: <1393947259.9405.18.camel@weser.hi.pengutronix.de>

On Tuesday 04 March 2014, Lucas Stach wrote:
> > > On i.MX6 the clock names (which I have to agree are pretty bad) map as
> > > follows:
> > > pcie_axi: host controller main register/bus access clock
> > > pcie_ref_125m: pcie phy reference clock
> > > 
> > > sata_ref_100m: pcie bus 100MHz reference clock
> > 
> > That doesn't explain why it's called "sata_ref_100m".
> > 
> I agree this is bad naming. It's called this way because someone decided
> to name it like the internal clock it is sourced from on most boards.
> This really should be pcie_ref, or something. I suspect this corresponds
> to the pcie_bus clock in the Exynos binding in which case we should just
> name it this way.

Ok, so Exynos is missing one of the other clocks then? Or is the 
pcie_ref_125m clock something that should actually be listed under
the node of the PHY?

> > > lvds_gate: bad abstraction. Decides if the reference clock is sourced
> > > internal (i.e. the 100MHz ref clock above) or from an SoC external
> > > source. We should really find a better way of representing this in the
> > > clock tree.
> > 
> > I don't understand this description at all. Can you try to explain that
> > with different words?
> > 
> On i.MX6 the PCIe reference clock is routed through a generic clock pad,
> which can be configured either as input or output. When the i.MX is the
> PCI master we source the clock from sata_ref_100m and configure this pad
> as clock output.
> Somebody decided to abstract the input/output switch as a gate, which is
> arguably wrong, this should be a mux deciding between internal or
> external clock source.
> 
> The PCIe host driver should really only need the clk pad clock,
> activation of the sata_ref_100m clock should be handled through
> parent<->child relationship of those clocks in the clock tree, which
> isn't properly handled right now. I'll try to fix this up, but it won't
> be backward compatible in any way.

Is it possible to treat this clock as a "global" clock rather than a device
specific one, and pass NULL as the device for clk_get?

That's not nice, but at least it gives you a way to keep it out of the
binding, and "just" creates a dependency between the specific PCI host
controller and the way that clock is wired up on a particular SoC.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 7/7] PCI: designware: split samsung and fsl bindings
Date: Tue, 11 Mar 2014 13:34:38 +0000	[thread overview]
Message-ID: <201403111434.38834.arnd@arndb.de> (raw)
In-Reply-To: <1393947259.9405.18.camel@weser.hi.pengutronix.de>

On Tuesday 04 March 2014, Lucas Stach wrote:
> > > On i.MX6 the clock names (which I have to agree are pretty bad) map as
> > > follows:
> > > pcie_axi: host controller main register/bus access clock
> > > pcie_ref_125m: pcie phy reference clock
> > > 
> > > sata_ref_100m: pcie bus 100MHz reference clock
> > 
> > That doesn't explain why it's called "sata_ref_100m".
> > 
> I agree this is bad naming. It's called this way because someone decided
> to name it like the internal clock it is sourced from on most boards.
> This really should be pcie_ref, or something. I suspect this corresponds
> to the pcie_bus clock in the Exynos binding in which case we should just
> name it this way.

Ok, so Exynos is missing one of the other clocks then? Or is the 
pcie_ref_125m clock something that should actually be listed under
the node of the PHY?

> > > lvds_gate: bad abstraction. Decides if the reference clock is sourced
> > > internal (i.e. the 100MHz ref clock above) or from an SoC external
> > > source. We should really find a better way of representing this in the
> > > clock tree.
> > 
> > I don't understand this description at all. Can you try to explain that
> > with different words?
> > 
> On i.MX6 the PCIe reference clock is routed through a generic clock pad,
> which can be configured either as input or output. When the i.MX is the
> PCI master we source the clock from sata_ref_100m and configure this pad
> as clock output.
> Somebody decided to abstract the input/output switch as a gate, which is
> arguably wrong, this should be a mux deciding between internal or
> external clock source.
> 
> The PCIe host driver should really only need the clk pad clock,
> activation of the sata_ref_100m clock should be handled through
> parent<->child relationship of those clocks in the clock tree, which
> isn't properly handled right now. I'll try to fix this up, but it won't
> be backward compatible in any way.

Is it possible to treat this clock as a "global" clock rather than a device
specific one, and pass NULL as the device for clk_get?

That's not nice, but at least it gives you a way to keep it out of the
binding, and "just" creates a dependency between the specific PCI host
controller and the way that clock is wired up on a particular SoC.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 7/7] PCI: designware: split samsung and fsl bindings
Date: Tue, 11 Mar 2014 14:34:38 +0100	[thread overview]
Message-ID: <201403111434.38834.arnd@arndb.de> (raw)
In-Reply-To: <1393947259.9405.18.camel@weser.hi.pengutronix.de>

On Tuesday 04 March 2014, Lucas Stach wrote:
> > > On i.MX6 the clock names (which I have to agree are pretty bad) map as
> > > follows:
> > > pcie_axi: host controller main register/bus access clock
> > > pcie_ref_125m: pcie phy reference clock
> > > 
> > > sata_ref_100m: pcie bus 100MHz reference clock
> > 
> > That doesn't explain why it's called "sata_ref_100m".
> > 
> I agree this is bad naming. It's called this way because someone decided
> to name it like the internal clock it is sourced from on most boards.
> This really should be pcie_ref, or something. I suspect this corresponds
> to the pcie_bus clock in the Exynos binding in which case we should just
> name it this way.

Ok, so Exynos is missing one of the other clocks then? Or is the 
pcie_ref_125m clock something that should actually be listed under
the node of the PHY?

> > > lvds_gate: bad abstraction. Decides if the reference clock is sourced
> > > internal (i.e. the 100MHz ref clock above) or from an SoC external
> > > source. We should really find a better way of representing this in the
> > > clock tree.
> > 
> > I don't understand this description at all. Can you try to explain that
> > with different words?
> > 
> On i.MX6 the PCIe reference clock is routed through a generic clock pad,
> which can be configured either as input or output. When the i.MX is the
> PCI master we source the clock from sata_ref_100m and configure this pad
> as clock output.
> Somebody decided to abstract the input/output switch as a gate, which is
> arguably wrong, this should be a mux deciding between internal or
> external clock source.
> 
> The PCIe host driver should really only need the clk pad clock,
> activation of the sata_ref_100m clock should be handled through
> parent<->child relationship of those clocks in the clock tree, which
> isn't properly handled right now. I'll try to fix this up, but it won't
> be backward compatible in any way.

Is it possible to treat this clock as a "global" clock rather than a device
specific one, and pass NULL as the device for clk_get?

That's not nice, but at least it gives you a way to keep it out of the
binding, and "just" creates a dependency between the specific PCI host
controller and the way that clock is wired up on a particular SoC.

	Arnd

  reply	other threads:[~2014-03-11 13:34 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-28 17:28 [PATCH 0/7] PCI irq mapping fixes and cleanups Lucas Stach
2014-02-28 17:28 ` Lucas Stach
2014-02-28 17:28 ` Lucas Stach
2014-02-28 17:28 ` [PATCH 1/7] ARM: dts: tegra: add PCIe interrupt mapping properties Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 17:28   ` Lucas Stach
     [not found]   ` <1393608523-17509-2-git-send-email-l.stach-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-02-28 20:27     ` Stephen Warren
2014-02-28 20:27       ` Stephen Warren
2014-02-28 20:27       ` Stephen Warren
2014-02-28 17:28 ` [PATCH 2/7] PCI: tegra: use new OF interrupt mapping when possible Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 17:28 ` [PATCH 4/7] ARM: dts: exynos5440: fix PCIe interrupt mapping Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 17:28   ` Lucas Stach
     [not found]   ` <1393608523-17509-5-git-send-email-l.stach-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-03-03  7:40     ` Jingoo Han
2014-03-03  7:40       ` Jingoo Han
2014-03-03  7:40       ` Jingoo Han
2014-03-03  7:53       ` Jingoo Han
2014-03-03  7:53         ` Jingoo Han
2014-03-03  7:53         ` Jingoo Han
2014-03-03  9:26         ` Lucas Stach
2014-03-03  9:26           ` Lucas Stach
2014-03-03  9:26           ` Lucas Stach
2014-02-28 17:28 ` [PATCH 5/7] ARM: dts: imx6: add PCIe interrupt mapping properties Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-03-05  5:43   ` Shawn Guo
2014-03-05  5:43     ` Shawn Guo
2014-03-05  5:43     ` Shawn Guo
2014-02-28 17:28 ` [PATCH 6/7] PCI: designware: use new OF interrupt mapping when possible Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 17:28   ` Lucas Stach
     [not found]   ` <1393608523-17509-7-git-send-email-l.stach-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-03-04 15:05     ` Tim Harvey
2014-03-04 15:05       ` Tim Harvey
2014-03-04 15:05       ` Tim Harvey
2014-02-28 17:28 ` [PATCH 7/7] PCI: designware: split samsung and fsl bindings Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 17:28   ` Lucas Stach
2014-02-28 20:03   ` Arnd Bergmann
2014-02-28 20:03     ` Arnd Bergmann
2014-02-28 20:03     ` Arnd Bergmann
2014-03-04 14:13     ` Lucas Stach
2014-03-04 14:13       ` Lucas Stach
2014-03-04 14:13       ` Lucas Stach
2014-03-04 14:53       ` Arnd Bergmann
2014-03-04 14:53         ` Arnd Bergmann
2014-03-04 14:53         ` Arnd Bergmann
2014-03-04 15:34         ` Lucas Stach
2014-03-04 15:34           ` Lucas Stach
2014-03-04 15:34           ` Lucas Stach
2014-03-11 13:34           ` Arnd Bergmann [this message]
2014-03-11 13:34             ` Arnd Bergmann
2014-03-11 13:34             ` Arnd Bergmann
     [not found]   ` <1393608523-17509-8-git-send-email-l.stach-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-02-28 20:23     ` Tim Harvey
2014-02-28 20:23       ` Tim Harvey
2014-02-28 20:23       ` Tim Harvey
2014-02-28 20:04 ` [PATCH 0/7] PCI irq mapping fixes and cleanups Arnd Bergmann
2014-02-28 20:04   ` Arnd Bergmann
2014-02-28 20:04   ` Arnd Bergmann
     [not found] ` <1393608523-17509-1-git-send-email-l.stach-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-02-28 17:28   ` [PATCH 3/7] PCI: rcar: use new OF interrupt mapping when possible Lucas Stach
2014-02-28 17:28     ` Lucas Stach
2014-02-28 17:28     ` Lucas Stach
2014-03-01  0:53   ` [PATCH 0/7] PCI irq mapping fixes and cleanups Tim Harvey
2014-03-01  0:53     ` Tim Harvey
2014-03-01  0:53     ` Tim Harvey
2014-03-01 18:30     ` Jason Gunthorpe
2014-03-01 18:30       ` Jason Gunthorpe
2014-03-01 18:30       ` Jason Gunthorpe
2014-03-03  8:11       ` Jingoo Han
2014-03-03  8:11         ` Jingoo Han
2014-03-03  8:11         ` Jingoo Han
2014-03-03 17:49         ` Tim Harvey
2014-03-03 17:49           ` Tim Harvey
2014-03-03 17:49           ` Tim Harvey
2014-03-03 18:01           ` Jason Gunthorpe
2014-03-03 18:01             ` Jason Gunthorpe
2014-03-03 18:01             ` Jason Gunthorpe
2014-03-03 18:28             ` Tim Harvey
2014-03-03 18:28               ` Tim Harvey
2014-03-03 18:28               ` Tim Harvey
2014-03-03 23:40           ` Tim Harvey
2014-03-03 23:40             ` Tim Harvey
2014-03-03 23:40             ` Tim Harvey
2014-03-04  0:01             ` Jason Gunthorpe
2014-03-04  0:01               ` Jason Gunthorpe
2014-03-04  0:01               ` Jason Gunthorpe
2014-03-04  6:04               ` Tim Harvey
2014-03-04  6:04                 ` Tim Harvey
2014-03-04  6:04                 ` Tim Harvey

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=201403111434.38834.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=ben-linux@fluff.org \
    --cc=bhelgaas@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=horms@verge.net.au \
    --cc=jg1.han@samsung.com \
    --cc=kernel@pengutronix.de \
    --cc=kgene.kim@samsung.com \
    --cc=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=r65037@freescale.com \
    --cc=shawn.guo@linaro.org \
    --cc=swarren@wwwdotorg.org \
    --cc=tharvey@gateworks.com \
    --cc=thierry.reding@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.