Problems Testing New Radeon Code

Jerome Glisse glisse at freedesktop.org
Mon May 25 06:10:58 PDT 2009


On Sun, 2009-05-24 at 13:58 +0100, Mike Lothian wrote:
> 2009/5/9 Mike Lothian <mike at fireburn.co.uk>:
> > 2009/5/7 Mike Lothian <mike at fireburn.co.uk>:
> >> 2009/5/6 Jerome Glisse <glisse at freedesktop.org>:
> >>> On Sun, 2009-05-03 at 21:06 +0100, Mike Lothian wrote:
> >>>> 2009/5/2 Jerome Glisse <glisse at freedesktop.org>:
> >>>> > On Sat, 2009-05-02 at 07:35 +0100, Mike Lothian wrote:
> >>>> >> 2009/5/2 Jerome Glisse <glisse at freedesktop.org>:
> >>>> >> > On Fri, 2009-05-01 at 20:59 +0100, Mike Lothian wrote:
> >>>> >> >> Hi there
> >>>> >> >>
> >>>> >> >> I've had a few issues testing the new radeon code and rather than do
> >>>> >> >> all this through comments on a blog I thought the mailing lists would
> >>>> >> >> be better
> >>>> >> >>
> >>>> >> >> I've attached the above logs
> >>>> >> >>
> >>>> >> >> X doesn't start with KMS (KMS works during boot)
> >>>> >> >>
> >>>> >> >> with radeon.modeset=0 being passed but playing a video full screen or
> >>>> >> >> activating kwin compositing makes the session unusable
> >>>> >> >>
> >>>> >> >> The proof attachment shows what branches and where head was at during
> >>>> >> >> compile time
> >>>> >> >>
> >>>> >> >> Cheers
> >>>> >> >>
> >>>> >> >> Mike
> >>>> >> >
> >>>> >> > Quick guess you are missing DRI2 bits, either too old xserver (need 1.6
> >>>> >> > at least) or no dri2 proto installed. Still i don't understand what
> >>>> >> > you mean by radeon.modeset=0, with radeon.modeset=0 everythings should
> >>>> >> > work as with no kms (ie it use old code path which should be more or
> >>>> >> > less what you already have).
> >>>> >> >
> >>>> >> > Cheers,
> >>>> >> > Jerome Glisse
> >>>> >> >
> >>>> >> >
> >>>> >>
> >>>> >> My whole xorg stack is the latest git head my Xorg.0.log should confirm that
> >>>> >>
> >>>> >
> >>>> > Still X tries to initialize DRI1 instead of DRI2 the cause is likely
> >>>> > because Xserver is not compiled with DRI2 enabled (i thought it was
> >>>> > default). I will hack ddx to fail if Xserver tries to initialize DRI1
> >>>> > when in KMS mode.
> >>>> >
> >>>> > Cheers,
> >>>> > Jerome Glisse
> >>>> >
> >>>> >
> >>>>
> >>>> If you look in the Xorg log you can see that dri2 is loaded
> >>>>
> >>>
> >>> I am working on ironing out a lockup, once i am done with that i will
> >>> update ddx to give more information on where it fails and why. Note
> >>> that my ddx may not work with lastest Xserver from git (i am using
> >>> 1.6 or 1.6.1) i will update ddx bits too once i am done with fixing
> >>> more urgent bug in this WIP code.
> >>>
> >>> Cheers,
> >>> Jerome Glisse
> >>>
> >>>
> >>
> >> Ah that'll probably be the issue. I've been using pure git head for
> >> the entire Xorg stack
> >>
> >> Just give me a shot when it's ready to text
> >>
> >> Cheers
> >>
> >> Mike
> >>
> >
> > The patch on your blog seems to get X started. However it looks like
> > kdm is loaded but normally my box auto logs on
> >
> > I'll check when I get back next week
> >
> > Mike
> >
> 
> Hi
> 
> I've updated to the latest git again but this time I compiled Radeon
> as a module so my computer is accessible and I can get the logs via
> ssh - with it build in the computer freezes after switching to KMS
> 
> Here is the relevant part of my dmesg:
> 
> pci 0000:01:05.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
> X:5518 conflicting memory types fe9f0000-fea00000 uncached<->uncached-minus
> reserve_memtype failed 0xfe9f0000-0xfea00000, track uncached, req write-back
> [drm] radeon kernel modesetting enabled.
> [drm] radeon: Initializing kernel modesetting.
> [drm] register mmio base: 0xFE9F0000
> [drm] register mmio size: 65536
> ATOM BIOS: ATI
> [drm] GPU reset succeed (RBBM_STATUS=0x10000140)
> [drm] Detected VRAM RAM=256M, BAR=256M
> [drm] RAM width 64bits DDR
> [drm] radeon: VRAM 256M
> [drm] radeon: VRAM from 0x00000000 to 0x0FFFFFFF
> [drm] radeon: GTT 512M
> [drm] radeon: GTT from 0x10000000 to 0x2FFFFFFF
> [drm] GART: num cpu pages 131072, num gpu pages 131072
> [drm] Clocks initialized !
> [drm] radeon: irq initialized.
> TTM available graphics memory: 869 MiB
> TTM available object memory: 869 MiB
> [drm] radeon: 256M of VRAM memory ready
> [drm] radeon: 512M of GTT memory ready.
> [drm] radeon: 1 pipes initialized.
> [drm] radeon: cp idle (0x10000C03)
> [drm] Loading RS690/RS740 Microcode
> [drm] radeon: ring at 0x0000000010000000
> [drm:radeon_ring_test] *ERROR* radeon: ring test failed
> (sracth(0x15E4)=0xCAFEDEAD)
> [drm:r100_cp_init] *ERROR* radeon: cp isn't working (-22).
> [drm] Radeon Display Connectors
> [drm] Connector 0:
> [drm]   VGA
> [drm]   DDC: 0x7e50 0x7e40 0x7e54 0x7e44 0x7e58 0x7e48 0x7e5c 0x7e4c
> [drm]   Encoders:
> [drm]     CRT1: INTERNAL_KLDSCP_DAC1
> [drm] Connector 1:
> [drm]   HDMI-A
> [drm]   DDC: 0x7e40 0x7e50 0x7e44 0x7e54 0x7e48 0x7e58 0x7e4c 0x7e5c
> [drm]   Encoders:
> [drm]     DFP3: INTERNAL_LVTM1
> i2c-adapter i2c-1: unable to read EDID block.
> radeon 0000:01:05.0: VGA-1: no EDID data
> [drm] fb mappable at 0xFFFFC20010880000
> [drm] vram apper at 0xD0000000
> [drm] size 8294400
> [drm] fb depth is 24
> [drm]    pitch is 7680
> Console: switching to colour frame buffer device 240x67
> fb0: radeondrmfb frame buffer device
> registered panic notifier
> [drm:radeon_driver_load_kms] *ERROR* Failed to initialize radeon,
> disabling IOCTL
> [drm] radeon: finishing device.
> unregistered panic notifier
> Unpin not necessary for ffff88006da13600 !
> [drm] radeon: cp finalized
> Used total memory is 0 bytes.
> [drm] radeon: ttm finalized
> [drm] radeon: fence finalized
> [drm] Initialized radeon 2.0.0 20080528 for 0000:01:05.0 on minor 0
> X:5518 freeing invalid memtype fe9f0000-fea00000
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> X:5518 conflicting memory types fe9f0000-fea00000 uncached<->uncached-minus
> reserve_memtype failed 0xfe9f0000-0xfea00000, track uncached, req write-back
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> X:5518 conflicting memory types fe9f0000-fea00000 uncached<->uncached-minus
> reserve_memtype failed 0xfe9f0000-0xfea00000, track uncached, req write-back
> Too big adjustment 32
> hda_intel: azx_get_response timeout, switching to polling mode: last
> cmd=0x001f0500
> hda_intel: azx_get_response timeout, switching to single_cmd mode:
> last cmd=0x001f0500
> Too big adjustment 32
> hda-intel: Invalid position buffer, using LPIB read method instead.
> hda-intel: IRQ timing workaround is activated for card #1. Suggest a
> bigger bdl_pos_adj.
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> Too big adjustment 32
> BUG: unable to handle kernel NULL pointer dereference at 0000000000000198
> IP: [<ffffffff80385514>] 0xffffffff80385514
> PGD 6d0c2067 PUD 6d0c5067 PMD 0
> Oops: 0000 [#1] PREEMPT SMP
> last sysfs file: /sys/power/state
> CPU 1
> Modules linked in: radeon
> Pid: 5518, comm: X Not tainted 2.6.29-drm #10
> RIP: 0010:[<ffffffff80385514>]  [<ffffffff80385514>] 0xffffffff80385514
> RSP: 0018:ffff88006e109c88  EFLAGS: 00010282
> RAX: 00000000fffffffd RBX: ffff88000108a400 RCX: ffff8800668e7f80
> RDX: 0000000000000080 RSI: 0000000000000000 RDI: ffff88000108a400
> RBP: ffff88006d982400 R08: 0000000001aeddd0 R09: 000000000000001e
> R10: 0000000000783be0 R11: 0000000000000000 R12: 0000000000000000
> R13: 0000000000000000 R14: ffffffff807e78f0 R15: 000000000000001e
> FS:  00007fac777db6f0(0000) GS:ffff880001029000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000000198 CR3: 000000006d57b000 CR4: 00000000000006a0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process X (pid: 5518, threadinfo ffff88006e108000, task ffff88006db38e80)
> Stack:
>  0000000000000000 ffffffff8027b815 ffff88006f8b2640 00000000000a0000
>  00000000000b0000 0000000000000000 0000000000010000 0000000000010000
>  0000000000000000 0000000000000000 0000000000000000 ffff8800000b0000
> Call Trace:
>  [<ffffffff8027b815>] ? 0xffffffff8027b815
>  [<ffffffff802229fd>] ? 0xffffffff802229fd
>  [<ffffffff803d125d>] ? 0xffffffff803d125d
>  [<ffffffff803cab38>] ? 0xffffffff803cab38
>  [<ffffffff803cbdc5>] ? 0xffffffff803cbdc5
>  [<ffffffff803c4304>] ? 0xffffffff803c4304
>  [<ffffffff80293454>] ? 0xffffffff80293454
>  [<ffffffff80281f86>] ? 0xffffffff80281f86
>  [<ffffffff802938cf>] ? 0xffffffff802938cf
>  [<ffffffff80276dfd>] ? 0xffffffff80276dfd
>  [<ffffffff80277b4c>] ? 0xffffffff80277b4c
>  [<ffffffff8029394b>] ? 0xffffffff8029394b
>  [<ffffffff8020af1b>] ? 0xffffffff8020af1b
> Code: 48 8b 80 f0 ad 7e 80 8b 50 30 3b 15 f7 43 46 00 75 0f 8b 50 34
> 3b 50 08 75 07 c7 40 30 00 00 00 00 c7 05 44 24 31 00 ff ff ff ff <41>
> 8b 84 24 98 01 00 00 45 31 ff 83 f8 ff 74 12 48 98 48 0f be
> RIP  [<ffffffff80385514>] 0xffffffff80385514
>  RSP <ffff88006e109c88>
> CR2: 0000000000000198
> BUG: unable to handle kernel NULL pointer dereference at 00000000000001a8
> IP: [<ffffffff80385309>] 0xffffffff80385309
> PGD 6d0c2067 PUD 6d0c5067 PMD 0
> Oops: 0000 [#2] PREEMPT SMP
> last sysfs file: /sys/power/state
> CPU 1
> Modules linked in: radeon
> Pid: 5518, comm: X Not tainted 2.6.29-drm #10
> RIP: 0010:[<ffffffff80385309>]  [<ffffffff80385309>] 0xffffffff80385309
> RSP: 0018:ffff88006e109998  EFLAGS: 00010046
> RAX: 0000000000000000 RBX: ffff88006d982400 RCX: 00000000ffffc53e
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88000108a400
> RBP: ffff88000108a400 R08: ffff880000000010 R09: ffff88006db38e80
> R10: 0000000080385520 R11: ffff88006e109bd8 R12: 0000000000000000
> R13: 0000000000000000 R14: 0000000000000000 R15: 000000000000001e
> FS:  00007fac777db6f0(0000) GS:ffff880001029000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00000000000001a8 CR3: 000000006d57b000 CR4: 00000000000006a0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process X (pid: 5518, threadinfo ffff88006e108000, task ffff88006db38e80)
> Stack:
>  0000000000000092 ffffffff8024803b ffff88006e109a78 ffffffff807b7849
>  0000000000000019 ffffffff80587797 0000000000000000 0000000000000002
>  ffffffff803854e9 ffff88006e109a77 0000000000000002 ffffffff80585648
> Call Trace:
>  [<ffffffff8024803b>] ? 0xffffffff8024803b
>  [<ffffffff80587797>] ? 0xffffffff80587797
>  [<ffffffff803854e9>] ? 0xffffffff803854e9
>  [<ffffffff80585648>] ? 0xffffffff80585648
>  [<ffffffff8023b544>] ? 0xffffffff8023b544
>  [<ffffffff80587844>] ? 0xffffffff80587844
>  [<ffffffff8023ba71>] ? 0xffffffff8023ba71
>  [<ffffffff803d139f>] ? 0xffffffff803d139f
>  [<ffffffff8035a509>] ? 0xffffffff8035a509
>  [<ffffffff8020e695>] ? 0xffffffff8020e695
>  [<ffffffff802207d7>] ? 0xffffffff802207d7
>  [<ffffffff80220965>] ? 0xffffffff80220965
>  [<ffffffff80221634>] ? 0xffffffff80221634
>  [<ffffffff80587844>] ? 0xffffffff80587844
>  [<ffffffff803572a7>] ? 0xffffffff803572a7
>  [<ffffffff80357431>] ? 0xffffffff80357431
>  [<ffffffff80587844>] ? 0xffffffff80587844
>  [<ffffffff802209c8>] ? 0xffffffff802209c8
>  [<ffffffff80587c2f>] ? 0xffffffff80587c2f
>  [<ffffffff80385514>] ? 0xffffffff80385514
>  [<ffffffff8027b815>] ? 0xffffffff8027b815
>  [<ffffffff802229fd>] ? 0xffffffff802229fd
>  [<ffffffff803d125d>] ? 0xffffffff803d125d
>  [<ffffffff803cab38>] ? 0xffffffff803cab38
>  [<ffffffff803cbdc5>] ? 0xffffffff803cbdc5
>  [<ffffffff803c4304>] ? 0xffffffff803c4304
>  [<ffffffff80293454>] ? 0xffffffff80293454
>  [<ffffffff80281f86>] ? 0xffffffff80281f86
>  [<ffffffff802938cf>] ? 0xffffffff802938cf
>  [<ffffffff80276dfd>] ? 0xffffffff80276dfd
>  [<ffffffff80277b4c>] ? 0xffffffff80277b4c
>  [<ffffffff8029394b>] ? 0xffffffff8029394b
>  [<ffffffff8020af1b>] ? 0xffffffff8020af1b
> Code: 00 00 00 48 85 c0 74 05 48 89 df ff d0 83 bb 48 03 00 00 00 48
> 8b 83 50 03 00 00 0f 85 cb 00 00 00 80 7d 4c 00 0f 85 c1 00 00 00 <83>
> b8 a8 01 00 00 00 0f 85 b4 00 00 00 e9 f9 00 00 00 41 83 fc
> RIP  [<ffffffff80385309>] 0xffffffff80385309
>  RSP <ffff88006e109998>
> CR2: 00000000000001a8
> ---[ end trace 1db8605f08301b46 ]---
> X:5518 freeing invalid memtype fe9f0000-fea00000
> X:5518 freeing invalid memtype fe9f0000-fea00000
> 
> 
> Thanks for any help you can provide - I'm really looking forward to
> trying out this new code
> 
> Mike
> 

Loading module with option gartsize=256 will make your config work,
also could you compile your kernel with framepointer to backtrace
have name in it ?

Cheers,
Jerome




More information about the xorg mailing list