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 |