Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Sep 2004 16:23:38 -0700
From:      Eric Anholt <eta@lclark.edu>
To:        vova@fbsd.ru
Cc:        "current@freebsd.org" <current@freebsd.org>
Subject:   Re: ATI Radeon LY Mobility M6: DRM does not work - locking issue ?
Message-ID:  <1094685817.871.4.camel@leguin>
In-Reply-To: <1094634253.2172.13.camel@localhost>
References:  <1094502674.2668.4.camel@localhost> <1094631615.860.7.camel@leguin>  <1094634253.2172.13.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2004-09-08 at 02:04, Vladimir Grebenschikov wrote:
> В ср, 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 ...

Your card can't accelerate 24bpp for anything more complicated than 2d
source copies, only 24/32 depth with 32 bpp, so you're actually at
32bpp.  Also, front, back, and depth buffers are allocated statically at
startup all with the same bpp, so there are 3 buffers.  So, width *
height * 4 * 3 is how much you need.

(These logs posted here are different from what was initially posted. 
I'm still curious as to what was happening previously.)

-- 
Eric Anholt                                eta@lclark.edu          
http://people.freebsd.org/~anholt/         anholt@FreeBSD.org




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1094685817.871.4.camel>