diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2012-05-14 10:52:30 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-05-17 07:16:03 -0400 |
commit | cfcbd6d3de7f75f7c5a07d3fac8e1949bbbc79e0 (patch) | |
tree | 7e09519d9a45658bb8ff3df52964ce29dcda9f51 /drivers/gpu/drm/radeon/evergreen_hdmi.c | |
parent | 0783986ad7244e374dd5e86c650811bf4f01290d (diff) |
drm/radeon/hdmi: use new AFMT structs
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen_hdmi.c')
-rw-r--r-- | drivers/gpu/drm/radeon/evergreen_hdmi.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen_hdmi.c b/drivers/gpu/drm/radeon/evergreen_hdmi.c index e221f15bb489..a51f880985f8 100644 --- a/drivers/gpu/drm/radeon/evergreen_hdmi.c +++ b/drivers/gpu/drm/radeon/evergreen_hdmi.c | |||
@@ -39,7 +39,9 @@ static void evergreen_hdmi_update_ACR(struct drm_encoder *encoder, uint32_t cloc | |||
39 | struct drm_device *dev = encoder->dev; | 39 | struct drm_device *dev = encoder->dev; |
40 | struct radeon_device *rdev = dev->dev_private; | 40 | struct radeon_device *rdev = dev->dev_private; |
41 | struct radeon_hdmi_acr acr = r600_hdmi_acr(clock); | 41 | struct radeon_hdmi_acr acr = r600_hdmi_acr(clock); |
42 | uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; | 42 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); |
43 | struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; | ||
44 | uint32_t offset = dig->afmt->offset; | ||
43 | 45 | ||
44 | WREG32(HDMI_ACR_32_0 + offset, HDMI_ACR_CTS_32(acr.cts_32khz)); | 46 | WREG32(HDMI_ACR_32_0 + offset, HDMI_ACR_CTS_32(acr.cts_32khz)); |
45 | WREG32(HDMI_ACR_32_1 + offset, acr.n_32khz); | 47 | WREG32(HDMI_ACR_32_1 + offset, acr.n_32khz); |
@@ -92,7 +94,9 @@ static void evergreen_hdmi_videoinfoframe( | |||
92 | { | 94 | { |
93 | struct drm_device *dev = encoder->dev; | 95 | struct drm_device *dev = encoder->dev; |
94 | struct radeon_device *rdev = dev->dev_private; | 96 | struct radeon_device *rdev = dev->dev_private; |
95 | uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; | 97 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); |
98 | struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; | ||
99 | uint32_t offset = dig->afmt->offset; | ||
96 | 100 | ||
97 | uint8_t frame[14]; | 101 | uint8_t frame[14]; |
98 | 102 | ||
@@ -148,13 +152,17 @@ void evergreen_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode | |||
148 | { | 152 | { |
149 | struct drm_device *dev = encoder->dev; | 153 | struct drm_device *dev = encoder->dev; |
150 | struct radeon_device *rdev = dev->dev_private; | 154 | struct radeon_device *rdev = dev->dev_private; |
151 | uint32_t offset = to_radeon_encoder(encoder)->hdmi_offset; | 155 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); |
156 | struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; | ||
157 | uint32_t offset; | ||
152 | 158 | ||
153 | if (ASIC_IS_DCE5(rdev)) | 159 | if (ASIC_IS_DCE5(rdev)) |
154 | return; | 160 | return; |
155 | 161 | ||
156 | if (!to_radeon_encoder(encoder)->hdmi_enabled) | 162 | /* Silent, r600_hdmi_enable will raise WARN for us */ |
163 | if (!dig->afmt->enabled) | ||
157 | return; | 164 | return; |
165 | offset = dig->afmt->offset; | ||
158 | 166 | ||
159 | r600_audio_set_clock(encoder, mode->clock); | 167 | r600_audio_set_clock(encoder, mode->clock); |
160 | 168 | ||