All of lore.kernel.org
 help / color / mirror / Atom feed
From: Helge Deller <deller@gmx.de>
To: dri-devel@lists.freedesktop.org,
	Alex Deucher <alexander.deucher@amd.com>
Subject: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc2
Date: Mon, 27 Oct 2014 19:51:05 +0100	[thread overview]
Message-ID: <544E9419.5080202@gmx.de> (raw)

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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

                 reply	other threads:[~2014-10-27 18:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=544E9419.5080202@gmx.de \
    --to=deller@gmx.de \
    --cc=alexander.deucher@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.