diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 59 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.h | 53 |
2 files changed, 50 insertions, 62 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index da21105488da..e9486630a467 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
| @@ -1449,65 +1449,6 @@ extern void radeon_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc | |||
| 1449 | extern int radeon_resume_kms(struct drm_device *dev); | 1449 | extern int radeon_resume_kms(struct drm_device *dev); |
| 1450 | extern int radeon_suspend_kms(struct drm_device *dev, pm_message_t state); | 1450 | extern int radeon_suspend_kms(struct drm_device *dev, pm_message_t state); |
| 1451 | 1451 | ||
| 1452 | /* r100,rv100,rs100,rv200,rs200,r200,rv250,rs300,rv280 */ | ||
| 1453 | extern void r100_gpu_lockup_update(struct r100_gpu_lockup *lockup, struct radeon_cp *cp); | ||
| 1454 | extern bool r100_gpu_cp_is_lockup(struct radeon_device *rdev, struct r100_gpu_lockup *lockup, struct radeon_cp *cp); | ||
| 1455 | |||
| 1456 | /* rv200,rv250,rv280 */ | ||
| 1457 | extern void r200_set_safe_registers(struct radeon_device *rdev); | ||
| 1458 | |||
| 1459 | /* r300,r350,rv350,rv370,rv380 */ | ||
| 1460 | extern void r300_set_reg_safe(struct radeon_device *rdev); | ||
| 1461 | extern void r300_mc_program(struct radeon_device *rdev); | ||
| 1462 | extern void r300_mc_init(struct radeon_device *rdev); | ||
| 1463 | extern void r300_clock_startup(struct radeon_device *rdev); | ||
| 1464 | extern int r300_mc_wait_for_idle(struct radeon_device *rdev); | ||
| 1465 | extern int rv370_pcie_gart_init(struct radeon_device *rdev); | ||
| 1466 | extern void rv370_pcie_gart_fini(struct radeon_device *rdev); | ||
| 1467 | extern int rv370_pcie_gart_enable(struct radeon_device *rdev); | ||
| 1468 | extern void rv370_pcie_gart_disable(struct radeon_device *rdev); | ||
| 1469 | |||
| 1470 | /* r420,r423,rv410 */ | ||
| 1471 | extern u32 r420_mc_rreg(struct radeon_device *rdev, u32 reg); | ||
| 1472 | extern void r420_mc_wreg(struct radeon_device *rdev, u32 reg, u32 v); | ||
| 1473 | extern int r420_debugfs_pipes_info_init(struct radeon_device *rdev); | ||
| 1474 | extern void r420_pipes_init(struct radeon_device *rdev); | ||
| 1475 | |||
| 1476 | /* rv515 */ | ||
| 1477 | struct rv515_mc_save { | ||
| 1478 | u32 d1vga_control; | ||
| 1479 | u32 d2vga_control; | ||
| 1480 | u32 vga_render_control; | ||
| 1481 | u32 vga_hdp_control; | ||
| 1482 | u32 d1crtc_control; | ||
| 1483 | u32 d2crtc_control; | ||
| 1484 | }; | ||
| 1485 | extern void rv515_bandwidth_avivo_update(struct radeon_device *rdev); | ||
| 1486 | extern void rv515_vga_render_disable(struct radeon_device *rdev); | ||
| 1487 | extern void rv515_set_safe_registers(struct radeon_device *rdev); | ||
| 1488 | extern void rv515_mc_stop(struct radeon_device *rdev, struct rv515_mc_save *save); | ||
| 1489 | extern void rv515_mc_resume(struct radeon_device *rdev, struct rv515_mc_save *save); | ||
| 1490 | extern void rv515_clock_startup(struct radeon_device *rdev); | ||
| 1491 | extern void rv515_debugfs(struct radeon_device *rdev); | ||
| 1492 | extern int rv515_suspend(struct radeon_device *rdev); | ||
| 1493 | |||
| 1494 | /* rs400 */ | ||
| 1495 | extern int rs400_gart_init(struct radeon_device *rdev); | ||
| 1496 | extern int rs400_gart_enable(struct radeon_device *rdev); | ||
| 1497 | extern void rs400_gart_adjust_size(struct radeon_device *rdev); | ||
| 1498 | extern void rs400_gart_disable(struct radeon_device *rdev); | ||
| 1499 | extern void rs400_gart_fini(struct radeon_device *rdev); | ||
| 1500 | |||
| 1501 | /* rs600 */ | ||
| 1502 | extern void rs600_set_safe_registers(struct radeon_device *rdev); | ||
| 1503 | extern int rs600_irq_set(struct radeon_device *rdev); | ||
| 1504 | extern void rs600_irq_disable(struct radeon_device *rdev); | ||
| 1505 | |||
| 1506 | /* rs690, rs740 */ | ||
| 1507 | extern void rs690_line_buffer_adjust(struct radeon_device *rdev, | ||
| 1508 | struct drm_display_mode *mode1, | ||
| 1509 | struct drm_display_mode *mode2); | ||
| 1510 | |||
| 1511 | /* r600, rv610, rv630, rv620, rv635, rv670, rs780, rs880 */ | 1452 | /* r600, rv610, rv630, rv620, rv635, rv670, rs780, rs880 */ |
| 1512 | extern bool r600_card_posted(struct radeon_device *rdev); | 1453 | extern bool r600_card_posted(struct radeon_device *rdev); |
| 1513 | extern void r600_cp_stop(struct radeon_device *rdev); | 1454 | extern void r600_cp_stop(struct radeon_device *rdev); |
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h index 9ac71b8d1b9d..e01f07718539 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.h +++ b/drivers/gpu/drm/radeon/radeon_asic.h | |||
| @@ -102,6 +102,11 @@ int r100_pci_gart_enable(struct radeon_device *rdev); | |||
| 102 | void r100_pci_gart_disable(struct radeon_device *rdev); | 102 | void r100_pci_gart_disable(struct radeon_device *rdev); |
| 103 | int r100_debugfs_mc_info_init(struct radeon_device *rdev); | 103 | int r100_debugfs_mc_info_init(struct radeon_device *rdev); |
| 104 | int r100_gui_wait_for_idle(struct radeon_device *rdev); | 104 | int r100_gui_wait_for_idle(struct radeon_device *rdev); |
| 105 | void r100_gpu_lockup_update(struct r100_gpu_lockup *lockup, | ||
| 106 | struct radeon_cp *cp); | ||
| 107 | bool r100_gpu_cp_is_lockup(struct radeon_device *rdev, | ||
| 108 | struct r100_gpu_lockup *lockup, | ||
| 109 | struct radeon_cp *cp); | ||
| 105 | void r100_ib_fini(struct radeon_device *rdev); | 110 | void r100_ib_fini(struct radeon_device *rdev); |
| 106 | int r100_ib_init(struct radeon_device *rdev); | 111 | int r100_ib_init(struct radeon_device *rdev); |
| 107 | void r100_irq_disable(struct radeon_device *rdev); | 112 | void r100_irq_disable(struct radeon_device *rdev); |
| @@ -138,10 +143,11 @@ extern void r100_post_page_flip(struct radeon_device *rdev, int crtc); | |||
| 138 | * r200,rv250,rs300,rv280 | 143 | * r200,rv250,rs300,rv280 |
| 139 | */ | 144 | */ |
| 140 | extern int r200_copy_dma(struct radeon_device *rdev, | 145 | extern int r200_copy_dma(struct radeon_device *rdev, |
| 141 | uint64_t src_offset, | 146 | uint64_t src_offset, |
| 142 | uint64_t dst_offset, | 147 | uint64_t dst_offset, |
| 143 | unsigned num_pages, | 148 | unsigned num_pages, |
| 144 | struct radeon_fence *fence); | 149 | struct radeon_fence *fence); |
| 150 | void r200_set_safe_registers(struct radeon_device *rdev); | ||
| 145 | 151 | ||
| 146 | /* | 152 | /* |
| 147 | * r300,r350,rv350,rv380 | 153 | * r300,r350,rv350,rv380 |
| @@ -162,6 +168,15 @@ extern uint32_t rv370_pcie_rreg(struct radeon_device *rdev, uint32_t reg); | |||
| 162 | extern void rv370_pcie_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | 168 | extern void rv370_pcie_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); |
| 163 | extern void rv370_set_pcie_lanes(struct radeon_device *rdev, int lanes); | 169 | extern void rv370_set_pcie_lanes(struct radeon_device *rdev, int lanes); |
| 164 | extern int rv370_get_pcie_lanes(struct radeon_device *rdev); | 170 | extern int rv370_get_pcie_lanes(struct radeon_device *rdev); |
| 171 | extern void r300_set_reg_safe(struct radeon_device *rdev); | ||
| 172 | extern void r300_mc_program(struct radeon_device *rdev); | ||
| 173 | extern void r300_mc_init(struct radeon_device *rdev); | ||
| 174 | extern void r300_clock_startup(struct radeon_device *rdev); | ||
| 175 | extern int r300_mc_wait_for_idle(struct radeon_device *rdev); | ||
| 176 | extern int rv370_pcie_gart_init(struct radeon_device *rdev); | ||
| 177 | extern void rv370_pcie_gart_fini(struct radeon_device *rdev); | ||
| 178 | extern int rv370_pcie_gart_enable(struct radeon_device *rdev); | ||
| 179 | extern void rv370_pcie_gart_disable(struct radeon_device *rdev); | ||
| 165 | 180 | ||
| 166 | /* | 181 | /* |
| 167 | * r420,r423,rv410 | 182 | * r420,r423,rv410 |
| @@ -171,6 +186,10 @@ extern void r420_fini(struct radeon_device *rdev); | |||
| 171 | extern int r420_suspend(struct radeon_device *rdev); | 186 | extern int r420_suspend(struct radeon_device *rdev); |
| 172 | extern int r420_resume(struct radeon_device *rdev); | 187 | extern int r420_resume(struct radeon_device *rdev); |
| 173 | extern void r420_pm_init_profile(struct radeon_device *rdev); | 188 | extern void r420_pm_init_profile(struct radeon_device *rdev); |
| 189 | extern u32 r420_mc_rreg(struct radeon_device *rdev, u32 reg); | ||
| 190 | extern void r420_mc_wreg(struct radeon_device *rdev, u32 reg, u32 v); | ||
| 191 | extern int r420_debugfs_pipes_info_init(struct radeon_device *rdev); | ||
| 192 | extern void r420_pipes_init(struct radeon_device *rdev); | ||
| 174 | 193 | ||
| 175 | /* | 194 | /* |
| 176 | * rs400,rs480 | 195 | * rs400,rs480 |
| @@ -183,6 +202,12 @@ void rs400_gart_tlb_flush(struct radeon_device *rdev); | |||
| 183 | int rs400_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); | 202 | int rs400_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); |
| 184 | uint32_t rs400_mc_rreg(struct radeon_device *rdev, uint32_t reg); | 203 | uint32_t rs400_mc_rreg(struct radeon_device *rdev, uint32_t reg); |
| 185 | void rs400_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | 204 | void rs400_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); |
| 205 | int rs400_gart_init(struct radeon_device *rdev); | ||
| 206 | int rs400_gart_enable(struct radeon_device *rdev); | ||
| 207 | void rs400_gart_adjust_size(struct radeon_device *rdev); | ||
| 208 | void rs400_gart_disable(struct radeon_device *rdev); | ||
| 209 | void rs400_gart_fini(struct radeon_device *rdev); | ||
| 210 | |||
| 186 | 211 | ||
| 187 | /* | 212 | /* |
| 188 | * rs600. | 213 | * rs600. |
| @@ -194,6 +219,7 @@ extern int rs600_suspend(struct radeon_device *rdev); | |||
| 194 | extern int rs600_resume(struct radeon_device *rdev); | 219 | extern int rs600_resume(struct radeon_device *rdev); |
| 195 | int rs600_irq_set(struct radeon_device *rdev); | 220 | int rs600_irq_set(struct radeon_device *rdev); |
| 196 | int rs600_irq_process(struct radeon_device *rdev); | 221 | int rs600_irq_process(struct radeon_device *rdev); |
| 222 | void rs600_irq_disable(struct radeon_device *rdev); | ||
| 197 | u32 rs600_get_vblank_counter(struct radeon_device *rdev, int crtc); | 223 | u32 rs600_get_vblank_counter(struct radeon_device *rdev, int crtc); |
| 198 | void rs600_gart_tlb_flush(struct radeon_device *rdev); | 224 | void rs600_gart_tlb_flush(struct radeon_device *rdev); |
| 199 | int rs600_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); | 225 | int rs600_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); |
| @@ -211,6 +237,8 @@ extern void rs600_pm_finish(struct radeon_device *rdev); | |||
| 211 | extern void rs600_pre_page_flip(struct radeon_device *rdev, int crtc); | 237 | extern void rs600_pre_page_flip(struct radeon_device *rdev, int crtc); |
| 212 | extern u32 rs600_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | 238 | extern u32 rs600_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); |
| 213 | extern void rs600_post_page_flip(struct radeon_device *rdev, int crtc); | 239 | extern void rs600_post_page_flip(struct radeon_device *rdev, int crtc); |
| 240 | void rs600_set_safe_registers(struct radeon_device *rdev); | ||
| 241 | |||
| 214 | 242 | ||
| 215 | /* | 243 | /* |
| 216 | * rs690,rs740 | 244 | * rs690,rs740 |
| @@ -222,10 +250,21 @@ int rs690_suspend(struct radeon_device *rdev); | |||
| 222 | uint32_t rs690_mc_rreg(struct radeon_device *rdev, uint32_t reg); | 250 | uint32_t rs690_mc_rreg(struct radeon_device *rdev, uint32_t reg); |
| 223 | void rs690_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | 251 | void rs690_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); |
| 224 | void rs690_bandwidth_update(struct radeon_device *rdev); | 252 | void rs690_bandwidth_update(struct radeon_device *rdev); |
| 253 | void rs690_line_buffer_adjust(struct radeon_device *rdev, | ||
| 254 | struct drm_display_mode *mode1, | ||
| 255 | struct drm_display_mode *mode2); | ||
| 225 | 256 | ||
| 226 | /* | 257 | /* |
| 227 | * rv515 | 258 | * rv515 |
| 228 | */ | 259 | */ |
| 260 | struct rv515_mc_save { | ||
| 261 | u32 d1vga_control; | ||
| 262 | u32 d2vga_control; | ||
| 263 | u32 vga_render_control; | ||
| 264 | u32 vga_hdp_control; | ||
| 265 | u32 d1crtc_control; | ||
| 266 | u32 d2crtc_control; | ||
| 267 | }; | ||
| 229 | int rv515_init(struct radeon_device *rdev); | 268 | int rv515_init(struct radeon_device *rdev); |
| 230 | void rv515_fini(struct radeon_device *rdev); | 269 | void rv515_fini(struct radeon_device *rdev); |
| 231 | uint32_t rv515_mc_rreg(struct radeon_device *rdev, uint32_t reg); | 270 | uint32_t rv515_mc_rreg(struct radeon_device *rdev, uint32_t reg); |
| @@ -236,6 +275,14 @@ void rv515_pcie_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | |||
| 236 | void rv515_bandwidth_update(struct radeon_device *rdev); | 275 | void rv515_bandwidth_update(struct radeon_device *rdev); |
| 237 | int rv515_resume(struct radeon_device *rdev); | 276 | int rv515_resume(struct radeon_device *rdev); |
| 238 | int rv515_suspend(struct radeon_device *rdev); | 277 | int rv515_suspend(struct radeon_device *rdev); |
| 278 | void rv515_bandwidth_avivo_update(struct radeon_device *rdev); | ||
| 279 | void rv515_vga_render_disable(struct radeon_device *rdev); | ||
| 280 | void rv515_set_safe_registers(struct radeon_device *rdev); | ||
| 281 | void rv515_mc_stop(struct radeon_device *rdev, struct rv515_mc_save *save); | ||
| 282 | void rv515_mc_resume(struct radeon_device *rdev, struct rv515_mc_save *save); | ||
| 283 | void rv515_clock_startup(struct radeon_device *rdev); | ||
| 284 | void rv515_debugfs(struct radeon_device *rdev); | ||
| 285 | |||
| 239 | 286 | ||
| 240 | /* | 287 | /* |
| 241 | * r520,rv530,rv560,rv570,r580 | 288 | * r520,rv530,rv560,rv570,r580 |
