aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/sti/sti_hdmi.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 192119761c14..d032e024b0b8 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -272,31 +272,32 @@ static int hdmi_avi_infoframe_config(struct sti_hdmi *hdmi)
272 hdmi_write(hdmi, val, HDMI_SW_DI_CFG); 272 hdmi_write(hdmi, val, HDMI_SW_DI_CFG);
273 273
274 /* Infoframe header */ 274 /* Infoframe header */
275 val = buffer[0x0]; 275 val = buffer[0];
276 val |= buffer[0x1] << 8; 276 val |= buffer[1] << 8;
277 val |= buffer[0x2] << 16; 277 val |= buffer[2] << 16;
278 hdmi_write(hdmi, val, HDMI_SW_DI_N_HEAD_WORD(HDMI_IFRAME_SLOT_AVI)); 278 hdmi_write(hdmi, val, HDMI_SW_DI_N_HEAD_WORD(HDMI_IFRAME_SLOT_AVI));
279 279
280 /* Infoframe packet bytes */ 280 /* Infoframe packet bytes */
281 val = frame[0x0]; 281 val = buffer[3];
282 val |= frame[0x1] << 8; 282 val |= *(frame++) << 8;
283 val |= frame[0x2] << 16; 283 val |= *(frame++) << 16;
284 val |= frame[0x3] << 24; 284 val |= *(frame++) << 24;
285 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD0(HDMI_IFRAME_SLOT_AVI)); 285 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD0(HDMI_IFRAME_SLOT_AVI));
286 286
287 val = frame[0x4]; 287 val = *(frame++);
288 val |= frame[0x5] << 8; 288 val |= *(frame++) << 8;
289 val |= frame[0x6] << 16; 289 val |= *(frame++) << 16;
290 val |= frame[0x7] << 24; 290 val |= *(frame++) << 24;
291 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD1(HDMI_IFRAME_SLOT_AVI)); 291 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD1(HDMI_IFRAME_SLOT_AVI));
292 292
293 val = frame[0x8]; 293 val = *(frame++);
294 val |= frame[0x9] << 8; 294 val |= *(frame++) << 8;
295 val |= frame[0xA] << 16; 295 val |= *(frame++) << 16;
296 val |= frame[0xB] << 24; 296 val |= *(frame++) << 24;
297 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD2(HDMI_IFRAME_SLOT_AVI)); 297 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD2(HDMI_IFRAME_SLOT_AVI));
298 298
299 val = frame[0xC]; 299 val = *(frame++);
300 val |= *(frame) << 8;
300 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD3(HDMI_IFRAME_SLOT_AVI)); 301 hdmi_write(hdmi, val, HDMI_SW_DI_N_PKT_WORD3(HDMI_IFRAME_SLOT_AVI));
301 302
302 /* Enable transmission slot for AVI infoframe 303 /* Enable transmission slot for AVI infoframe