aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r600_hdmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/r600_hdmi.c')
-rw-r--r--drivers/gpu/drm/radeon/r600_hdmi.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c
index 30580d1a14f0..53ee7ad9612c 100644
--- a/drivers/gpu/drm/radeon/r600_hdmi.c
+++ b/drivers/gpu/drm/radeon/r600_hdmi.c
@@ -285,16 +285,10 @@ void r600_hdmi_update_ACR(struct drm_encoder *encoder, uint32_t clock)
285/* 285/*
286 * build a HDMI Video Info Frame 286 * build a HDMI Video Info Frame
287 */ 287 */
288void r600_hdmi_update_avi_infoframe(struct drm_encoder *encoder, void *buffer, 288void r600_update_avi_infoframe(struct radeon_device *rdev, u32 offset,
289 size_t size) 289 unsigned char *buffer, size_t size)
290{ 290{
291 struct drm_device *dev = encoder->dev;
292 struct radeon_device *rdev = dev->dev_private;
293 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
294 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
295 uint32_t offset = dig->afmt->offset;
296 uint8_t *frame = buffer + 3; 291 uint8_t *frame = buffer + 3;
297 uint8_t *header = buffer;
298 292
299 WREG32(HDMI0_AVI_INFO0 + offset, 293 WREG32(HDMI0_AVI_INFO0 + offset,
300 frame[0x0] | (frame[0x1] << 8) | (frame[0x2] << 16) | (frame[0x3] << 24)); 294 frame[0x0] | (frame[0x1] << 8) | (frame[0x2] << 16) | (frame[0x3] << 24));
@@ -303,7 +297,7 @@ void r600_hdmi_update_avi_infoframe(struct drm_encoder *encoder, void *buffer,
303 WREG32(HDMI0_AVI_INFO2 + offset, 297 WREG32(HDMI0_AVI_INFO2 + offset,
304 frame[0x8] | (frame[0x9] << 8) | (frame[0xA] << 16) | (frame[0xB] << 24)); 298 frame[0x8] | (frame[0x9] << 8) | (frame[0xA] << 16) | (frame[0xB] << 24));
305 WREG32(HDMI0_AVI_INFO3 + offset, 299 WREG32(HDMI0_AVI_INFO3 + offset,
306 frame[0xC] | (frame[0xD] << 8) | (header[1] << 24)); 300 frame[0xC] | (frame[0xD] << 8) | (buffer[1] << 24));
307} 301}
308 302
309/* 303/*
@@ -486,7 +480,7 @@ void r600_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode *mod
486 return; 480 return;
487 } 481 }
488 482
489 r600_hdmi_update_avi_infoframe(encoder, buffer, sizeof(buffer)); 483 radeon_update_avi_infoframe(encoder, buffer, sizeof(buffer));
490 484
491 /* fglrx duplicates INFOFRAME_CONTROL0 & INFOFRAME_CONTROL1 ops here */ 485 /* fglrx duplicates INFOFRAME_CONTROL0 & INFOFRAME_CONTROL1 ops here */
492 486