With kernel 3.18.0-rc2 I'm getting the following kernel panic
in drm_calc_vbltimestamp_from_scanoutpos()on the parisc platform.
As you can see in the attached log, the ring test fails.
This is not a new bug - it has failed with older kernels too and of course it would be nice to get it fixed at some point:
[drm:r100_ring_test] *ERROR* radeon: ring test failed (scratch(0x15E4)=0xCAFEDEAD)
But what's new here now, is that the radeon driver segfaults afterwards.
There were no monitors attached to the radeon card.
I haven't tested this patch yet, but would it be the right fix? :
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
index 8309b11..0358676 100644
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@ -795,6 +795,8 @@ int radeon_get_vblank_timestamp_kms(struct drm_device *dev, int crtc,
/* Get associated drm_crtc: */
drmcrtc = &rdev->mode_info.crtcs[crtc]->base;
+ if (!drmcrtc)
+ return -EINVAL;
Helge
...
[ 11.312000] Linux agpgart interface v0.103
[ 11.360000] quicksilver: IO PDIR shared with sba_iommu
[ 11.436000] (null): AGP aperture is 512M @ 0x60000000
[ 11.500000] [drm] Initialized drm 1.1.0 20060810
[ 11.552000] [drm] radeon kernel modesetting enabled.
[ 11.628000] radeon 0000:80:00.0: enabling SERR and PARITY (0187 -> 01c7)
[ 11.708000] [drm] initializing kernel modesetting (R300 0x1002:0x4E47 0x1002:0x0152).
[ 11.816000] [drm] register mmio base: 0xD0030000
[ 11.868000] [drm] register mmio size: 65536
[ 11.980000] radeon 0000:80:00.0: putting AGP V3 device into 8x mode
[ 12.056000] radeon 0000:80:00.0: GTT: 512M 0x60000000 - 0x7FFFFFFF
[ 12.132000] [drm] Generation 1 PCI interface in multifunction mode
[ 12.204000] [drm] Limiting VRAM to one aperture
[ 12.260000] radeon 0000:80:00.0: VRAM: 256M 0xFFFFFFFFC8000000 - 0xFFFFFFFFD7FFFFFF (256M used)
[ 12.364000] [drm] Detected VRAM RAM=256M, BAR=128M
[ 12.420000] [drm] RAM width 256bits DDR
[ 12.468000] [TTM] Zone kernel: Available graphics memory: 4112944 kiB
[ 12.544000] [TTM] Zone dma32: Available graphics memory: 2097152 kiB
[ 12.624000] [TTM] Initializing pool allocator
[ 12.676000] [drm] radeon: 256M of VRAM memory ready
[ 12.732000] [drm] radeon: 512M of GTT memory ready.
[ 12.792000] [drm] radeon: 2 quad pipes, 1 Z pipes initialized.
[ 12.876000] radeon 0000:80:00.0: WB disabled
[ 12.928000] radeon 0000:80:00.0: fence driver on ring 0 use gpu addr 0x0000000060000000 and cpu addr 0x0000000000048000
[ 13.056000] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 13.136000] [drm] Driver supports precise vblank timestamp query.
[ 13.208000] [drm] radeon: irq initialized.
[ 13.256000] [drm] Loading R300 Microcode
[ 13.320000] [drm] radeon: ring at 0x0000000060001000
[ 13.576000] [drm:r100_ring_test] *ERROR* radeon: ring test failed (scratch(0x15E4)=0xCAFEDEAD)
[ 13.676000] [drm:r100_cp_init] *ERROR* radeon: cp isn't working (-22).
[ 13.756000] radeon 0000:80:00.0: failed initializing CP (-22).
[ 13.824000] radeon 0000:80:00.0: Disabling GPU acceleration
[ 14.088000] [drm:r100_cp_fini] *ERROR* Wait for CP idle timeout, shutting down CP.
[ 14.192000] [drm] radeon: cp finalized
[ 14.704000] Backtrace:
[ 14.732000] [<0000000040647740>] radeon_get_vblank_timestamp_kms+0x90/0xa8
[ 14.816000] [<00000000405e7590>] drm_get_last_vbltimestamp+0x98/0xc0
[ 14.892000] [<00000000405e7b28>] vblank_disable_and_save+0xb8/0x350
[ 14.968000] [<00000000405ea270>] drm_vblank_cleanup+0xc8/0x158
[ 15.040000] [<0000000040690ab0>] radeon_irq_kms_fini+0x40/0xb8
[ 15.112000] [<00000000406a75c0>] r300_init+0x500/0x5a8
[ 15.172000] [<0000000040643304>] radeon_device_init+0xdac/0x1150
[ 15.248000] [<0000000040646bfc>] radeon_driver_load_kms+0x124/0x238
[ 15.324000] [<00000000405ec65c>] drm_dev_register+0x11c/0x250
[ 15.392000] [<00000000405f1994>] drm_get_pci_dev+0x1bc/0x2d8
[ 15.460000] [<000000004061e7d0>] radeon_pci_probe+0x128/0x148
[ 15.532000] [<0000000040513920>] pci_device_probe+0xb0/0x158
[ 15.600000] [<00000000407c4a60>] driver_probe_device+0x148/0x3c0
[ 15.672000] [<00000000407c4dbc>] __driver_attach+0xe4/0x160
[ 15.740000] [<00000000407c139c>] bus_for_each_dev+0xac/0x140
[ 15.812000] [<00000000407c40a0>] driver_attach+0x48/0x60
[ 15.876000]
[ 15.892000]
[ 15.912000] Kernel Fault: Code=26 regs=000000007fcb1230 (Addr=000000000000024c)
[ 16.000000] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.18.0-rc1-64bit+ #562
[ 16.084000] task: 000000007fca8000 ti: 000000007fcb0000 task.ti: 000000007fcb0000
[ 17.276000]
[ 17.296000] IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000405e95e8 00000000405e95ec
[ 17.396000] IIR: 4aad0498 ISR: 0000000000000000 IOR: 000000000000024c
[ 17.476000] CPU: 1 CR30: 000000007fcb0000 CR31: 9cb9a6fbd01f400f
[ 17.560000] ORIG_R28: 000000007fcb1420
[ 17.604000] IAOQ[0]: drm_calc_vbltimestamp_from_scanoutpos+0xe0/0x518
[ 17.684000] IAOQ[1]: drm_calc_vbltimestamp_from_scanoutpos+0xe4/0x518
[ 17.760000] RP(r2): radeon_get_vblank_timestamp_kms+0x90/0xa8
[ 17.832000] Backtrace:
[ 17.860000] [<0000000040647740>] radeon_get_vblank_timestamp_kms+0x90/0xa8
[ 17.944000] [<00000000405e7590>] drm_get_last_vbltimestamp+0x98/0xc0
[ 18.020000] [<00000000405e7b28>] vblank_disable_and_save+0xb8/0x350
[ 18.096000] [<00000000405ea270>] drm_vblank_cleanup+0xc8/0x158
[ 18.168000] [<0000000040690ab0>] radeon_irq_kms_fini+0x40/0xb8
[ 18.240000] [<00000000406a75c0>] r300_init+0x500/0x5a8
[ 18.300000] [<0000000040643304>] radeon_device_init+0xdac/0x1150
[ 18.376000] [<0000000040646bfc>] radeon_driver_load_kms+0x124/0x238
[ 18.452000] [<00000000405ec65c>] drm_dev_register+0x11c/0x250
[ 18.520000] [<00000000405f1994>] drm_get_pci_dev+0x1bc/0x2d8
[ 18.588000] [<000000004061e7d0>] radeon_pci_probe+0x128/0x148
[ 18.660000] [<0000000040513920>] pci_device_probe+0xb0/0x158
[ 18.728000] [<00000000407c4a60>] driver_probe_device+0x148/0x3c0
[ 18.800000] [<00000000407c4dbc>] __driver_attach+0xe4/0x160
[ 18.868000] [<00000000407c139c>] bus_for_each_dev+0xac/0x140
[ 18.936000] [<00000000407c40a0>] driver_attach+0x48/0x60
[ 19.324000] Kernel panic - not syncing: Kernel Fault
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel