* [PATCH 0/2] arm64: dts: uniphier: UniPhier DT updates for Linux 4.7-rc1
@ 2016-04-15 10:30 Masahiro Yamada
2016-04-15 10:30 ` [PATCH 1/2] arm64: dts: uniphier: fix I2C nodes of PH1-LD20 Masahiro Yamada
2016-04-15 10:30 ` [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table Masahiro Yamada
0 siblings, 2 replies; 8+ messages in thread
From: Masahiro Yamada @ 2016-04-15 10:30 UTC (permalink / raw)
To: arm
Cc: Masahiro Yamada, devicetree, Kumar Gala, linux-kernel,
Ian Campbell, Rob Herring, Pawel Moll, Will Deacon, Mark Rutland,
Catalin Marinas, linux-arm-kernel
Masahiro Yamada (2):
arm64: dts: uniphier: fix I2C nodes of PH1-LD20
arm64: dts: uniphier: change release address of spin-table
.../boot/dts/socionext/uniphier-ph1-ld20-ref.dts | 1 -
.../boot/dts/socionext/uniphier-ph1-ld20.dtsi | 28 +++++++---------------
2 files changed, 9 insertions(+), 20 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] arm64: dts: uniphier: fix I2C nodes of PH1-LD20
2016-04-15 10:30 [PATCH 0/2] arm64: dts: uniphier: UniPhier DT updates for Linux 4.7-rc1 Masahiro Yamada
@ 2016-04-15 10:30 ` Masahiro Yamada
2016-04-23 20:09 ` Arnd Bergmann
2016-04-15 10:30 ` [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table Masahiro Yamada
1 sibling, 1 reply; 8+ messages in thread
From: Masahiro Yamada @ 2016-04-15 10:30 UTC (permalink / raw)
To: arm
Cc: Masahiro Yamada, devicetree, Kumar Gala, linux-kernel,
Ian Campbell, Rob Herring, Pawel Moll, Will Deacon, Mark Rutland,
Catalin Marinas, linux-arm-kernel
The I2C hardware blocks on this SoC are connected as follows:
I2C0: external connection
I2C1: external connection
I2C2: internal connection
I2C3: external connection
I2C4: external connection
I2C5: internal connection
I2C6: no connection (not accessible)
Delete pinctrl from Ch2, add pinctrl to Ch4, and remove the Ch6 node.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
.../boot/dts/socionext/uniphier-ph1-ld20-ref.dts | 1 -
arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi | 20 +++++---------------
2 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20-ref.dts b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20-ref.dts
index 727ae5f..b0ed443 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20-ref.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20-ref.dts
@@ -70,7 +70,6 @@
i2c3 = &i2c3;
i2c4 = &i2c4;
i2c5 = &i2c5;
- i2c6 = &i2c6;
};
};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
index e682a3f..651c9d9 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
@@ -201,15 +201,12 @@
i2c2: i2c@58782000 {
compatible = "socionext,uniphier-fi2c";
- status = "disabled";
reg = <0x58782000 0x80>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <0 43 4>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c2>;
clocks = <&i2c_clk>;
- clock-frequency = <100000>;
+ clock-frequency = <400000>;
};
i2c3: i2c@58783000 {
@@ -227,12 +224,15 @@
i2c4: i2c@58784000 {
compatible = "socionext,uniphier-fi2c";
+ status = "disabled";
reg = <0x58784000 0x80>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <0 45 4>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c4>;
clocks = <&i2c_clk>;
- clock-frequency = <400000>;
+ clock-frequency = <100000>;
};
i2c5: i2c@58785000 {
@@ -245,16 +245,6 @@
clock-frequency = <400000>;
};
- i2c6: i2c@58786000 {
- compatible = "socionext,uniphier-fi2c";
- reg = <0x58786000 0x80>;
- #address-cells = <1>;
- #size-cells = <0>;
- interrupts = <0 26 4>;
- clocks = <&i2c_clk>;
- clock-frequency = <400000>;
- };
-
system_bus: system-bus@58c00000 {
compatible = "socionext,uniphier-system-bus";
status = "disabled";
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table
2016-04-15 10:30 [PATCH 0/2] arm64: dts: uniphier: UniPhier DT updates for Linux 4.7-rc1 Masahiro Yamada
2016-04-15 10:30 ` [PATCH 1/2] arm64: dts: uniphier: fix I2C nodes of PH1-LD20 Masahiro Yamada
@ 2016-04-15 10:30 ` Masahiro Yamada
2016-04-15 13:05 ` Mark Rutland
1 sibling, 1 reply; 8+ messages in thread
From: Masahiro Yamada @ 2016-04-15 10:30 UTC (permalink / raw)
To: arm
Cc: Masahiro Yamada, devicetree, Kumar Gala, linux-kernel,
Ian Campbell, Rob Herring, Pawel Moll, Will Deacon, Mark Rutland,
Catalin Marinas, linux-arm-kernel
The 8-byte register located at 0x59801200 on this SoC is dedicated
for waking up secondary CPUs. We can use it and save normal memory.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
index 651c9d9..f73b09e 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
@@ -77,7 +77,7 @@
compatible = "arm,cortex-a72", "arm,armv8";
reg = <0 0x000>;
enable-method = "spin-table";
- cpu-release-addr = <0 0x80000100>;
+ cpu-release-addr = <0 0x59801200>;
};
cpu1: cpu@1 {
@@ -85,7 +85,7 @@
compatible = "arm,cortex-a72", "arm,armv8";
reg = <0 0x001>;
enable-method = "spin-table";
- cpu-release-addr = <0 0x80000100>;
+ cpu-release-addr = <0 0x59801200>;
};
cpu2: cpu@100 {
@@ -93,7 +93,7 @@
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0 0x100>;
enable-method = "spin-table";
- cpu-release-addr = <0 0x80000100>;
+ cpu-release-addr = <0 0x59801200>;
};
cpu3: cpu@101 {
@@ -101,7 +101,7 @@
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0 0x101>;
enable-method = "spin-table";
- cpu-release-addr = <0 0x80000100>;
+ cpu-release-addr = <0 0x59801200>;
};
};
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table
2016-04-15 10:30 ` [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table Masahiro Yamada
@ 2016-04-15 13:05 ` Mark Rutland
2016-04-15 13:13 ` Masahiro Yamada
0 siblings, 1 reply; 8+ messages in thread
From: Mark Rutland @ 2016-04-15 13:05 UTC (permalink / raw)
To: Masahiro Yamada
Cc: arm, devicetree, Kumar Gala, linux-kernel, Ian Campbell,
Rob Herring, Pawel Moll, Will Deacon, Catalin Marinas,
linux-arm-kernel
On Fri, Apr 15, 2016 at 07:30:47PM +0900, Masahiro Yamada wrote:
> The 8-byte register located at 0x59801200 on this SoC is dedicated
> for waking up secondary CPUs. We can use it and save normal memory.
Generally, it is not safe to use MMIO registers to back spin-table. The
kernel maps the spin table location with cacheable attributes, so there
may be speculative accesses to any registes in the same (64K) page, and
a writeback may be larger than the 8-byte register width (which the
device might not accept, triggering an SError).
Given that, I do not think this is a good idea.
Thanks,
Mark.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
> index 651c9d9..f73b09e 100644
> --- a/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
> +++ b/arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi
> @@ -77,7 +77,7 @@
> compatible = "arm,cortex-a72", "arm,armv8";
> reg = <0 0x000>;
> enable-method = "spin-table";
> - cpu-release-addr = <0 0x80000100>;
> + cpu-release-addr = <0 0x59801200>;
> };
>
> cpu1: cpu@1 {
> @@ -85,7 +85,7 @@
> compatible = "arm,cortex-a72", "arm,armv8";
> reg = <0 0x001>;
> enable-method = "spin-table";
> - cpu-release-addr = <0 0x80000100>;
> + cpu-release-addr = <0 0x59801200>;
> };
>
> cpu2: cpu@100 {
> @@ -93,7 +93,7 @@
> compatible = "arm,cortex-a53", "arm,armv8";
> reg = <0 0x100>;
> enable-method = "spin-table";
> - cpu-release-addr = <0 0x80000100>;
> + cpu-release-addr = <0 0x59801200>;
> };
>
> cpu3: cpu@101 {
> @@ -101,7 +101,7 @@
> compatible = "arm,cortex-a53", "arm,armv8";
> reg = <0 0x101>;
> enable-method = "spin-table";
> - cpu-release-addr = <0 0x80000100>;
> + cpu-release-addr = <0 0x59801200>;
> };
> };
>
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table
2016-04-15 13:05 ` Mark Rutland
@ 2016-04-15 13:13 ` Masahiro Yamada
2016-04-15 18:48 ` Arnd Bergmann
0 siblings, 1 reply; 8+ messages in thread
From: Masahiro Yamada @ 2016-04-15 13:13 UTC (permalink / raw)
To: Mark Rutland
Cc: arm, devicetree, Kumar Gala, Linux Kernel Mailing List,
Ian Campbell, Rob Herring, Pawel Moll, Will Deacon,
Catalin Marinas, linux-arm-kernel
Hi Mark.
2016-04-15 22:05 GMT+09:00 Mark Rutland <mark.rutland@arm.com>:
> On Fri, Apr 15, 2016 at 07:30:47PM +0900, Masahiro Yamada wrote:
>> The 8-byte register located at 0x59801200 on this SoC is dedicated
>> for waking up secondary CPUs. We can use it and save normal memory.
>
> Generally, it is not safe to use MMIO registers to back spin-table. The
> kernel maps the spin table location with cacheable attributes, so there
> may be speculative accesses to any registes in the same (64K) page, and
> a writeback may be larger than the 8-byte register width (which the
> device might not accept, triggering an SError).
>
> Given that, I do not think this is a good idea.
I did not know this. Thanks for your advice!
Arnd, Olof
Please drop this patch.
(I think 1/2 is still OK.)
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table
2016-04-15 13:13 ` Masahiro Yamada
@ 2016-04-15 18:48 ` Arnd Bergmann
2016-04-16 14:47 ` Masahiro Yamada
0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2016-04-15 18:48 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Mark Rutland, arm, devicetree, Kumar Gala,
Linux Kernel Mailing List, Ian Campbell, Rob Herring, Pawel Moll,
Will Deacon, Catalin Marinas, linux-arm-kernel
On Friday 15 April 2016 22:13:55 Masahiro Yamada wrote:
> 2016-04-15 22:05 GMT+09:00 Mark Rutland <mark.rutland@arm.com>:
> > On Fri, Apr 15, 2016 at 07:30:47PM +0900, Masahiro Yamada wrote:
> >> The 8-byte register located at 0x59801200 on this SoC is dedicated
> >> for waking up secondary CPUs. We can use it and save normal memory.
> >
> > Generally, it is not safe to use MMIO registers to back spin-table. The
> > kernel maps the spin table location with cacheable attributes, so there
> > may be speculative accesses to any registes in the same (64K) page, and
> > a writeback may be larger than the 8-byte register width (which the
> > device might not accept, triggering an SError).
> >
> > Given that, I do not think this is a good idea.
>
> I did not know this. Thanks for your advice!
>
>
> Arnd, Olof
>
> Please drop this patch.
> (I think 1/2 is still OK.)
>
Should patch 1 be applied as a bugfix for 4.6 instead?
Arnd
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table
2016-04-15 18:48 ` Arnd Bergmann
@ 2016-04-16 14:47 ` Masahiro Yamada
0 siblings, 0 replies; 8+ messages in thread
From: Masahiro Yamada @ 2016-04-16 14:47 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mark Rutland, devicetree, Pawel Moll, Ian Campbell,
Catalin Marinas, Will Deacon, Linux Kernel Mailing List,
Rob Herring, arm, Kumar Gala, linux-arm-kernel
Hi Arnd,
2016-04-16 3:48 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Friday 15 April 2016 22:13:55 Masahiro Yamada wrote:
>> 2016-04-15 22:05 GMT+09:00 Mark Rutland <mark.rutland@arm.com>:
>> > On Fri, Apr 15, 2016 at 07:30:47PM +0900, Masahiro Yamada wrote:
>> >> The 8-byte register located at 0x59801200 on this SoC is dedicated
>> >> for waking up secondary CPUs. We can use it and save normal memory.
>> >
>> > Generally, it is not safe to use MMIO registers to back spin-table. The
>> > kernel maps the spin table location with cacheable attributes, so there
>> > may be speculative accesses to any registes in the same (64K) page, and
>> > a writeback may be larger than the 8-byte register width (which the
>> > device might not accept, triggering an SError).
>> >
>> > Given that, I do not think this is a good idea.
>>
>> I did not know this. Thanks for your advice!
>>
>>
>> Arnd, Olof
>>
>> Please drop this patch.
>> (I think 1/2 is still OK.)
>>
>
> Should patch 1 be applied as a bugfix for 4.6 instead?
>
Yes, please!
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] arm64: dts: uniphier: fix I2C nodes of PH1-LD20
2016-04-15 10:30 ` [PATCH 1/2] arm64: dts: uniphier: fix I2C nodes of PH1-LD20 Masahiro Yamada
@ 2016-04-23 20:09 ` Arnd Bergmann
0 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2016-04-23 20:09 UTC (permalink / raw)
To: Masahiro Yamada
Cc: arm, devicetree, Kumar Gala, linux-kernel, Ian Campbell,
Rob Herring, Pawel Moll, Will Deacon, Mark Rutland,
Catalin Marinas, linux-arm-kernel
On Friday 15 April 2016 19:30:46 Masahiro Yamada wrote:
> The I2C hardware blocks on this SoC are connected as follows:
>
> I2C0: external connection
> I2C1: external connection
> I2C2: internal connection
> I2C3: external connection
> I2C4: external connection
> I2C5: internal connection
> I2C6: no connection (not accessible)
>
> Delete pinctrl from Ch2, add pinctrl to Ch4, and remove the Ch6 node.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>
Applied patch 1/2 to the fixes branch now, thanks!
Arnd
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-04-23 20:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-15 10:30 [PATCH 0/2] arm64: dts: uniphier: UniPhier DT updates for Linux 4.7-rc1 Masahiro Yamada
2016-04-15 10:30 ` [PATCH 1/2] arm64: dts: uniphier: fix I2C nodes of PH1-LD20 Masahiro Yamada
2016-04-23 20:09 ` Arnd Bergmann
2016-04-15 10:30 ` [PATCH 2/2] arm64: dts: uniphier: change release address of spin-table Masahiro Yamada
2016-04-15 13:05 ` Mark Rutland
2016-04-15 13:13 ` Masahiro Yamada
2016-04-15 18:48 ` Arnd Bergmann
2016-04-16 14:47 ` Masahiro Yamada
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).