Problems Testing New Radeon Code

Mike Lothian mike at fireburn.co.uk
Mon May 25 17:13:49 PDT 2009


2009/5/25 Jerome Glisse <glisse at freedesktop.org>:
> 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
>
>

Yes that did the trick!

Lots of strange things going on when using the compositing effects of Kwin.

Glxgears didn't render with the effects on either and displayed 11fps
(I get around 480fps with it turned of and about 650 with the old
stack)

Everything else feels fine and pretty much the same compared to the old stack

Firefox "feels" snappier

720p x264 videos still don't play / drop too man frames - dragon
player simply doesn't show any video

Hope this feed back is useful and keep up the good work (let me know
if you still want that trace)

I'm really looking forward to dri2, kms and the new rewrite code going
stable and eventually gallium

Cheers

Mike



More information about the xorg mailing list