mbox series

[GIT,PULL,2/3] bcm2835-soc-next-2019-10-15

Message ID 1571159725-5090-2-git-send-email-wahrenst@gmx.net
State New
Headers show
Series [GIT,PULL,1/3] bcm2835-dt-next-2019-10-15 | expand

Pull-request

git://github.com/anholt/linux tags/bcm2835-soc-next-2019-10-15

Message

Stefan Wahren Oct. 15, 2019, 5:15 p.m. UTC
Hi Florian,

The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:

  Linux 5.4-rc1 (2019-09-30 10:35:40 -0700)

are available in the git repository at:

  git://github.com/anholt/linux tags/bcm2835-soc-next-2019-10-15

for you to fetch changes up to 781fa0a954240c8487683ddf837fb2c4ede8e7ca:

  ARM: bcm: Add support for BCM2711 SoC (2019-10-10 19:21:03 +0200)

----------------------------------------------------------------
This pull request introduces the machine board code for the BCM2711,
which is placed on the Raspberry Pi 4.

----------------------------------------------------------------
Stefan Wahren (1):
      ARM: bcm: Add support for BCM2711 SoC

 arch/arm/mach-bcm/Kconfig    |  4 +++-
 arch/arm/mach-bcm/Makefile   |  3 ++-
 arch/arm/mach-bcm/bcm2711.c  | 24 ++++++++++++++++++++++++
 arch/arm64/Kconfig.platforms |  5 +++--
 4 files changed, 32 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/mach-bcm/bcm2711.c

Comments

Florian Fainelli Oct. 18, 2019, 5:22 p.m. UTC | #1
On 10/15/19 10:15 AM, Stefan Wahren wrote:
> Hi Florian,
> 
> The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:
> 
>   Linux 5.4-rc1 (2019-09-30 10:35:40 -0700)
> 
> are available in the git repository at:
> 
>   git://github.com/anholt/linux tags/bcm2835-soc-next-2019-10-15
> 
> for you to fetch changes up to 781fa0a954240c8487683ddf837fb2c4ede8e7ca:
> 
>   ARM: bcm: Add support for BCM2711 SoC (2019-10-10 19:21:03 +0200)
> 
> ----------------------------------------------------------------
> This pull request introduces the machine board code for the BCM2711,
> which is placed on the Raspberry Pi 4.

Merged into soc/next, thanks Stefan!
H. Nikolaus Schaller Dec. 14, 2019, 10:54 a.m. UTC | #2
Hi Stefan,

> Am 15.10.2019 um 19:15 schrieb Stefan Wahren <wahrenst@gmx.net>:
> 
> Hi Florian,
> 
> The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:
> 
>  Linux 5.4-rc1 (2019-09-30 10:35:40 -0700)
> 
> are available in the git repository at:
> 
>  git://github.com/anholt/linux tags/bcm2835-soc-next-2019-10-15
> 
> for you to fetch changes up to 781fa0a954240c8487683ddf837fb2c4ede8e7ca:
> 
>  ARM: bcm: Add support for BCM2711 SoC (2019-10-10 19:21:03 +0200)

this patch has finally arrived in v5.5-rc1 but it seems to break
multiplatform build.

We run a distribution kernel that supports OMAP3/4/5, i.MX6 and RasPi 3B+
but since rebasing to v5.5-rc1 the kernel hangs after "Starting Kernel ...".
On all ARM devices (incl. RasPi 3B+).

Playing with our defconfig did show that deconfiguring CONFIG_ARCH_BCM2835
makes the kernel work again.

After further analysis it turns out that reverting this patch also
makes the boards work again.

I am not exactly sure what the reason is, but it may have something to
do with the new auto-selection of CONFIG_ZONE_DMA which is not automatically
selected by OMAP and i.MX6.

To reproduce on some OMAP device (i.MX6 should be similar)

1st test:

git checkout v5.5-rc1
make omap2plus_defconfig

=> boots OMAP device

2nd test:

( echo CONFIG_ARCH_BCM2835=y; echo CONFIG_ARCH_BCM=y ) >>arch/arm/configs/omap2plus_defconfig
make omap2plus_defconfig

=> fails to boot OMAP device

3rd test:

git revert 781fa0a954240c8487683ddf837fb2c4ede8e7ca
make omap2plus_defconfig

=> boots OMAP device

BTW: the RasPi 3B+ runs equally well without this patch. So what is it
good for?

So please check and fix this patch.

> ----------------------------------------------------------------
> This pull request introduces the machine board code for the BCM2711,
> which is placed on the Raspberry Pi 4.
> 
> ----------------------------------------------------------------
> Stefan Wahren (1):
>      ARM: bcm: Add support for BCM2711 SoC
> 
> arch/arm/mach-bcm/Kconfig    |  4 +++-
> arch/arm/mach-bcm/Makefile   |  3 ++-
> arch/arm/mach-bcm/bcm2711.c  | 24 ++++++++++++++++++++++++
> arch/arm64/Kconfig.platforms |  5 +++--
> 4 files changed, 32 insertions(+), 4 deletions(-)
> create mode 100644 arch/arm/mach-bcm/bcm2711.c

BR and thanks,
Nikolaus Schaller
Russell King (Oracle) Dec. 14, 2019, 12:59 p.m. UTC | #3
On Sat, Dec 14, 2019 at 11:54:19AM +0100, H. Nikolaus Schaller wrote:
> Hi Stefan,
> 
> > Am 15.10.2019 um 19:15 schrieb Stefan Wahren <wahrenst@gmx.net>:
> > 
> > Hi Florian,
> > 
> > The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:
> > 
> >  Linux 5.4-rc1 (2019-09-30 10:35:40 -0700)
> > 
> > are available in the git repository at:
> > 
> >  git://github.com/anholt/linux tags/bcm2835-soc-next-2019-10-15
> > 
> > for you to fetch changes up to 781fa0a954240c8487683ddf837fb2c4ede8e7ca:
> > 
> >  ARM: bcm: Add support for BCM2711 SoC (2019-10-10 19:21:03 +0200)
> 
> this patch has finally arrived in v5.5-rc1 but it seems to break
> multiplatform build.
> 
> We run a distribution kernel that supports OMAP3/4/5, i.MX6 and RasPi 3B+
> but since rebasing to v5.5-rc1 the kernel hangs after "Starting Kernel ...".
> On all ARM devices (incl. RasPi 3B+).
> 
> Playing with our defconfig did show that deconfiguring CONFIG_ARCH_BCM2835
> makes the kernel work again.
> 
> After further analysis it turns out that reverting this patch also
> makes the boards work again.
> 
> I am not exactly sure what the reason is, but it may have something to
> do with the new auto-selection of CONFIG_ZONE_DMA which is not automatically
> selected by OMAP and i.MX6.
> 
> To reproduce on some OMAP device (i.MX6 should be similar)
> 
> 1st test:
> 
> git checkout v5.5-rc1
> make omap2plus_defconfig
> 
> => boots OMAP device
> 
> 2nd test:
> 
> ( echo CONFIG_ARCH_BCM2835=y; echo CONFIG_ARCH_BCM=y ) >>arch/arm/configs/omap2plus_defconfig
> make omap2plus_defconfig
> 
> => fails to boot OMAP device
> 
> 3rd test:
> 
> git revert 781fa0a954240c8487683ddf837fb2c4ede8e7ca
> make omap2plus_defconfig
> 
> => boots OMAP device
> 
> BTW: the RasPi 3B+ runs equally well without this patch. So what is it
> good for?
> 
> So please check and fix this patch.

Enabling ZONE_DMA shouldn't cause this problem - but as it does, please
enable memblock debugging and early console, and please send any boot
messages you can get from the system when it fails to boot.  Also
having a successful boot log may be useful.

Thanks.
Stefan Wahren Dec. 14, 2019, 4:54 p.m. UTC | #4
Hi Nikolaus,

[add Nicolas as the new BCM2835 maintainer]

Am 14.12.19 um 11:54 schrieb H. Nikolaus Schaller:
> Hi Stefan,
>
>> Am 15.10.2019 um 19:15 schrieb Stefan Wahren <wahrenst@gmx.net>:
>>
>> Hi Florian,
>>
>> The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:
>>
>>  Linux 5.4-rc1 (2019-09-30 10:35:40 -0700)
>>
>> are available in the git repository at:
>>
>>  git://github.com/anholt/linux tags/bcm2835-soc-next-2019-10-15
>>
>> for you to fetch changes up to 781fa0a954240c8487683ddf837fb2c4ede8e7ca:
>>
>>  ARM: bcm: Add support for BCM2711 SoC (2019-10-10 19:21:03 +0200)
> this patch has finally arrived in v5.5-rc1 but it seems to break
> multiplatform build.
>
> We run a distribution kernel that supports OMAP3/4/5, i.MX6 and RasPi 3B+
> but since rebasing to v5.5-rc1 the kernel hangs after "Starting Kernel ...".
> On all ARM devices (incl. RasPi 3B+).

i wasn't able to reproduce this issue with the RPi 3B+ so far and i
don't have any OMAP hardware:

Linux 5.3 (bcm2835_defconfig) + FW 2019-02-12 => okay
Linux 5.3 (bcm2835_defconfig + ZONE_DMA) + FW 2019-02-12 => okay
Linux 5.5-rc1 (bcm2835_defconfig) + FW 2019-02-12 => okay
Linux 5.5-rc1 (multi_v7_defconfig) + FW 2019-02-12 => okay

So please provide more information about your RPi 3B+ setup:

- VC firmware version
- additional bootloader (U-Boot)
- boot source (SD card, USB, network)
- kernel config

Did you tested the mainline kernel or the letux kernel?

Best regards
Stefan
H. Nikolaus Schaller Dec. 14, 2019, 8:02 p.m. UTC | #5
Hi all,
I think I have found the issue, it is not ZONE_DMA, see below.

> Am 14.12.2019 um 17:54 schrieb Stefan Wahren <wahrenst@gmx.net>:
> 
> Hi Nikolaus,
> 
> [add Nicolas as the new BCM2835 maintainer]
> 
> Am 14.12.19 um 11:54 schrieb H. Nikolaus Schaller:
>> Hi Stefan,
>> 
>>> Am 15.10.2019 um 19:15 schrieb Stefan Wahren <wahrenst@gmx.net>:
>>> 
>>> Hi Florian,
>>> 
>>> The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:
>>> 
>>> Linux 5.4-rc1 (2019-09-30 10:35:40 -0700)
>>> 
>>> are available in the git repository at:
>>> 
>>> git://github.com/anholt/linux tags/bcm2835-soc-next-2019-10-15
>>> 
>>> for you to fetch changes up to 781fa0a954240c8487683ddf837fb2c4ede8e7ca:
>>> 
>>> ARM: bcm: Add support for BCM2711 SoC (2019-10-10 19:21:03 +0200)
>> this patch has finally arrived in v5.5-rc1 but it seems to break
>> multiplatform build.
>> 
>> We run a distribution kernel that supports OMAP3/4/5, i.MX6 and RasPi 3B+
>> but since rebasing to v5.5-rc1 the kernel hangs after "Starting Kernel ...".
>> On all ARM devices (incl. RasPi 3B+).
> 
> i wasn't able to reproduce this issue with the RPi 3B+ so far and i
> don't have any OMAP hardware:
> 
> Linux 5.3 (bcm2835_defconfig) + FW 2019-02-12 => okay
> Linux 5.3 (bcm2835_defconfig + ZONE_DMA) + FW 2019-02-12 => okay
> Linux 5.5-rc1 (bcm2835_defconfig) + FW 2019-02-12 => okay
> Linux 5.5-rc1 (multi_v7_defconfig) + FW 2019-02-12 => okay
> 
> So please provide more information about your RPi 3B+ setup:
> 
> - VC firmware version
> - additional bootloader (U-Boot)
> - boot source (SD card, USB, network)
> - kernel config
> 
> Did you tested the mainline kernel or the letux kernel?

On the OMAP I did test the mainline kernel with omap2plus_defconfig.
RasPi 3B+ experiment was with Letux kernel and config.


But I was lucky to find the issue by code inspection:

bcm2711_compat[] is missing a NULL sentinel.

Therefore, enabling CONFIG_ARCH_BCM2835 is sufficient to trigger the
problem unless you may have been lucky getting something starting with
a NULL packed after it on your bcm2835_defconfig or multi_v7_defconfig
build.

Patch submitted.

BR,
Nikolaus