ATI Radeon LY Mobility M6: DRM does not work - locking issue ?

Vladimir Grebenschikov vova at fbsd.ru
Wed Sep 8 02:04:15 PDT 2004


В ср, 08/09/2004 в 01:20 -0700, Eric Anholt пишет:
> On Mon, 2004-09-06 at 13:31, Vladimir Grebenschikov wrote:
> > Hi
> > 
> > 6-CURRENT
> > 
> > from dmesg:
> > 
> > drm0: <ATI Radeon LY Mobility M6> port 0x3000-0x30ff mem
> > 0xd0100000-0xd010ffff,0xd8000000-0xdfffffff irq 9 at device 0.0 on pci1
> > info: [drm] Initialized radeon 1.11.0 20020828 on minor 0
> > error: [drm:pid2477:radeon_cp_init] *ERROR* radeon_cp_init called
> > without lock held
> > error: [drm:pid2477:radeon_unlock] *ERROR* Process 2477 using kernel
> > context 0
> 
> If you look in your dmesg, does agp initialization come before or after
> the drm?  This sure looks like the symptoms of agp initialization coming
> after (or not at all), but if you say your agp is loaded and attached,
> I'm not sure how that would happen.

dmesg:

drm0: <ATI Radeon LY Mobility M6> port 0x3000-0x30ff mem
0xd0100000-0xd010ffff,0xd8000000-0xdfffffff irq 9 at device 0.0 on pci1
info: [drm] AGP at 0xe0000000 256MB
info: [drm] Initialized radeon 1.11.0 20020828 on minor 0

I have solved problem, it need to make depth 16 or there is no enough
memory to serve direct rendering on 1400x1050 screen with 24 bpp.

and both modules should be loaded before X start

with 16 bpp:
(II) RADEON(0): [drm] created "radeon" driver at busid "PCI:1:0:0"
(II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2f20000
(II) RADEON(0): [drm] mapped SAREA 0xc2f20000 to 0x283c2000
(II) RADEON(0): [drm] framebuffer handle = 0xd8000000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): [agp] Mode 0x1f000201 [AGP 0x0000/0x0000; Card
0x1002/0x4c59]
(II) RADEON(0): [agp] 8192 kB allocated with handle 0xc1e8fac0
(II) RADEON(0): [agp] ring handle = 0xe0000000
(II) RADEON(0): [agp] Ring mapped at 0x29422000
(II) RADEON(0): [agp] ring read ptr handle = 0xe0101000
(II) RADEON(0): [agp] Ring read ptr mapped at 0x282cf000
(II) RADEON(0): [agp] vertex/indirect buffers handle = 0xe0102000
(II) RADEON(0): [agp] Vertex/indirect buffers mapped at 0x29523000
(II) RADEON(0): [agp] GART texture map handle = 0xe0302000
(II) RADEON(0): [agp] GART Texture map mapped at 0x29723000
(II) RADEON(0): [drm] register handle = 0xd0100000
(II) RADEON(0): [dri] Visual configs initialized
(II) RADEON(0): CP in BM mode
(II) RADEON(0): Using 8 MB GART aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 5 MB for GART textures
(II) RADEON(0): Memory manager initialized to (0,0) (1408,5957)
(II) RADEON(0): Reserved area from (0,1050) to (1408,1052)
(II) RADEON(0): Largest offscreen area available: 1408 x 4905
(II) RADEON(0): Will use back buffer at offset 0x5b8000
(II) RADEON(0): Will use depth buffer at offset 0x88a000
(II) RADEON(0): Will use 4736 kb for textures at offset 0xb60000
(II) RADEON(0): Using XFree86 Acceleration Architecture (XAA
        Screen to screen bit blits
        Solid filled rectangles
        8x8 mono pattern filled rectangles
        Indirect CPU to Screen color expansion
        Solid Lines
        Dashed Lines
        Scanline Image Writes
        Offscreen Pixmaps
        Setting up tile and stipple cache:
                32 128x128 slots
                32 256x256 slots
                15 512x512 slots
(II) RADEON(0): Acceleration enabled
(==) RADEON(0): Backing store disabled
(==) RADEON(0): Silken mouse enabled
(II) RADEON(0): Using hardware cursor (scanline 1052)
(II) RADEON(0): Largest offscreen area available: 1408 x 4899
(II) RADEON(0): X context handle = 0x00000001
(II) RADEON(0): [drm] installed DRM signal handler
(II) RADEON(0): [DRI] installation complete
(II) RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers
(II) RADEON(0): [drm] Mapped 32 vertex/indirect buffers
(II) RADEON(0): [drm] dma control initialized, using IRQ 9
(II) RADEON(0): [drm] Initialized kernel GART heap manager, 5111808
(II) RADEON(0): Direct rendering enabled

With 24 bpp:
(WW) RADEON(0): Static buffer allocation failed -- need at least 17325
kB video memory
(II) RADEON(0): Memory manager initialized to (0,0) (1408,2978)
(II) RADEON(0): Reserved area from (0,1050) to (1408,1052)
(II) RADEON(0): Largest offscreen area available: 1408 x 1926
(II) RADEON(0): Using XFree86 Acceleration Architecture (XAA)
        Screen to screen bit blits
        Solid filled rectangles
        8x8 mono pattern filled rectangles
        Indirect CPU to Screen color expansion
        Solid Lines
        Dashed Lines
        Scanline Image Writes
        Offscreen Pixmaps
        Setting up tile and stipple cache:
                32 128x128 slots
                13 256x256 slots
                5 512x512 slots
(II) RADEON(0): Acceleration enabled
(==) RADEON(0): Backing store disabled
(==) RADEON(0): Silken mouse enabled
(II) RADEON(0): Using hardware cursor (scanline 1052)
(II) RADEON(0): Largest offscreen area available: 1408 x 1923
(II) RADEON(0): Direct rendering disabled


So how required memory calculated ?

VRAM = width * height * 24 / 8 = 4368000 = 4266 Kb 
but it wants 17325 ...

Is there way to tune DRI allocation polices ?


-- 
Vladimir B. Grebenchikov
vova at fbsd.ru


More information about the freebsd-current mailing list