Subversion Repositories Kolibri OS

Rev

Rev 879 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 879 Rev 881
Line 78... Line 78...
78
     * revisions of the R300.  This workaround should be called after every
78
     * revisions of the R300.  This workaround should be called after every
79
     * CLOCK_CNTL_INDEX register access.  If not, register reads afterward
79
     * CLOCK_CNTL_INDEX register access.  If not, register reads afterward
80
     * may not be correct.
80
     * may not be correct.
81
     */
81
     */
82
    if (rhd.ChipSet <= RHD_RV380)
82
    if (rhd.ChipFamily <= CHIP_FAMILY_RV380)
83
    {
83
    {
84
        u32_t save, tmp;
84
        u32_t save, tmp;
85
 
85
 
Line 86... Line 86...
86
	save = INREG(RADEON_CLOCK_CNTL_INDEX);
86
	save = INREG(RADEON_CLOCK_CNTL_INDEX);
87
	tmp = save & ~(0x3f | RADEON_PLL_WR_EN);
87
	tmp = save & ~(0x3f | RADEON_PLL_WR_EN);
Line 310... Line 310...
310
  OUTREG(RADEON_CP_ME_RAM_ADDR,0);
310
  OUTREG(RADEON_CP_ME_RAM_ADDR,0);
Line 311... Line 311...
311
 
311
 
Line 312... Line 312...
312
  R5xx2DIdleLocal();
312
  R5xx2DIdleLocal();
313
 
313
 
314
  switch(rhd.ChipSet)
314
  switch(rhd.ChipFamily)
315
  {
315
  {
316
    case RHD_R300:
316
    case CHIP_FAMILY_R300:
317
    case RHD_R350:
-
 
318
    case RHD_RV350:
-
 
319
    case RHD_RV370:
317
    case CHIP_FAMILY_R350:
320
    case RHD_RV380:
318
    case CHIP_FAMILY_RV350:
321
      dbgprintf("Loading R300 microcode\n");
319
      dbgprintf("Loading R300 microcode\n");
322
      for (i = 0; i < 256; i++)
320
      for (i = 0; i < 256; i++)
323
      {
321
      {
324
        OUTREG(RADEON_CP_ME_RAM_DATAH, R300_cp_microcode[i][1]);
322
        OUTREG(RADEON_CP_ME_RAM_DATAH, R300_cp_microcode[i][1]);
325
        OUTREG(RADEON_CP_ME_RAM_DATAL, R300_cp_microcode[i][0]);
323
        OUTREG(RADEON_CP_ME_RAM_DATAL, R300_cp_microcode[i][0]);
326
      }
324
      }
327
      break;
325
      break;
328
 
326
/*
329
    case RHD_RV505:
327
    case RHD_RV505:
330
    case RHD_RV515:
328
    case RHD_RV515:
331
    case RHD_RV516:
329
    case RHD_RV516:
Line 341... Line 339...
341
      {
339
      {
342
        OUTREG(RADEON_CP_ME_RAM_DATAH, R520_cp_microcode[i][1]);
340
        OUTREG(RADEON_CP_ME_RAM_DATAH, R520_cp_microcode[i][1]);
343
        OUTREG(RADEON_CP_ME_RAM_DATAL, R520_cp_microcode[i][0]);
341
        OUTREG(RADEON_CP_ME_RAM_DATAL, R520_cp_microcode[i][0]);
344
      }
342
      }
345
  }
343
*/
-
 
344
  }
346
  safe_sti(ifl);
345
  safe_sti(ifl);
347
};
346
};
348
 
347
 
Line 377... Line 376...
377
 
376
 
Line 378... Line 377...
378
    dbgprintf("gui_control %x \n", rhd.gui_control);
377
    dbgprintf("gui_control %x \n", rhd.gui_control);
Line 379... Line 378...
379
 
378
 
380
    rhd.surface_cntl = 0;
379
    rhd.surface_cntl = 0;
381
    rhd.dst_pitch_offset = ((screenpitch / 64) << 22) |
-
 
Line 382... Line 380...
382
                            ((rhd.FbIntAddress + rhd.FbScanoutStart) >> 10);
380
    rhd.dst_pitch_offset = ((screenpitch / 64) << 22) | (rhd.fbLocation >> 10);
Line 383... Line 381...
383
 
381
 
384
    dbgprintf("dst_pitch_offset %x \n", rhd.dst_pitch_offset);
382
    dbgprintf("dst_pitch_offset %x \n", rhd.dst_pitch_offset);
385
 
383
 
386
 
384
 
387
    scr_pixmap.width  = rhd.displayWidth;
385
    scr_pixmap.width  = rhd.displayWidth;
388
    scr_pixmap.height = rhd.displayHeight;
386
    scr_pixmap.height = rhd.displayHeight;
389
    scr_pixmap.format = PICT_a8r8g8b8;
387
    scr_pixmap.format = PICT_a8r8g8b8;
Line 390... Line 388...
390
    scr_pixmap.pitch  = screenpitch;
388
    scr_pixmap.pitch  = screenpitch;