* [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
@ 2013-11-15 20:53 Stephen Warren
[not found] ` <1384548866-13141-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Stephen Warren @ 2013-11-15 20:53 UTC (permalink / raw)
To: swarren
Cc: Mark Rutland, alsa-devel, linux-usb, Wolfram Sang, David Airlie,
linux-pci, dri-devel, Marc Dietrich, linux-tegra, linux-i2c,
ac100, devel, Stephen Warren, Alan Stern, linux-serial,
linux-input, Terje Bergström, devicetree, Pawel Moll,
Ian Campbell, Julian Andres Klode, Rob Herring, Mark Brown,
Bjorn Helgaas, Mike Turquette
From: Stephen Warren <swarren@nvidia.com>
This series implements a common reset framework driver for Tegra, and
updates all relevant Tegra drivers to use it. It also removes the custom
DMA bindings and replaced them with the standard DMA DT bindings.
Historically, the Tegra clock driver has exported a custom API for module
reset. This series removes that API, and transitions DT and drivers to
the new reset framework.
The custom API used a "struct clk" to identify which module to reset, and
consequently some DT bindings and drivers required clocks to be provided
where they really needed just a reset identifier instead. Due to this
known deficiency, I have always considered most Tegra bindings to be
unstable. This series removes this excuse for instability, although I
still consider some Tegra bindings unstable due to the need to convert to
the common DMA bindings.
Historically, Tegra DMA channels have been represented in DT using a
custom nvidia,dma-request-selector property. Now that standard DMA DT
bindings exist, convert all Tegra bindings, DTs, and drivers to use the
standard instead.
This series makes a DT-ABI-incompatible change to:
- Require reset specifiers in DT where relevant.
- Require standard DMA specifiers.
- Remove clock specifiers from DT where they were only needed for reset.
- Remove legacy DMA specifier properties.
I anticipate merging this whole series into the Tegra and arm-soc trees
as its own branch, due to internal dependencies. This branch will be
stable and can then be merged into any other subsystem trees should any
conflicts arise.
This series depends on Peter's Tegra clock driver rework, available at
git://nv-tegra.nvidia.com/user/pdeschrijver/linux tegra-clk-tegra124-0
(or whatever version of that gets included in 3.14)
Cc: ac100@lists.launchpad.net
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: alsa-devel@alsa-project.org
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: David Airlie <airlied@linux.ie>
Cc: devel@driverdev.osuosl.org
Cc: devicetree@vger.kernel.org
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: dri-devel@lists.freedesktop.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Julian Andres Klode <jak@jak-linux.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-i2c@vger.kernel.org
Cc: linux-input@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-serial@vger.kernel.org
Cc: linux-spi@vger.kernel.org
Cc: linux-tegra@vger.kernel.org
Cc: linux-usb@vger.kernel.org
Cc: Marc Dietrich <marvin24@gmx.de>
Cc: Mark Brown <broonie@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: pdeschrijver@nvidia.com
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Terje Bergström <tbergstrom@nvidia.com>
Cc: treding@nvidia.com
Cc: Wolfram Sang <wsa@the-dreams.de>
Stephen Warren (31):
ARM: tegra: add missing clock documentation to DT bindings
ARM: tegra: document reset properties in DT bindings
ARM: tegra: document use of standard DMA DT bindings
ARM: tegra: update DT files to add reset properties
ARM: tegra: update DT files to add DMA properties
ARM: tegra: select the reset framework
clk: tegra: implement a reset driver
pci: tegra: use reset framework
drm/tegra: use reset framework
ARM: tegra: pass reset to tegra_powergate_sequence_power_up()
dma: add channel request API that supports deferred probe
dma: tegra: use reset framework
dma: tegra: register as an OF DMA controller
ASoC: dmaengine: support deferred probe for DMA channels
ASoC: dmaengine: add custom DMA config to snd_dmaengine_pcm_config
ASoC: tegra: use reset framework
ASoC: tegra: call pm_runtime APIs around register accesses
ASoC: tegra: allocate AHUB FIFO during probe() not startup()
ASoC: tegra: convert to standard DMA DT bindings
i2c: tegra: use reset framework
staging: nvec: use reset framework
spi: tegra: use reset framework
spi: tegra: convert to standard DMA DT bindings
serial: tegra: use reset framework
serial: tegra: convert to standard DMA DT bindings
Input: tegra-kbc - use reset framework
USB: EHCI: tegra: use reset framework
ARM: tegra: remove legacy clock entries from DT
ARM: tegra: remove legacy DMA entries from DT
clk: tegra: remove legacy reset APIs
clk: tegra: remove bogus PCIE_XCLK
.../bindings/arm/tegra/nvidia,tegra20-pmc.txt | 1 +
.../bindings/clock/nvidia,tegra114-car.txt | 4 +
.../bindings/clock/nvidia,tegra124-car.txt | 4 +
.../bindings/clock/nvidia,tegra20-car.txt | 4 +
.../bindings/clock/nvidia,tegra30-car.txt | 4 +
.../devicetree/bindings/dma/tegra20-apbdma.txt | 9 ++
.../bindings/gpu/nvidia,tegra20-host1x.txt | 124 +++++++++++++++
.../devicetree/bindings/i2c/nvidia,tegra20-i2c.txt | 27 +++-
.../bindings/input/nvidia,tegra20-kbc.txt | 9 ++
.../bindings/mmc/nvidia,tegra20-sdhci.txt | 9 ++
.../devicetree/bindings/nvec/nvidia,nvec.txt | 12 ++
.../bindings/pci/nvidia,tegra20-pcie.txt | 28 ++--
.../devicetree/bindings/pwm/nvidia,tegra20-pwm.txt | 9 ++
.../devicetree/bindings/rtc/nvidia,tegra20-rtc.txt | 3 +
.../bindings/serial/nvidia,tegra20-hsuart.txt | 19 ++-
.../bindings/sound/nvidia,tegra-audio-alc5632.txt | 7 +-
.../bindings/sound/nvidia,tegra-audio-rt5640.txt | 7 +-
.../bindings/sound/nvidia,tegra-audio-wm8753.txt | 7 +-
.../bindings/sound/nvidia,tegra-audio-wm8903.txt | 7 +-
.../bindings/sound/nvidia,tegra-audio-wm9712.txt | 7 +-
.../bindings/sound/nvidia,tegra20-ac97.txt | 20 ++-
.../bindings/sound/nvidia,tegra20-i2s.txt | 19 ++-
.../bindings/sound/nvidia,tegra30-ahub.txt | 54 +++++--
.../bindings/sound/nvidia,tegra30-i2s.txt | 11 +-
.../bindings/spi/nvidia,tegra114-spi.txt | 24 ++-
.../bindings/spi/nvidia,tegra20-sflash.txt | 20 ++-
.../bindings/spi/nvidia,tegra20-slink.txt | 20 ++-
.../bindings/timer/nvidia,tegra20-timer.txt | 3 +
.../bindings/timer/nvidia,tegra30-timer.txt | 3 +
.../bindings/usb/nvidia,tegra20-ehci.txt | 7 +-
arch/arm/boot/dts/tegra114.dtsi | 142 ++++++++++++++---
arch/arm/boot/dts/tegra20-paz00.dts | 2 +
arch/arm/boot/dts/tegra20.dtsi | 132 ++++++++++++++--
arch/arm/boot/dts/tegra30.dtsi | 171 +++++++++++++++++----
arch/arm/mach-tegra/Kconfig | 2 +
arch/arm/mach-tegra/powergate.c | 8 +-
drivers/clk/tegra/clk-periph-gate.c | 22 ---
drivers/clk/tegra/clk-periph.c | 40 -----
drivers/clk/tegra/clk-tegra114.c | 3 +-
drivers/clk/tegra/clk-tegra124.c | 2 +-
drivers/clk/tegra/clk-tegra20.c | 9 +-
drivers/clk/tegra/clk-tegra30.c | 10 +-
drivers/clk/tegra/clk.c | 55 ++++++-
drivers/clk/tegra/clk.h | 3 +-
drivers/dma/acpi-dma.c | 12 +-
drivers/dma/dmaengine.c | 44 +++++-
drivers/dma/of-dma.c | 12 +-
drivers/dma/tegra20-apb-dma.c | 49 +++++-
drivers/gpu/drm/tegra/Kconfig | 1 +
drivers/gpu/drm/tegra/dc.c | 9 +-
drivers/gpu/drm/tegra/drm.h | 3 +
drivers/gpu/drm/tegra/gr3d.c | 22 ++-
drivers/gpu/drm/tegra/hdmi.c | 14 +-
drivers/i2c/busses/i2c-tegra.c | 13 +-
drivers/input/keyboard/tegra-kbc.c | 13 +-
drivers/pci/host/pci-tegra.c | 52 +++++--
drivers/spi/Kconfig | 3 +
drivers/spi/spi-tegra114.c | 66 ++++----
drivers/spi/spi-tegra20-sflash.c | 18 ++-
drivers/spi/spi-tegra20-slink.c | 66 ++++----
drivers/staging/nvec/nvec.c | 11 +-
drivers/staging/nvec/nvec.h | 5 +-
drivers/tty/serial/serial-tegra.c | 86 +++++------
drivers/usb/host/ehci-tegra.c | 14 +-
include/dt-bindings/clock/tegra20-car.h | 2 +-
include/dt-bindings/clock/tegra30-car.h | 2 +-
include/linux/clk/tegra.h | 7 -
include/linux/dmaengine.h | 7 +
include/linux/of_dma.h | 9 +-
include/linux/tegra-powergate.h | 4 +-
include/sound/dmaengine_pcm.h | 6 +
sound/soc/soc-generic-dmaengine-pcm.c | 82 +++++++---
sound/soc/tegra/Kconfig | 2 +
sound/soc/tegra/tegra20_ac97.c | 11 --
sound/soc/tegra/tegra20_i2s.c | 20 +--
sound/soc/tegra/tegra30_ahub.c | 125 +++++++++------
sound/soc/tegra/tegra30_ahub.h | 11 +-
sound/soc/tegra/tegra30_i2s.c | 97 ++++++------
sound/soc/tegra/tegra30_i2s.h | 3 +
sound/soc/tegra/tegra_pcm.c | 17 +-
sound/soc/tegra/tegra_pcm.h | 5 +
81 files changed, 1448 insertions(+), 558 deletions(-)
--
1.8.1.5
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 20/31] i2c: tegra: use reset framework
[not found] ` <1384548866-13141-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-11-15 20:54 ` Stephen Warren
[not found] ` <1384548866-13141-21-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
0 siblings, 1 reply; 11+ messages in thread
From: Stephen Warren @ 2013-11-15 20:54 UTC (permalink / raw)
To: swarren-3lzwWm7+Weoh9ZMKESR00Q
Cc: Stephen Warren, treding-DDmLM1+adcrQT0dZR+AlfA,
pdeschrijver-DDmLM1+adcrQT0dZR+AlfA,
linux-tegra-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Wolfram Sang,
linux-i2c-u79uwXL29TY76Z2rM5mHXA
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Tegra's clock driver now provides an implementation of the common
reset API (include/linux/reset.h). Use this instead of the old Tegra-
specific API; that will soon be removed.
Cc: treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org
Cc: pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
This patch is part of a series with strong internal depdendencies. I'm
looking for an ack so that I can take the entire series through the Tegra
and arm-soc trees. The series will be part of a stable branch that can be
merged into other subsystems if needed to avoid/resolve dependencies.
---
drivers/i2c/busses/i2c-tegra.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index e661edee4d0c..9704537aee3c 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -27,7 +27,7 @@
#include <linux/slab.h>
#include <linux/of_device.h>
#include <linux/module.h>
-#include <linux/clk/tegra.h>
+#include <linux/reset.h>
#include <asm/unaligned.h>
@@ -160,6 +160,7 @@ struct tegra_i2c_dev {
struct i2c_adapter adapter;
struct clk *div_clk;
struct clk *fast_clk;
+ struct reset_control *rst;
void __iomem *base;
int cont_id;
int irq;
@@ -415,9 +416,9 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
return err;
}
- tegra_periph_reset_assert(i2c_dev->div_clk);
+ reset_control_assert(i2c_dev->rst);
udelay(2);
- tegra_periph_reset_deassert(i2c_dev->div_clk);
+ reset_control_deassert(i2c_dev->rst);
if (i2c_dev->is_dvc)
tegra_dvc_init(i2c_dev);
@@ -743,6 +744,12 @@ static int tegra_i2c_probe(struct platform_device *pdev)
i2c_dev->cont_id = pdev->id;
i2c_dev->dev = &pdev->dev;
+ i2c_dev->rst = devm_reset_control_get(&pdev->dev, "i2c");
+ if (IS_ERR(i2c_dev->rst)) {
+ dev_err(&pdev->dev, "missing controller reset");
+ return PTR_ERR(i2c_dev->rst);
+ }
+
ret = of_property_read_u32(i2c_dev->dev->of_node, "clock-frequency",
&i2c_dev->bus_clk_rate);
if (ret)
--
1.8.1.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 20/31] i2c: tegra: use reset framework
[not found] ` <1384548866-13141-21-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-11-15 22:20 ` Wolfram Sang
2013-11-29 14:46 ` Thierry Reding
1 sibling, 0 replies; 11+ messages in thread
From: Wolfram Sang @ 2013-11-15 22:20 UTC (permalink / raw)
To: Stephen Warren
Cc: Stephen Warren, treding-DDmLM1+adcrQT0dZR+AlfA,
pdeschrijver-DDmLM1+adcrQT0dZR+AlfA,
linux-tegra-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: text/plain, Size: 861 bytes --]
On Fri, Nov 15, 2013 at 01:54:15PM -0700, Stephen Warren wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> Tegra's clock driver now provides an implementation of the common
> reset API (include/linux/reset.h). Use this instead of the old Tegra-
> specific API; that will soon be removed.
>
> Cc: treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org
> Cc: pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org
> Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> Cc: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
> Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Acked-by: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
2013-11-15 20:53 [PATCH 00/31] ARM: tegra: use common reset and DMA bindings Stephen Warren
[not found] ` <1384548866-13141-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-11-18 8:24 ` Terje Bergström
2013-11-20 15:37 ` Arnd Bergmann
2013-12-12 0:11 ` Stephen Warren
3 siblings, 0 replies; 11+ messages in thread
From: Terje Bergström @ 2013-11-18 8:24 UTC (permalink / raw)
To: Stephen Warren
Cc: Mark Rutland, alsa-devel@alsa-project.org,
linux-usb@vger.kernel.org, Wolfram Sang, David Airlie,
linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org,
Marc Dietrich, linux-tegra@vger.kernel.org,
linux-i2c@vger.kernel.org, ac100@lists.launchpad.net,
devel@driverdev.osuosl.org, Stephen Warren, Alan Stern,
linux-serial@vger.kernel.org, linux-input@vger.kernel.org,
Thierry Reding, devicetree
On 15.11.2013 22:53, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> This series implements a common reset framework driver for Tegra, and
> updates all relevant Tegra drivers to use it. It also removes the custom
> DMA bindings and replaced them with the standard DMA DT bindings.
>
> Historically, the Tegra clock driver has exported a custom API for module
> reset. This series removes that API, and transitions DT and drivers to
> the new reset framework.
>
> The custom API used a "struct clk" to identify which module to reset, and
> consequently some DT bindings and drivers required clocks to be provided
> where they really needed just a reset identifier instead. Due to this
> known deficiency, I have always considered most Tegra bindings to be
> unstable. This series removes this excuse for instability, although I
> still consider some Tegra bindings unstable due to the need to convert to
> the common DMA bindings.
>
> Historically, Tegra DMA channels have been represented in DT using a
> custom nvidia,dma-request-selector property. Now that standard DMA DT
> bindings exist, convert all Tegra bindings, DTs, and drivers to use the
> standard instead.
>
> This series makes a DT-ABI-incompatible change to:
> - Require reset specifiers in DT where relevant.
> - Require standard DMA specifiers.
> - Remove clock specifiers from DT where they were only needed for reset.
> - Remove legacy DMA specifier properties.
>
> I anticipate merging this whole series into the Tegra and arm-soc trees
> as its own branch, due to internal dependencies. This branch will be
> stable and can then be merged into any other subsystem trees should any
> conflicts arise.
>
> This series depends on Peter's Tegra clock driver rework, available at
> git://nv-tegra.nvidia.com/user/pdeschrijver/linux tegra-clk-tegra124-0
> (or whatever version of that gets included in 3.14)
Overall, a good change. For host1x part:
Acked-By: Terje Bergstrom <tbergstrom@nvidia.com>
This patch does not change the behavior, but we have in original code
the problem that we don't flush the MC queue when resetting an engine.
This can cause some memory writes to not hit memory. There was an
earlier discussion on that, but we seem to have lost track of the issue.
Terje
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
2013-11-15 20:53 [PATCH 00/31] ARM: tegra: use common reset and DMA bindings Stephen Warren
[not found] ` <1384548866-13141-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-18 8:24 ` [PATCH 00/31] ARM: tegra: use common reset and DMA bindings Terje Bergström
@ 2013-11-20 15:37 ` Arnd Bergmann
2013-11-20 16:45 ` Stephen Warren
2013-12-12 0:11 ` Stephen Warren
3 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2013-11-20 15:37 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Mark Rutland, alsa-devel, Dmitry Torokhov, Wolfram Sang,
David Airlie, linux-pci, dri-devel, Marc Dietrich, Bjorn Helgaas,
linux-i2c, ac100, devel, Stephen Warren, Mike Turquette,
Ian Campbell, Alan Stern, linux-serial, linux-input, treding,
devicetree, Pawel Moll, Stephen Warren, Julian Andres Klode,
Rob Herring, Mark Brown, linux-tegra, Terje
On Friday 15 November 2013, Stephen Warren wrote:
> This series implements a common reset framework driver for Tegra, and
> updates all relevant Tegra drivers to use it. It also removes the custom
> DMA bindings and replaced them with the standard DMA DT bindings.
The series is rather long, so I may have missed it, but I think you need one
more patch to the apbdma binding to document the use of #dma-cells, what
value it has, and what the format of the dma specifiers in slave drivers
needs to be.
Arnd
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
2013-11-20 15:37 ` Arnd Bergmann
@ 2013-11-20 16:45 ` Stephen Warren
2013-11-20 17:03 ` Arnd Bergmann
2013-11-20 19:17 ` [Ac100] " Martino Brandolini
0 siblings, 2 replies; 11+ messages in thread
From: Stephen Warren @ 2013-11-20 16:45 UTC (permalink / raw)
To: Arnd Bergmann, linux-arm-kernel
Cc: Mark Rutland, alsa-devel, Dmitry Torokhov, Wolfram Sang,
David Airlie, linux-pci, dri-devel, Marc Dietrich, Bjorn Helgaas,
linux-i2c, ac100, devel, Stephen Warren, Mike Turquette,
Alan Stern, linux-serial, linux-input, treding, devicetree,
Pawel Moll, Ian Campbell, Julian Andres Klode, Rob Herring,
Mark Brown, linux-tegra
On 11/20/2013 08:37 AM, Arnd Bergmann wrote:
> On Friday 15 November 2013, Stephen Warren wrote:
>> This series implements a common reset framework driver for Tegra, and
>> updates all relevant Tegra drivers to use it. It also removes the custom
>> DMA bindings and replaced them with the standard DMA DT bindings.
>
> The series is rather long, so I may have missed it, but I think you need one
> more patch to the apbdma binding to document the use of #dma-cells, what
> value it has, and what the format of the dma specifiers in slave drivers
> needs to be.
Yes, you're right. I will fold the following into "ARM: tegra: document
use of standard DMA DT bindings":
> diff --git a/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt b/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
> index 0b1e577ab9d3..0b0f9498e265 100644
> --- a/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
> +++ b/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
> @@ -11,6 +11,10 @@ Required properties:
> See ../reset/reset.txt for details.
> - reset-names : Must include the following entries:
> - dma
> +- #iommu-cells : Must be <1>. This dictates the length of DMA specifiers in
> + client nodes' dmas properties. The specifier represents the DMA request
> + select value for the peripheral. For more details, consult the Tegra TRM's
> + documentation of the APB DMA channel control register REQ_SEL field.
>
> Examples:
>
> @@ -36,4 +40,5 @@ apbdma: dma@6000a000 {
> clocks = <&tegra_car 34>;
> resets = <&tegra_car 34>;
> reset-names = "dma";
> + #iommu-cells = <1>;
> };
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
2013-11-20 16:45 ` Stephen Warren
@ 2013-11-20 17:03 ` Arnd Bergmann
2013-11-20 17:23 ` Stephen Warren
2013-11-20 19:17 ` [Ac100] " Martino Brandolini
1 sibling, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2013-11-20 17:03 UTC (permalink / raw)
To: Stephen Warren
Cc: Mark Rutland, alsa-devel, Dmitry Torokhov, Wolfram Sang,
David Airlie, linux-pci, dri-devel, Bjorn Helgaas, linux-i2c,
ac100, devel, Stephen Warren, Mike Turquette, Alan Stern,
linux-serial, linux-input, treding, devicetree, Pawel Moll,
Ian Campbell, Rob Herring, Mark Brown, linux-tegra,
Terje Bergström, Dan Williams, linux-arm-kernel
On Wednesday 20 November 2013, Stephen Warren wrote:
> > +- #iommu-cells : Must be <1>. This dictates the length of DMA specifiers in
> > + client nodes' dmas properties. The specifier represents the DMA request
> > + select value for the peripheral. For more details, consult the Tegra TRM's
> > + documentation of the APB DMA channel control register REQ_SEL field.
> >
> > Examples:
> >
> > @@ -36,4 +40,5 @@ apbdma: dma@6000a000 {
> > clocks = <&tegra_car 34>;
> > resets = <&tegra_car 34>;
> > reset-names = "dma";
> > + #iommu-cells = <1>;
s/iommu/dma/
Otherwise looks good. The dts files are correct, so I guess it's just
a typo here.
Arnd
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
2013-11-20 17:03 ` Arnd Bergmann
@ 2013-11-20 17:23 ` Stephen Warren
0 siblings, 0 replies; 11+ messages in thread
From: Stephen Warren @ 2013-11-20 17:23 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mark Rutland, alsa-devel, Dmitry Torokhov, Wolfram Sang,
David Airlie, linux-pci, dri-devel, Bjorn Helgaas, linux-i2c,
ac100, devel, Stephen Warren, Mike Turquette, Alan Stern,
linux-serial, linux-input, treding, devicetree, Pawel Moll,
Ian Campbell, Rob Herring, Mark Brown, linux-tegra,
Terje Bergström, Dan Williams, linux-arm-kernel
On 11/20/2013 10:03 AM, Arnd Bergmann wrote:
> On Wednesday 20 November 2013, Stephen Warren wrote:
>>> +- #iommu-cells : Must be <1>. This dictates the length of DMA specifiers in
>>> + client nodes' dmas properties. The specifier represents the DMA request
>>> + select value for the peripheral. For more details, consult the Tegra TRM's
>>> + documentation of the APB DMA channel control register REQ_SEL field.
>>>
>>> Examples:
>>>
>>> @@ -36,4 +40,5 @@ apbdma: dma@6000a000 {
>>> clocks = <&tegra_car 34>;
>>> resets = <&tegra_car 34>;
>>> reset-names = "dma";
>>> + #iommu-cells = <1>;
>
>
> s/iommu/dma/
>
> Otherwise looks good. The dts files are correct, so I guess it's just
> a typo here.
Thanks, fixed locally.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Ac100] [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
2013-11-20 16:45 ` Stephen Warren
2013-11-20 17:03 ` Arnd Bergmann
@ 2013-11-20 19:17 ` Martino Brandolini
1 sibling, 0 replies; 11+ messages in thread
From: Martino Brandolini @ 2013-11-20 19:17 UTC (permalink / raw)
To: Stephen Warren
Cc: Mark Rutland, alsa-devel, linux-usb, Wolfram Sang, linux-pci,
dri-devel, linux-tegra, linux-i2c, ac100, devel, Stephen Warren,
Arnd Bergmann, Terje Bergström, Alan Stern, linux-serial,
linux-input, treding, devicetree, Pawel Moll, Ian Campbell,
Julian Andres Klode, Rob Herring, Mark Brown, Bjorn Helgaas,
Mike Turquette, Dan Williams
[-- Attachment #1.1: Type: text/plain, Size: 2260 bytes --]
Dear all,
My ac100 screen is flickering so much. I realized I'm not using it anymore.
So if anyone wants to have it for free would be for me a huge pleasure to
give it away. I'm based in milan and I'll be in London for the next week.
Maybe someone needs it.
Martino
2013/11/20 Stephen Warren <swarren@wwwdotorg.org>
> On 11/20/2013 08:37 AM, Arnd Bergmann wrote:
> > On Friday 15 November 2013, Stephen Warren wrote:
> >> This series implements a common reset framework driver for Tegra, and
> >> updates all relevant Tegra drivers to use it. It also removes the custom
> >> DMA bindings and replaced them with the standard DMA DT bindings.
> >
> > The series is rather long, so I may have missed it, but I think you need
> one
> > more patch to the apbdma binding to document the use of #dma-cells, what
> > value it has, and what the format of the dma specifiers in slave drivers
> > needs to be.
>
> Yes, you're right. I will fold the following into "ARM: tegra: document
> use of standard DMA DT bindings":
>
> > diff --git a/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
> b/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
> > index 0b1e577ab9d3..0b0f9498e265 100644
> > --- a/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
> > +++ b/Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
> > @@ -11,6 +11,10 @@ Required properties:
> > See ../reset/reset.txt for details.
> > - reset-names : Must include the following entries:
> > - dma
> > +- #iommu-cells : Must be <1>. This dictates the length of DMA
> specifiers in
> > + client nodes' dmas properties. The specifier represents the DMA
> request
> > + select value for the peripheral. For more details, consult the Tegra
> TRM's
> > + documentation of the APB DMA channel control register REQ_SEL field.
> >
> > Examples:
> >
> > @@ -36,4 +40,5 @@ apbdma: dma@6000a000 {
> > clocks = <&tegra_car 34>;
> > resets = <&tegra_car 34>;
> > reset-names = "dma";
> > + #iommu-cells = <1>;
> > };
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~ac100
> Post to : ac100@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~ac100
> More help : https://help.launchpad.net/ListHelp
>
[-- Attachment #1.2: Type: text/html, Size: 3121 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 20/31] i2c: tegra: use reset framework
[not found] ` <1384548866-13141-21-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-15 22:20 ` Wolfram Sang
@ 2013-11-29 14:46 ` Thierry Reding
1 sibling, 0 replies; 11+ messages in thread
From: Thierry Reding @ 2013-11-29 14:46 UTC (permalink / raw)
To: Stephen Warren
Cc: Stephen Warren, treding-DDmLM1+adcrQT0dZR+AlfA,
pdeschrijver-DDmLM1+adcrQT0dZR+AlfA,
linux-tegra-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Wolfram Sang,
linux-i2c-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: text/plain, Size: 1290 bytes --]
On Fri, Nov 15, 2013 at 01:54:15PM -0700, Stephen Warren wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> Tegra's clock driver now provides an implementation of the common
> reset API (include/linux/reset.h). Use this instead of the old Tegra-
> specific API; that will soon be removed.
>
> Cc: treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org
> Cc: pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org
> Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> Cc: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
> Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> ---
> This patch is part of a series with strong internal depdendencies. I'm
> looking for an ack so that I can take the entire series through the Tegra
> and arm-soc trees. The series will be part of a stable branch that can be
> merged into other subsystems if needed to avoid/resolve dependencies.
> ---
> drivers/i2c/busses/i2c-tegra.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
Reviewed-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 00/31] ARM: tegra: use common reset and DMA bindings
2013-11-15 20:53 [PATCH 00/31] ARM: tegra: use common reset and DMA bindings Stephen Warren
` (2 preceding siblings ...)
2013-11-20 15:37 ` Arnd Bergmann
@ 2013-12-12 0:11 ` Stephen Warren
3 siblings, 0 replies; 11+ messages in thread
From: Stephen Warren @ 2013-12-12 0:11 UTC (permalink / raw)
To: swarren
Cc: Mark Rutland, alsa-devel, linux-usb, Wolfram Sang, David Airlie,
linux-pci, dri-devel, linux-tegra, linux-i2c, ac100, devel,
Stephen Warren, Alan Stern, linux-serial, linux-input,
Terje Bergström, devicetree, Pawel Moll, Ian Campbell,
Rob Herring, Mark Brown, Bjorn Helgaas, Mike Turquette,
Dan Williams, linux-arm-kernel, treding
On 11/15/2013 01:53 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> This series implements a common reset framework driver for Tegra, and
> updates all relevant Tegra drivers to use it. It also removes the custom
> DMA bindings and replaced them with the standard DMA DT bindings.
>
> Historically, the Tegra clock driver has exported a custom API for module
> reset. This series removes that API, and transitions DT and drivers to
> the new reset framework.
>
> The custom API used a "struct clk" to identify which module to reset, and
> consequently some DT bindings and drivers required clocks to be provided
> where they really needed just a reset identifier instead. Due to this
> known deficiency, I have always considered most Tegra bindings to be
> unstable. This series removes this excuse for instability, although I
> still consider some Tegra bindings unstable due to the need to convert to
> the common DMA bindings.
>
> Historically, Tegra DMA channels have been represented in DT using a
> custom nvidia,dma-request-selector property. Now that standard DMA DT
> bindings exist, convert all Tegra bindings, DTs, and drivers to use the
> standard instead.
>
> This series makes a DT-ABI-incompatible change to:
> - Require reset specifiers in DT where relevant.
> - Require standard DMA specifiers.
> - Remove clock specifiers from DT where they were only needed for reset.
> - Remove legacy DMA specifier properties.
>
> I anticipate merging this whole series into the Tegra and arm-soc trees
> as its own branch, due to internal dependencies. This branch will be
> stable and can then be merged into any other subsystem trees should any
> conflicts arise.
>
> This series depends on Peter's Tegra clock driver rework, available at
> git://nv-tegra.nvidia.com/user/pdeschrijver/linux tegra-clk-tegra124-0
> (or whatever version of that gets included in 3.14)
I've applied this series (and pulled in the DMA/ASoC/clk dependencies
required) to Tegra's for-3.14/dmas-resets-rework branch.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-12-12 0:11 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-15 20:53 [PATCH 00/31] ARM: tegra: use common reset and DMA bindings Stephen Warren
[not found] ` <1384548866-13141-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-15 20:54 ` [PATCH 20/31] i2c: tegra: use reset framework Stephen Warren
[not found] ` <1384548866-13141-21-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-15 22:20 ` Wolfram Sang
2013-11-29 14:46 ` Thierry Reding
2013-11-18 8:24 ` [PATCH 00/31] ARM: tegra: use common reset and DMA bindings Terje Bergström
2013-11-20 15:37 ` Arnd Bergmann
2013-11-20 16:45 ` Stephen Warren
2013-11-20 17:03 ` Arnd Bergmann
2013-11-20 17:23 ` Stephen Warren
2013-11-20 19:17 ` [Ac100] " Martino Brandolini
2013-12-12 0:11 ` Stephen Warren
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).