aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-09-09 11:33:36 -0400
committerDave Airlie <airlied@redhat.com>2010-10-05 21:46:30 -0400
commitd7ccd8fc11700502b5a104b7bad595b492a3aa1b (patch)
treedf2a228494a959470d3efd5a7c8cde9e642aca21 /drivers/gpu/drm/radeon/radeon.h
parent75fa0b08e50cb72715b58321e8259c47adfe4c6f (diff)
drm/radeon/kms: add drm blit support for evergreen
This patch implements blit support for bo moves using the 3D engine. It uses the same method as r6xx/r7xx: - store the base state in an IB - emit variable state and vertex buffers to do the blit This allows the hw to move bos using the 3D engine and allows full use of vram beyond the pci aperture size. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 8e5cb2c4fa7e..2edd52ece226 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -1130,6 +1130,12 @@ void r600_blit_done_copy(struct radeon_device *rdev, struct radeon_fence *fence)
1130void r600_kms_blit_copy(struct radeon_device *rdev, 1130void r600_kms_blit_copy(struct radeon_device *rdev,
1131 u64 src_gpu_addr, u64 dst_gpu_addr, 1131 u64 src_gpu_addr, u64 dst_gpu_addr,
1132 int size_bytes); 1132 int size_bytes);
1133/* evergreen blit */
1134int evergreen_blit_prepare_copy(struct radeon_device *rdev, int size_bytes);
1135void evergreen_blit_done_copy(struct radeon_device *rdev, struct radeon_fence *fence);
1136void evergreen_kms_blit_copy(struct radeon_device *rdev,
1137 u64 src_gpu_addr, u64 dst_gpu_addr,
1138 int size_bytes);
1133 1139
1134static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg) 1140static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg)
1135{ 1141{
@@ -1471,6 +1477,8 @@ extern void r700_cp_stop(struct radeon_device *rdev);
1471extern void r700_cp_fini(struct radeon_device *rdev); 1477extern void r700_cp_fini(struct radeon_device *rdev);
1472extern void evergreen_disable_interrupt_state(struct radeon_device *rdev); 1478extern void evergreen_disable_interrupt_state(struct radeon_device *rdev);
1473extern int evergreen_irq_set(struct radeon_device *rdev); 1479extern int evergreen_irq_set(struct radeon_device *rdev);
1480extern int evergreen_blit_init(struct radeon_device *rdev);
1481extern void evergreen_blit_fini(struct radeon_device *rdev);
1474 1482
1475/* radeon_acpi.c */ 1483/* radeon_acpi.c */
1476#if defined(CONFIG_ACPI) 1484#if defined(CONFIG_ACPI)