Re: [Nouveau] PA-RISC (hppa) video cards init failure loading the device driver kernel module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There is a TLB U bit which when set prevents cache move in.  This should be set for
pages which map to the I/O space.  I think it should be checked that it is correctly being
set for these cards.

On 2016-04-03, at 11:56 PM, Simone Mannori wrote:

> Dear Ilia,
> 
> this page summarize all the possible options of the "nouveau" kernel module:
> 
> https://nouveau.freedesktop.org/wiki/KernelModuleParameters/
> 
> I will test the options that you have suggested as soon as possible.
> 
> Try a PCI video card is a very good advice because the
> AGP/FX1(chipset) is on the top of the "usual suspects" list;
> unfortunately the c8000 has 3.3 PCI slots and all the (very old) PCI
> video cards in my hands have 5V PCI connector
> 
> Many thanks for your suggestions and advice.
> 
>   Simone Mannori - Italy
> 
> 
> On 4 April 2016 at 04:18, Ilia Mirkin <imirkin@xxxxxxxxxxxx> wrote:
>> 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@xxxxxxxxx> 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@xxxxxxxxx>
>>> Date: 3 April 2016 at 09:34
>>> Subject: Video cards init failure loading the device driver kernel module
>>> To: John David Anglin <dave.anglin@xxxxxxxx>
>>> Cc: Helge Deller <deller@xxxxxx>, Graham Gower
>>> <graham.gower@xxxxxxxxx>, linux-parisc <linux-parisc@xxxxxxxxxxxxxxx>
>>> 
>>> 
>>> 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@xxxxxxxxxxxxxxxx)
>>> (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@xxxxxxxxxxxxxxxxxxxxx
>>> https://lists.freedesktop.org/mailman/listinfo/nouveau
> --
> To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
John David Anglin	dave.anglin@xxxxxxxx



--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux