2016-11-24 06:08:56

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [GIT PULL 0/3] ARM: exynos: Second round for v4.10

Hi,

Second, probably last round of patches for v4.10.

Best regards,
Krzysztof



2016-11-24 06:09:04

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [GIT PULL 1/3] ARM: exynos: Soc/mach for v4.10

Hi,

This contains previous dts branch because SCU node in dts is needed
prior to removing it from mach code.

Below you will find full pull request and one stripped from dependency.


Best regards,
Krzysztof


The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:

Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-soc-4.10

for you to fetch changes up to c689de56c0a7c8387ea00509f94fa483ae61d979:

ARM: Drop fixed 200 Hz timer requirement from Samsung platforms (2016-11-23 19:34:55 +0200)

----------------------------------------------------------------
Samsung mach/soc update for v4.10:
1. Use SCU mapping from Device Tree instead of statically mapped one.
2. Drop fixed requirement for HZ=200 on Samsung platforms.

----------------------------------------------------------------
Javier Martinez Canillas (1):
ARM: dts: exynos: Document eMMC/SD/SDIO devices in Snow and Peach boards

Krzysztof Kozlowski (3):
ARM: dts: exynos: Remove exynos4415.dtsi
Merge tag 'samsung-dt-4.10' into next/soc
ARM: Drop fixed 200 Hz timer requirement from Samsung platforms

Pankaj Dubey (4):
ARM: EXYNOS: Remove smp_init_cpus hook from platsmp.c
ARM: dts: exynos: Add SCU device node to exynos4.dtsi
ARM: EXYNOS: Remove static mapping of SCU SFR
ARM: EXYNOS: Remove unused soc_is_exynos{4,5}

Randy Li (2):
ARM: dts: exynos: Add TOPEET itop core board SCP package version
ARM: dts: exynos: Add TOPEET itop elite based board

Sylwester Nawrocki (3):
ARM: dts: exynos: Remove "simple-bus" compatible from fimc-is node
ARM: dts: exynos: Add entries for sound support on Odroid-XU board
ARM: S3C24XX: Add DMA slave maps for remaining s3c24xx SoCs

.../bindings/arm/samsung/samsung-boards.txt | 3 +
arch/arm/Kconfig | 3 +-
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/exynos4.dtsi | 5 +
arch/arm/boot/dts/exynos4412-itop-elite.dts | 240 ++++++++
arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 501 ++++++++++++++++
arch/arm/boot/dts/exynos4415-pinctrl.dtsi | 575 ------------------
arch/arm/boot/dts/exynos4415.dtsi | 650 ---------------------
arch/arm/boot/dts/exynos4x12.dtsi | 2 +-
arch/arm/boot/dts/exynos5250-snow-common.dtsi | 4 +
arch/arm/boot/dts/exynos5410-odroidxu.dts | 69 +++
arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 9 +
arch/arm/boot/dts/exynos5410.dtsi | 59 ++
arch/arm/boot/dts/exynos5420-peach-pit.dts | 3 +
arch/arm/boot/dts/exynos5800-peach-pi.dts | 3 +
arch/arm/mach-exynos/common.h | 6 +-
arch/arm/mach-exynos/exynos.c | 22 -
arch/arm/mach-exynos/include/mach/map.h | 2 -
arch/arm/mach-exynos/platsmp.c | 65 +--
arch/arm/mach-exynos/pm.c | 4 +-
arch/arm/mach-exynos/suspend.c | 4 +-
arch/arm/mach-s3c24xx/common.c | 76 +++
arch/arm/plat-samsung/include/plat/map-s5p.h | 4 -
23 files changed, 1004 insertions(+), 1306 deletions(-)
create mode 100644 arch/arm/boot/dts/exynos4412-itop-elite.dts
create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
delete mode 100644 arch/arm/boot/dts/exynos4415-pinctrl.dtsi
delete mode 100644 arch/arm/boot/dts/exynos4415.dtsi


Pull request details for Soc only:
##################################
----------------------------------------------------------------
Samsung mach/soc update for v4.10:
1. Use SCU mapping from Device Tree instead of statically mapped one.
2. Drop fixed requirement for HZ=200 on Samsung platforms.

----------------------------------------------------------------
Krzysztof Kozlowski (1):
ARM: Drop fixed 200 Hz timer requirement from Samsung platforms

Pankaj Dubey (3):
ARM: EXYNOS: Remove static mapping of SCU SFR
ARM: EXYNOS: Remove unused soc_is_exynos{4,5}
ARM: EXYNOS: Remove smp_init_cpus hook from platsmp.c

Sylwester Nawrocki (1):
ARM: S3C24XX: Add DMA slave maps for remaining s3c24xx SoCs

2016-11-24 06:09:11

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [GIT PULL 2/3] ARM: dts: exynos: DT for v4.10, second round

Hi,

On top of previous pull/tag.

Possible trivial conflict:
--- a/arch/arm/boot/dts/exynos5440.dtsi
+++ b/arch/arm/boot/dts/exynos5440.dtsi
@@@ -197,10 -188,10 +197,10 @@@
};

gmac: ethernet@00230000 {
- compatible = "snps,dwmac-3.70a";
+ compatible = "snps,dwmac-3.70a", "snps,dwmac";
reg = <0x00230000 0x8000>;
interrupt-parent = <&gic>;
- interrupts = <0 31 4>;
+ interrupts = <GIC_SPI 31 4>;
interrupt-names = "macirq";
phy-mode = "sgmii";
clocks = <&clock CLK_GMAC0>;


Best regards,
Krzysztof


The following changes since commit 05a3589f46f913fbe91704f12fdca46a0eb0a27b:

ARM: dts: exynos: Add SCU device node to exynos4.dtsi (2016-11-05 17:39:50 +0200)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-dt-4.10-2

for you to fetch changes up to 79700041b37f0aca5da3ea27858ad6c42f99a474:

ARM: dts: exynos: Remove the cd-gpios property for eMMC of Odroid XU3/4 (2016-11-23 19:17:11 +0200)

----------------------------------------------------------------
Samsung DeviceTree second update for v4.10:
1. Cleanups in MSHC nodes.
2. Enable ADC on Odroid boards.
3. Fix interrupt flags on recently added DMA sound nodes in Exynos5410.

----------------------------------------------------------------
Jaehoon Chung (2):
ARM: dts: exynos: Replace "clock-freq-min-max" with "max-frequency"
ARM: dts: exynos: Remove the cd-gpios property for eMMC of Odroid XU3/4

Krzysztof Kozlowski (1):
ARM: dts: exynos: Fix invalid GIC interrupt flags in audio block of Exynos5410

Markus Reichl (1):
ARM: dts: exynos: Add ADCs on 4412 and 5422 based odroid boards.

Niklas Cassel (1):
ARM: dts: exynos: Specify snps, dwmac in compatible string for gmac

arch/arm/boot/dts/exynos3250-artik5-eval.dts | 2 +-
arch/arm/boot/dts/exynos3250-artik5.dtsi | 2 +-
arch/arm/boot/dts/exynos3250-monk.dts | 2 +-
arch/arm/boot/dts/exynos3250-rinato.dts | 2 +-
arch/arm/boot/dts/exynos4412-odroidx.dts | 5 +++++
arch/arm/boot/dts/exynos5410.dtsi | 4 ++--
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 12 +++++++++++-
arch/arm/boot/dts/exynos5440.dtsi | 2 +-
8 files changed, 23 insertions(+), 8 deletions(-)

2016-11-24 06:09:18

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [GIT PULL 3/3] arm64: dts: exynos: DT for v4.10, second round

Hi,

On top of previous pull/tag.

Best regards,
Krzysztof


The following changes since commit 8ac46fc57df82efbc19194dddd335b6c7a960c31:

arm64: dts: exynos: Add dts file for Exynos5433-based TM2E board (2016-11-03 22:19:57 +0200)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-dt64-4.10-2

for you to fetch changes up to 2a4c744fcb1549023478e4b9e724d268d8202158:

arm64: dts: exynos: Enable HS400 mode for eMMC for TM2 (2016-11-23 19:27:56 +0200)

----------------------------------------------------------------
Samsung DeviceTree arm64 second update for v4.10:
1. Add Performance Monitor Unit to Exynos7.
2. Add MFC, JPEG and Gscaler to Exynos5433 based TM2 board.
3. Cleanups and fixes for recently added TM2 and TM2E boards.

----------------------------------------------------------------
Alim Akhtar (1):
arm64: dts: Add ARM PMU node for exynos7

Jaehoon Chung (2):
arm64: dts: exynos: Add the mshc_2 node for supporting T-Flash
arm64: dts: exynos: Enable HS400 mode for eMMC for TM2

Marek Szyprowski (8):
arm64: dts: exynos: Fix IRQ type flags for Exynos5433 SoC
arm64: dts: exynos: Fix FSYS CMU parent clocks in Exynos5433 SoC
arm64: dts: exynos: Add missing parent clocks to audio block in Exynos5433 SoC
arm64: dts: exynos: Move FSYS CMU configuration from Exynos5433 dtsi to TM2 dts
arm64: dts: exynos: TM2 - remove unused UART3 and set clocks directly on CMU
arm64: dts: exynos: TM2 - add support for GScaler devices
arm64: dts: exynos: TM2 - add support for JPEG codec device
arm64: dts: exynos: TM2 - add support for MFC video codec device

Sylwester Nawrocki (1):
arm64: dts: exynos: Assign parent clock of the clkout clock for TM2 board

arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi | 22 +-
arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 85 +++++-
arch/arm64/boot/dts/exynos/exynos5433.dtsi | 286 ++++++++++++++-------
arch/arm64/boot/dts/exynos/exynos7.dtsi | 18 +-
4 files changed, 306 insertions(+), 105 deletions(-)

2016-11-30 21:40:43

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [GIT PULL 2/3] ARM: dts: exynos: DT for v4.10, second round

On Thursday, November 24, 2016 8:08:28 AM CET Krzysztof Kozlowski wrote:

> ----------------------------------------------------------------
> Samsung DeviceTree second update for v4.10:
> 1. Cleanups in MSHC nodes.
> 2. Enable ADC on Odroid boards.
> 3. Fix interrupt flags on recently added DMA sound nodes in Exynos5410.

Pulled into next/dt, thanks!

Arnd

2016-11-30 21:47:48

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [GIT PULL 3/3] arm64: dts: exynos: DT for v4.10, second round

On Thursday, November 24, 2016 8:08:29 AM CET Krzysztof Kozlowski wrote:
> Samsung DeviceTree arm64 second update for v4.10:
> 1. Add Performance Monitor Unit to Exynos7.
> 2. Add MFC, JPEG and Gscaler to Exynos5433 based TM2 board.
> 3. Cleanups and fixes for recently added TM2 and TM2E boards.
>
>

Pulled into next/dt64, thanks!

Arnd

2016-12-01 18:34:13

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [GIT PULL 1/3] ARM: exynos: Soc/mach for v4.10

On Thu, Nov 24, 2016 at 08:08:27AM +0200, Krzysztof Kozlowski wrote:
> Hi,
>
> This contains previous dts branch because SCU node in dts is needed
> prior to removing it from mach code.
>
> Below you will find full pull request and one stripped from dependency.
>

Hi Arnd, Kevin and Olof,

What about this pull from the set?

Best regards,
Krzysztof


> Best regards,
> Krzysztof
>
>
> The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
>
> Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-soc-4.10
>
> for you to fetch changes up to c689de56c0a7c8387ea00509f94fa483ae61d979:
>
> ARM: Drop fixed 200 Hz timer requirement from Samsung platforms (2016-11-23 19:34:55 +0200)
>
> ----------------------------------------------------------------
> Samsung mach/soc update for v4.10:
> 1. Use SCU mapping from Device Tree instead of statically mapped one.
> 2. Drop fixed requirement for HZ=200 on Samsung platforms.
>
> ----------------------------------------------------------------
> Javier Martinez Canillas (1):
> ARM: dts: exynos: Document eMMC/SD/SDIO devices in Snow and Peach boards
>
> Krzysztof Kozlowski (3):
> ARM: dts: exynos: Remove exynos4415.dtsi
> Merge tag 'samsung-dt-4.10' into next/soc
> ARM: Drop fixed 200 Hz timer requirement from Samsung platforms
>
> Pankaj Dubey (4):
> ARM: EXYNOS: Remove smp_init_cpus hook from platsmp.c
> ARM: dts: exynos: Add SCU device node to exynos4.dtsi
> ARM: EXYNOS: Remove static mapping of SCU SFR
> ARM: EXYNOS: Remove unused soc_is_exynos{4,5}
>
> Randy Li (2):
> ARM: dts: exynos: Add TOPEET itop core board SCP package version
> ARM: dts: exynos: Add TOPEET itop elite based board
>
> Sylwester Nawrocki (3):
> ARM: dts: exynos: Remove "simple-bus" compatible from fimc-is node
> ARM: dts: exynos: Add entries for sound support on Odroid-XU board
> ARM: S3C24XX: Add DMA slave maps for remaining s3c24xx SoCs
>
> .../bindings/arm/samsung/samsung-boards.txt | 3 +
> arch/arm/Kconfig | 3 +-
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/exynos4.dtsi | 5 +
> arch/arm/boot/dts/exynos4412-itop-elite.dts | 240 ++++++++
> arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 501 ++++++++++++++++
> arch/arm/boot/dts/exynos4415-pinctrl.dtsi | 575 ------------------
> arch/arm/boot/dts/exynos4415.dtsi | 650 ---------------------
> arch/arm/boot/dts/exynos4x12.dtsi | 2 +-
> arch/arm/boot/dts/exynos5250-snow-common.dtsi | 4 +
> arch/arm/boot/dts/exynos5410-odroidxu.dts | 69 +++
> arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 9 +
> arch/arm/boot/dts/exynos5410.dtsi | 59 ++
> arch/arm/boot/dts/exynos5420-peach-pit.dts | 3 +
> arch/arm/boot/dts/exynos5800-peach-pi.dts | 3 +
> arch/arm/mach-exynos/common.h | 6 +-
> arch/arm/mach-exynos/exynos.c | 22 -
> arch/arm/mach-exynos/include/mach/map.h | 2 -
> arch/arm/mach-exynos/platsmp.c | 65 +--
> arch/arm/mach-exynos/pm.c | 4 +-
> arch/arm/mach-exynos/suspend.c | 4 +-
> arch/arm/mach-s3c24xx/common.c | 76 +++
> arch/arm/plat-samsung/include/plat/map-s5p.h | 4 -
> 23 files changed, 1004 insertions(+), 1306 deletions(-)
> create mode 100644 arch/arm/boot/dts/exynos4412-itop-elite.dts
> create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
> delete mode 100644 arch/arm/boot/dts/exynos4415-pinctrl.dtsi
> delete mode 100644 arch/arm/boot/dts/exynos4415.dtsi
>
>
> Pull request details for Soc only:
> ##################################
> ----------------------------------------------------------------
> Samsung mach/soc update for v4.10:
> 1. Use SCU mapping from Device Tree instead of statically mapped one.
> 2. Drop fixed requirement for HZ=200 on Samsung platforms.
>
> ----------------------------------------------------------------
> Krzysztof Kozlowski (1):
> ARM: Drop fixed 200 Hz timer requirement from Samsung platforms
>
> Pankaj Dubey (3):
> ARM: EXYNOS: Remove static mapping of SCU SFR
> ARM: EXYNOS: Remove unused soc_is_exynos{4,5}
> ARM: EXYNOS: Remove smp_init_cpus hook from platsmp.c
>
> Sylwester Nawrocki (1):
> ARM: S3C24XX: Add DMA slave maps for remaining s3c24xx SoCs
>

2016-12-02 21:55:38

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [GIT PULL 1/3] ARM: exynos: Soc/mach for v4.10

On Thursday, December 1, 2016 8:34:04 PM CET Krzysztof Kozlowski wrote:
> On Thu, Nov 24, 2016 at 08:08:27AM +0200, Krzysztof Kozlowski wrote:
> > Hi,
> >
> > This contains previous dts branch because SCU node in dts is needed
> > prior to removing it from mach code.
> >
> > Below you will find full pull request and one stripped from dependency.
> >
>
> Hi Arnd, Kevin and Olof,
>
> What about this pull from the set?
>

Sorry, I initially deferred it and then didn't get back to it.

The dependency on the .dts changes made me a bit nervous about
taking it, mostly because the changelog fails to explain the
exact dependencies.

This breaks compatibility with existing .dtb files, right?
What I'd like to see here is an explanation about:

- what the upside of breaking compatibility is
- what exactly stops working with an old dtb
- why we don't keep a fallback for handling old dtb files

It would also be helpful to have a separate pull request for
the commits require the new dtb, and the stuff that is unrelated.

Arnd

2016-12-03 17:04:30

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [GIT PULL 1/3] ARM: exynos: Soc/mach for v4.10

On Fri, Dec 02, 2016 at 10:52:57PM +0100, Arnd Bergmann wrote:
> On Thursday, December 1, 2016 8:34:04 PM CET Krzysztof Kozlowski wrote:
> > On Thu, Nov 24, 2016 at 08:08:27AM +0200, Krzysztof Kozlowski wrote:
> > > Hi,
> > >
> > > This contains previous dts branch because SCU node in dts is needed
> > > prior to removing it from mach code.
> > >
> > > Below you will find full pull request and one stripped from dependency.
> > >
> >
> > Hi Arnd, Kevin and Olof,
> >
> > What about this pull from the set?
> >
>
> Sorry, I initially deferred it and then didn't get back to it.
>
> The dependency on the .dts changes made me a bit nervous about
> taking it, mostly because the changelog fails to explain the
> exact dependencies.
>
> This breaks compatibility with existing .dtb files, right?

No, strictly speaking not. There was no dt-bindings change here, no DT
properties for SCU before. We are converting our drivers to DTB so this
is the same as before when switching for pinctrl, clocks or all other
drivers to DT.

We are not braking DTB ABI because there was no ABI around it before.
Otherwise, one would say that lack of SCU DT node was an ABI. That is
wrong, because DT should describe the hardware and SCU is in hardware.

> What I'd like to see here is an explanation about:
>
> - what the upside of breaking compatibility is

DTBs which do not have SCU are not proper because they skip that part of
hardware. However we are breaking them in the way the SMP won't work
there. It is not an ABI break, as I mentioned above.

> - what exactly stops working with an old dtb
> - why we don't keep a fallback for handling old dtb files

What is the point for it? This is not an ABI break. Even if it was,
Samsung guys don't care for ABI breaks at all (and in fact we wanted to
mark the platform experimental...).

> It would also be helpful to have a separate pull request for
> the commits require the new dtb, and the stuff that is unrelated.

I can do that but the pull will be small.

Best regards,
Krzysztof

2016-12-08 15:28:26

by Pankaj Dubey

[permalink] [raw]
Subject: Re: [GIT PULL 1/3] ARM: exynos: Soc/mach for v4.10

On 3 December 2016 at 22:33, Krzysztof Kozlowski <[email protected]> wrote:
> On Fri, Dec 02, 2016 at 10:52:57PM +0100, Arnd Bergmann wrote:
>> On Thursday, December 1, 2016 8:34:04 PM CET Krzysztof Kozlowski wrote:
>> > On Thu, Nov 24, 2016 at 08:08:27AM +0200, Krzysztof Kozlowski wrote:
>> > > Hi,
>> > >
>> > > This contains previous dts branch because SCU node in dts is needed
>> > > prior to removing it from mach code.
>> > >
>> > > Below you will find full pull request and one stripped from dependency.
>> > >
>> >
>> > Hi Arnd, Kevin and Olof,
>> >
>> > What about this pull from the set?
>> >
>>
>> Sorry, I initially deferred it and then didn't get back to it.
>>
>> The dependency on the .dts changes made me a bit nervous about
>> taking it, mostly because the changelog fails to explain the
>> exact dependencies.
>>
>> This breaks compatibility with existing .dtb files, right?
>
> No, strictly speaking not. There was no dt-bindings change here, no DT
> properties for SCU before. We are converting our drivers to DTB so this
> is the same as before when switching for pinctrl, clocks or all other
> drivers to DT.
>
> We are not braking DTB ABI because there was no ABI around it before.
> Otherwise, one would say that lack of SCU DT node was an ABI. That is
> wrong, because DT should describe the hardware and SCU is in hardware.
>
>> What I'd like to see here is an explanation about:
>>
>> - what the upside of breaking compatibility is
>
> DTBs which do not have SCU are not proper because they skip that part of
> hardware. However we are breaking them in the way the SMP won't work
> there. It is not an ABI break, as I mentioned above.
>
>> - what exactly stops working with an old dtb
>> - why we don't keep a fallback for handling old dtb files
>
> What is the point for it? This is not an ABI break. Even if it was,
> Samsung guys don't care for ABI breaks at all (and in fact we wanted to
> mark the platform experimental...).
>
>> It would also be helpful to have a separate pull request for
>> the commits require the new dtb, and the stuff that is unrelated.
>
> I can do that but the pull will be small.
>

Arnd,

Any update on this? Intention of this change is to improve
Exynos SoC's DT support in mainline kernel. This will help in removing static
mapping from exynos machine files and simplify mach-exynos code-base.

Thanks,
Pankaj Dubey

> Best regards,
> Krzysztof
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2016-12-08 18:25:40

by Olof Johansson

[permalink] [raw]
Subject: Re: [GIT PULL 1/3] ARM: exynos: Soc/mach for v4.10

On Thu, Dec 8, 2016 at 7:28 AM, Pankaj Dubey <[email protected]> wrote:
> On 3 December 2016 at 22:33, Krzysztof Kozlowski <[email protected]> wrote:
>> On Fri, Dec 02, 2016 at 10:52:57PM +0100, Arnd Bergmann wrote:
>>> On Thursday, December 1, 2016 8:34:04 PM CET Krzysztof Kozlowski wrote:
>>> > On Thu, Nov 24, 2016 at 08:08:27AM +0200, Krzysztof Kozlowski wrote:
>>> > > Hi,
>>> > >
>>> > > This contains previous dts branch because SCU node in dts is needed
>>> > > prior to removing it from mach code.
>>> > >
>>> > > Below you will find full pull request and one stripped from dependency.
>>> > >
>>> >
>>> > Hi Arnd, Kevin and Olof,
>>> >
>>> > What about this pull from the set?
>>> >
>>>
>>> Sorry, I initially deferred it and then didn't get back to it.
>>>
>>> The dependency on the .dts changes made me a bit nervous about
>>> taking it, mostly because the changelog fails to explain the
>>> exact dependencies.
>>>
>>> This breaks compatibility with existing .dtb files, right?
>>
>> No, strictly speaking not. There was no dt-bindings change here, no DT
>> properties for SCU before. We are converting our drivers to DTB so this
>> is the same as before when switching for pinctrl, clocks or all other
>> drivers to DT.
>>
>> We are not braking DTB ABI because there was no ABI around it before.
>> Otherwise, one would say that lack of SCU DT node was an ABI. That is
>> wrong, because DT should describe the hardware and SCU is in hardware.
>>
>>> What I'd like to see here is an explanation about:
>>>
>>> - what the upside of breaking compatibility is
>>
>> DTBs which do not have SCU are not proper because they skip that part of
>> hardware. However we are breaking them in the way the SMP won't work
>> there. It is not an ABI break, as I mentioned above.
>>
>>> - what exactly stops working with an old dtb
>>> - why we don't keep a fallback for handling old dtb files
>>
>> What is the point for it? This is not an ABI break. Even if it was,
>> Samsung guys don't care for ABI breaks at all (and in fact we wanted to
>> mark the platform experimental...).
>>
>>> It would also be helpful to have a separate pull request for
>>> the commits require the new dtb, and the stuff that is unrelated.
>>
>> I can do that but the pull will be small.
>>
>
> Arnd,
>
> Any update on this? Intention of this change is to improve
> Exynos SoC's DT support in mainline kernel. This will help in removing static
> mapping from exynos machine files and simplify mach-exynos code-base.

Adding the SCU nodes now makes sense. So does using them if they're available.

Given the prevalence of exynos systems with DTS already out there, it
would make sense to give an overlap of making the kernel work without
the SCU in DT for a period of time.

This isn't like the old days of when we were mass-converting things
and breakage was expected. We're well into a steady state here, so
being nicer to downstream users is likely the right thing to do here.


-Olof

2016-12-08 18:46:19

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [GIT PULL 1/3] ARM: exynos: Soc/mach for v4.10

On Thu, Dec 08, 2016 at 10:25:35AM -0800, Olof Johansson wrote:
> On Thu, Dec 8, 2016 at 7:28 AM, Pankaj Dubey <[email protected]> wrote:
> > On 3 December 2016 at 22:33, Krzysztof Kozlowski <[email protected]> wrote:
> >> On Fri, Dec 02, 2016 at 10:52:57PM +0100, Arnd Bergmann wrote:
> >>>
> >>> Sorry, I initially deferred it and then didn't get back to it.
> >>>
> >>> The dependency on the .dts changes made me a bit nervous about
> >>> taking it, mostly because the changelog fails to explain the
> >>> exact dependencies.
> >>>
> >>> This breaks compatibility with existing .dtb files, right?
> >>
> >> No, strictly speaking not. There was no dt-bindings change here, no DT
> >> properties for SCU before. We are converting our drivers to DTB so this
> >> is the same as before when switching for pinctrl, clocks or all other
> >> drivers to DT.
> >>
> >> We are not braking DTB ABI because there was no ABI around it before.
> >> Otherwise, one would say that lack of SCU DT node was an ABI. That is
> >> wrong, because DT should describe the hardware and SCU is in hardware.
> >>
> >>> What I'd like to see here is an explanation about:
> >>>
> >>> - what the upside of breaking compatibility is
> >>
> >> DTBs which do not have SCU are not proper because they skip that part of
> >> hardware. However we are breaking them in the way the SMP won't work
> >> there. It is not an ABI break, as I mentioned above.
> >>
> >>> - what exactly stops working with an old dtb
> >>> - why we don't keep a fallback for handling old dtb files
> >>
> >> What is the point for it? This is not an ABI break. Even if it was,
> >> Samsung guys don't care for ABI breaks at all (and in fact we wanted to
> >> mark the platform experimental...).
> >>
> >>> It would also be helpful to have a separate pull request for
> >>> the commits require the new dtb, and the stuff that is unrelated.
> >>
> >> I can do that but the pull will be small.
> >>
> >
> > Arnd,
> >
> > Any update on this? Intention of this change is to improve
> > Exynos SoC's DT support in mainline kernel. This will help in removing static
> > mapping from exynos machine files and simplify mach-exynos code-base.
>
> Adding the SCU nodes now makes sense. So does using them if they're available.
>
> Given the prevalence of exynos systems with DTS already out there, it
> would make sense to give an overlap of making the kernel work without
> the SCU in DT for a period of time.
>
> This isn't like the old days of when we were mass-converting things
> and breakage was expected. We're well into a steady state here, so
> being nicer to downstream users is likely the right thing to do here.

I think that either we treat this as an ABI break, or just "being
nice to downstream".

In the first case, not breaking things would be a valid reason. But I
believe this is not an ABI break. ABI is about an interface, not about
being nice. The SCU should be defined by downstream users because this
is the description of the hardware. In the same time, kernel did not
document as an interface something like "there should be no SCU node
defined" so creating a requirement of SCU is not an breakage of existing
interface.

The second case then, being nice to downstream. Do we want to be nice or
do we want to push them to mainline? Okay, it is never black or white...
yet we should rather encourage downstream to mainline and creating
compatibility periods is rather opposite of that.

Best regards,
Krzysztof