Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND PATCH v2] bus: arm-cci: use asm unreachable
From: Stefan Agner @ 2018-05-08 13:01 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <9925be9a-2e24-7ab4-4d7e-cb8f62c422e7@arm.com>

On 08.05.2018 14:19, Robin Murphy wrote:
> On 08/05/18 12:32, Stefan Agner wrote:
>> Mixing asm and C code is not recommended in a naked function by
>> gcc and leads to an error when using clang:
>>    drivers/bus/arm-cci.c:2107:2: error: non-ASM statement in naked
>>    function is not supported
>>          unreachable();
>>          ^
>>
>> While the function is marked __naked it actually properly return
>> in asm. There is no need for the unreachable() call.
> 
> The commit title is a bit out-of-date now (I guess it could just be
> something like "remove unnecessary unreachable()" now), but the rest
> looks OK to me - even GCC clearly doesn't expect anything beyond the
> asm to be reachable anyway since the lack of epilogue includes the
> lack of any compiler-generated return. I've checked that GCC 7.2
> generates identical object files before and after, other than (for
> obvious reasons) the line numbers generated by WANT_WARN_ON_SLOWPATH
> for all the WARN()s appearing later in the file.

Title: Oops, good catch! Will send a v3.

Thanks for checking gcc.

--
Stefan

> 
> Reviewed-by: Robin Murphy <robin.murphy@arm.com>
> 
>> Suggested-by: Russell King <linux@arm.linux.org.uk>
>> Signed-off-by: Stefan Agner <stefan@agner.ch>
>> Acked-by: Nicolas Pitre <nico@linaro.org>
>> ---
>>   drivers/bus/arm-cci.c | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
>> index 443e4c3fd357..b8184a903583 100644
>> --- a/drivers/bus/arm-cci.c
>> +++ b/drivers/bus/arm-cci.c
>> @@ -371,8 +371,6 @@ asmlinkage void __naked cci_enable_port_for_self(void)
>>   	[sizeof_struct_cpu_port] "i" (sizeof(struct cpu_port)),
>>   	[sizeof_struct_ace_port] "i" (sizeof(struct cci_ace_port)),
>>   	[offsetof_port_phys] "i" (offsetof(struct cci_ace_port, phys)) );
>> -
>> -	unreachable();
>>   }
>>     /**
>>

^ permalink raw reply

* [PATCH 1/2] arm64: dts: ls1012a: Add FRWY-LS1012A board support
From: Fabio Estevam @ 2018-05-08 13:18 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1525760999-6187-1-git-send-email-Bhaskar.Upadhaya@nxp.com>

Hi Bhaskar,

On Tue, May 8, 2018 at 3:29 AM, Bhaskar Upadhaya
<Bhaskar.Upadhaya@nxp.com> wrote:

> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frwy.dts
> @@ -0,0 +1,64 @@

Please consider using:

// SPDX-License-Identifier: GPL-2.0 OR MIT

> +/*
> + * Device Tree file for NXP LS1012A FRWY Board.
> + *
> + * Copyright 2018 NXP
> + *
> + * This file is dual-licensed: you can use it either under the terms
> + * of the GPLv2 or the X11 license, at your option. Note that this dual
> + * licensing only applies to this file, and not this project as a
> + * whole.
> + *
> + *  a) This library is free software; you can redistribute it and/or
> + *     modify it under the terms of the GNU General Public License as
> + *     published by the Free Software Foundation; either version 2 of the
> + *     License, or (at your option) any later version.
> + *
> + *     This library is distributed in the hope that it will be useful,
> + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
> + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + *     GNU General Public License for more details.
> + *
> + * Or, alternatively,
> + *
> + *  b) Permission is hereby granted, free of charge, to any person
> + *     obtaining a copy of this software and associated documentation
> + *     files (the "Software"), to deal in the Software without
> + *     restriction, including without limitation the rights to use,
> + *     copy, modify, merge, publish, distribute, sublicense, and/or
> + *     sell copies of the Software, and to permit persons to whom the
> + *     Software is furnished to do so, subject to the following
> + *     conditions:
> + *
> + *     The above copyright notice and this permission notice shall be
> + *     included in all copies or substantial portions of the Software.
> + *
> + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> + *     OTHER DEALINGS IN THE SOFTWARE.

Then you can replace all the licensing text.

^ permalink raw reply

* [PATCH v9 00/12] Sunxi: Add SMP support on A83T
From: Maxime Ripard @ 2018-05-08 13:19 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180504190545.5114-1-mylene.josserand@bootlin.com>

Hi,

On Fri, May 04, 2018 at 09:05:33PM +0200, Myl?ne Josserand wrote:
> Hello everyone,
> 
> This is a V9 of my series that adds SMP support for Allwinner sun8i-a83t.
> Based on sunxi's tree, sunxi/for-next branch.
> Depends on a patch from Doug Berger that allows to include the "cpu-type"
> header on assembly files that I included in my series (patch 01).

I applied the patches, with the remarks done by Russell on v8 fixed,
and the function sun8i_a83t_cntvoff_init made static.

> The difference with the v8 is just that the machine is renamed in sun8i-a83t
> (see patch 07), according to Maxime's review.

The machine name hasn't changed, and the name sun8i-a83t still doesn't
make much sense. I've fixed it as well.

Thanks,
Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* [PATCH] clk: imx6ull: use OSC clock during AXI rate change
From: Stefan Agner @ 2018-05-08 13:20 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <HE1PR04MB311395765D3DC03D5960DBA3879A0@HE1PR04MB3113.eurprd04.prod.outlook.com>

On 08.05.2018 09:32, Jacky Bai wrote:
>> Subject: Re: [PATCH] clk: imx6ull: use OSC clock during AXI rate change
>>
>> Hi Jacky,
>>
>> On 02.05.2018 09:38, Shawn Guo wrote:
>> > Hi Jacky,
>> >
>> > Do you see this problem on i.MX6 ULL?  What's your take on Stefan's fix?
>>
>> Any comment to this?
>>
>> It is 4.17.0-rc4 is out and i.MX 6ULL is still broken :-(
>>
> Hi Stefan,
> 
> I have tried two 6ULL board, I don't meet such issue. System can boot
> up successfully with commit 6f9575e55632 included.
> Anyway, the change in this patch is ok for me. it is no harm to the
> BUS clock change flow.

Hm, that is interesting, maybe it is because we use a different SKU? Or
maybe bootloader?

I tested here with a 800 MHz clocked variant on a Colibri iMX6ULL using
U-Boot 2016.11.

--
Stefan

> 
> Jacky
>> --
>> Stefan
>>
>> >
>> > Shawn
>> >
>> > On Wed, Apr 18, 2018 at 02:49:08PM +0200, Stefan Agner wrote:
>> >> On i.MX6 ULL using PLL3 seems to cause a freeze when setting the
>> >> parent to IMX6UL_CLK_PLL3_USB_OTG. This only seems to appear since
>> >> commit 6f9575e55632 ("clk: imx: Add CLK_IS_CRITICAL flag for busy
>> >> divider and busy mux"), probably because the clock is now forced to
>> >> be on.
>> >>
>> >> Fixes: 6f9575e55632("clk: imx: Add CLK_IS_CRITICAL flag for busy
>> >> divider and busy mux")
>> >> Signed-off-by: Stefan Agner <stefan@agner.ch>
>> >> ---
>> >> This addresses a regression ssen on v4.17-rc1 where the kernel boots
>> >> during clock initialization, see also:
>> >>
>> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpa
>> >>
>> tchwork.kernel.org%2Fpatch%2F10295927%2F&data=02%7C01%7Cping.bai%
>> 40nx
>> >>
>> p.com%7C023287ec65034c4db45f08d5b419effb%7C686ea1d3bc2b4c6fa92cd9
>> 9c5c
>> >>
>> 301635%7C0%7C0%7C636612945852594725&sdata=U0ZGid9ZBey0FXfId2dhZb
>> hVl8p
>> >> CcjTiexG3JHYwCA4%3D&reserved=0
>> >>
>> >>  drivers/clk/imx/clk-imx6ul.c | 2 +-
>> >>  1 file changed, 1 insertion(+), 1 deletion(-)
>> >>
>> >> diff --git a/drivers/clk/imx/clk-imx6ul.c
>> >> b/drivers/clk/imx/clk-imx6ul.c index 114ecbb94ec5..12320118f8de
>> >> 100644
>> >> --- a/drivers/clk/imx/clk-imx6ul.c
>> >> +++ b/drivers/clk/imx/clk-imx6ul.c
>> >> @@ -464,7 +464,7 @@ static void __init imx6ul_clocks_init(struct
>> device_node *ccm_node)
>> >>  	clk_set_rate(clks[IMX6UL_CLK_AHB], 99000000);
>> >>
>> >>  	/* Change periph_pre clock to pll2_bus to adjust AXI rate to 264MHz
>> */
>> >> -	clk_set_parent(clks[IMX6UL_CLK_PERIPH_CLK2_SEL],
>> clks[IMX6UL_CLK_PLL3_USB_OTG]);
>> >> +	clk_set_parent(clks[IMX6UL_CLK_PERIPH_CLK2_SEL],
>> >> +clks[IMX6UL_CLK_OSC]);
>> >>  	clk_set_parent(clks[IMX6UL_CLK_PERIPH],
>> clks[IMX6UL_CLK_PERIPH_CLK2]);
>> >>  	clk_set_parent(clks[IMX6UL_CLK_PERIPH_PRE],
>> clks[IMX6UL_CLK_PLL2_BUS]);
>> >>  	clk_set_parent(clks[IMX6UL_CLK_PERIPH],
>> >> clks[IMX6UL_CLK_PERIPH_PRE]);
>> >> --
>> >> 2.17.0
>> >>

^ permalink raw reply

* [PATCH v3 3/3] ARM: dts: sun7i: Add support for the Ainol AW1 tablet
From: Maxime Ripard @ 2018-05-08 13:28 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <d8de7d2237a74388ac8c8152eded3477e7fd56a4.camel@paulk.fr>

On Mon, May 07, 2018 at 10:15:46PM +0200, Paul Kocialkowski wrote:
> > > +	backlight: backlight {
> > > +		compatible = "pwm-backlight";
> > > +		pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
> > > +		brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
> > 
> > The increase in perceived brightness should be linear. Usually, for
> > PWMs backed backlight, an exponential list is a much better
> > approximation.
> 
> Thanks for the hint, it never occurred to me that pwm duty cycle was not
> linear with brightness, but that makes sense. I'll give that a try (on
> 255 values instead of 10 to keep some level of precision in low
> brightness). The way to go here is probably use a base-255 logarithm
> such as: duty cycle = range * log(i+1)/log(255) with i the linear
> brightness value (0 to 255) and range the amplitude of our values (that
> gets divided by the maximum brightness, so it's really up to hardware
> precision at this point). I'll go with a range of 255 as well.

Without going into something so complicated, usually a list with power
of two ending at 255 is a good approximation :)

> > > +&mmc0 {
> > > +	pinctrl-names = "default";
> > > +	pinctrl-0 = <&mmc0_pins_a>;
> > > +	vmmc-supply = <&reg_vcc3v3>;
> > 
> > You have the regulators described in your DT, you'd better use them
> > instead of the one coming from sunxi-common-regulators.dtsi.
> 
> Well, according to the reference A20 design, the mmc pins and the card
> are powered by the 3.3V power rail, that comes from a regular step-down
> regulator sourcing from IPSOUT, so I don't see what regulator I should
> better use. Do you have a suggestion?

That works for me then.

> > > +&pio {
> > > +	panel_power_pin: panel_power_pin at 0 {
> > > +		pins = "PH8";
> > > +		function = "gpio_out";
> > > +	};
> > > +};
> > 
> > You don't need that pinctrl node.
> 
> I'll get rid of it then. You mentioned that regulator-simple uses the
> old GPIO API, so I assumed it meant that a pinctrl node is still needed.
> For reference, it uses of_get_named_gpio (not the devm-managed fashion).

This is only relevant for the polarity of the pins, not the pinctrl part.

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* [PATCH v2 08/10] PCI: Deprecate of_pci_get_host_bridge_resources()
From: Bjorn Helgaas @ 2018-05-08 13:29 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <b13dd4b5-61c4-3acb-c194-3e448cb8b3d2@siemens.com>

On Thu, May 03, 2018 at 09:53:58AM +0200, Jan Kiszka wrote:
> On 2018-05-02 14:39, Christoph Hellwig wrote:
> > On Mon, Apr 30, 2018 at 07:48:42AM +0200, Jan Kiszka wrote:
> >> From: Jan Kiszka <jan.kiszka@siemens.com>
> >>
> >> There are no in-tree users remaining, all are converted to the managed
> >> variant. And it is unlikely that any out-of-tree user got the resource
> >> management right as well. So deprecate the interface and push users to
> >> the managed version instead.
> >>
> >> To avoid raising a warning when exporting a deprecated symbol, wrap the
> >> API with an inline and export an internal name.
> > 
> > Don't deprecated it, just remove it.
> 
> I see a clear favorite now: consider this patch obsolete. I'll send a
> separate removal patch, or a v3 of this series when otherwise needed.

Can you just send an update to this patch to remove it?  I've got these on
a branch and will just update my branch with the removal.

Then I'll coordinate with Lorenzo and make sure the dependency issue is
resolved.

^ permalink raw reply

* [PATCH v3 0/2] ARM: dts: renesas: Correct mask for GIC PPI interrupts
From: Simon Horman @ 2018-05-08 13:35 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1525699193-5589-1-git-send-email-geert+renesas@glider.be>

On Mon, May 07, 2018 at 03:19:51PM +0200, Geert Uytterhoeven wrote:
>         Hi Simon, Magnus,
> 
> R-Car H2 and R-Mobile APE6 contain four Cortex-A15 and four Cortex-A7
> cores, hence the second interrupt specifier cell for Private Peripheral
> Interrupts should use "GIC_CPU_MASK_SIMPLE(8)", to make sure interrupts
> can be delivered to all 8 processor cores.
> 
> This brings the predecessors of R-Car Gen3 in line with what we're doing
> on other big.LITTLE SoCs, like R-Car H3 and M3-W.

Thanks, applied.

^ permalink raw reply

* [PATCH v2 05/17] arm64: Helper for parange to PASize
From: Suzuki K Poulose @ 2018-05-08 13:47 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <b44930d9-b25d-acd4-9676-6f779e2c590a@arm.com>

On 03/05/18 15:39, James Morse wrote:
> Hi Suzuki,
> 
> Nit: KVM in the subject line?

Well, the helper is generic and its just that KVM makes use of it.

> 
> On 27/03/18 14:15, Suzuki K Poulose wrote:
>> Add a helper to convert ID_AA64MMFR0_EL1:PARange to they physical
>> size shift. Limit the size to the maximum supported by the kernel.
>> We are about to move the user of this code and this helps to
>> keep the changes cleaner.
> 
>> diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
>> index fbf0aab..1f2a5dd 100644
>> --- a/arch/arm64/include/asm/cpufeature.h
>> +++ b/arch/arm64/include/asm/cpufeature.h
>> @@ -311,6 +311,22 @@ static inline u64 read_zcr_features(void)
>>   	return zcr;
>>   }
>>   
>> +static inline u32 id_aa64mmfr0_parange_to_phys_shift(int parange)
>> +{
>> +	switch (parange) {
>> +	case 0: return 32;
>> +	case 1: return 36;
>> +	case 2: return 40;
>> +	case 3: return 42;
>> +	case 4: return 44;
>> +	/* Report 48 bit if the kernel doesn't support 52bit */
>> +	default:
>> +	case 5: return 48;
>> +#ifdef CONFIG_ARM64_PA_BITS_52
>> +	case 6: return 52;
>> +#endif
> 
> Eeew. I thought 'default' had to appear at the end of the list, but evidently
> not! If the last three bit value ever gets used this is going to look really weird.

I could rearrange them a bit to :

	case 4: ..
#ifdef CONFIG_ARM64_PA_BITS_52
	case 6: ...
#endif
	case 5:
	/* Report 48 bit if the kernel doesn't support 52bit */
	default: return 48;

> 
> Can't we have a helper that just does the mapping, then apply the clamping with
> something like:
> | parange = min(CONFIG_ARM64_PA_BITS, parange);

Yes, I think that might be a bit cleaner.

> 
> 
> Its odd that the helper has the id-register in the name, but expects you do the
> shift and mask for it...
> 
> (and for this patch, KVM has already done the 52bit clamping with:
> | 	if (parange > ID_AA64MMFR0_PARANGE_MAX)
> |		parange = ID_AA64MMFR0_PARANGE_MAX;
> )
> 

As mentioned in the other thread, I will change the name of the helper.

> 
>> diff --git a/arch/arm64/kvm/hyp/s2-setup.c b/arch/arm64/kvm/hyp/s2-setup.c
>> index 603e1ee..b1129c8 100644
>> --- a/arch/arm64/kvm/hyp/s2-setup.c
>> +++ b/arch/arm64/kvm/hyp/s2-setup.c
>> @@ -19,11 +19,13 @@
>>   #include <asm/kvm_arm.h>
>>   #include <asm/kvm_asm.h>
>>   #include <asm/kvm_hyp.h>
>> +#include <asm/cpufeature.h>
>>   
>>   u32 __hyp_text __init_stage2_translation(void)
>>   {
> 
> Nit: Why change the variable you put this in, if its all removed again in patch 11?

The parange holds the PARange initially, used to set the VTCR.IPS and is then
overloaded with the converted "phys-shift". The change is a minor cleanup to
make that clear, even though we remove it later as we don't deal with the
phys-shifts anymore. I would prefer to keep it as it is.

Cheers
Suzuki

^ permalink raw reply

* [PATCH] hwmon: (aspeed-pwm-tacho) Use 24MHz clock
From: Guenter Roeck @ 2018-05-08 13:51 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1525772367-20627-1-git-send-email-mine260309@gmail.com>

On 05/08/2018 02:39 AM, Lei YU wrote:
> The clock source for aspeed pwm is set to 24MHz, so use the hard-coded
> clock frequency instead of the one in device tree.
> 
> Otherwise, in case of the clock specified in device tree is not 24MHz,
> the fan speed will be incorrect.
> 
> Signed-off-by: Lei YU <mine260309@gmail.com>
> ---
>   drivers/hwmon/aspeed-pwm-tacho.c | 7 ++-----
>   1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/hwmon/aspeed-pwm-tacho.c b/drivers/hwmon/aspeed-pwm-tacho.c
> index 693a3d5..e83b8df 100644
> --- a/drivers/hwmon/aspeed-pwm-tacho.c
> +++ b/drivers/hwmon/aspeed-pwm-tacho.c
> @@ -922,7 +922,6 @@ static int aspeed_pwm_tacho_probe(struct platform_device *pdev)
>   	void __iomem *regs;
>   	struct resource *res;
>   	struct device *hwmon;
> -	struct clk *clk;
>   	int ret;
>   
>   	np = dev->of_node;
> @@ -956,12 +955,10 @@ static int aspeed_pwm_tacho_probe(struct platform_device *pdev)
>   	regmap_write(priv->regmap, ASPEED_PTCR_TACH_SOURCE, 0);
>   	regmap_write(priv->regmap, ASPEED_PTCR_TACH_SOURCE_EXT, 0);
>   
> -	clk = devm_clk_get(dev, NULL);
> -	if (IS_ERR(clk))
> -		return -ENODEV;
> -	priv->clk_freq = clk_get_rate(clk);
>   	aspeed_set_clock_enable(priv->regmap, true);
> +	// The clock source is set to 24MHz

No mixed C/C++ comments in hwmon drivers.

>   	aspeed_set_clock_source(priv->regmap, 0);
> +	priv->clk_freq = 24000000;
>   

Are you saying that clk_get_rate() is wrong ? Anyway, if the DT is bad, it should be fixed.
I am not a friend of hacking drivers to fix up bad DTs, and much less so without explanation.
Plus, how do we know that the next chip supported by the driver doesn't have a 32MHz clock ?
Really, please fix the DT.

Guenter

>   	aspeed_create_type(priv);
>   
> 

^ permalink raw reply

* [PATCH] arm: dts: atmel: graph_child_address warning fixes
From: Rob Herring @ 2018-05-08 13:59 UTC (permalink / raw)
  To: linux-arm-kernel

Addresses for graph ports and endpoints are not necessary when
there's only a single child. Fix the following warnings removing
unnecessary addresses on OF graph nodes:

Warning (graph_child_address): /ahb/apb/hlcdc at f0030000/hlcdc-display-controller: graph node has single child node 'port at 0', #address-cells/#size-cells are not necessary
Warning (graph_child_address): /ahb/apb/hlcdc at f0030000/hlcdc-display-controller/port at 0: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary
Warning (graph_child_address): /ahb/apb/isi at f0034000/port: graph node has single child node 'endpoint', #address-cells/#size-cells are not necessary
Warning (graph_child_address): /panel/port at 0: graph node has single child node 'endpoint at 0', #address-cells/#size-cells are not necessary

Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts | 15 ++++-----------
 arch/arm/boot/dts/at91sam9g45.dtsi          |  2 --
 arch/arm/boot/dts/at91sam9n12.dtsi          |  8 +-------
 arch/arm/boot/dts/at91sam9n12ek.dts         | 14 ++++----------
 arch/arm/boot/dts/at91sam9x5_lcd.dtsi       |  7 +------
 arch/arm/boot/dts/at91sam9x5dm.dtsi         | 13 ++++---------
 arch/arm/boot/dts/sama5d3.dtsi              |  2 --
 arch/arm/boot/dts/sama5d3_lcd.dtsi          |  8 +-------
 arch/arm/boot/dts/sama5d4.dtsi              |  8 +-------
 9 files changed, 16 insertions(+), 61 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts
index fe05aaa7ac87..72c3b077fb46 100644
--- a/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts
+++ b/arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts
@@ -49,9 +49,8 @@
 					pinctrl-names = "default";
 					pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
 
-					port at 0 {
-						hlcdc_panel_output: endpoint at 0 {
-							reg = <0>;
+					port {
+						hlcdc_panel_output: endpoint {
 							remote-endpoint = <&panel_input>;
 						};
 					};
@@ -144,16 +143,10 @@
 		/* Actually Ampire 800480R2 */
 		compatible = "foxlink,fl500wvr00-a0t", "simple-panel";
 		backlight = <&backlight>;
-		#address-cells = <1>;
-		#size-cells = <0>;
 		status = "okay";
 
-		port at 0 {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			panel_input: endpoint at 0 {
-				reg = <0>;
+		port {
+			panel_input: endpoint {
 				remote-endpoint = <&hlcdc_panel_output>;
 			};
 		};
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index 1ee25a475be8..36729e3f2899 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -1114,8 +1114,6 @@
 				clock-names = "isi_clk";
 				status = "disabled";
 				port {
-					#address-cells = <1>;
-					#size-cells = <0>;
 				};
 			};
 
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index 37cb81f457b5..a071fccb729b 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -475,13 +475,7 @@
 
 				hlcdc-display-controller {
 					compatible = "atmel,hlcdc-display-controller";
-					#address-cells = <1>;
-					#size-cells = <0>;
-
-					port at 0 {
-						#address-cells = <1>;
-						#size-cells = <0>;
-						reg = <0>;
+					port {
 					};
 				};
 
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index c43095c5cb5c..eb0c1e11fa4d 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -134,9 +134,8 @@
 					pinctrl-names = "default";
 					pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
 
-					port at 0 {
-						hlcdc_panel_output: endpoint at 0 {
-							reg = <0>;
+					port {
+						hlcdc_panel_output: endpoint {
 							remote-endpoint = <&panel_input>;
 						};
 					};
@@ -246,13 +245,8 @@
 		#size-cells = <0>;
 		status = "okay";
 
-		port at 0 {
-			reg = <0>;
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			panel_input: endpoint at 0 {
-				reg = <0>;
+		port {
+			panel_input: endpoint {
 				remote-endpoint = <&hlcdc_panel_output>;
 			};
 		};
diff --git a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi
index 1629db9dd563..e243dff67a67 100644
--- a/arch/arm/boot/dts/at91sam9x5_lcd.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5_lcd.dtsi
@@ -23,13 +23,8 @@
 
 				hlcdc-display-controller {
 					compatible = "atmel,hlcdc-display-controller";
-					#address-cells = <1>;
-					#size-cells = <0>;
 
-					port at 0 {
-						#address-cells = <1>;
-						#size-cells = <0>;
-						reg = <0>;
+					port {
 					};
 				};
 
diff --git a/arch/arm/boot/dts/at91sam9x5dm.dtsi b/arch/arm/boot/dts/at91sam9x5dm.dtsi
index 34c089fe0bc0..5aea8fd09ad6 100644
--- a/arch/arm/boot/dts/at91sam9x5dm.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5dm.dtsi
@@ -29,9 +29,8 @@
 					pinctrl-names = "default";
 					pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
 
-					port at 0 {
-						hlcdc_panel_output: endpoint at 0 {
-							reg = <0>;
+					port {
+						hlcdc_panel_output: endpoint {
 							remote-endpoint = <&panel_input>;
 						};
 					};
@@ -80,12 +79,8 @@
 		#size-cells = <0>;
 		status = "disabled";
 
-		port at 0 {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			panel_input: endpoint at 0 {
-				reg = <0>;
+		port {
+			panel_input: endpoint {
 				remote-endpoint = <&hlcdc_panel_output>;
 			};
 		};
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index eae5e1ee9cd8..2c51042e1f6b 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -239,8 +239,6 @@
 				clock-names = "isi_clk";
 				status = "disabled";
 				port {
-					#address-cells = <1>;
-					#size-cells = <0>;
 				};
 			};
 
diff --git a/arch/arm/boot/dts/sama5d3_lcd.dtsi b/arch/arm/boot/dts/sama5d3_lcd.dtsi
index be7cfefc6c31..2d042d7ec531 100644
--- a/arch/arm/boot/dts/sama5d3_lcd.dtsi
+++ b/arch/arm/boot/dts/sama5d3_lcd.dtsi
@@ -23,13 +23,7 @@
 
 				hlcdc-display-controller {
 					compatible = "atmel,hlcdc-display-controller";
-					#address-cells = <1>;
-					#size-cells = <0>;
-
-					port at 0 {
-						#address-cells = <1>;
-						#size-cells = <0>;
-						reg = <0>;
+					port {
 					};
 				};
 
diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index 0cf9beddd556..90d7b64915ec 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -333,13 +333,7 @@
 
 				hlcdc-display-controller {
 					compatible = "atmel,hlcdc-display-controller";
-					#address-cells = <1>;
-					#size-cells = <0>;
-
-					port at 0 {
-						#address-cells = <1>;
-						#size-cells = <0>;
-						reg = <0>;
+					port {
 					};
 				};
 
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm: dts: imx: fix IPU OF graph endpoint node names
From: Rob Herring @ 2018-05-08 13:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-1-robh@kernel.org>

OF graph endpoint nodes are supposed to be named 'endpoint' with an
address if there is more than one. The i.MX IPU binding graph has used
unique endpoint names instead which now generate dtc warnings:

Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/disp0-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/hdmi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/mipi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/lvds0-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/lvds1-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/disp1-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/hdmi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/mipi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/lvds0-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/lvds1-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/disp0-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/hdmi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/mipi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/lvds0-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/lvds1-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/hdmi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/mipi-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/lvds0-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/lvds1-endpoint: graph endpont node name should be 'endpoint'

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/imx6q.dtsi             | 27 ++++++++++++++-------
 arch/arm/boot/dts/imx6qdl-sabrelite.dtsi |  3 ---
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi   |  3 ---
 arch/arm/boot/dts/imx6qdl.dtsi           | 30 ++++++++++++++++--------
 4 files changed, 38 insertions(+), 25 deletions(-)

diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index ae7b3f107893..c2fda9d21a17 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -162,22 +162,27 @@
 				#size-cells = <0>;
 				reg = <2>;
 
-				ipu2_di0_disp0: disp0-endpoint {
+				ipu2_di0_disp0: endpoint at 0 {
+					reg = <0>;
 				};
 
-				ipu2_di0_hdmi: hdmi-endpoint {
+				ipu2_di0_hdmi: endpoint at 1 {
+					reg = <1>;
 					remote-endpoint = <&hdmi_mux_2>;
 				};
 
-				ipu2_di0_mipi: mipi-endpoint {
+				ipu2_di0_mipi: endpoint at 2 {
+					reg = <2>;
 					remote-endpoint = <&mipi_mux_2>;
 				};
 
-				ipu2_di0_lvds0: lvds0-endpoint {
+				ipu2_di0_lvds0: endpoint at 3 {
+					reg = <3>;
 					remote-endpoint = <&lvds0_mux_2>;
 				};
 
-				ipu2_di0_lvds1: lvds1-endpoint {
+				ipu2_di0_lvds1: endpoint at 4 {
+					reg = <4>;
 					remote-endpoint = <&lvds1_mux_2>;
 				};
 			};
@@ -187,19 +192,23 @@
 				#size-cells = <0>;
 				reg = <3>;
 
-				ipu2_di1_hdmi: hdmi-endpoint {
+				ipu2_di1_hdmi: endpoint at 1 {
+					reg = <1>;
 					remote-endpoint = <&hdmi_mux_3>;
 				};
 
-				ipu2_di1_mipi: mipi-endpoint {
+				ipu2_di1_mipi: endpoint at 2 {
+					reg = <2>;
 					remote-endpoint = <&mipi_mux_3>;
 				};
 
-				ipu2_di1_lvds0: lvds0-endpoint {
+				ipu2_di1_lvds0: endpoint at 3 {
+					reg = <3>;
 					remote-endpoint = <&lvds0_mux_3>;
 				};
 
-				ipu2_di1_lvds1: lvds1-endpoint {
+				ipu2_di1_lvds1: endpoint at 4 {
+					reg = <4>;
 					remote-endpoint = <&lvds1_mux_3>;
 				};
 			};
diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
index 18b65052553d..654cf2c9b073 100644
--- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
@@ -379,9 +379,6 @@
 		powerdown-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* NANDF_WP_B */
 
 		port {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
 			ov5640_to_mipi_csi2: endpoint {
 				remote-endpoint = <&mipi_csi2_in>;
 				clock-lanes = <0>;
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index f019f9900369..c2de2250718c 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -294,9 +294,6 @@
 		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
 
 		port {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
 			ov5640_to_mipi_csi2: endpoint {
 				remote-endpoint = <&mipi_csi2_in>;
 				clock-lanes = <0>;
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index c003e62bf290..0ebcf057961e 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1300,22 +1300,27 @@
 				#size-cells = <0>;
 				reg = <2>;
 
-				ipu1_di0_disp0: disp0-endpoint {
+				ipu1_di0_disp0: endpoint at 0 {
+					reg = <0>;
 				};
 
-				ipu1_di0_hdmi: hdmi-endpoint {
+				ipu1_di0_hdmi: endpoint at 1 {
+					reg = <1>;
 					remote-endpoint = <&hdmi_mux_0>;
 				};
 
-				ipu1_di0_mipi: mipi-endpoint {
+				ipu1_di0_mipi: endpoint at 2 {
+					reg = <2>;
 					remote-endpoint = <&mipi_mux_0>;
 				};
 
-				ipu1_di0_lvds0: lvds0-endpoint {
+				ipu1_di0_lvds0: endpoint at 3 {
+					reg = <3>;
 					remote-endpoint = <&lvds0_mux_0>;
 				};
 
-				ipu1_di0_lvds1: lvds1-endpoint {
+				ipu1_di0_lvds1: endpoint at 4 {
+					reg = <4>;
 					remote-endpoint = <&lvds1_mux_0>;
 				};
 			};
@@ -1325,22 +1330,27 @@
 				#size-cells = <0>;
 				reg = <3>;
 
-				ipu1_di1_disp1: disp1-endpoint {
+				ipu1_di1_disp1: endpoint at 0 {
+					reg = <0>;
 				};
 
-				ipu1_di1_hdmi: hdmi-endpoint {
+				ipu1_di1_hdmi: endpoint at 1 {
+					reg = <1>;
 					remote-endpoint = <&hdmi_mux_1>;
 				};
 
-				ipu1_di1_mipi: mipi-endpoint {
+				ipu1_di1_mipi: endpoint at 2 {
+					reg = <2>;
 					remote-endpoint = <&mipi_mux_1>;
 				};
 
-				ipu1_di1_lvds0: lvds0-endpoint {
+				ipu1_di1_lvds0: endpoint at 3 {
+					reg = <3>;
 					remote-endpoint = <&lvds0_mux_1>;
 				};
 
-				ipu1_di1_lvds1: lvds1-endpoint {
+				ipu1_di1_lvds1: endpoint at 4 {
+					reg = <4>;
 					remote-endpoint = <&lvds1_mux_1>;
 				};
 			};
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm: dts: imx53: Fix LDB OF graph warning
From: Rob Herring @ 2018-05-08 13:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-1-robh@kernel.org>

Single child nodes in OF graph don't need an address and now dtc will
warn about this:

Warning (graph_child_address): /soc/aips at 50000000/ldb at 53fa8008/lvds-channel at 0: graph node has single child node 'port at 0', #address-cells/#size-cells are not necessary

Since the LDB should always have an output port, fix the warning by
adding the output port, 2, to the DT.

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/imx53.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
index 7d647d043f52..1cf2fc9d0a58 100644
--- a/arch/arm/boot/dts/imx53.dtsi
+++ b/arch/arm/boot/dts/imx53.dtsi
@@ -488,6 +488,10 @@
 							remote-endpoint = <&ipu_di0_lvds0>;
 						};
 					};
+
+					port at 2 {
+						reg = <2>;
+					};
 				};
 
 				lvds-channel at 1 {
@@ -503,6 +507,10 @@
 							remote-endpoint = <&ipu_di1_lvds1>;
 						};
 					};
+
+					port at 2 {
+						reg = <2>;
+					};
 				};
 			};
 
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm: dts: imx7: Fix error in coresight TPIU graph connection
From: Rob Herring @ 2018-05-08 13:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-1-robh@kernel.org>

OF graph endpoint connections must be bidirectional and dtc will now
warn if they are not. i.MX7 based DTs have an error and generate
warnings:

Warning (graph_endpoint): /replicator/ports/port at 0/endpoint: graph connection to node '/soc/tpiu at 30087000/port/endpoint' is not bidirectional
Warning (graph_endpoint): /soc/tpiu at 30087000/port/endpoint: graph connection to node '/replicator/ports/port at 1/endpoint' is not bidirectional

This appears to be a copy-n-paste error and the TPIU input should be
connected to replicator port 0 instead of port 1.

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/imx7s.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi
index 4d42335c0dee..5db530ec756e 100644
--- a/arch/arm/boot/dts/imx7s.dtsi
+++ b/arch/arm/boot/dts/imx7s.dtsi
@@ -321,7 +321,7 @@
 			port {
 				tpiu_in_port: endpoint {
 					slave-mode;
-					remote-endpoint = <&replicator_out_port1>;
+					remote-endpoint = <&replicator_out_port0>;
 				};
 			};
 		};
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm: dts: omap: fix OF graph in omap3-devkit8000
From: Rob Herring @ 2018-05-08 13:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-1-robh@kernel.org>

omap3-devkit8000-common.dtsi defines a graph connection for DVI, but
then omap3-devkit8000-lcd-common.dtsi overrides that with a graph
connection for the LCD as the same output signals are used. This
leaves an incomplete graph as the TFP410 output has only half a
connection. The result is the following warning:

arch/arm/boot/dts/omap3-devkit8000-lcd70.dtb: Warning (graph_endpoint): /encoder0/ports/port at 0/endpoint: graph connection to node '/ocp at 68000000/dss at 48050000/port/endpoint' is not bidirectional

Fix this by defining multiple endpoints which is the correct way to show
a 1 to many connection.

Cc: "Beno?t Cousson" <bcousson@baylibre.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/omap3-devkit8000-common.dtsi     | 9 ++++++++-
 arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi | 5 ++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/omap3-devkit8000-common.dtsi b/arch/arm/boot/dts/omap3-devkit8000-common.dtsi
index 0c0bb1b01b0b..746a658e84b6 100644
--- a/arch/arm/boot/dts/omap3-devkit8000-common.dtsi
+++ b/arch/arm/boot/dts/omap3-devkit8000-common.dtsi
@@ -349,10 +349,17 @@
 	vdda_dac-supply = <&vdac>;
 
 	port {
-		dpi_dvi_out: endpoint {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		dpi_dvi_out: endpoint at 0 {
+			reg = <0>;
 			remote-endpoint = <&tfp410_in>;
 			data-lines = <24>;
 		};
+
+		endpoint at 1 {
+			reg = <1>;
+		};
 	};
 };
 
diff --git a/arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi b/arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi
index 2d64bcffaaa8..1093387259e2 100644
--- a/arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi
+++ b/arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi
@@ -30,7 +30,10 @@
 
 &dss {
 	port {
-		dpi_lcd_out: endpoint {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		dpi_lcd_out: endpoint at 1 {
+			reg = <1>;
 			remote-endpoint = <&lcd_in>;
 			data-lines = <24>;
 		};
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm: dts: omap: fix OMAP3 CM-T3x OF graph video connectors
From: Rob Herring @ 2018-05-08 13:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-1-robh@kernel.org>

The OMAP3 CM-T3x based boards define 2 /connector nodes for S-Video and
DVI output. However, since they have the same node name, the S-Video
connector overwritten. This leaves a dangling graph connection which
gives the following warning:

arch/arm/boot/dts/omap3-sbc-t3517.dtb: Warning (graph_endpoint): /ocp at 68000000/dss at 48050000/encoder at 48050c00/port/endpoint: graph connection to node '/connector/port/endpoint' is not bidirectional

Fix this by renaming the nodes to s-video-connector and dvi-connector.

Cc: "Beno?t Cousson" <bcousson@baylibre.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/boot/dts/omap3-cm-t3x.dtsi | 2 +-
 arch/arm/boot/dts/omap3-sb-t35.dtsi | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/omap3-cm-t3x.dtsi b/arch/arm/boot/dts/omap3-cm-t3x.dtsi
index 9dcb18d22cde..cdb632df152a 100644
--- a/arch/arm/boot/dts/omap3-cm-t3x.dtsi
+++ b/arch/arm/boot/dts/omap3-cm-t3x.dtsi
@@ -60,7 +60,7 @@
 		regulator-max-microvolt = <3300000>;
 	};
 
-	tv0: connector {
+	tv0: svideo-connector {
 		compatible = "svideo-connector";
 		label = "tv";
 
diff --git a/arch/arm/boot/dts/omap3-sb-t35.dtsi b/arch/arm/boot/dts/omap3-sb-t35.dtsi
index 22b4c8bdcc65..fb9842fa922c 100644
--- a/arch/arm/boot/dts/omap3-sb-t35.dtsi
+++ b/arch/arm/boot/dts/omap3-sb-t35.dtsi
@@ -34,7 +34,7 @@
 		};
 	};
 
-	dvi0: connector {
+	dvi0: dvi-connector {
 		compatible = "dvi-connector";
 		label = "dvi";
 
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm: dts: imx: fix IPU OF graph endpoint node names
From: Fabio Estevam @ 2018-05-08 14:06 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-2-robh@kernel.org>

Hi Rob,

On Tue, May 8, 2018 at 10:59 AM, Rob Herring <robh@kernel.org> wrote:

> diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
> index 18b65052553d..654cf2c9b073 100644
> --- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
> @@ -379,9 +379,6 @@
>                 powerdown-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* NANDF_WP_B */
>
>                 port {
> -                       #address-cells = <1>;
> -                       #size-cells = <0>;
> -
>                         ov5640_to_mipi_csi2: endpoint {
>                                 remote-endpoint = <&mipi_csi2_in>;
>                                 clock-lanes = <0>;
> diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> index f019f9900369..c2de2250718c 100644
> --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> @@ -294,9 +294,6 @@
>                 reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
>
>                 port {
> -                       #address-cells = <1>;
> -                       #size-cells = <0>;
> -
>                         ov5640_to_mipi_csi2: endpoint {

These two changes seem unrelated and I have already fixed them at:
https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git/commit/?h=imx/dt&id=1b215c73d1586e6f2586e9a6d6dfaf49cc142b3a

BTW, linux-next from today shows no W=1 DTC warnings on
imx_v6_v7_defconfig, but maybe new ones are coming soon :-)

^ permalink raw reply

* [PATCH] arm: dts: imx53: Fix LDB OF graph warning
From: Philipp Zabel @ 2018-05-08 14:16 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-3-robh@kernel.org>

On Tue, 2018-05-08 at 08:59 -0500, Rob Herring wrote:
> Single child nodes in OF graph don't need an address and now dtc will
> warn about this:
> 
> Warning (graph_child_address): /soc/aips at 50000000/ldb at 53fa8008/lvds-channel at 0: graph node has single child node 'port at 0', #address-cells/#size-cells are not necessary
> 
> Since the LDB should always have an output port, fix the warning by
> adding the output port, 2, to the DT.
> 
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  arch/arm/boot/dts/imx53.dtsi | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
> index 7d647d043f52..1cf2fc9d0a58 100644
> --- a/arch/arm/boot/dts/imx53.dtsi
> +++ b/arch/arm/boot/dts/imx53.dtsi
> @@ -488,6 +488,10 @@
>  							remote-endpoint = <&ipu_di0_lvds0>;
>  						};
>  					};
> +
> +					port at 2 {
> +						reg = <2>;
> +					};

Now that the reg property of port at 2 is added in the .dtsi, it could be
removed from the one .dts files that use it:

----------8<----------
--- a/arch/arm/boot/dts/imx53-ppd.dts
+++ b/arch/arm/boot/dts/imx53-ppd.dts
@@ -559,8 +559,6 @@
                status = "okay";
 
                port@2 {
-                       reg = <2>;
-
                        lvds0_out: endpoint {
                                remote-endpoint = <&panel_in_lvds0>;
                        };
---------->8----------

>  				};
>  
>  				lvds-channel at 1 {
> @@ -503,6 +507,10 @@
>  							remote-endpoint = <&ipu_di1_lvds1>;
>  						};
>  					};
> +
> +					port at 2 {
> +						reg = <2>;
> +					};
>  				};
>  			};
>  

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply

* [PATCH] arm: dts: imx: fix IPU OF graph endpoint node names
From: Philipp Zabel @ 2018-05-08 14:19 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508135930.5768-2-robh@kernel.org>

On Tue, 2018-05-08 at 08:59 -0500, Rob Herring wrote:
> OF graph endpoint nodes are supposed to be named 'endpoint' with an
> address if there is more than one. The i.MX IPU binding graph has used
> unique endpoint names instead which now generate dtc warnings:

This partially reverts commit 416196cd9099 ("ARM: dts: imx6: fix dtc
warnings for ipu endpoints") and also solves the same issue differently
by adding reg properties. Should this get a Fixes: tag for these
changes?

regards
Philipp

> Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/disp0-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/hdmi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/mipi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/lvds0-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 2/lvds1-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/disp1-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/hdmi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/mipi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/lvds0-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2400000/port at 3/lvds1-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/disp0-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/hdmi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/mipi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/lvds0-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 2/lvds1-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/hdmi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/mipi-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/lvds0-endpoint: graph endpont node name should be 'endpoint'
> Warning (graph_endpoint): /soc/ipu at 2800000/port at 3/lvds1-endpoint: graph endpont node name should be 'endpoint'
> 
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  arch/arm/boot/dts/imx6q.dtsi             | 27 ++++++++++++++-------
>  arch/arm/boot/dts/imx6qdl-sabrelite.dtsi |  3 ---
>  arch/arm/boot/dts/imx6qdl-sabresd.dtsi   |  3 ---
>  arch/arm/boot/dts/imx6qdl.dtsi           | 30 ++++++++++++++++--------
>  4 files changed, 38 insertions(+), 25 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
> index ae7b3f107893..c2fda9d21a17 100644
> --- a/arch/arm/boot/dts/imx6q.dtsi
> +++ b/arch/arm/boot/dts/imx6q.dtsi
> @@ -162,22 +162,27 @@
>  				#size-cells = <0>;
>  				reg = <2>;
>  
> -				ipu2_di0_disp0: disp0-endpoint {
> +				ipu2_di0_disp0: endpoint at 0 {
> +					reg = <0>;
>  				};
>  
> -				ipu2_di0_hdmi: hdmi-endpoint {
> +				ipu2_di0_hdmi: endpoint at 1 {
> +					reg = <1>;
>  					remote-endpoint = <&hdmi_mux_2>;
>  				};
>  
> -				ipu2_di0_mipi: mipi-endpoint {
> +				ipu2_di0_mipi: endpoint at 2 {
> +					reg = <2>;
>  					remote-endpoint = <&mipi_mux_2>;
>  				};
>  
> -				ipu2_di0_lvds0: lvds0-endpoint {
> +				ipu2_di0_lvds0: endpoint at 3 {
> +					reg = <3>;
>  					remote-endpoint = <&lvds0_mux_2>;
>  				};
>  
> -				ipu2_di0_lvds1: lvds1-endpoint {
> +				ipu2_di0_lvds1: endpoint at 4 {
> +					reg = <4>;
>  					remote-endpoint = <&lvds1_mux_2>;
>  				};
>  			};
> @@ -187,19 +192,23 @@
>  				#size-cells = <0>;
>  				reg = <3>;
>  
> -				ipu2_di1_hdmi: hdmi-endpoint {
> +				ipu2_di1_hdmi: endpoint at 1 {
> +					reg = <1>;
>  					remote-endpoint = <&hdmi_mux_3>;
>  				};
>  
> -				ipu2_di1_mipi: mipi-endpoint {
> +				ipu2_di1_mipi: endpoint at 2 {
> +					reg = <2>;
>  					remote-endpoint = <&mipi_mux_3>;
>  				};
>  
> -				ipu2_di1_lvds0: lvds0-endpoint {
> +				ipu2_di1_lvds0: endpoint at 3 {
> +					reg = <3>;
>  					remote-endpoint = <&lvds0_mux_3>;
>  				};
>  
> -				ipu2_di1_lvds1: lvds1-endpoint {
> +				ipu2_di1_lvds1: endpoint at 4 {
> +					reg = <4>;
>  					remote-endpoint = <&lvds1_mux_3>;
>  				};
>  			};
> diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
> index 18b65052553d..654cf2c9b073 100644
> --- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
> @@ -379,9 +379,6 @@
>  		powerdown-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* NANDF_WP_B */
>  
>  		port {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
>  			ov5640_to_mipi_csi2: endpoint {
>  				remote-endpoint = <&mipi_csi2_in>;
>  				clock-lanes = <0>;
> diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> index f019f9900369..c2de2250718c 100644
> --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> @@ -294,9 +294,6 @@
>  		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
>  
>  		port {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
>  			ov5640_to_mipi_csi2: endpoint {
>  				remote-endpoint = <&mipi_csi2_in>;
>  				clock-lanes = <0>;
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index c003e62bf290..0ebcf057961e 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -1300,22 +1300,27 @@
>  				#size-cells = <0>;
>  				reg = <2>;
>  
> -				ipu1_di0_disp0: disp0-endpoint {
> +				ipu1_di0_disp0: endpoint at 0 {
> +					reg = <0>;
>  				};
>  
> -				ipu1_di0_hdmi: hdmi-endpoint {
> +				ipu1_di0_hdmi: endpoint at 1 {
> +					reg = <1>;
>  					remote-endpoint = <&hdmi_mux_0>;
>  				};
>  
> -				ipu1_di0_mipi: mipi-endpoint {
> +				ipu1_di0_mipi: endpoint at 2 {
> +					reg = <2>;
>  					remote-endpoint = <&mipi_mux_0>;
>  				};
>  
> -				ipu1_di0_lvds0: lvds0-endpoint {
> +				ipu1_di0_lvds0: endpoint at 3 {
> +					reg = <3>;
>  					remote-endpoint = <&lvds0_mux_0>;
>  				};
>  
> -				ipu1_di0_lvds1: lvds1-endpoint {
> +				ipu1_di0_lvds1: endpoint at 4 {
> +					reg = <4>;
>  					remote-endpoint = <&lvds1_mux_0>;
>  				};
>  			};
> @@ -1325,22 +1330,27 @@
>  				#size-cells = <0>;
>  				reg = <3>;
>  
> -				ipu1_di1_disp1: disp1-endpoint {
> +				ipu1_di1_disp1: endpoint at 0 {
> +					reg = <0>;
>  				};
>  
> -				ipu1_di1_hdmi: hdmi-endpoint {
> +				ipu1_di1_hdmi: endpoint at 1 {
> +					reg = <1>;
>  					remote-endpoint = <&hdmi_mux_1>;
>  				};
>  
> -				ipu1_di1_mipi: mipi-endpoint {
> +				ipu1_di1_mipi: endpoint at 2 {
> +					reg = <2>;
>  					remote-endpoint = <&mipi_mux_1>;
>  				};
>  
> -				ipu1_di1_lvds0: lvds0-endpoint {
> +				ipu1_di1_lvds0: endpoint at 3 {
> +					reg = <3>;
>  					remote-endpoint = <&lvds0_mux_1>;
>  				};
>  
> -				ipu1_di1_lvds1: lvds1-endpoint {
> +				ipu1_di1_lvds1: endpoint at 4 {
> +					reg = <4>;
>  					remote-endpoint = <&lvds1_mux_1>;
>  				};
>  			};

^ permalink raw reply

* [PATCH v3] bus: arm-cci: remove unnecessary unreachable()
From: Stefan Agner @ 2018-05-08 14:27 UTC (permalink / raw)
  To: linux-arm-kernel

Mixing asm and C code is not recommended in a naked function by
gcc and leads to an error when using clang:
  drivers/bus/arm-cci.c:2107:2: error: non-ASM statement in naked
  function is not supported
        unreachable();
        ^

While the function is marked __naked it actually properly return
in asm. There is no need for the unreachable() call.

GCC 7.2 generates identical object files before and after, other
than (for obvious reasons) the line numbers generated by
WANT_WARN_ON_SLOWPATH for all the WARN()s appearing later in the
file.

Suggested-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
---
Changes in v3:
- Fix subject and enhance commit message
Changes in v2:
- Don't add assembly ASM_UNREACHABLE, just drop unreachable()

 drivers/bus/arm-cci.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
index 443e4c3fd357..b8184a903583 100644
--- a/drivers/bus/arm-cci.c
+++ b/drivers/bus/arm-cci.c
@@ -371,8 +371,6 @@ asmlinkage void __naked cci_enable_port_for_self(void)
 	[sizeof_struct_cpu_port] "i" (sizeof(struct cpu_port)),
 	[sizeof_struct_ace_port] "i" (sizeof(struct cci_ace_port)),
 	[offsetof_port_phys] "i" (offsetof(struct cci_ace_port, phys)) );
-
-	unreachable();
 }
 
 /**
-- 
2.17.0

^ permalink raw reply related

* [PATCH 01/11] irqchip: stm32: Optimizes and cleans up stm32-exti irq_domain
From: Marc Zyngier @ 2018-05-08 14:47 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1524759514-12392-2-git-send-email-ludovic.Barre@st.com>

On 26/04/18 17:18, Ludovic Barre wrote:
> From: radek <radoslaw.pietrzyk@gmail.com>
> 
> - In stm32_exti_alloc function, discards irq_domain_set_info
>   with handle_simple_irq. This overwrite the setting defined while init
>   of generic chips. Exti controller manages edge irq type.
> - Removes acking in chained irq handler as this is done by
>   irq_chip itself inside handle_edge_irq
> - removes unneeded irq_domain_ops.xlate callback
> 
> Signed-off-by: Radoslaw Pietrzyk <radoslaw.pietrzyk@gmail.com>
> Acked-by: Ludovic Barre <ludovic.barre@st.com>
> Tested-by: Ludovic Barre <ludovic.barre@st.com>
> Signed-off-by: Ludovic Barre <ludovic.barre@st.com>

Nit: the "From:" should match the SoB line (the address does, but not
the name). I can fix that up when I apply the series.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

^ permalink raw reply

* [PATCH] arm64: dts: juno: fix OF graph endpoint node names
From: Rob Herring @ 2018-05-08 15:09 UTC (permalink / raw)
  To: linux-arm-kernel

OF graph endpoint node names should be 'endpoint'. Fix the following
warnings found by dtc:

Warning (graph_endpoint): /hdlcd at 7ff50000/port/hdlcd1-endpoint: graph endpont node nameshould be 'endpoint'
Warning (graph_endpoint): /hdlcd at 7ff60000/port/hdlcd0-endpoint: graph endpont node nameshould be 'endpoint'
Warning (graph_endpoint): /i2c at 7ffa0000/hdmi-transmitter at 70/port/tda998x-0-endpoint: graph endpont node name should be 'endpoint'
Warning (graph_endpoint): /i2c at 7ffa0000/hdmi-transmitter at 71/port/tda998x-1-endpoint: graph endpont node name should be 'endpoint'

Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm64/boot/dts/arm/juno-base.dtsi | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
index eb749c50a736..b2fedaab3fcc 100644
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
@@ -677,7 +677,7 @@
 		clock-names = "pxlclk";
 
 		port {
-			hdlcd1_output: hdlcd1-endpoint {
+			hdlcd1_output: endpoint {
 				remote-endpoint = <&tda998x_1_input>;
 			};
 		};
@@ -692,7 +692,7 @@
 		clock-names = "pxlclk";
 
 		port {
-			hdlcd0_output: hdlcd0-endpoint {
+			hdlcd0_output: endpoint {
 				remote-endpoint = <&tda998x_0_input>;
 			};
 		};
@@ -720,7 +720,7 @@
 			compatible = "nxp,tda998x";
 			reg = <0x70>;
 			port {
-				tda998x_0_input: tda998x-0-endpoint {
+				tda998x_0_input: endpoint {
 					remote-endpoint = <&hdlcd0_output>;
 				};
 			};
@@ -730,7 +730,7 @@
 			compatible = "nxp,tda998x";
 			reg = <0x71>;
 			port {
-				tda998x_1_input: tda998x-1-endpoint {
+				tda998x_1_input: endpoint {
 					remote-endpoint = <&hdlcd1_output>;
 				};
 			};
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm64: dts: juno: fix missing Coresight STM graph connection
From: Rob Herring @ 2018-05-08 15:09 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508150952.24562-1-robh@kernel.org>

OF graph endpoint connections must be bidirectional. Fix 2 missing
connections to the STM output port:

arch/arm64/boot/dts/arm/juno-r1.dtb: Warning (graph_endpoint): /stm at 20100000/port/endpoint: graph connection to node '/funnel at 20130000/ports/port at 1/endpoint' is not bidirectional
arch/arm64/boot/dts/arm/juno-r2.dtb: Warning (graph_endpoint): /stm at 20100000/port/endpoint: graph connection to node '/funnel at 20130000/ports/port at 1/endpoint' is not bidirectional

Fixes: cde6f9ab10c6 ("arm64: dts: juno: add missing CoreSight STM component")
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm64/boot/dts/arm/juno-r1.dts | 4 ++++
 arch/arm64/boot/dts/arm/juno-r2.dts | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
index aed6389468c4..c52c5c40dede 100644
--- a/arch/arm64/boot/dts/arm/juno-r1.dts
+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
@@ -278,6 +278,10 @@
 	remote-endpoint = <&csys2_funnel_out_port>;
 };
 
+&csys1_funnel_in_port0 {
+	remote-endpoint = <&stm_out_port>;
+};
+
 &stm_out_port {
 	remote-endpoint = <&csys1_funnel_in_port0>;
 };
diff --git a/arch/arm64/boot/dts/arm/juno-r2.dts b/arch/arm64/boot/dts/arm/juno-r2.dts
index b39b6d6ec5aa..a90982ceda35 100644
--- a/arch/arm64/boot/dts/arm/juno-r2.dts
+++ b/arch/arm64/boot/dts/arm/juno-r2.dts
@@ -278,6 +278,10 @@
 	remote-endpoint = <&csys2_funnel_out_port>;
 };
 
+&csys1_funnel_in_port0 {
+	remote-endpoint = <&stm_out_port>;
+};
+
 &stm_out_port {
 	remote-endpoint = <&csys1_funnel_in_port0>;
 };
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm64: dts: msm8916: fix Coresight ETF graph connections
From: Rob Herring @ 2018-05-08 15:09 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508150952.24562-1-robh@kernel.org>

The ETF input should be connected to the funnel output, and the ETF
output should be connected to the replicator input. The labels are wrong
and these got swapped:

Warning (graph_endpoint): /soc/funnel at 821000/ports/port at 8/endpoint: graph connection to node '/soc/etf at 825000/ports/port at 1/endpoint' is not bidirectional
Warning (graph_endpoint): /soc/replicator at 824000/ports/port at 2/endpoint: graph connection to node '/soc/etf at 825000/ports/port at 0/endpoint' is not bidirectional

Fixes: 7c10da373698 ("arm64: dts: qcom: Add msm8916 CoreSight components")
Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Andy Gross <andy.gross@linaro.org>
Cc: David Brown <david.brown@linaro.org>
Cc: linux-arm-msm at vger.kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm64/boot/dts/qcom/msm8916.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 66b318e1de80..aef814b2dc9e 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -1191,14 +1191,14 @@
 
 				port at 0 {
 					reg = <0>;
-					etf_out: endpoint {
+					etf_in: endpoint {
 						slave-mode;
 						remote-endpoint = <&funnel0_out>;
 					};
 				};
 				port at 1 {
 					reg = <0>;
-					etf_in: endpoint {
+					etf_out: endpoint {
 						remote-endpoint = <&replicator_in>;
 					};
 				};
-- 
2.17.0

^ permalink raw reply related

* [PATCH] arm64: dts: sprd: fix typo in 'remote-endpoint'
From: Rob Herring @ 2018-05-08 15:09 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20180508150952.24562-1-robh@kernel.org>

dtc now warns on incomplete OF graph endpoint connections:

arch/arm64/boot/dts/sprd/sp9860g-1h10.dtb: Warning (graph_endpoint): /soc/stm at 10006000/port/endpoint: graph connection to node '/soc/funnel at 10001000/ports/port at 2/endpoint' is not bidirectional

The cause is a typo in 'remote-endpoint'.

Cc: Orson Zhai <orsonzhai@gmail.com>
Cc: Baolin Wang <baolin.wang@linaro.org>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm64/boot/dts/sprd/sc9860.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/sprd/sc9860.dtsi b/arch/arm64/boot/dts/sprd/sc9860.dtsi
index 5dbfb796d9f9..dcd03ffcda03 100644
--- a/arch/arm64/boot/dts/sprd/sc9860.dtsi
+++ b/arch/arm64/boot/dts/sprd/sc9860.dtsi
@@ -326,7 +326,7 @@
 					reg = <4>;
 					soc_funnel_in_port1: endpoint {
 						slave-mode;
-						remote-endpioint =
+						remote-endpoint =
 							<&stm_out_port>;
 					};
 				};
-- 
2.17.0

^ permalink raw reply related

* [PATCH 4/6] mm, arm64: untag user addresses in mm/gup.c
From: Catalin Marinas @ 2018-05-08 15:11 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <CAAeHK+yTbmZfkeNbqbo+J90zsjsM99rwnYBGfQBxphHMMfgD7A@mail.gmail.com>

On Wed, May 02, 2018 at 07:25:17PM +0200, Andrey Konovalov wrote:
> On Wed, May 2, 2018 at 5:36 PM, Kirill A. Shutemov
> <kirill.shutemov@linux.intel.com> wrote:
> > On Wed, May 02, 2018 at 02:38:42PM +0000, Andrey Konovalov wrote:
> >> > Does having a tagged address here makes any difference? I couldn't hit a
> >> > failure with my simple tests (LD_PRELOAD a library that randomly adds
> >> > tags to pointers returned by malloc).
> >>
> >> I think you're right, follow_page_mask is only called from
> >> __get_user_pages, which already untagged the address. I'll remove
> >> untagging here.
> >
> > It also called from follow_page(). Have you covered all its callers?
> 
> Oh, missed that, will take a look.
> 
> Thinking about that, would it make sense to add untagging to find_vma
> (and others) instead of trying to cover all find_vma callers?

I don't think adding the untagging to find_vma() is sufficient. In many
cases the caller does a subsequent check like 'start < vma->vm_start'
(see sys_msync() as an example, there are a few others as well). What I
did in my tests was a WARN_ON_ONCE() in find_vma() if the address is
tagged.

-- 
Catalin

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox