[Nouveau] PA-RISC (hppa) video cards init failure loading the device driver kernel module
Ilia Mirkin
imirkin at alum.mit.edu
Mon Apr 4 02:18:14 UTC 2016
Not sure about the radeon issue, but
"DRM: GPU lockup - switching to software fbcon"
basically means "the CPU isn't able to submit commands, or the GPU
isn't executing the commands". Basically the GPU can only have so many
commands outstanding [well, command buffers], and we hit that limit.
>From what I understand, PA-RISC has a "funny" architecture that is
very unlike x86 in terms of memory coherency, and is thus more likely
to hit issues that don't exist on other architectures. Perhaps you can
summarize the key points of oddness? Perhaps there's some debug
"disable caches" mode or something? Also note that nouveau won't work
well on an architecture with a non-4K page size. Not sure if that's
the situation for you.
I see that it's using AGP - there's a high chance that something
AGP-related is broken - try booting with nouveau.config=NvAGP=0 (or
nouveau.agpmode=0 for pre-4.3 kernels).
Perhaps it has issues DMA'ing the command buffer from system memory,
we can try forcing the pushbuf to be in vram - boot with
nouveau.vram_pushbuf=1 .
If there are PCI slots and you have a PCI video card handy, I'd
definitely try that too.
Good luck,
-ilia
On Sun, Apr 3, 2016 at 3:51 AM, Simone Mannori <simone.mannori at gmail.com> wrote:
> Dear "nouveau" developers,
>
> I know that many very competent guys have already spent a lot of time
> and efforts on this issue without success. I have started to play with
> "hppa" two weeks ago and, with the support of the linux-parisc mailing
> list people, now I have a - almost fully - working workstation (hp
> c8000).
>
> Everythings work perfectly BUT the video card. No matter the model,
> type, driver, etc. the results are always the same: a very slow frame
> buffer mode only.
>
> I'm forwarding the results of my investigations with the hope that
> someone of you will help me to find the right path to fix this issue.
>
> Thanks in advance for your help.
>
> Simone Mannori - Italy
>
> //**------------------------------------------------------------------------------------------------------------
>
> ---------- Forwarded message ----------
> From: Simone Mannori <simone.mannori at gmail.com>
> Date: 3 April 2016 at 09:34
> Subject: Video cards init failure loading the device driver kernel module
> To: John David Anglin <dave.anglin at bell.net>
> Cc: Helge Deller <deller at gmx.de>, Graham Gower
> <graham.gower at gmail.com>, linux-parisc <linux-parisc at vger.kernel.org>
>
>
> Dear All,
>
> following you suggestions, now I have an - almost - perfectly working
> hp c8000 workstation.
>
> Mission accomplished? Not exactly: despite a lot of efforts, the video
> card section is still not fully operative. Let me resume the
> situation.
>
> I'm using a c8000 with two PA-8800 and Debian 8.0, kernel:
>
> Linux version 4.4.0-1-parisc64-smp (debian-kernel at lists.debian.org)
> (gcc version 4.9.3 (GCC) ) #1 SMP Debian 4.4.6-1 (2016-03-17)
>
> I have two very different AGP video cards (ATI FireGL T2 and NVIDIA
> QUADRO MXR) that have the same issue, despite the two complety
> different drivers ("radeon" and "nouveau"). The full logs are in
> bottom of this post. Just to make a long history short:
>
> ATI FIRE GL T2 ("radeon")
> [ 47.836000] [drm:r100_ring_test [radeon]] *ERROR* radeon: ring test
> failed (scratch(0x15E4)=0xCAFEDEAD)
> [ 47.948000] [drm:r100_cp_init [radeon]] *ERROR* radeon: cp isn't
> working (-22).
> [ 48.036000] radeon 0000:80:00.0: failed initializing CP (-22).
> [ 48.036000] radeon 0000:80:00.0: Disabling GPU acceleration
>
> NVIDIA QUADRO MXR ("nouveau")
> [ 54.388000] nouveau 0000:80:00.0: DRM: GPU lockup - switching to
> software fbcon
> [ 54.684000] nouveau 0000:80:00.0: fb0: nouveaufb frame buffer device
> [ 54.784000] [drm] Initialized nouveau 1.3.1 20120801 for
> 0000:80:00.0 on minor 0
>
> Looking inside the posts on many developers mailing lists, I see that
> most of the efforts have been focused on the video device drivers init
> code. I have tried to force the video drivers using the "modeset"
> parameter without success. I have tried also to boot without video
> driver, then load it manually using "modprobe". No way: the results
> are the same.
>
> "lsmod" tell me that "radeon"/"nouveau" are used by the "ttm" module
> and they cannot be removed (despite the "- r --force" modprobe
> parameters).
>
> Let suppose for a moment that the issue is NOT inside the video driver
> but in the "ttm" module: something is not fully correct in the
> initialization of the ZX1 chipset, therefore the video driver code go
> crazy because cannot match the video card with the chipset.
>
> The only way that I know to investigate this issue is to recompile the
> kernel with debug support and execute "single step"/breakpoint the
> code that initialize the video card and the chipset near the zone of
> the error message.
>
> Question: "What are the deb packages that I need to install to
> recompile the 4.4.0-1-parisc64-smp kernel (or another kernel version
> suitable for this investigation) ?
>
> Thanks in advance for you help
>
> Simone Mannori - Italy
>
> //**-----------------------------------------------------------------------------------------------------------------
>
> ATI FIRE GL T2
> [ 45.460000] [drm] radeon kernel modesetting enabled.
> [ 45.576000] radeon 0000:80:00.0: enabling SERR and PARITY (0107 -> 0147)
> [ 45.660000] [drm] initializing kernel modesetting (RV350
> 0x1002:0x4154 0x1002:0x0002).
> [ 45.812000] [drm] register mmio base: 0xC8020000
> [ 45.868000] [drm] register mmio size: 65536
> [ 46.084000] radeon 0000:80:00.0: putting AGP V3 device into 8x mode
> [ 46.160000] radeon 0000:80:00.0: GTT: 512M 0x60000000 - 0x7FFFFFFF
> [ 46.236000] [drm] Generation 2 PCI interface, using max accessible memory
> [ 46.316000] radeon 0000:80:00.0: VRAM: 128M 0xFFFFFFFFC0000000 -
> 0xFFFFFFFFC7FFFFFF (128M used)
> [ 46.420000] [drm] Detected VRAM RAM=128M, BAR=128M
> [ 46.476000] [drm] RAM width 128bits DDR
> [ 46.524000] [TTM] Zone kernel: Available graphics memory: 3077188 kiB
> [ 46.604000] [TTM] Zone dma32: Available graphics memory: 2097152 kiB
> [ 46.680000] [TTM] Initializing pool allocator
> [ 46.732000] [drm] radeon: 128M of VRAM memory ready
> [ 46.792000] [drm] radeon: 512M of GTT memory ready.
> [ 46.852000] [drm] radeon: 1 quad pipes, 1 Z pipes initialized.
> [ 46.944000] radeon 0000:80:00.0: WB disabled
> [ 46.996000] radeon 0000:80:00.0: fence driver on ring 0 use gpu
> addr 0x0000000060000000 and cpu addr 0x0000000011279000
> [ 47.124000] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [ 47.204000] [drm] Driver supports precise vblank timestamp query.
> [ 47.276000] [drm] radeon: irq initialized.
> [ 47.328000] [drm] Loading R300 Microcode
> [ 47.468000] radeon 0000:80:00.0: firmware: direct-loading firmware
> radeon/R300_cp.bin
> [ 47.584000] [drm] radeon: ring at 0x0000000060001000
> [ 47.836000] [drm:r100_ring_test [radeon]] *ERROR* radeon: ring test
> failed (scratch(0x15E4)=0xCAFEDEAD)
> [ 47.948000] [drm:r100_cp_init [radeon]] *ERROR* radeon: cp isn't
> working (-22).
> [ 48.036000] radeon 0000:80:00.0: failed initializing CP (-22).
> [ 48.036000] radeon 0000:80:00.0: Disabling GPU acceleration
> [ OK ] Found device ST373207LW 2.
> [ 48.236000] [drm:r100_cp_fini [radeon]] *ERROR* Wait for CP idle
> timeout, shutting down CP.
> [ 48.384000] [drm] radeon: cp finalized
> [ 48.448000] [drm] radeon: cp finalized
> [ 48.496000] [TTM] Finalizing pool allocator
> [ 48.544000] [TTM] Zone kernel: Used memory at exit: 0 kiB
> [ 48.612000] [TTM] Zone dma32: Used memory at exit: 0 kiB
> [ 48.676000] [drm] radeon: ttm finalized
> [ 48.724000] [drm] Forcing AGP to PCI mode
> Starting File System Check on /d[ 48.872000] [drm]
> Generation 2 PCI interface, using max accessible memory
> ev/...2-638b-4a0[ 48.968000] radeon 0000:80:00.0: VRAM: 128M
> 0xFFFFFFFFC0000000 - 0xFFFFFFFFC7FFFFFF (128M used)
> c-be55-7444e126d[ 49.088000] radeon 0000:80:00.0: GTT: 512M
> 0xFFFFFFFFA0000000 - 0xFFFFFFFFBFFFFFFF
> 283...
> [ 49.196000] [drm] Detected VRAM RAM=128M, BAR=128M
> [ 49.264000] [drm] RAM width 128bits DDR
> [ 49.328000] [TTM] Zone kernel: Available graphics memory: 3077188 kiB
> [ 49412000] [TTM] Zone dma32: Available graphics memory: 2097152 kiB
> [ 49.492000] [TTM] Initializing pool allocator
> [ 49.492000] [drm] radeon: 128M of VRAM memory ready
> [ 49.492000] [drm] radeon: 512M of GTT memory ready.
> [ 49.492000] [drm] GART: num cpu pages 131072, num gpu pages 131072
> [ 49.636000] [drm] radeon: 1 quad pipes, 1 Z pipes initialized.
> [ 49.636000] [drm] PCI GART of 512M enabled (table at 0x0000000043300000).
> [ 49.636000] radeon 0000:80:00.0: WB enabled
> [ 49.636000] radeon 0000:80:00.0: fence driver on ring 0 use gpu
> addr 0xffffffffa0000000 and cpu addr 0x000000007d239000
> [ 49.636000] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [ 49.636000] [drm] Driver supports precise vblank timestamp query.
> [ 49.636000] [drm] radeon: irq initialized.
> [ 49.780000] [drm] radeon: ring at 0xFFFFFFFFA0001000
> [ 49.972000] [drm:r100_ring_test [radeon]] *ERROR* radeon: ring test
> failed (scratch(0x15E4)=0xCAFEDEAD)
> [ 49.976000] [drm:r100_cp_init [radeon]] *ERROR* radeon: cp isn't
> working (-22).
> [ 49.976000] radeon 0000:80:00.0: failed initializing CP (-22).
> [ 49.976000] radeon 0000:80:00.0: Disabling GPU acceleration
> [ 50.168000] [drm:r100_cp_fini [radeon]] *ERROR* Wait for CP idle
> timeout, shutting down CP.
> [ 50.280000] [drm] radeon: cp finalized
> [ 50.592000] [drm] Radeon Display Connectors
> [ 50.592000] [drm] Connector 0:
> [ 50.592000] [drm] VGA-1
> [ 50.592000] [drm] DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
> [ 50.592000] [drm] Encoders:
> [ 50.592000] [drm] CRT1: INTERNAL_DAC1
> [ 50.592000] [drm] Connector 1:
> [ 50.592000] [drm] DVI-I-1
> [ 50.592000] [drm] HPD1
> [ 50.592000] [drm] DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
> [ 50.592000] [drm] Encoders:
> [ 50.592000] [drm] CRT2: INTERNAL_DAC2
> [ 50.592000] [drm] DFP1: INTERNAL_TMDS1
> [ 50.608000] radeon 0000:80:00.0: No connectors reported connected with modes
> [ 50.608000] [drm] Cannot find any crtc or sizes - going 1024x768
> [ 50.828000] [drm] fb mappable at 0xFFFFFFFFC0040000
> [ 50.828000] [drm] vram apper at 0xFFFFFFFFC0000000
> [ 50.828000] [drm] size 3145728
> [ 50.828000] [drm] fb depth is 24
> [ 50.828000] [drm] pitch is 4096
> [ 51.848000] Console: switching to colour frame buffer device 128x48
> [ 52.080000] radeon 0000:80:00.0: fb0: radeondrmfb frame buffer device
> [ 52172000] [drm] Initialized radeon 2.43.0 20080528 for
> 0000:80:00.0 on minor 0
>
> NVIDIA QUADRO MXR
> [ 51.880000] nouveau 0000:80:00.0: enabling SERR and PARITY (0007 -> 0147)
> [ 52.044000] nouveau 0000:80:00.0: NVIDIA NV11 (011300a1)
> [ 52.364000] nouveau 0000:80:00.0: bios: version 03.11.01.24.00
> [ 52.488000] nouveau 0000:80:00.0: putting AGP V2 device into 4x mode
> [ 52.592000] nouveau 0000:80:00.0: putting AGP V2 device into 4x mode
> [ 52.668000] nouveau 0000:80:00.0: tmr: unknown input clock freq
> [ 52.740000] nouveau 0000:80:00.0: fb: 32 MiB SDRAM
> [ 52.844000] [TTM] Zone kernel: Available graphics memory: 3077188 kiB
> [ 52.920000] [TTM] Zone dma32: Available graphics memory: 2097152 kiB
> [ 52.920000] [TTM] Initializing pool allocator
> [ 52.928000] nouveau 0000:80:00.0: DRM: VRAM: 31 MiB
> [ 52.928000] nouveau 0000:80:00.0: DRM: GART: 512 MiB
> [ 52.928000] nouveau 0000:80:00.0: DRM: BMP version 5.20
> [ 52.928000] nouveau 0000:80:00.0: DRM: No useful DCB data in VBIOS
> [ 52.928000] nouveau 0000:80:00.0: DRM: Adaptor not initialised,
> running VBIOS init tables.
> [ 53.016000] nouveau 0000:80:00.0: DRM: Saving VGA fonts
> [ 53.336000] nouveau 0000:80:00.0: DRM: No useful DCB data in VBIOS
> [ 53.336000] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [ 53.336000] [drm] Driver supports precise vblank timestamp query.
> [ 53.336000] nouveau 0000:80:00.0: DRM: 0xABA2: Parsing digital
> output script table
> [ 53.920000] nouveau 0000:80:00.0: DRM: MM: using M2MF for buffer copies
> [ 54.144000] nouveau 0000:80:00.0: DRM: allocated 1920x1200 fb:
> 0x8000, bo 000000007cee1000
> [ 54.276000] nouveau 0000:80:00.0: DRM: 0xABCE: Parsing digital
> output script table
> [ 54.312000] Console: switching to colour frame buffer device 240x75
> [ 54.388000] nouveau 0000:80:00.0: DRM: GPU lockup - switching to
> software fbcon
> [ 54.684000] nouveau 0000:80:00.0: fb0: nouveaufb frame buffer device
> [ 54.784000] [drm] Initialized nouveau 1.3.1 20120801 for
> 0000:80:00.0 on minor 0
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau
More information about the Nouveau
mailing list