alistair23-linux/drivers/gpu/drm/radeon
Alex Deucher f100380ecd drm/radeon: fix AVI infoframe generation
- remove adding 2 to checksum, this is incorrect.

This was incorrectly introduced in:
92db7f6c86
http://lists.freedesktop.org/archives/dri-devel/2011-December/017717.html
However, the off by 2 was due to adding the version twice.
From the examples in the URL above:

[Rafał Miłecki][RV620] fglrx:
0x7454: 00 A8 5E 79     R600_HDMI_VIDEOINFOFRAME_0
0x7458: 00 28 00 10     R600_HDMI_VIDEOINFOFRAME_1
0x745C: 00 48 00 28     R600_HDMI_VIDEOINFOFRAME_2
0x7460: 02 00 00 48     R600_HDMI_VIDEOINFOFRAME_3
===================
(0x82 + 0x2 + 0xD) + 0x1F8 = 0x289
-0x289 = 0x77

However, the payload sum is not 0x1f8, it's 0x1f6.
00 + A8 + 5E + 00 +
00 + 28 + 00 + 10 +
00 + 48 + 00 + 28 +
00 + 48 =
0x1f6

Bits 25:24 of HDMI_VIDEOINFOFRAME_3 are the packet version, not part
of the payload.  So the total would be:
(0x82 + 0x2 + 0xD) + 0x1f6 = 0x287
-0x287 = 0x79

- properly emit the AVI infoframe version.  This was not being
emitted previous which is probably what caused the issue above.

This should fix blank screen when HDMI audio is enabled on
certain monitors.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Cc: Rafał Miłecki <zajec5@gmail.com>
2013-06-12 08:17:22 -04:00
..
reg_srcs drm/radeon: add WAIT_UNTIL to the non-VM safe regs list for cayman/TN 2013-01-27 22:38:44 -05:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon: fix endian bugs in atom_allocate_fb_scratch() 2013-05-02 10:01:45 -04:00
atom.h
atombios.h drm/radeon: fix endian bugs in radeon_atom_get_clock_dividers() (v3) 2013-04-23 18:04:00 -04:00
atombios_crtc.c drm/radeon: Remove superfluous variable 2013-05-20 10:44:57 -04:00
atombios_dp.c
atombios_encoders.c drm/radeon: don't allow audio on DCE6 2013-06-03 10:36:22 -04:00
atombios_i2c.c
avivod.h
cayman_blit_shaders.c
cayman_blit_shaders.h
evergreen.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
evergreen_blit_kms.c
evergreen_blit_shaders.c
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: don't check mipmap alignment if MIP_ADDRESS is FMASK 2013-03-07 12:58:59 -05:00
evergreen_hdmi.c drm/radeon: fix AVI infoframe generation 2013-06-12 08:17:22 -04:00
evergreen_reg.h drm/radeon: properly lock disp in mc_stop/resume for evergreen+ 2013-04-22 10:39:08 -04:00
evergreend.h drm/radeon: fix UPLL_REF_DIV_MASK definition 2013-05-02 10:09:48 -04:00
Kconfig drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
Makefile drm/radeon: UVD bringup v8 2013-04-09 10:31:33 -04:00
mkregtable.c
ni.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
ni_reg.h
nid.h drm/radeon: re-enable PTE/PDE packet for set_page on cayman/TN 2013-04-16 16:15:27 -04:00
ObjectID.h
r100.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r100_track.h drm/radeon: use common next_reloc function 2013-01-31 16:24:45 -05:00
r100d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r200.c drm/radeon: use common next_reloc function 2013-01-31 16:24:45 -05:00
r300.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r300_cmdbuf.c drm/radeon: check incoming cliprects pointer 2013-05-13 15:23:34 +10:00
r300_reg.h
r300d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r420.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r420d.h
r500_reg.h drm/radeon: disable the crtcs in mc_stop (r5xx-r7xx) (v2) 2013-04-22 10:39:09 -04:00
r520.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r520d.h
r600.c drm/radeon: fix UVD on big endian 2013-06-12 08:17:21 -04:00
r600_audio.c drm/radeon: clean up audio dto programming 2013-04-23 18:03:53 -04:00
r600_blit.c drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
r600_blit_kms.c drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
r600_blit_shaders.c
r600_blit_shaders.h
r600_cp.c drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
r600_cs.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-02-25 16:46:44 -08:00
r600_hdmi.c drm/radeon: fix AVI infoframe generation 2013-06-12 08:17:22 -04:00
r600_reg.h
r600d.h drm/radeon: Use direct mapping for fast fb access on RS780/RS880 (v2) 2013-06-03 10:36:21 -04:00
radeon.h drm/radeon: track which asics have UVD 2013-05-20 12:09:37 -04:00
radeon_acpi.c
radeon_acpi.h
radeon_agp.c
radeon_asic.c drm/radeon: Use direct mapping for fast fb access on RS780/RS880 (v2) 2013-06-03 10:36:21 -04:00
radeon_asic.h drm/radeon: Use direct mapping for fast fb access on RS780/RS880 (v2) 2013-06-03 10:36:21 -04:00
radeon_atombios.c drm/radeon: fix handling of v6 power tables 2013-05-02 11:53:07 -04:00
radeon_atpx_handler.c drm/radeon: properly validate the atpx interface 2013-02-20 08:51:21 -05:00
radeon_benchmark.c drm/radeon/benchmark: allow same domains for dma copy 2013-03-15 18:47:18 -04:00
radeon_bios.c Merge branch 'drm-radeon-sun-hainan' of git://people.freedesktop.org/~airlied/linux 2013-05-21 08:50:57 -07:00
radeon_blit_common.h
radeon_clocks.c
radeon_combios.c drm/radeon: add primary dac adj quirk for R200 board 2013-03-07 12:58:57 -05:00
radeon_connectors.c drm/radeon: Properly handle DDC probe for DP bridges 2013-01-03 15:04:38 -05:00
radeon_cp.c drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
radeon_cs.c drm/radeon: raise UVD clocks only on demand 2013-04-23 17:45:44 -04:00
radeon_cursor.c Merge branch 'fbcon-locking-fixes' of ssh://people.freedesktop.org/~airlied/linux into drm-next 2013-02-08 12:10:18 +10:00
radeon_device.c drm/radeon: fix write back suspend regression with uvd v2 2013-06-12 08:16:29 -04:00
radeon_display.c drm/radeon: use drm_send_vblank_event() helper 2013-05-22 09:13:41 +10:00
radeon_drv.c drm/radeon: restore nomodeset operation (v2) 2013-05-17 11:47:07 +10:00
radeon_drv.h drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
radeon_encoders.c
radeon_family.h drm/radeon: add chip family for Hainan 2013-05-20 11:13:06 -04:00
radeon_fb.c drm/<drivers>: simplify ->fb_probe callback 2013-02-14 00:07:58 +01:00
radeon_fence.c drm/radeon: fix write back suspend regression with uvd v2 2013-06-12 08:16:29 -04:00
radeon_gart.c drm/radeon: do not try to uselessly update virtual memory pagetable 2013-06-12 08:16:28 -04:00
radeon_gem.c radeon: add bo tracking debugfs 2013-05-02 10:09:47 -04:00
radeon_i2c.c drm/radeon: Properly handle DDC probe for DP bridges 2013-01-03 15:04:38 -05:00
radeon_ioc32.c
radeon_irq.c drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
radeon_irq_kms.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
radeon_kms.c drm/radeon: cleanup properly if mmio mapping fails 2013-04-15 10:34:12 -04:00
radeon_legacy_crtc.c drm/radeon: Remove superfluous variable 2013-05-20 10:44:57 -04:00
radeon_legacy_encoders.c radeon/kms: force rn50 chip to always report connected on analog output 2013-01-10 17:05:37 -05:00
radeon_legacy_tv.c
radeon_mem.c drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
radeon_mode.h drm/radeon: Remove superfluous variable 2013-05-20 10:44:57 -04:00
radeon_object.c drm/radeon: UVD bringup v8 2013-04-09 10:31:33 -04:00
radeon_object.h drm/radeon: UVD bringup v8 2013-04-09 10:31:33 -04:00
radeon_pm.c drm/radeon: don't use get_engine_clock() on APUs 2013-04-01 15:23:58 -04:00
radeon_prime.c drm/radeon: use prime helpers 2013-02-08 13:48:43 +10:00
radeon_reg.h drm/radeon: refactor vline packet parsing function 2013-01-31 16:24:43 -05:00
radeon_ring.c drm/radeon: Always flush the VM 2013-04-16 16:15:28 -04:00
radeon_sa.c drm/radeon: allocate SA bo in the requested domain 2013-05-02 10:01:47 -04:00
radeon_semaphore.c drm/radeon: improve semaphore debugging on lockup 2013-01-15 09:07:13 -05:00
radeon_state.c drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
radeon_test.c drm/radeon: UVD bringup v8 2013-04-09 10:31:33 -04:00
radeon_trace.h
radeon_trace_points.c
radeon_ttm.c drm/radeon: Fix VRAM size calculation for VRAM >= 4GB 2013-05-20 10:44:57 -04:00
radeon_uvd.c drm/radeon: fix UVD on big endian 2013-06-12 08:17:21 -04:00
rs100d.h
rs400.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
rs400d.h
rs600.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
rs600d.h
rs690.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
rs690d.h drm/radeon: Use direct mapping for fast fb access on RS690 2013-04-09 10:31:31 -04:00
rv200d.h
rv250d.h
rv350d.h
rv515.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
rv515d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
rv770.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
rv770d.h drm/radeon: fix UPLL_REF_DIV_MASK definition 2013-05-02 10:09:48 -04:00
si.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
si_blit_shaders.c
si_blit_shaders.h
si_reg.h
sid.h drm/radeon: fill in GPU init for Hainan (v2) 2013-05-20 11:13:07 -04:00