[ Adding the dri-devel list ]
On Mon, 2011-04-11 at 15:31 +0200, Gabriel Paubert wrote:
On Thu, Apr 07, 2011 at 04:04:35PM +0200, Michel Dänzer wrote:
On Mit, 2011-04-06 at 22:43 +0200, Gabriel Paubert wrote:
The probem is that, at least on one of my machines, the new driver does not work: the system hangs (apparently solid, but it's before networking starts up and I've not yet hooked up a serial console), after the "radeon: ib pool ready" message.
Does radeon.agpmode=-1 radeon.no_wb=1 help?
You might be able to get more information via netconsole if you prevent the radeon module from loading automatically (or load it with radeon.modeset=0 first) and then load it e.g. via ssh with modeset=1.
Loading the module with modeset=1 results in insmod blocked in kernel state (not consuming CPU cycles either). The last kernel message is always the same (ib pool ready). This seems to be independent of agpmode and no_wb. The kernel messages when loading the driver are:
kernel: [drm] radeon kernel modesetting enabled. kernel: checking generic (c0000000 140000) vs hw (c0000000 10000000) kernel: fb: conflicting fb hw usage radeondrmfb vs OFfb vga,Displa - removing generic driver kernel: [drm] initializing kernel modesetting (RV530 0x1002:0x71C7). kernel: radeon 0000:f1:00.0: Using 64-bit DMA iommu bypass kernel: [drm] register mmio base: 0xE8000000 kernel: [drm] register mmio size: 65536 kernel: radeon 0000:f1:00.0: Invalid ROM contents kernel: ATOM BIOS: X1650PRO kernel: [drm] Generation 2 PCI interface, using max accessible memory kernel: radeon 0000:f1:00.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used) kernel: radeon 0000:f1:00.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF kernel: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). kernel: [drm] Driver supports precise vblank timestamp query. kernel: irq: irq 9 on host /mpic mapped to virtual irq 24 kernel: u3msi: allocated virq 0x18 (hw 0x9) addr 0xf8004090 kernel: radeon 0000:f1:00.0: radeon: using MSI.
Have you ruled out any MSI related problems? I think the IRQ not working could explain the symptoms...
kernel: [drm] radeon: irq initialized. kernel: [drm] Detected VRAM RAM=512M, BAR=256M kernel: [drm] RAM width 128bits DDR kernel: [TTM] Zone kernel: Available graphics memory: 1002914 kiB. kernel: [TTM] Initializing pool allocator. kernel: [drm] radeon: 512M of VRAM memory ready kernel: [drm] radeon: 512M of GTT memory ready. kernel: [drm] GART: num cpu pages 131072, num gpu pages 131072 kernel: [drm] radeon: 1 quad pipes, 2 z pipes initialized. kernel: [drm] PCIE GART of 512M enabled (table at 0x00040000). kernel: radeon 0000:f1:00.0: WB enabled
Make sure this line changes to 'WB disabled' with no_wb=1. There's a writeback endianness bug with modeset=1, see http://lists.freedesktop.org/archives/dri-devel/2011-April/009960.html .
kernel: [drm] Loading R500 Microcode kernel: [drm] radeon: ring at 0x0000000020001000 kernel: [drm] ring test succeeded in 6 usecs kernel: [drm] radeon: ib pool ready.
For now, with modeset=0, agpmode=-1 and no_wb=1, the driver seems to work.
The agpmode and no_wb options only have an effect with modeset=1, and you don't seem to be using AGP anyway. :)