diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-11-21 10:59:01 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-11-21 20:51:08 -0500 |
commit | 6f34be50bd1bdd2ff3c955940e033a80d05f248a (patch) | |
tree | 7e9635a2e589cd3a49490a4656611c112e485059 /drivers/gpu/drm/radeon/radeon_asic.h | |
parent | f5a8020903932624cf020dc72455a10a3e005087 (diff) |
drm/radeon/kms: add pageflip ioctl support (v3)
This adds support for dri2 pageflipping.
v2: precision updates from Mario Kleiner.
v3: Multihead fixes from Mario Kleiner; missing crtc offset
add note about update pending bit on pre-avivo chips
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h index 740988244143..4970eda1bd41 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.h +++ b/drivers/gpu/drm/radeon/radeon_asic.h | |||
@@ -130,6 +130,9 @@ extern void r100_pm_prepare(struct radeon_device *rdev); | |||
130 | extern void r100_pm_finish(struct radeon_device *rdev); | 130 | extern void r100_pm_finish(struct radeon_device *rdev); |
131 | extern void r100_pm_init_profile(struct radeon_device *rdev); | 131 | extern void r100_pm_init_profile(struct radeon_device *rdev); |
132 | extern void r100_pm_get_dynpm_state(struct radeon_device *rdev); | 132 | extern void r100_pm_get_dynpm_state(struct radeon_device *rdev); |
133 | extern void r100_pre_page_flip(struct radeon_device *rdev, int crtc); | ||
134 | extern u32 r100_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | ||
135 | extern void r100_post_page_flip(struct radeon_device *rdev, int crtc); | ||
133 | 136 | ||
134 | /* | 137 | /* |
135 | * r200,rv250,rs300,rv280 | 138 | * r200,rv250,rs300,rv280 |
@@ -205,6 +208,9 @@ void rs600_hpd_set_polarity(struct radeon_device *rdev, | |||
205 | extern void rs600_pm_misc(struct radeon_device *rdev); | 208 | extern void rs600_pm_misc(struct radeon_device *rdev); |
206 | extern void rs600_pm_prepare(struct radeon_device *rdev); | 209 | extern void rs600_pm_prepare(struct radeon_device *rdev); |
207 | extern void rs600_pm_finish(struct radeon_device *rdev); | 210 | extern void rs600_pm_finish(struct radeon_device *rdev); |
211 | 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); | ||
213 | extern void rs600_post_page_flip(struct radeon_device *rdev, int crtc); | ||
208 | 214 | ||
209 | /* | 215 | /* |
210 | * rs690,rs740 | 216 | * rs690,rs740 |
@@ -287,6 +293,7 @@ void rv770_fini(struct radeon_device *rdev); | |||
287 | int rv770_suspend(struct radeon_device *rdev); | 293 | int rv770_suspend(struct radeon_device *rdev); |
288 | int rv770_resume(struct radeon_device *rdev); | 294 | int rv770_resume(struct radeon_device *rdev); |
289 | extern void rv770_pm_misc(struct radeon_device *rdev); | 295 | extern void rv770_pm_misc(struct radeon_device *rdev); |
296 | extern u32 rv770_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | ||
290 | 297 | ||
291 | /* | 298 | /* |
292 | * evergreen | 299 | * evergreen |
@@ -314,5 +321,8 @@ extern int evergreen_cs_parse(struct radeon_cs_parser *p); | |||
314 | extern void evergreen_pm_misc(struct radeon_device *rdev); | 321 | extern void evergreen_pm_misc(struct radeon_device *rdev); |
315 | extern void evergreen_pm_prepare(struct radeon_device *rdev); | 322 | extern void evergreen_pm_prepare(struct radeon_device *rdev); |
316 | extern void evergreen_pm_finish(struct radeon_device *rdev); | 323 | extern void evergreen_pm_finish(struct radeon_device *rdev); |
324 | extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc); | ||
325 | extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | ||
326 | extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc); | ||
317 | 327 | ||
318 | #endif | 328 | #endif |