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; |