Subject: Re: drm on amd64
To: Jared D. McNeill <jmcneill@invisible.ca>
From: Loic Hoguin <essen@dev-extend.eu>
List: tech-x11
Date: 03/31/2007 21:17:44
On Sat, 31 Mar 2007 18:34:26 +0200, Jared D. McNeill  
<jmcneill@invisible.ca> wrote:

> On Sat, 31 Mar 2007, Loic Hoguin wrote:
>>> If anyone gets to try the new drm code on amd64, please let me know
>>> how it goes for you. I'm trying to rule out any problems with my X
>>> server, etc.
>>> It's probably some 64-bit issue, but it would be helpful to know if
>>> this problem is specific to me or not.
>>
>> I just tried it, it compiles, initialize, but fail when X tries to
>> initialize the screen. It is modular-xorg.
>
> Can you try the following patch (apply in sys/dev/drm):
>
>    http://www.invisible.ca/~jmcneill/netbsd/drm-busdma.diff

Hello,

With this patch applied to today's current it still don't work. It shows
the same error message.

The messages from the kernel look the same:

(...)

pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xd0000000, size 0x10000000
vga0 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics  
Device (rev. 0x03)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
i915drm0 at vga0
info: [drm] Intel i945GM (unit 0)
[drm:pid0:drm_load]
[drm:pid0:drm_agp_init] agp_available = 1
info: [drm] AGP at 0xd0000000 256MB
[drm:pid0:drm_mtrr_add] offset=d0000000 size=268435456
[drm:pid0:drm_ctxbitmap_next] drm_ctxbitmap_next bit : 0
[drm:pid0:drm_ctxbitmap_init] drm_ctxbitmap_init : 0
info: [drm] Initialized i915 1.5.0 20060119
Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display,  
revision 0x03) at pci0 dev 2 function 1 not configured

(...)

[drm:pid854:drm_open] open_count = 0
[drm:pid854:drm_open_helper] pid = 854, minor = 0
[drm:pid854:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
[drm:pid854:drm_addmap] Added map 2 0xffff800049fde000/0x2000
[drm:pid854:drm_firstopen]
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0406400, nr=0x00, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0406400, nr=0x00, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_close] open_count = 1
[drm:pid854:drm_close] setting priv->refs 1 to 1
[drm:pid854:drm_close] setting open_count 1 to 1
[drm:pid854:drm_close_pid] pid = 854, device = 0xffff800004baf800,  
open_count = 1
[drm:pid854:drm_lastclose]
[drm:pid854:drm_lastclose]
[drm:pid854:drm_open] open_count = 0
[drm:pid854:drm_open_helper] pid = 854, minor = 0
[drm:pid854:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
[drm:pid854:drm_addmap] Added map 2 0xffff800049fde000/0x2000
[drm:pid854:drm_firstopen]
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0406400, nr=0x00, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0406400, nr=0x00, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_close] open_count = 1
[drm:pid854:drm_close] setting priv->refs 1 to 1
[drm:pid854:drm_close] setting open_count 1 to 1
[drm:pid854:drm_close_pid] pid = 854, device = 0xffff800004baf800,  
open_count = 1
[drm:pid854:drm_lastclose]
[drm:pid854:drm_lastclose]
[drm:pid854:drm_open] open_count = 0
[drm:pid854:drm_open_helper] pid = 854, minor = 0
[drm:pid854:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
[drm:pid854:drm_addmap] Added map 2 0xffff800049fde000/0x2000
[drm:pid854:drm_firstopen]
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0106407, nr=0x07, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0106401, nr=0x01, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0106401, nr=0x01, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0106407, nr=0x07, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_ioctl] pid=854, cmd=0xc0286415, nr=0x15, dev  
0xffff800004baf800, auth=1
[drm:pid854:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
[drm:pid854:drm_addmap] Found kernel map 2
[drm:pid854:drm_addmap] Added map 2 0xffff800049fde000/0x2000
[drm:pid854:drm_close] open_count = 1
[drm:pid854:drm_close] setting priv->refs 1 to 1
[drm:pid854:drm_close] setting open_count 1 to 1
[drm:pid854:drm_close_pid] pid = 854, device = 0xffff800004baf800,  
open_count = 1
[drm:pid854:drm_lastclose]
[drm:pid854:drm_lastclose]

Regards,

-- 
Loïc Hoguin
Dev:Extend