Re: Bug#246627: Radeon card firmware problem
X works again
Thanks everyone
David
P.S. I can't say anything about 3d apps since I don't use any.
On Thu, 2004-04-29 at 23:53, Fabio Massimo Di Nitto wrote:
> reassign 246627 kernel-source-2.6.5
> stop
>
> Hi all,
>
> On Fri, 30 Apr 2004, David Meggy wrote:
>
> > On startup it quickly kills my console and I never get an X-window
> > server. Logging in remotely and running dmesg, I get the following at
> > the end.
>
> [SNIP]
>
> > [drm] Initialized radeon 1.9.0 20020828 on minor 0
> > agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
> > agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode
> > agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode
> > [drm:radeon_cp_load_microcode] *ERROR* Firmware file "r200_cp_microcode" not available.
>
> [SNIP]
>
> > Other useful information:
> > I'm running Debian Sid, using the 2.6-k7 kernel
> > package, and this problem started after my daily
> > update this evening which would be the early hours of
> > April 30 GMT
>
> With the last X update, some non-free code has been revomed, and source
> patched accordingly. X itself does not handle the load of the microcode to
> the board, the kernel does (therefor i am reassigning the bug).
>
> For completness I did a check on the radeon code inside X and there is no
> reference to radeon_cp_load_microcode or similar calls. On the other side
> that can be spotted inside the kernel at:
>
> kernel-source-2.6.5-2.6.5/drivers/char/drm/radeon_cp.c:675
>
> /* Load the microcode for the CP */
> static void radeon_cp_load_microcode( drm_radeon_private_t *dev_priv )
> [SNIP]
>
>
> that is called twice in the same file. Specifically at lines 1258 for
> radeon_do_init_cp and 1339 for radeon_do_resume_cp.
>
> X uses these two functions via ioctl but cannot disable the
> radeon_cp_load_microcode itself.
>
> Herbert, would you be so kind to take a look at this patch?
>
> --- radeon_cp.c.orig 2004-04-30 06:50:24.000000000 +0000
> +++ radeon_cp.c 2004-04-30 06:51:02.000000000 +0000
> @@ -1255,7 +1255,7 @@
> radeon_set_pcigart( dev_priv, 1 );
> }
>
> - radeon_cp_load_microcode( dev_priv );
> + /* radeon_cp_load_microcode( dev_priv ); */
> radeon_cp_init_ring_buffer( dev, dev_priv );
>
> dev_priv->last_buf = 0;
> @@ -1336,7 +1336,7 @@
> radeon_set_pcigart( dev_priv, 1 );
> }
>
> - radeon_cp_load_microcode( dev_priv );
> + /* radeon_cp_load_microcode( dev_priv ); */
> radeon_cp_init_ring_buffer( dev, dev_priv );
>
> radeon_do_engine_reset( dev );
>
> It should be able to fix the problem but i cannot test it myself since I
> lack that kind of hardware.
>
> Thanks a lot
> Fabio
Reply to: