R200 Microcode detection not correct?

jason jason at ec.rr.com
Sun Sep 5 21:36:34 PDT 2004


I added a line of code to get some info about whats going on. 

 DRM_INFO(Loading radeon_cp_microcode, not the R200\n");


Do I need do a build world to install this?  I remeber the radeon 
modules used to be in a folder where you could just type make install to 
install the them by their selves if you updated/hacked them.  I don't 
see a makefile in the folder so this is why I ask, and make says no 
target to make.



jason wrote:

>    I have had problems with getting dri working in the past, and still 
> do, so I started going through code for my video card and related 
> stuff.  I found that tracking current caused the line about loading 
> the r200 microcode for my radeon driver to go and come in my dmesg.  
> Right now I have 5.3beta3, I plan to stay with 5.3 release for a 
> while, and the line is missing.  I don't beleive I have ever been able 
> to run with dri loaded on my nforce 2 board and a radeon 8500.  But 
> now I can use agp instead of pci mode and run xorg.  If I load dri 
> with agp my system now gets to the wm stage and my monitor's osd tells 
> me it has switched to 1280x1024 at 85hz.  I get a black screen with some 
> colors at the top and the mouse stays functionail but my keyboard 
> seems to die.  I check very thoroughly and there was no Xorg.0.log 
> made for the run when dri was loaded.  I only checked for the long 
> once and crashed it by loading dri twice.  I'll try to get a log if it 
> is needed.  The power button is set to shutdown with acpi on, it works 
> half the time.  Maybe this was responcable for me not finding a long 
> of the crash?
>    My question is could this be related to the wrong microcode being 
> loaded?  I know I have a r200, its even in the Xorg.0.log and pciconf 
> that I have a r200.  Is there anyone that has experince on this that 
> could give me a hint?  Should I make a pr for this?
>
>
>
>
> Lines 672-706  from /usr/src/sys/dev/drm/radeon_cp.c
>
>
>
> /* ================================================================
> * CP control, initialization
> */
>
> /* Load the microcode for the CP */
> static void radeon_cp_load_microcode( drm_radeon_private_t *dev_priv )
> {
>    int i;
>    DRM_DEBUG( "\n" );
>
>    radeon_do_wait_for_idle( dev_priv );
>
>    RADEON_WRITE( RADEON_CP_ME_RAM_ADDR, 0 );
>
>    if (dev_priv->is_r200)
>    {
>        DRM_INFO("Loading R200 Microcode\n");
>        for ( i = 0 ; i < 256 ; i++ )
>        {
>            RADEON_WRITE( RADEON_CP_ME_RAM_DATAH,
>                      R200_cp_microcode[i][1] );
>            RADEON_WRITE( RADEON_CP_ME_RAM_DATAL,
>                      R200_cp_microcode[i][0] );
>        }
>    }
>    else
>    {
>        for ( i = 0 ; i < 256 ; i++ ) {
>            RADEON_WRITE( RADEON_CP_ME_RAM_DATAH,
>                      radeon_cp_microcode[i][1] );
>            RADEON_WRITE( RADEON_CP_ME_RAM_DATAL,
>                      radeon_cp_microcode[i][0] );
>        }
>    }
> }
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"
>



More information about the freebsd-questions mailing list