* [PATCH v2 3/4] ARM: dts: koelsch: Convert to named i2c-gpio bindings
From: Geert Uytterhoeven @ 2017-11-30 12:57 UTC (permalink / raw)
To: Simon Horman, Magnus Damm
Cc: Wolfram Sang, Linus Walleij, linux-renesas-soc, linux-arm-kernel,
linux-i2c, devicetree, Geert Uytterhoeven
In-Reply-To: <1512046646-15253-1-git-send-email-geert+renesas@glider.be>
Commits 7d29f509d2cfd807 ("dt-bindings: i2c: i2c-gpio: Add support for
named gpios") and 05c74778858d7d99 ("i2c: gpio: Add support for named
gpios in DT") introduced named i2c-gpio DT bindings, and deprecated the
more error-prone unnamed variant.
Switch to the new bindings, and add the missing GPIO_OPEN_DRAIN I/O
flags, which were implicitly assumed before.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2:
- New.
---
arch/arm/boot/dts/r8a7791-koelsch.dts | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
index fac9cdea49650591..a50924d12b6f37d5 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -312,9 +312,8 @@
#size-cells = <0>;
compatible = "i2c-gpio";
status = "disabled";
- gpios = <&gpio7 16 GPIO_ACTIVE_HIGH /* sda */
- &gpio7 15 GPIO_ACTIVE_HIGH /* scl */
- >;
+ sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
i2c-gpio,delay-us = <5>;
};
--
2.7.4
^ permalink raw reply related
* [PATCH v2 2/4] ARM: dts: lager: Convert to named i2c-gpio bindings
From: Geert Uytterhoeven @ 2017-11-30 12:57 UTC (permalink / raw)
To: Simon Horman, Magnus Damm
Cc: Wolfram Sang, Linus Walleij,
linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Geert Uytterhoeven
In-Reply-To: <1512046646-15253-1-git-send-email-geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org>
Commits 7d29f509d2cfd807 ("dt-bindings: i2c: i2c-gpio: Add support for
named gpios") and 05c74778858d7d99 ("i2c: gpio: Add support for named
gpios in DT") introduced named i2c-gpio DT bindings, and deprecated the
more error-prone unnamed variant.
Switch to the new bindings, and add the missing GPIO_OPEN_DRAIN I/O
flags, which were implicitly assumed before.
Signed-off-by: Geert Uytterhoeven <geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org>
---
v2:
- New.
---
arch/arm/boot/dts/r8a7790-lager.dts | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts
index e3d27783b6b56b42..f2ea632381e7d1af 100644
--- a/arch/arm/boot/dts/r8a7790-lager.dts
+++ b/arch/arm/boot/dts/r8a7790-lager.dts
@@ -272,9 +272,8 @@
#size-cells = <0>;
compatible = "i2c-gpio";
status = "disabled";
- gpios = <&gpio1 17 GPIO_ACTIVE_HIGH /* sda */
- &gpio1 16 GPIO_ACTIVE_HIGH /* scl */
- >;
+ sda-gpios = <&gpio1 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio1 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
i2c-gpio,delay-us = <5>;
};
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH v2 1/4] ARM: dts: armadillo800eva: Convert to named i2c-gpio bindings
From: Geert Uytterhoeven @ 2017-11-30 12:57 UTC (permalink / raw)
To: Simon Horman, Magnus Damm
Cc: Wolfram Sang, Linus Walleij, linux-renesas-soc, linux-arm-kernel,
linux-i2c, devicetree, Geert Uytterhoeven
In-Reply-To: <1512046646-15253-1-git-send-email-geert+renesas@glider.be>
Commits 7d29f509d2cfd807 ("dt-bindings: i2c: i2c-gpio: Add support for
named gpios") and 05c74778858d7d99 ("i2c: gpio: Add support for named
gpios in DT") introduced named i2c-gpio DT bindings, and deprecated the
more error-prone unnamed variant.
Switch to the new bindings, and add the missing GPIO_OPEN_DRAIN I/O
flags, which were implicitly assumed before.
The latter gets rid of the message:
gpio-208 (?): enforced open drain please flag it properly in DT/ACPI DSDT/board file
gpio-91 (?): enforced open drain please flag it properly in DT/ACPI DSDT/board file
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2:
- Add GPIO_OPEN_DRAIN to the GPIO flags,
- Reword.
---
arch/arm/boot/dts/r8a7740-armadillo800eva.dts | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts
index 8c85d3ee5f5e7bfd..527c60bafbcface0 100644
--- a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts
+++ b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts
@@ -138,9 +138,8 @@
#address-cells = <1>;
#size-cells = <0>;
compatible = "i2c-gpio";
- gpios = <&pfc 208 GPIO_ACTIVE_HIGH /* sda */
- &pfc 91 GPIO_ACTIVE_HIGH /* scl */
- >;
+ sda-gpios = <&pfc 208 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&pfc 91 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
i2c-gpio,delay-us = <5>;
};
--
2.7.4
^ permalink raw reply related
* [PATCH v2 0/4] ARM: dts: renesas: Convert to named i2c-gpio bindings
From: Geert Uytterhoeven @ 2017-11-30 12:57 UTC (permalink / raw)
To: Simon Horman, Magnus Damm
Cc: Wolfram Sang, Linus Walleij,
linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Geert Uytterhoeven
Hi Simon, Magnus,
Commits 7d29f509d2cfd807 ("dt-bindings: i2c: i2c-gpio: Add support for
named gpios") and 05c74778858d7d99 ("i2c: gpio: Add support for named
gpios in DT") introduced named i2c-gpio DT bindings, and deprecated the
more error-prone unnamed variant.
This patch series switches all Renesas boards to the new bindings, and
adds the missing GPIO_OPEN_DRAIN I/O flags, which were implicitly
assumed before. The latter gets rid of messages like:
gpio-208 (?): enforced open drain please flag it properly in DT/ACPI DSDT/board file
gpio-91 (?): enforced open drain please flag it properly in DT/ACPI DSDT/board file
Patch 1 was extracted from series "[PATCH/RFC 0/3] i2c: gpio: Add
support for named gpios in DT", hence the v2. All other patches are
new.
Note that after this series is applied, the i2c-gpio buses are no longer
detected when booting new DTBs on old (v4.14 and older) kernels, which
should not be an issue. Booting old DTBs on new kernels is not
affected.
Thanks for applying!
Geert Uytterhoeven (4):
ARM: dts: armadillo800eva: Convert to named i2c-gpio bindings
ARM: dts: lager: Convert to named i2c-gpio bindings
ARM: dts: koelsch: Convert to named i2c-gpio bindings
ARM: dts: alt: Convert to named i2c-gpio bindings
arch/arm/boot/dts/r8a7740-armadillo800eva.dts | 5 ++---
arch/arm/boot/dts/r8a7790-lager.dts | 5 ++---
arch/arm/boot/dts/r8a7791-koelsch.dts | 5 ++---
arch/arm/boot/dts/r8a7794-alt.dts | 5 ++---
4 files changed, 8 insertions(+), 12 deletions(-)
--
2.7.4
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* [PATCH][V2] of: overlay: fix memory leak of ovcs on error exit path
From: Colin King @ 2017-11-30 12:57 UTC (permalink / raw)
To: Pantelis Antoniou, Rob Herring, Frank Rowand,
devicetree-u79uwXL29TY76Z2rM5mHXA
Cc: kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
From: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
Currently if the call to of_resolve_phandles fails then then ovcs
is not kfree'd on the error exit path. Rather than try and make
the clean up exit path more convoluted, fix this by just kfree'ing
ovcs at the point of error detection and exit via the same exit
path.
Detected by CoverityScan, CID#1462296 ("Resource Leak")
Fixes: bd80e2555c5c ("of: overlay: Fix cleanup order in of_overlay_apply()")
Signed-off-by: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
---
drivers/of/overlay.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
index 53bc9e3f0b98..6c8efe7d8cbb 100644
--- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c
@@ -708,8 +708,10 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
of_overlay_mutex_lock();
ret = of_resolve_phandles(tree);
- if (ret)
+ if (ret) {
+ kfree(ovcs);
goto err_overlay_unlock;
+ }
mutex_lock(&of_mutex);
--
2.14.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* Re: [PATCH] of: overlay: fix memory leak of ovcs on error exit path
From: Colin Ian King @ 2017-11-30 12:54 UTC (permalink / raw)
To: Dan Carpenter, Frank Rowand, Geert Uytterhoeven
Cc: Pantelis Antoniou, Rob Herring, devicetree, kernel-janitors,
linux-kernel
In-Reply-To: <20171130125002.wlnnev5pjih6d5bz@mwanda>
On 30/11/17 12:50, Dan Carpenter wrote:
> On Thu, Nov 30, 2017 at 07:14:45AM -0500, Frank Rowand wrote:
>> On 11/29/17 14:17, Colin King wrote:
>>> From: Colin Ian King <colin.king@canonical.com>
>>>
>>> Currently if the call to of_resolve_phandles fails then then ovcs
>>> is not kfree'd on the error exit path. Rather than try and make
>>> the clean up exit path more convoluted, fix this by just kfree'ing
>>> ovcs at the point of error detection and exit via the same exit
>>> path.
>>>
>>> Detected by CoverityScan, CID#1462296 ("Resource Leak")
>>>
>>> Fixes: f948d6d8b792 ("of: overlay: avoid race condition between applying multiple overlays")
>
> The Fixes tag is wrong. It should be:
>
> Fixes: bd80e2555c5c ("of: overlay: Fix cleanup order in of_overlay_apply()")
Good catch. I'll send a V2.
Colin
>
>>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>>> ---
>>> drivers/of/overlay.c | 4 +++-
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
>>> index 53bc9e3f0b98..6c8efe7d8cbb 100644
>>> --- a/drivers/of/overlay.c
>>> +++ b/drivers/of/overlay.c
>>> @@ -708,8 +708,10 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
>>> of_overlay_mutex_lock();
>>>
>>> ret = of_resolve_phandles(tree);
>>> - if (ret)
>>> + if (ret) {
>>> + kfree(ovcs);
>>> goto err_overlay_unlock;
>>> + }
>>>
>>> mutex_lock(&of_mutex);
>>>
>>>
>>
>> False coverity warning. ovcs is freed in free_overlay_changeset().
>
> You're looking at an older version of the code and Colin is looking at
> linux-next.
>
> regards,
> dan carpenter
>
^ permalink raw reply
* Re: [PATCH] of: overlay: fix memory leak of ovcs on error exit path
From: Dan Carpenter @ 2017-11-30 12:50 UTC (permalink / raw)
To: Frank Rowand, Geert Uytterhoeven
Cc: Colin King, Pantelis Antoniou, Rob Herring,
devicetree-u79uwXL29TY76Z2rM5mHXA,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <dcb4e2a4-707b-0ccc-e12b-c6fa4ef251b7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On Thu, Nov 30, 2017 at 07:14:45AM -0500, Frank Rowand wrote:
> On 11/29/17 14:17, Colin King wrote:
> > From: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> >
> > Currently if the call to of_resolve_phandles fails then then ovcs
> > is not kfree'd on the error exit path. Rather than try and make
> > the clean up exit path more convoluted, fix this by just kfree'ing
> > ovcs at the point of error detection and exit via the same exit
> > path.
> >
> > Detected by CoverityScan, CID#1462296 ("Resource Leak")
> >
> > Fixes: f948d6d8b792 ("of: overlay: avoid race condition between applying multiple overlays")
The Fixes tag is wrong. It should be:
Fixes: bd80e2555c5c ("of: overlay: Fix cleanup order in of_overlay_apply()")
> > Signed-off-by: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> > ---
> > drivers/of/overlay.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
> > index 53bc9e3f0b98..6c8efe7d8cbb 100644
> > --- a/drivers/of/overlay.c
> > +++ b/drivers/of/overlay.c
> > @@ -708,8 +708,10 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
> > of_overlay_mutex_lock();
> >
> > ret = of_resolve_phandles(tree);
> > - if (ret)
> > + if (ret) {
> > + kfree(ovcs);
> > goto err_overlay_unlock;
> > + }
> >
> > mutex_lock(&of_mutex);
> >
> >
>
> False coverity warning. ovcs is freed in free_overlay_changeset().
You're looking at an older version of the code and Colin is looking at
linux-next.
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [RFC 0/2] of: Add whitelist
From: Frank Rowand @ 2017-11-30 12:46 UTC (permalink / raw)
To: Alan Tull, Rob Herring
Cc: Pantelis Antoniou, Moritz Fischer,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-fpga-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <CANk1AXTN=0L3L9O_7njF=hqJG=X88Q3jRvDW3UfBnZeEnUmhxA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 11/29/17 11:11, Alan Tull wrote:
> On Wed, Nov 29, 2017 at 7:31 AM, Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:
>> On Wed, Nov 29, 2017 at 3:20 AM, Frank Rowand <frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>> On 11/27/17 15:58, Alan Tull wrote:
>>>> Here's a proposal for a whitelist to lock down the dynamic device tree.
>>>>
>>>> For an overlay to be accepted, all of its targets are required to be
>>>> on a target node whitelist.
>>>>
>>>> Currently the only way I have to get on the whitelist is calling a
>>>> function to add a node. That works for fpga regions, but I think
>>>> other uses will need a way of having adding specific nodes from the
>>>> base device tree, such as by adding a property like 'allow-overlay;'
>>>> or 'allow-overlay = "okay";' If that is acceptable, I could use some
>>>> advice on where that particular code should go.
>>>>
>>>> Alan
>>>>
>>>> Alan Tull (2):
>>>> of: overlay: add whitelist
>>>> fpga: of region: add of-fpga-region to whitelist
>>>>
>>>> drivers/fpga/of-fpga-region.c | 9 ++++++
>>>> drivers/of/overlay.c | 73 +++++++++++++++++++++++++++++++++++++++++++
>>>> include/linux/of.h | 12 +++++++
>>>> 3 files changed, 94 insertions(+)
>>>>
>>>
>>> The plan was to use connectors to restrict where an overlay could be applied.
>>> I would prefer not to have multiple methods for accomplishing the same thing
>>> unless there is a compelling reason to do so.
>>
>> Connector nodes need a mechanism to enable themselves, too. I don't
>> think connector nodes are going to solve every usecase.
>>
>> Rob
>
> The two methods I'm suggesting are intended to handle different cases.
> There will exist some drivers that by their nature will want every
> instance to be enabled for overlays, such as fpga regions. The other
> case is where drivers could support overlays but that's not the
> widespread use for them. So no need to enable every instance of that
> driver for overlays.
I understand what the paragraph, to this point, means. But I had to
read it several times to understand it because the way the concept is
phrased clashed with my mental model.
The device node is not an instance of a driver, which is why I was
getting confused. (Yes, I do understand that the paragraph is talking
about multiple device nodes that are bound to the same driver, but
my mental model is tied to the device node, not to the driver.)
If each of the device nodes in question is a connector, then each of
the nodes will bind to a connector driver, based on the value of the
compatible property. (This is of course a theoretical assumption on
my part since the connectors are not yet implemented.)
If the connector node is an fpga, or an fpga region (I may be getting
my terminology wrong here - please correct as needed) then an fpga
overlay could be applied to the node.
If I understand what you are saying, there will be some fpga connector
nodes for which the usage at a given moment might be programmed to
function in a manner that will not be described by an overlay, but
at a different moment in time may be programmed in a way that needs
to be described by an overlay. So there may be some times that it
is valid to apply an overlay to the connector node and times that
it is not valid to apply an overlay to the connector node.
Is my understanding correct, or am I still confused?
-Frank
> In that case the DT property provides some
> granularity, only enabling overlays for specific instances of that
> driver, leaving the rest of the DT locked down.>
> If we only want one method, I would choose having the DT property only
> and not exporting the functions. Users would have to add the property
> for every FPGA region but that's not really painful. This would have
> the benefit of still keeping the DT locked down unless someone
> specifically wanted to enable some regions for overlays for their
> particular use.
>
> Alan
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 04/10] ARM: tegra: EXPORT tegra_cpuidle_pcie_irqs_in_use()
From: Lorenzo Pieralisi @ 2017-11-30 12:41 UTC (permalink / raw)
To: Manikanta Maddireddy
Cc: thierry.reding, jonathanh, robh+dt, frowand.list, bhelgaas, rjw,
tglx, vidyas, kthota, linux-tegra, devicetree, linux-pci,
linux-pm
In-Reply-To: <1511538800-8275-5-git-send-email-mmaddireddy@nvidia.com>
On Fri, Nov 24, 2017 at 09:23:14PM +0530, Manikanta Maddireddy wrote:
> EXPORT tegra_cpuidle_pcie_irqs_in_use() to allow Tegra PCIe driver to be
> compiled as loadable kernel module.
>
> Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
> ---
> arch/arm/mach-tegra/cpuidle.c | 1 +
> 1 file changed, 1 insertion(+)
You should find a way to remove this call and the corresponding
drivers->arch dependency, not to export it by spreading it even
further.
Lorenzo
> diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c
> index 316563141add..7d7e6d3ce32d 100644
> --- a/arch/arm/mach-tegra/cpuidle.c
> +++ b/arch/arm/mach-tegra/cpuidle.c
> @@ -57,3 +57,4 @@ void tegra_cpuidle_pcie_irqs_in_use(void)
> break;
> }
> }
> +EXPORT_SYMBOL(tegra_cpuidle_pcie_irqs_in_use);
> --
> 2.1.4
>
^ permalink raw reply
* Applied "ASoC: tlv320aic31xx: Rename property for reset GPIO" to the asoc tree
From: Mark Brown @ 2017-11-30 12:33 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Sascha Hauer, Tony Lindgren,
Liam Girdwood, Rob Herring, linux-kernel, Mark Brown,
Benoît Cousson, Andrew F . Davis, Shawn Guo
In-Reply-To: <20171129171359.29382-2-afd@ti.com>
The patch
ASoC: tlv320aic31xx: Rename property for reset GPIO
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From f00e0030bcbf49936d265330f6e0b8c739ad90c3 Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 11:13:52 -0600
Subject: [PATCH] ASoC: tlv320aic31xx: Rename property for reset GPIO
The property used to specify a GPIO intended for reset is "reset-gpios",
but this binding uses "gpio-reset". It is not compatible with newer
methods used to fetch GPIO pins and to prevent the spread of this error
to other bindings let's rename to be more standard.
We also standardize the pin as active-low, different device trees have
marked the GPIO different ways, luckily the driver currently uses the
low-level GPIO set function which does not respect the active-low flag,
but future changes may change this. This is an active-low reset, mark
it as such.
Lastly, add an example of use for this property.
[Rewrote the title & first paragraph of the commit message for clarity
-- broonie]
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
Documentation/devicetree/bindings/sound/tlv320aic31xx.txt | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
index 6fbba562eaa7..5b3c33bb99e5 100644
--- a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
+++ b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
@@ -22,7 +22,7 @@ Required properties:
Optional properties:
-- gpio-reset - gpio pin number used for codec reset
+- reset-gpios - GPIO specification for the active low RESET input.
- ai31xx-micbias-vg - MicBias Voltage setting
1 or MICBIAS_2_0V - MICBIAS output is powered to 2.0V
2 or MICBIAS_2_5V - MICBIAS output is powered to 2.5V
@@ -30,6 +30,10 @@ Optional properties:
If this node is not mentioned or if the value is unknown, then
micbias is set to 2.0V.
+Deprecated properties:
+
+- gpio-reset - gpio pin number used for codec reset
+
CODEC output pins:
* HPL
* HPR
@@ -48,6 +52,7 @@ CODEC input pins:
The pins can be used in referring sound node's audio-routing property.
Example:
+#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/tlv320aic31xx-micbias.h>
tlv320aic31xx: tlv320aic31xx@18 {
@@ -56,6 +61,8 @@ tlv320aic31xx: tlv320aic31xx@18 {
ai31xx-micbias-vg = <MICBIAS_OFF>;
+ reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+
HPVDD-supply = <®ulator>;
SPRVDD-supply = <®ulator>;
SPLVDD-supply = <®ulator>;
--
2.15.0
^ permalink raw reply related
* Applied "ASoC: tlv320aic31xx: Use standard reset GPIO OF name" to the asoc tree
From: Mark Brown @ 2017-11-30 12:33 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Sascha Hauer, Tony Lindgren,
Liam Girdwood, Rob Herring, linux-kernel, Mark Brown,
Benoît Cousson, Andrew F . Davis, Shawn Guo
In-Reply-To: <20171129171359.29382-4-afd@ti.com>
The patch
ASoC: tlv320aic31xx: Use standard reset GPIO OF name
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From a825f31f93281bbe7126b25801deb476d07aaf82 Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 11:13:54 -0600
Subject: [PATCH] ASoC: tlv320aic31xx: Use standard reset GPIO OF name
The correct DT property for specifying a GPIO used for reset
is "reset-gpios", fix this here.
[Retitled for accuracy -- broonie]
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/codecs/tlv320aic31xx.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index e2862372c26e..4837f25b0760 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -1279,9 +1279,16 @@ static void aic31xx_pdata_from_of(struct aic31xx_priv *aic31xx)
aic31xx->pdata.micbias_vg = MICBIAS_2_0V;
}
- ret = of_get_named_gpio(np, "gpio-reset", 0);
- if (ret > 0)
+ ret = of_get_named_gpio(np, "reset-gpios", 0);
+ if (ret > 0) {
aic31xx->pdata.gpio_reset = ret;
+ } else {
+ ret = of_get_named_gpio(np, "gpio-reset", 0);
+ if (ret > 0) {
+ dev_warn(aic31xx->dev, "Using deprecated property \"gpio-reset\", please update your DT");
+ aic31xx->pdata.gpio_reset = ret;
+ }
+ }
}
#else /* CONFIG_OF */
static void aic31xx_pdata_from_of(struct aic31xx_priv *aic31xx)
--
2.15.0
^ permalink raw reply related
* Applied "ASoC: tlv320aic3x: Rename property for reset GPIO" to the asoc tree
From: Mark Brown @ 2017-11-30 12:33 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Sascha Hauer, Tony Lindgren,
Liam Girdwood, Rob Herring, linux-kernel, Mark Brown,
Benoît Cousson, Andrew F . Davis, Shawn Guo
In-Reply-To: <20171129171359.29382-3-afd@ti.com>
The patch
ASoC: tlv320aic3x: Rename property for reset GPIO
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From 943293232ca45988ba0aa693b51025c58e1189ca Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 11:13:53 -0600
Subject: [PATCH] ASoC: tlv320aic3x: Rename property for reset GPIO
The property used to specify a GPIO intended for reset is "reset-gpios",
but this binding uses "gpio-reset". It is not compatible with newer
methods used to fetch GPIO pins and to prevent the spread of this error
to other bindings let's rename to be more standard.
We also standardize the pin as active-low, different device trees have
marked the GPIO different ways, luckily the driver currently uses the
low-level GPIO set function which does not respect the active-low flag,
but future changes may change this. This is an active-low reset, mark
it as such.
Lastly, add an example of use for this property.
[Rewrote title & first paragraph for clarity & accuracy -- broonie]
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
Documentation/devicetree/bindings/sound/tlv320aic3x.txt | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
index ba5b45c483f5..9796c4639262 100644
--- a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
+++ b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
@@ -17,7 +17,7 @@ Required properties:
Optional properties:
-- gpio-reset - gpio pin number used for codec reset
+- reset-gpios - GPIO specification for the active low RESET input.
- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
- Not supported on tlv320aic3104
- ai3x-micbias-vg - MicBias Voltage required.
@@ -34,6 +34,10 @@ Optional properties:
- AVDD-supply, IOVDD-supply, DRVDD-supply, DVDD-supply : power supplies for the
device as covered in Documentation/devicetree/bindings/regulator/regulator.txt
+Deprecated properties:
+
+- gpio-reset - gpio pin number used for codec reset
+
CODEC output pins:
* LLOUT
* RLOUT
@@ -61,10 +65,14 @@ The pins can be used in referring sound node's audio-routing property.
Example:
+#include <dt-bindings/gpio/gpio.h>
+
tlv320aic3x: tlv320aic3x@1b {
compatible = "ti,tlv320aic3x";
reg = <0x1b>;
+ reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+
AVDD-supply = <®ulator>;
IOVDD-supply = <®ulator>;
DRVDD-supply = <®ulator>;
--
2.15.0
^ permalink raw reply related
* Applied "ASoC: tlv320aic3x: Use standard reset GPIO OF name" to the asoc tree
From: Mark Brown @ 2017-11-30 12:33 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Sascha Hauer, Tony Lindgren,
Liam Girdwood, Rob Herring, linux-kernel, Mark Brown,
Benoît Cousson, Andrew F . Davis, Shawn Guo
In-Reply-To: <20171129171359.29382-5-afd@ti.com>
The patch
ASoC: tlv320aic3x: Use standard reset GPIO OF name
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From 025f8449818c46770f5652a0263f8cfb89d01455 Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 11:13:55 -0600
Subject: [PATCH] ASoC: tlv320aic3x: Use standard reset GPIO OF name
The correct DT property for specifying a GPIO used for reset
is "reset-gpios", fix this here.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/codecs/tlv320aic3x.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 06f92571eba4..b751cad545da 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -1804,11 +1804,18 @@ static int aic3x_i2c_probe(struct i2c_client *i2c,
if (!ai3x_setup)
return -ENOMEM;
- ret = of_get_named_gpio(np, "gpio-reset", 0);
- if (ret >= 0)
+ ret = of_get_named_gpio(np, "reset-gpios", 0);
+ if (ret >= 0) {
aic3x->gpio_reset = ret;
- else
- aic3x->gpio_reset = -1;
+ } else {
+ ret = of_get_named_gpio(np, "gpio-reset", 0);
+ if (ret > 0) {
+ dev_warn(&i2c->dev, "Using deprecated property \"gpio-reset\", please update your DT");
+ aic3x->gpio_reset = ret;
+ } else {
+ aic3x->gpio_reset = -1;
+ }
+ }
if (of_property_read_u32_array(np, "ai3x-gpio-func",
ai3x_setup->gpio_func, 2) >= 0) {
--
2.15.0
^ permalink raw reply related
* Applied "ASoC: tlv320aic31xx: File header and copyright cleanup" to the asoc tree
From: Mark Brown @ 2017-11-30 12:33 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Tony Lindgren,
Liam Girdwood, Rob Herring, linux-kernel, Mark Brown,
Benoît Cousson, Andrew F . Davis
In-Reply-To: <20171129213300.20021-2-afd@ti.com>
The patch
ASoC: tlv320aic31xx: File header and copyright cleanup
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From b1c52b7e7cc6a57128869008b84d98a4de78fe2d Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 15:32:42 -0600
Subject: [PATCH] ASoC: tlv320aic31xx: File header and copyright cleanup
Fix header copyright tags, while we are here, also switch to SPDX
and fixup MODULE tags to match.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/codecs/tlv320aic31xx.c | 26 +++++++++-----------------
sound/soc/codecs/tlv320aic31xx.h | 15 ++++-----------
2 files changed, 13 insertions(+), 28 deletions(-)
diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index 4837f25b0760..b98d9b1f216f 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -1,22 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
/*
- * ALSA SoC TLV320AIC31XX codec driver
+ * ALSA SoC TLV320AIC31xx CODEC Driver
*
- * Copyright (C) 2014 Texas Instruments, Inc.
- *
- * Author: Jyri Sarha <jsarha@ti.com>
+ * Copyright (C) 2014-2017 Texas Instruments Incorporated - http://www.ti.com/
+ * Jyri Sarha <jsarha@ti.com>
*
* Based on ground work by: Ajit Kulkarni <x0175765@ti.com>
*
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED AS IS AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * The TLV320AIC31xx series of audio codec is a low-power, highly integrated
- * high performance codec which provides a stereo DAC, a mono ADC,
+ * The TLV320AIC31xx series of audio codecs are low-power, highly integrated
+ * high performance codecs which provides a stereo DAC, a mono ADC,
* and mono/stereo Class-D speaker driver.
*/
@@ -1414,6 +1406,6 @@ static struct i2c_driver aic31xx_i2c_driver = {
module_i2c_driver(aic31xx_i2c_driver);
-MODULE_DESCRIPTION("ASoC TLV320AIC3111 codec driver");
-MODULE_AUTHOR("Jyri Sarha");
-MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Jyri Sarha <jsarha@ti.com>");
+MODULE_DESCRIPTION("ASoC TLV320AIC31xx CODEC Driver");
+MODULE_LICENSE("GPL v2");
diff --git a/sound/soc/codecs/tlv320aic31xx.h b/sound/soc/codecs/tlv320aic31xx.h
index 730fb2058869..a9ea2f99eba0 100644
--- a/sound/soc/codecs/tlv320aic31xx.h
+++ b/sound/soc/codecs/tlv320aic31xx.h
@@ -1,17 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
/*
- * ALSA SoC TLV320AIC31XX codec driver
- *
- * Copyright (C) 2013 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ * ALSA SoC TLV320AIC31xx CODEC Driver Definitions
*
+ * Copyright (C) 2014-2017 Texas Instruments Incorporated - http://www.ti.com/
*/
+
#ifndef _TLV320AIC31XX_H
#define _TLV320AIC31XX_H
--
2.15.0
^ permalink raw reply related
* Applied "ASoC: tlv320aic31xx: Change aic31xx_power_off return type to void" to the asoc tree
From: Mark Brown @ 2017-11-30 12:32 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Tony Lindgren,
Liam Girdwood, Rob Herring, linux-kernel, Mark Brown,
Benoît Cousson, Andrew F . Davis
In-Reply-To: <20171129213300.20021-3-afd@ti.com>
The patch
ASoC: tlv320aic31xx: Change aic31xx_power_off return type to void
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From c7734e8e7eddf065c15e865b8de4224b01f03409 Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 15:32:43 -0600
Subject: [PATCH] ASoC: tlv320aic31xx: Change aic31xx_power_off return type to
void
The return value is not checked, and even if it was there is nothing
we could do about it and messages are already printed.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/codecs/tlv320aic31xx.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index b98d9b1f216f..0563a49cc5e4 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -1081,16 +1081,13 @@ static int aic31xx_power_on(struct snd_soc_codec *codec)
return 0;
}
-static int aic31xx_power_off(struct snd_soc_codec *codec)
+static void aic31xx_power_off(struct snd_soc_codec *codec)
{
struct aic31xx_priv *aic31xx = snd_soc_codec_get_drvdata(codec);
- int ret = 0;
regcache_cache_only(aic31xx->regmap, true);
- ret = regulator_bulk_disable(ARRAY_SIZE(aic31xx->supplies),
- aic31xx->supplies);
-
- return ret;
+ regulator_bulk_disable(ARRAY_SIZE(aic31xx->supplies),
+ aic31xx->supplies);
}
static int aic31xx_set_bias_level(struct snd_soc_codec *codec,
--
2.15.0
^ permalink raw reply related
* Applied "ASoC: tlv320aic31xx: Move ACPI table next to OF table" to the asoc tree
From: Mark Brown @ 2017-11-30 12:32 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Tony Lindgren,
Liam Girdwood, Rob Herring, linux-kernel, Mark Brown,
Benoît Cousson, Andrew F . Davis
In-Reply-To: <20171129213300.20021-4-afd@ti.com>
The patch
ASoC: tlv320aic31xx: Move ACPI table next to OF table
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From 09303601bacda714220048a61f6864f88594b231 Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 15:32:44 -0600
Subject: [PATCH] ASoC: tlv320aic31xx: Move ACPI table next to OF table
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/codecs/tlv320aic31xx.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index 0563a49cc5e4..d974e8651e30 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -1285,6 +1285,14 @@ static void aic31xx_pdata_from_of(struct aic31xx_priv *aic31xx)
}
#endif /* CONFIG_OF */
+#ifdef CONFIG_ACPI
+static const struct acpi_device_id aic31xx_acpi_match[] = {
+ { "10TI3100", 0 },
+ { }
+};
+MODULE_DEVICE_TABLE(acpi, aic31xx_acpi_match);
+#endif
+
static int aic31xx_device_init(struct aic31xx_priv *aic31xx)
{
int ret, i;
@@ -1382,14 +1390,6 @@ static const struct i2c_device_id aic31xx_i2c_id[] = {
};
MODULE_DEVICE_TABLE(i2c, aic31xx_i2c_id);
-#ifdef CONFIG_ACPI
-static const struct acpi_device_id aic31xx_acpi_match[] = {
- { "10TI3100", 0 },
- { }
-};
-MODULE_DEVICE_TABLE(acpi, aic31xx_acpi_match);
-#endif
-
static struct i2c_driver aic31xx_i2c_driver = {
.driver = {
.name = "tlv320aic31xx-codec",
--
2.15.0
^ permalink raw reply related
* Applied "ASoC: tlv320aic31xx: Fix GPIO1 register definition" to the asoc tree
From: Mark Brown @ 2017-11-30 12:32 UTC (permalink / raw)
Cc: Mark Rutland, devicetree, alsa-devel, Tony Lindgren, Mark Brown,
Liam Girdwood, stable, linux-kernel, Rob Herring,
Benoît Cousson, Andrew F . Davis
In-Reply-To: <20171129213300.20021-6-afd@ti.com>
The patch
ASoC: tlv320aic31xx: Fix GPIO1 register definition
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From 737e0b7b67bdfe24090fab2852044bb283282fc5 Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <afd@ti.com>
Date: Wed, 29 Nov 2017 15:32:46 -0600
Subject: [PATCH] ASoC: tlv320aic31xx: Fix GPIO1 register definition
GPIO1 control register is number 51, fix this here.
Fixes: bafcbfe429eb ("ASoC: tlv320aic31xx: Make the register values human readable")
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
---
sound/soc/codecs/tlv320aic31xx.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/tlv320aic31xx.h b/sound/soc/codecs/tlv320aic31xx.h
index 730fb2058869..1ff3edb7bbb6 100644
--- a/sound/soc/codecs/tlv320aic31xx.h
+++ b/sound/soc/codecs/tlv320aic31xx.h
@@ -116,7 +116,7 @@ struct aic31xx_pdata {
/* INT2 interrupt control */
#define AIC31XX_INT2CTRL AIC31XX_REG(0, 49)
/* GPIO1 control */
-#define AIC31XX_GPIO1 AIC31XX_REG(0, 50)
+#define AIC31XX_GPIO1 AIC31XX_REG(0, 51)
#define AIC31XX_DACPRB AIC31XX_REG(0, 60)
/* ADC Instruction Set Register */
--
2.15.0
^ permalink raw reply related
* Re: [PATCH v2 01/19] ASoC: tlv320aic31xx: File header and copyright cleanup
From: Mark Brown @ 2017-11-30 12:29 UTC (permalink / raw)
To: Andrew F. Davis
Cc: Mark Rutland, devicetree, alsa-devel, Tony Lindgren,
Liam Girdwood, linux-kernel, Rob Herring, Benoît Cousson
In-Reply-To: <20171129213300.20021-2-afd@ti.com>
[-- Attachment #1.1: Type: text/plain, Size: 535 bytes --]
On Wed, Nov 29, 2017 at 03:32:42PM -0600, Andrew F. Davis wrote:
> Fix header copyright tags, while we are here, also switch to SPDX
> and fixup MODULE tags to match.
> - * The TLV320AIC31xx series of audio codec is a low-power, highly integrated
> - * high performance codec which provides a stereo DAC, a mono ADC,
> + * The TLV320AIC31xx series of audio codecs are low-power, highly integrated
> + * high performance codecs which provides a stereo DAC, a mono ADC,
...and also correct some grammar in the description of the part.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply
* Re: [PATCH v2 2/2] ASoC: codecs: Add initial PCM1862/63/64/65 universal ADC driver
From: Mark Brown @ 2017-11-30 12:20 UTC (permalink / raw)
To: Andrew F. Davis
Cc: Liam Girdwood, Rob Herring, Mark Rutland, alsa-devel, devicetree,
linux-kernel
In-Reply-To: <20171129185015.5304-2-afd@ti.com>
[-- Attachment #1: Type: text/plain, Size: 1915 bytes --]
On Wed, Nov 29, 2017 at 12:50:15PM -0600, Andrew F. Davis wrote:
> + case SND_SOC_BIAS_STANDBY:
> + pcm186x_power_on(codec);
> + break;
> + case SND_SOC_BIAS_OFF:
> + pcm186x_power_off(codec);
> + break;
> + }
> +/*
> + * The PCM186x's page register is located on every page, allowing to program it
> + * without having to switch pages. Take advantage of this by defining the range
> + * such to have this register located inside the data window.
> + */
That sounds like a normal page register?
> +int pcm186x_probe(struct device *dev, enum pcm186x_type type, int irq,
> + struct regmap *regmap)
> +{
> + ret = regulator_bulk_disable(ARRAY_SIZE(priv->supplies),
> + priv->supplies);
> + if (ret) {
> + dev_err(dev, "failed disable supplies: %d\n", ret);
> + return ret;
> + }
> +static int __maybe_unused pcm186x_resume(struct device *dev)
> +{
> + struct pcm186x_priv *priv = dev_get_drvdata(dev);
> + int ret;
> +
> + ret = regulator_bulk_enable(ARRAY_SIZE(priv->supplies),
> + priv->supplies);
> + if (ret != 0) {
> + dev_err(dev, "failed to enable supplies: %d\n", ret);
> + return ret;
> + }
> +const struct dev_pm_ops pcm186x_pm_ops = {
> + SET_RUNTIME_PM_OPS(pcm186x_suspend, pcm186x_resume, NULL)
> +};
> +EXPORT_SYMBOL_GPL(pcm186x_pm_ops);
There's no code in the driver that enables runtime PM so this isn't
going to do anything. I'm also not clear that the power management
handling is in general joined up - we leave the regulators disabled
at the end of probe, relying on the bias level configuration to reenable
them but then the runtime PM configuration also tries to enable and
disable them. Based on what I think the intention is I'd suggest
removing the bias level handling and then having probe enable runtime
PM with the device flagged as active, letting runtime PM do any
disabling if the device is idle.
I'd also expect to see some system suspend handling.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply
* Re: [RFC 0/2] of: Add whitelist
From: Frank Rowand @ 2017-11-30 12:18 UTC (permalink / raw)
To: Rob Herring
Cc: Alan Tull, Pantelis Antoniou, Moritz Fischer,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-fpga-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <CAL_JsqL5gYh_++1wDLMYjO7MXKOHpzr315FZ1tuN9o5tOe7TYA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 11/29/17 08:31, Rob Herring wrote:
> On Wed, Nov 29, 2017 at 3:20 AM, Frank Rowand <frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> On 11/27/17 15:58, Alan Tull wrote:
>>> Here's a proposal for a whitelist to lock down the dynamic device tree.
>>>
>>> For an overlay to be accepted, all of its targets are required to be
>>> on a target node whitelist.
>>>
>>> Currently the only way I have to get on the whitelist is calling a
>>> function to add a node. That works for fpga regions, but I think
>>> other uses will need a way of having adding specific nodes from the
>>> base device tree, such as by adding a property like 'allow-overlay;'
>>> or 'allow-overlay = "okay";' If that is acceptable, I could use some
>>> advice on where that particular code should go.
>>>
>>> Alan
>>>
>>> Alan Tull (2):
>>> of: overlay: add whitelist
>>> fpga: of region: add of-fpga-region to whitelist
>>>
>>> drivers/fpga/of-fpga-region.c | 9 ++++++
>>> drivers/of/overlay.c | 73 +++++++++++++++++++++++++++++++++++++++++++
>>> include/linux/of.h | 12 +++++++
>>> 3 files changed, 94 insertions(+)
>>>
>>
>> The plan was to use connectors to restrict where an overlay could be applied.
>> I would prefer not to have multiple methods for accomplishing the same thing
>> unless there is a compelling reason to do so.
>
> Connector nodes need a mechanism to enable themselves, too. I don't
> think connector nodes are going to solve every usecase.
>
> Rob
>
The overlay code related to connectors does not exist yet, so my comment
is going to be theoretical.
I would expect the overlay code to check that the target of the overlay
fragment is a connector node, so there is no need to explicitly "enable"
applying an overlay to a connector node.
-Frank
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] of: overlay: fix memory leak of ovcs on error exit path
From: Colin Ian King @ 2017-11-30 12:18 UTC (permalink / raw)
To: Frank Rowand, Pantelis Antoniou, Rob Herring,
devicetree-u79uwXL29TY76Z2rM5mHXA
Cc: kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <dcb4e2a4-707b-0ccc-e12b-c6fa4ef251b7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On 30/11/17 12:14, Frank Rowand wrote:
> On 11/29/17 14:17, Colin King wrote:
>> From: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
>>
>> Currently if the call to of_resolve_phandles fails then then ovcs
>> is not kfree'd on the error exit path. Rather than try and make
>> the clean up exit path more convoluted, fix this by just kfree'ing
>> ovcs at the point of error detection and exit via the same exit
>> path.
>>
>> Detected by CoverityScan, CID#1462296 ("Resource Leak")
>>
>> Fixes: f948d6d8b792 ("of: overlay: avoid race condition between applying multiple overlays")
>> Signed-off-by: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
>> ---
>> drivers/of/overlay.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
>> index 53bc9e3f0b98..6c8efe7d8cbb 100644
>> --- a/drivers/of/overlay.c
>> +++ b/drivers/of/overlay.c
>> @@ -708,8 +708,10 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
>> of_overlay_mutex_lock();
>>
>> ret = of_resolve_phandles(tree);
>> - if (ret)
>> + if (ret) {
>> + kfree(ovcs);
>> goto err_overlay_unlock;
>> + }
>>
>> mutex_lock(&of_mutex);
>>
>>
>
> False coverity warning. ovcs is freed in free_overlay_changeset().
>
The error exit path is via err_overlay_unlock:
err_overlay_unlock:
of_overlay_mutex_unlock();
out:
pr_debug("%s() err=%d\n", __func__, ret);
return ret;
..so there is no call to free_overlay_changeset there.
Colin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] of: overlay: fix memory leak of ovcs on error exit path
From: Frank Rowand @ 2017-11-30 12:14 UTC (permalink / raw)
To: Colin King, Pantelis Antoniou, Rob Herring, devicetree
Cc: kernel-janitors, linux-kernel
In-Reply-To: <20171129191750.25254-1-colin.king@canonical.com>
On 11/29/17 14:17, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Currently if the call to of_resolve_phandles fails then then ovcs
> is not kfree'd on the error exit path. Rather than try and make
> the clean up exit path more convoluted, fix this by just kfree'ing
> ovcs at the point of error detection and exit via the same exit
> path.
>
> Detected by CoverityScan, CID#1462296 ("Resource Leak")
>
> Fixes: f948d6d8b792 ("of: overlay: avoid race condition between applying multiple overlays")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
> drivers/of/overlay.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
> index 53bc9e3f0b98..6c8efe7d8cbb 100644
> --- a/drivers/of/overlay.c
> +++ b/drivers/of/overlay.c
> @@ -708,8 +708,10 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
> of_overlay_mutex_lock();
>
> ret = of_resolve_phandles(tree);
> - if (ret)
> + if (ret) {
> + kfree(ovcs);
> goto err_overlay_unlock;
> + }
>
> mutex_lock(&of_mutex);
>
>
False coverity warning. ovcs is freed in free_overlay_changeset().
^ permalink raw reply
* [PATCH v3 3/3] drm/omap: Filter displays mode based on bandwidth limit
From: Peter Ujfalusi @ 2017-11-30 12:12 UTC (permalink / raw)
To: tomi.valkeinen-l0cyMroinI0,
laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw
Cc: airlied-cv59FeDIM0c, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
devicetree-u79uwXL29TY76Z2rM5mHXA, daniel-/w4YWyX8dFk,
jsarha-l0cyMroinI0
In-Reply-To: <20171130121237.30431-1-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
If we have memory bandwidth limit configured, reject the modes which would
require more bandwidth than the limit if it is used with one full
resolution plane (most common use case).
This filtering is not providing full protection as it is possible that
application would pick smaller crtc resolution with high resolution planes
and down scaling, or can enable more smaller planes where the sum of their
bandwidth need would be higher than the limit.
This patch only allows us to filter out modes which would need more
bandwidth if they were used with one full screen plane.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi-l0cyMroinI0@public.gmane.org>
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 37 +++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/omapdrm/omap_drv.c | 5 +++++
drivers/gpu/drm/omapdrm/omap_drv.h | 3 +++
3 files changed, 45 insertions(+)
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index cc85c16cbc2a..ae2e16ed3874 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -23,6 +23,7 @@
#include <drm/drm_crtc_helper.h>
#include <drm/drm_mode.h>
#include <drm/drm_plane_helper.h>
+#include <linux/math64.h>
#include "omap_drv.h"
@@ -400,6 +401,41 @@ static void omap_crtc_atomic_disable(struct drm_crtc *crtc,
drm_crtc_vblank_off(crtc);
}
+static enum drm_mode_status omap_crtc_mode_valid(struct drm_crtc *crtc,
+ const struct drm_display_mode *mode)
+{
+ struct omap_drm_private *priv = crtc->dev->dev_private;
+
+ /* Check for bandwidth limit */
+ if (priv->max_bandwidth) {
+ /*
+ * Estimation for the bandwidth need of a given mode with one
+ * full screen plane:
+ * bandwidth = resolution * 32bpp * (pclk / (vtotal * htotal))
+ * ^^ Refresh rate ^^
+ *
+ * The interlaced mode is taken into account by using the
+ * pixelclock in the calculation.
+ *
+ * The equation is rearranged for 64bit arithmetic.
+ */
+ uint64_t bandwidth = mode->clock * 1000;
+ unsigned int bpp = 4;
+
+ bandwidth = bandwidth * mode->hdisplay * mode->vdisplay * bpp;
+ bandwidth = div_u64(bandwidth, mode->htotal * mode->vtotal);
+
+ /*
+ * Reject modes which would need more bandwidth if used with one
+ * full resolution plane (most common use case).
+ */
+ if (priv->max_bandwidth < bandwidth)
+ return MODE_BAD;
+ }
+
+ return MODE_OK;
+}
+
static void omap_crtc_mode_set_nofb(struct drm_crtc *crtc)
{
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
@@ -621,6 +657,7 @@ static const struct drm_crtc_helper_funcs omap_crtc_helper_funcs = {
.atomic_flush = omap_crtc_atomic_flush,
.atomic_enable = omap_crtc_atomic_enable,
.atomic_disable = omap_crtc_atomic_disable,
+ .mode_valid = omap_crtc_mode_valid,
};
/* -----------------------------------------------------------------------------
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index cdf5b0601eba..ba3d22fae55b 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -593,6 +593,11 @@ static int pdev_probe(struct platform_device *pdev)
ddev->dev_private = priv;
platform_set_drvdata(pdev, ddev);
+ /* Get memory bandwidth limits */
+ if (priv->dispc_ops->get_memory_bandwidth_limit)
+ priv->max_bandwidth =
+ priv->dispc_ops->get_memory_bandwidth_limit();
+
omap_gem_init(ddev);
ret = omap_modeset_init(ddev);
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index 4bd1e9070b31..d404e8c56b61 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -83,6 +83,9 @@ struct omap_drm_private {
spinlock_t wait_lock; /* protects the wait_list */
struct list_head wait_list; /* list of omap_irq_wait */
uint32_t irq_mask; /* enabled irqs in addition to wait_list */
+
+ /* memory bandwidth limit if it is needed on the platform */
+ unsigned int max_bandwidth;
};
--
Peter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH v3 2/3] drm/omap: dss: Add support for reporting memory bandwidth limitation
From: Peter Ujfalusi @ 2017-11-30 12:12 UTC (permalink / raw)
To: tomi.valkeinen-l0cyMroinI0,
laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw
Cc: airlied-cv59FeDIM0c, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
devicetree-u79uwXL29TY76Z2rM5mHXA, daniel-/w4YWyX8dFk,
jsarha-l0cyMroinI0
In-Reply-To: <20171130121237.30431-1-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
The get_memory_bandwidth_limit() in dispc_ops can be used to query the
memory bandwidth limit of dispc by upper layers.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi-l0cyMroinI0@public.gmane.org>
---
drivers/gpu/drm/omapdrm/dss/dispc.c | 13 +++++++++++++
drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 ++
2 files changed, 15 insertions(+)
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 0f4fdb221498..90f9ad89af0d 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -4325,6 +4325,17 @@ static void dispc_free_irq(void *dev_id)
dispc.user_data = NULL;
}
+static u32 dispc_get_memory_bandwidth_limit(void)
+{
+ u32 limit = 0;
+
+ /* Optional maximum memory bandwidth */
+ of_property_read_u32(dispc.pdev->dev.of_node, "max-memory-bandwidth",
+ &limit);
+
+ return limit;
+}
+
/*
* Workaround for errata i734 in DSS dispc
* - LCD1 Gamma Correction Is Not Working When GFX Pipe Is Disabled
@@ -4497,6 +4508,8 @@ static const struct dispc_ops dispc_ops = {
.get_num_ovls = dispc_get_num_ovls,
.get_num_mgrs = dispc_get_num_mgrs,
+ .get_memory_bandwidth_limit = dispc_get_memory_bandwidth_limit,
+
.mgr_enable = dispc_mgr_enable,
.mgr_is_enabled = dispc_mgr_is_enabled,
.mgr_get_vsync_irq = dispc_mgr_get_vsync_irq,
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 990422b35784..c2166d2d3f29 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -695,6 +695,8 @@ struct dispc_ops {
int (*get_num_ovls)(void);
int (*get_num_mgrs)(void);
+ u32 (*get_memory_bandwidth_limit)(void);
+
void (*mgr_enable)(enum omap_channel channel, bool enable);
bool (*mgr_is_enabled)(enum omap_channel channel);
u32 (*mgr_get_vsync_irq)(enum omap_channel channel);
--
Peter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH v3 1/3] dt-bindings: display/ti: Add optional property to set memory bandwidth limit
From: Peter Ujfalusi @ 2017-11-30 12:12 UTC (permalink / raw)
To: tomi.valkeinen, laurent.pinchart; +Cc: airlied, devicetree, jsarha, dri-devel
In-Reply-To: <20171130121237.30431-1-peter.ujfalusi@ti.com>
max-memory-bandwidth can be used to specify the maximum bandwidth dispc
can use when reading display data from main memory.
In some SoC (am437x for example) we have memory bandwidth limitation
which causes underflow in the display subsystem.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/display/ti/ti,dra7-dss.txt | 5 +++++
Documentation/devicetree/bindings/display/ti/ti,omap2-dss.txt | 4 ++++
Documentation/devicetree/bindings/display/ti/ti,omap3-dss.txt | 4 ++++
Documentation/devicetree/bindings/display/ti/ti,omap4-dss.txt | 4 ++++
Documentation/devicetree/bindings/display/ti/ti,omap5-dss.txt | 4 ++++
5 files changed, 21 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/ti/ti,dra7-dss.txt b/Documentation/devicetree/bindings/display/ti/ti,dra7-dss.txt
index c30f9ec189ed..91279f1060fe 100644
--- a/Documentation/devicetree/bindings/display/ti/ti,dra7-dss.txt
+++ b/Documentation/devicetree/bindings/display/ti/ti,dra7-dss.txt
@@ -47,6 +47,11 @@ Required properties:
- clocks: handle to fclk
- clock-names: "fck"
+Optional properties:
+- max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth limit
+ in bytes per second
+
+
HDMI
----
diff --git a/Documentation/devicetree/bindings/display/ti/ti,omap2-dss.txt b/Documentation/devicetree/bindings/display/ti/ti,omap2-dss.txt
index afcd5a86c6a4..ee867c4d1152 100644
--- a/Documentation/devicetree/bindings/display/ti/ti,omap2-dss.txt
+++ b/Documentation/devicetree/bindings/display/ti/ti,omap2-dss.txt
@@ -28,6 +28,10 @@ Required properties:
- ti,hwmods: "dss_dispc"
- interrupts: the DISPC interrupt
+Optional properties:
+- max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth limit
+ in bytes per second
+
RFBI
----
diff --git a/Documentation/devicetree/bindings/display/ti/ti,omap3-dss.txt b/Documentation/devicetree/bindings/display/ti/ti,omap3-dss.txt
index dc66e1447c31..cd02516a40b6 100644
--- a/Documentation/devicetree/bindings/display/ti/ti,omap3-dss.txt
+++ b/Documentation/devicetree/bindings/display/ti/ti,omap3-dss.txt
@@ -37,6 +37,10 @@ Required properties:
- clocks: handle to fclk
- clock-names: "fck"
+Optional properties:
+- max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth limit
+ in bytes per second
+
RFBI
----
diff --git a/Documentation/devicetree/bindings/display/ti/ti,omap4-dss.txt b/Documentation/devicetree/bindings/display/ti/ti,omap4-dss.txt
index bc624db8888d..0f85f6b3a5a8 100644
--- a/Documentation/devicetree/bindings/display/ti/ti,omap4-dss.txt
+++ b/Documentation/devicetree/bindings/display/ti/ti,omap4-dss.txt
@@ -36,6 +36,10 @@ Required properties:
- clocks: handle to fclk
- clock-names: "fck"
+Optional properties:
+- max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth limit
+ in bytes per second
+
RFBI
----
diff --git a/Documentation/devicetree/bindings/display/ti/ti,omap5-dss.txt b/Documentation/devicetree/bindings/display/ti/ti,omap5-dss.txt
index 118a486c47bb..20861218649f 100644
--- a/Documentation/devicetree/bindings/display/ti/ti,omap5-dss.txt
+++ b/Documentation/devicetree/bindings/display/ti/ti,omap5-dss.txt
@@ -36,6 +36,10 @@ Required properties:
- clocks: handle to fclk
- clock-names: "fck"
+Optional properties:
+- max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth limit
+ in bytes per second
+
RFBI
----
--
Peter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox