Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jul 2019 09:44:32 +0200
From:      Emmanuel Vadot <manu@bidouilliste.com>
To:        Milan Obuch <freebsd-arm@dino.sk>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Pine64 (LTS) HDMI trouble with UHD display
Message-ID:  <20190718094432.6c868b59ace49b078ce07c16@bidouilliste.com>
In-Reply-To: <20190718091204.410aaedd@zeta.dino.sk>
References:  <20190718091204.410aaedd@zeta.dino.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 18 Jul 2019 09:12:04 +0200
Milan Obuch <freebsd-arm@dino.sk> wrote:

> Hi,
> 
> as I have now basically working FreeBSD-CURRENT on Pine64-LTS, I
> decided to try a 4K monitor via HDMI. This does not work with strange
> output, to me. This is what I captured from serial console, trying
> verbose boot after escaping to loader prompt:
> 
> --- captured begin ---
> 
> Type '?' for a list of commands, 'help' for more detailed help.
> OK boot -vs
> Using DTB provided by EFI at 0x47ef5000.
> Loading DTB overlays: 'sun50i-a64-sid,sun50i-a64-ths,sun50i-a64-timer,sun50i-a64-opp,sun50i-a64-uart2'
> /boot/dtb/overlays/sun50i-a64-sid.dtbo size=0x1fd
> /boot/dtb/overlays/sun50i-a64-ths.dtbo size=0x3e8
> /boot/dtb/overlays/sun50i-a64-timer.dtbo size=0x175
> /boot/dtb/overlays/sun50i-a64-opp.dtbo size=0x74f
> /boot/dtb/overlays/sun50i-a64-uart2.dtbo size=0x123
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-sid.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-ths.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-timer.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-opp.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-uart2.dtbo'
> EFI framebuffer information:
> addr, size     0xbe000000, 0x1fa4000
> dimensions     3840 x 2160
> stride         3840
> masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
> EHCI failed to shut down host controller.
> panic: Too many early devmap mappings 2
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> #0 0xffff0000004382b4 at ??+0
> #1 0xffff0000003f3620 at ??+0
> #2 0xffff0000003f33d0 at ??+0
> #3 0xffff00000074ecdc at ??+0
> #4 0xffff0000002bb0bc at ??+0
> #5 0xffff0000002bd580 at ??+0
> #6 0xffff000000395f40 at ??+0
> #7 0xffff00000070dc14 at ??+0
> Uptime: 1s
> 
> --- captured end ---
> 
> (ignore uart2 overlay, this is locally made addition to test this
> possibility, no real usage right now)
> 
> When I pull HDMI cable out, following happens:
> 
> --- captured begin ---
> 
> Type '?' for a list of commands, 'help' for more detailed help.
> OK boot -vs
> Using DTB provided by EFI at 0x47ef5000.
> Loading DTB overlays: 'sun50i-a64-sid,sun50i-a64-ths,sun50i-a64-timer,sun50i-a64-opp,sun50i-a64-uart2'
> /boot/dtb/overlays/sun50i-a64-sid.dtbo size=0x1fd
> /boot/dtb/overlays/sun50i-a64-ths.dtbo size=0x3e8
> /boot/dtb/overlays/sun50i-a64-timer.dtbo size=0x175
> /boot/dtb/overlays/sun50i-a64-opp.dtbo size=0x74f
> /boot/dtb/overlays/sun50i-a64-uart2.dtbo size=0x123
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-sid.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-ths.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-timer.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-opp.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-uart2.dtbo'
> EHCI failed to shut down host controller.
> ---<<BOOT>>---
> KDB: debugger backends: ddb
> KDB: current backend: ddb
>                    Type     Physical      Virtual   #Pages Attr
>      ConventionalMemory 000040000000     40000000 00007ef5 WB 
>     RuntimeServicesData 000047ef5000     47ef5000 00000016 WB RUNTIME
>      ConventionalMemory 000047f0b000     47f0b000 00068f82 WB 
>              LoaderData 0000b0e8d000     b0e8d000 00004001 WB 
>        BootServicesData 0000b4e8e000     b4e8e000 00000005 WB 
>              LoaderData 0000b4e93000     b4e93000 00004000 WB 
>              LoaderCode 0000b8e93000     b8e93000 0000009c WB 
>     RuntimeServicesData 0000b8f2f000     b8f2f000 00000001 WB RUNTIME
>                Reserved 0000b8f30000     b8f22000 00000008 WB 
>     RuntimeServicesData 0000b8f38000     b8f38000 00000001 WB RUNTIME
>                Reserved 0000b8f39000     b8f39000 00000002 WB 
>              LoaderData 0000b8f3b000     b8f3b000 00005025 WB 
>     RuntimeServicesCode 0000bdf60000     bdf60000 00000010 WB RUNTIME
>              LoaderData 0000bdf70000     b8f3b000 00002090 WB 
> Physical memory chunk(s):
>   0x40000000 - 0xb8f2ffff,  1935 MB ( 495408 pages)
>   0xb8f38000 - 0xb8f38fff,     0 MB (      1 pages)
>   0xb8f3b000 - 0xbdf5ffff,    80 MB (  20517 pages)
>   0xbdf70000 - 0xbfffffff,    32 MB (   8336 pages)
> Excluded memory regions:
>   0x47ef5000 - 0x47f0afff,     0 MB (     22 pages) NoAlloc 
>   0xb1000000 - 0xb27e3fff,    23 MB (   6116 pages) NoAlloc 
>   0xb8f2f000 - 0xb8f3afff,     0 MB (     12 pages) NoAlloc 
>   0xbdf60000 - 0xbdf6ffff,     0 MB (     16 pages) NoAlloc 
> Found 4 CPUs in the device tree
> 
> --- captured end ---
> 
> Finally, with standard HD (1920x1080) monitor connected:
> 
> --- captured begin ---
> 
> Type '?' for a list of commands, 'help' for more detailed help.
> OK boot -vs
> Using DTB provided by EFI at 0x47ef5000.
> Loading DTB overlays: 'sun50i-a64-sid,sun50i-a64-ths,sun50i-a64-timer,sun50i-a64-opp,sun50i-a64-uart2'
> /boot/dtb/overlays/sun50i-a64-sid.dtbo size=0x1fd
> /boot/dtb/overlays/sun50i-a64-ths.dtbo size=0x3e8
> /boot/dtb/overlays/sun50i-a64-timer.dtbo size=0x175
> /boot/dtb/overlays/sun50i-a64-opp.dtbo size=0x74f
> /boot/dtb/overlays/sun50i-a64-uart2.dtbo size=0x123
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-sid.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-ths.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-timer.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-opp.dtbo'
> applying DTB overlay '/boot/dtb/overlays/sun50i-a64-uart2.dtbo'
> EFI framebuffer information:
> addr, size     0xbe000000, 0x7e9000
> dimensions     1920 x 1080
> stride         1920
> masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
> EHCI failed to shut down host controller.
> ---<<BOOT>>---
> KDB: debugger backends: ddb
> KDB: current backend: ddb
>                    Type     Physical      Virtual   #Pages Attr
>      ConventionalMemory 000040000000     40000000 00007ef5 WB 
>     RuntimeServicesData 000047ef5000     47ef5000 00000016 WB RUNTIME
>      ConventionalMemory 000047f0b000     47f0b000 00068f82 WB 
>              LoaderData 0000b0e8d000     b0e8d000 00004001 WB 
>        BootServicesData 0000b4e8e000     b4e8e000 00000005 WB 
>              LoaderData 0000b4e93000     b4e93000 00004000 WB 
>              LoaderCode 0000b8e93000     b8e93000 0000009c WB 
>     RuntimeServicesData 0000b8f2f000     b8f2f000 00000001 WB RUNTIME
>                Reserved 0000b8f30000     b8f22000 00000008 WB 
>     RuntimeServicesData 0000b8f38000     b8f38000 00000001 WB RUNTIME
>                Reserved 0000b8f39000     b8f39000 00000002 WB 
>              LoaderData 0000b8f3b000     b8f3b000 00005025 WB 
>     RuntimeServicesCode 0000bdf60000     bdf60000 00000010 WB RUNTIME
>              LoaderData 0000bdf70000     b8f3b000 00000090 WB 
>                Reserved 0000be000000     be000000 000007e9 WB 
>              LoaderData 0000be7e9000     b8f3b000 00001817 WB 
> Physical memory chunk(s):
>   0x40000000 - 0xb8f2ffff,  1935 MB ( 495408 pages)
>   0xb8f38000 - 0xb8f38fff,     0 MB (      1 pages)
>   0xb8f3b000 - 0xbdf5ffff,    80 MB (  20517 pages)
>   0xbdf70000 - 0xbdffffff,     0 MB (    144 pages)
>   0xbe7e9000 - 0xbfffffff,    24 MB (   6167 pages)
> Excluded memory regions:
>   0x47ef5000 - 0x47f0afff,     0 MB (     22 pages) NoAlloc 
>   0xb1000000 - 0xb27e3fff,    23 MB (   6116 pages) NoAlloc 
>   0xb8f2f000 - 0xb8f3afff,     0 MB (     12 pages) NoAlloc 
>   0xbdf60000 - 0xbdf6ffff,     0 MB (     16 pages) NoAlloc 
>   0xbe000000 - 0xbe7e8fff,     7 MB (   2025 pages) NoAlloc 
>   0xbe000000 - 0xbe7e8fff,     7 MB (   2025 pages) NoAlloc 
> Found 4 CPUs in the device tree
> 
> --- captured end ---
> 
> Comparing these, first part is identical (up to last 'applying DTB
> overlay'), then comes EFI framebuffer info (missing when no monitor is
> present), line about EHCI controller failure, common for all three
> cases. Up to this point, I think, everything comes from loader, rest is
> from kernel. Unfortunatelly, in the failing UHD case, there is no
> memory map given, so we can only guess what's going on there...
> 
> I would expect last excluded memory region to be 0xbe000000 -
> 0xbffa3fff, and last physical memory chunk 0xbffa4000 - 0xbfffffff, no
> other differences, but something else happened.
> 
> Any idea on debugging this situation? It is not show stopper for me,
> other things could be checked/tested/verified, but it would be nice to
> have working 4K/UHD video output...
> 
> Regards,
> Milan

 Could you try bumping PMAP_MAPDEV_EARLY_SIZE in
sys/arm64/include/pte.h to say L2_SIZE * 12 ?

-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190718094432.6c868b59ace49b078ce07c16>