Pine64 (LTS) HDMI trouble with UHD display
Emmanuel Vadot
manu at bidouilliste.com
Thu Jul 18 07:44:42 UTC 2019
On Thu, 18 Jul 2019 09:12:04 +0200
Milan Obuch <freebsd-arm at 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 at bidouilliste.com> <manu at freebsd.org>
More information about the freebsd-arm
mailing list