Re: 2.6.35-rc2-git5 -- [drm:drm_mode_getfb] *ERROR* invalidframebuffer id

From: David Fries
Date: Thu Aug 05 2010 - 20:56:00 EST


On Tue, Aug 03, 2010 at 09:23:33PM -0700, Bret Towe wrote:
> On Tue, Aug 3, 2010 at 8:27 PM, David Fries <david@xxxxxxxxx> wrote:
> > Black (non-updating) radeon console with CONFIG_FB=m works with CONFIG_FB=y.
> >
> > On Mon, Jun 28, 2010 at 08:56:26AM -0700, Bret Towe wrote:
> >> On Fri, Jun 11, 2010 at 1:31 PM, Miles Lane <miles.lane@xxxxxxxxx> wrote:
> >> > # dmesg | grep -i drm
> >> > How should I go about debugging this? ?I am running Ubuntu unstable,
> >> > which just moved to the latest Xorg code (xserver-xorg-core
> >> > 2:1.8.1.901-1ubuntu1 and ?xserver-xorg-video-intel 2:2.11.0-1ubuntu2
> >> > ).
> >> >
> >> > [ ? ?0.971549] [drm] Initialized drm 1.1.0 20060810
> >> > [ ? ?1.171050] [drm] set up 31M of stolen space
> >> > [ ? ?2.075347] fb0: inteldrmfb frame buffer device
> >> > [ ? ?2.075351] drm: registered panic notifier
> >> > [ ? ?2.081609] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
> >> > [ ? 66.545581] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
> >> > [ ? 75.336738] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
> >> > [30843.394355] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
> >> > [33302.610229] [drm:init_ring_common] *ERROR* render ring head not
> >> > reset to zero ctl 00000000 head fffffffc tail 00000000 start 02000000
> >> > [33302.610238] [drm:init_ring_common] *ERROR* render ring head forced
> >> > to zero ctl 00000000 head 00000000 tail 00000000 start 02000000
> >> > [33305.239941] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
> >> > [35339.052446] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
> >> >
> >> > CONFIG_FB=y
> >>
> >> any luck on this? I'm seeing the same error with a radeon card
> >> I'm on a 2.6.35-rc3 kernel btw
> >> on ubuntu lucid
> >>
> >> and not sure if its related or not but my consoles are broken
> >> in that i can't see them switching to them gives dmesg an error
> >> like above
> >> any dmesg or config output required say so I'll be able to add them tonight
> >
> > I'm having about the same problem as what you are describing. ?The
> > earlier boot uses VGA text, but as soon as it goes to what should be
> > the framebuffer the screen goes black until X, which displays
> > normally. ?Switching to console from X results into the cursor
> > vanishing, but the rest of what was on the screen in X continues to
> > display at what should now be console. ?The '*ERROR* invalid
> > framebuffer id' is being displayed when I'm entering X not when
> > leaving.
> >
> > Bret, try compiling the frame buffer into the kernel CONFIG_FB=y as
> > the frame buffer is only broken for me when it's a module. ?I see
> > Miles has his compiled in, so I'm thinking it's a different bug.
> >
> > broken output
> > [drm] Initialized drm 1.1.0 20060810
> > [drm] radeon kernel modesetting enabled.
> > radeon 0000:01:05.0: power state changed by ACPI to D0
> > radeon 0000:01:05.0: power state changed by ACPI to D0
> > radeon 0000:01:05.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> > [drm] initializing kernel modesetting (RS480 0x1002:0x5975).
> > [drm] register mmio base: 0xC0100000
> > [drm] register mmio size: 65536
> > [drm:rs400_gart_adjust_size] *ERROR* Forcing to 32M GART size (because of ASIC bug ?)
> > [drm] Generation 2 PCI interface, using max accessible memory
> > radeon 0000:01:05.0: VRAM: 128M 0x78000000 - 0x7FFFFFFF (128M used)
> > radeon 0000:01:05.0: GTT: 32M 0x80000000 - 0x81FFFFFF
> > [drm] radeon: irq initialized.
> > [drm] Detected VRAM RAM=128M, BAR=128M
> > [drm] RAM width 128bits DDR
> > [TTM] Zone ?kernel: Available graphics memory: 963794 kiB.
> > [TTM] Initializing pool allocator.
> > [drm] radeon: 128M of VRAM memory ready
> > [drm] radeon: 32M of GTT memory ready.
> > [drm] GART: num cpu pages 8192, num gpu pages 8192
> > [drm] radeon: 1 quad pipes, 1 z pipes initialized.
> > [drm] Loading R300 Microcode
> > [drm] radeon: ring at 0x0000000080000000
> > [drm] ring test succeeded in 1 usecs
> > [drm] radeon: ib pool ready.
> > [drm] ib test succeeded in 0 usecs
> > [drm] Default TV standard: NTSC
> > [drm] 14.318180000 MHz TV ref clk
> > [drm] Panel ID String: AUO
> > [drm] Panel Size 1280x800
> > [drm] Radeon Display Connectors
> > [drm] Connector 0:
> > [drm] ? VGA
> > [drm] ? DDC: 0x68 0x68 0x68 0x68 0x68 0x68 0x68 0x68
> > [drm] ? Encoders:
> > [drm] ? ? CRT1: INTERNAL_DAC2
> > [drm] Connector 1:
> > [drm] ? LVDS
> > [drm] ? DDC: 0x198 0x198 0x19c 0x19c 0x1a0 0x1a0 0x1a4 0x1a4
> > [drm] ? Encoders:
> > [drm] ? ? LCD1: INTERNAL_LVDS
> > [drm] radeon: power management initialized
> > [drm] fb mappable at 0xC8040000
> > [drm] vram apper at 0xC8000000
> > [drm] size 4096000
> > [drm] fb depth is 24
> > [drm] ? ?pitch is 5120
> > fb0: radeondrmfb frame buffer device
> > drm: registered panic notifier
> > Slow work thread pool: Starting up
> > Slow work thread pool: Ready
> > [drm] Initialized radeon 2.5.0 20080528 for 0000:01:05.0 on minor 0
> >
> > The working CONFIG_FB=y version adds a Console: output message. ?That
> > message comes from drivers/char/vt.c bind_con_driver. ?Any reason it
> > would fail when the frame buffer is compiled as a module?
> > ?[drm] size 4096000
> > ?[drm] fb depth is 24
> > ?[drm] ? ?pitch is 5120
> > +Console: switching to colour frame buffer device 160x50
> > ?fb0: radeondrmfb frame buffer device
> > ?drm: registered panic notifier
> > ?Slow work thread pool: Starting up
> >
> > This is going from my non-working .config to my working .config.
> >
> > @@ -2107,13 +2107,13 @@ CONFIG_DRM_RADEON=m
> > ?# CONFIG_DRM_SAVAGE is not set
> > ?CONFIG_VGASTATE=m
> > ?# CONFIG_VIDEO_OUTPUT_CONTROL is not set
> > -CONFIG_FB=m
> > +CONFIG_FB=y
> > ?CONFIG_FIRMWARE_EDID=y
> > ?CONFIG_FB_DDC=m
> > -# CONFIG_FB_BOOT_VESA_SUPPORT is not set
> > -CONFIG_FB_CFB_FILLRECT=m
> > -CONFIG_FB_CFB_COPYAREA=m
> > -CONFIG_FB_CFB_IMAGEBLIT=m
> > +CONFIG_FB_BOOT_VESA_SUPPORT=y
> > +CONFIG_FB_CFB_FILLRECT=y
> > +CONFIG_FB_CFB_COPYAREA=y
> > +CONFIG_FB_CFB_IMAGEBLIT=y
> > ?# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
> > ?CONFIG_FB_SYS_FILLRECT=m
> > ?CONFIG_FB_SYS_COPYAREA=m
> > @@ -2133,8 +2133,11 @@ CONFIG_FB_TILEBLITTING=y
> > ?# CONFIG_FB_PM2 is not set
> > ?# CONFIG_FB_CYBER2000 is not set
> > ?# CONFIG_FB_ARC is not set
> > +# CONFIG_FB_ASILIANT is not set
> > +# CONFIG_FB_IMSTT is not set
> > ?CONFIG_FB_VGA16=m
> > ?# CONFIG_FB_UVESA is not set
> > +CONFIG_FB_VESA=y
> > ?# CONFIG_FB_N411 is not set
> > ?# CONFIG_FB_HGA is not set
> > ?# CONFIG_FB_S1D13XXX is not set
> > @@ -2191,7 +2194,7 @@ CONFIG_DISPLAY_SUPPORT=m
> > ?CONFIG_VGA_CONSOLE=y
> > ?# CONFIG_VGACON_SOFT_SCROLLBACK is not set
> > ?CONFIG_DUMMY_CONSOLE=y
> > -CONFIG_FRAMEBUFFER_CONSOLE=m
> > +CONFIG_FRAMEBUFFER_CONSOLE=y
> > ?# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
>
> I believe what had solved my problem was setting the above config option

CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
No luck here, console is still blank when starting and retain the X
image when switching to consoles from X. I suppose it doesn't help to
have it as a module, it's still getting loaded a executed. It's too
bad though, I've measured it to be 13 times slower than the VGA text
console on dumping a whole bunch of text to the screen.

> > ?CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
> > ?# CONFIG_FONTS is not set
> >
> > I tried 2.6.34-rc7 with CONFIG_FB=m and it also gives a non-updating
> > console.
> >
> > --
> > David Fries <david@xxxxxxxxx>
> > http://fries.net/~david/ (PGP encryption key available)
> >
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
David Fries <david@xxxxxxxxx>
http://fries.net/~david/ (PGP encryption key available)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/