WSL2-Linux-Kernel/drivers/gpu/drm/i915
Daniel Vetter 81014b9d0b drm/i915: fixup infoframe support for sdvo
At least the worst offenders:
- SDVO specifies that the encoder should compute the ecc. Testing also
  shows that we must not send the ecc field, so copy the dip_infoframe
  struct to a temporay place and avoid the ecc field. This way the avi
  infoframe is exactly 17 bytes long, which agrees with what the spec
  mandates as a minimal storage capacity (with the ecc field it would
  be 18 bytes).
- Only 17 when sending the avi infoframe. The SDVO spec explicitly
  says that sending more data than what the device announces results
  in undefined behaviour.
- Add __attribute__((packed)) to the avi and spd infoframes, for
  otherwise they're wrongly aligned. Noticed because the avi infoframe
  ended up being 18 bytes large instead of 17. We haven't noticed this
  yet because we don't use the uint16_t fields yet (which are the only
  ones that would be wrongly aligned).

This regression has been introduce by

3c17fe4b8f is the first bad commit
commit 3c17fe4b8f
Author: David Härdeman <david@hardeman.nu>
Date:   Fri Sep 24 21:44:32 2010 +0200

    i915: enable AVI infoframe for intel_hdmi.c [v4]

Patch tested on my g33 with a sdvo hdmi adaptor.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=25732
Tested-by: Peter Ross <pross@xvid.org> (G35 SDVO-HDMI)
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-05-20 17:11:11 +02:00
..
Makefile drm/i915: initialize DDI buffer translations 2012-05-19 22:39:47 +02:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_debugfs.c drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
i915_dma.c drm/i915: Replace the feature tests for BLT/BSD with ring init checks 2012-05-19 22:39:54 +02:00
i915_drv.c drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
i915_drv.h drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
i915_gem.c drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
i915_gem_debug.c drm/i915: Remove the list of pinned inactive objects 2012-05-03 11:18:11 +02:00
i915_gem_evict.c drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
i915_gem_execbuffer.c drm/i915: Check whether the ring is initialised prior to dispatch 2012-05-19 22:39:53 +02:00
i915_gem_gtt.c drm/i915: remove do_retire from i915_wait_request 2012-05-03 11:18:20 +02:00
i915_gem_stolen.c drm/i915: Split the stolen handling for GEM out of i915_dma.c 2012-05-03 11:18:11 +02:00
i915_gem_tiling.c drm/i915: Only the zap the VMA after updating the tiling parameters 2012-05-03 11:18:07 +02:00
i915_ioc32.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_irq.c drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
i915_reg.h drm/i915: add new Haswell DIP controls registers 2012-05-19 22:39:43 +02:00
i915_suspend.c drm/i915: gen6_enable_rps() wants to be called after ring initialisation 2012-05-19 22:38:29 +02:00
i915_sysfs.c drm/i915: rc6 residency (fix the fix) 2012-04-23 09:30:14 +02:00
i915_trace.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_acpi.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_bios.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-04-12 10:27:01 +01:00
intel_bios.h drm/i915: VBT Parser cleanup for eDP block 2012-01-13 08:37:44 -08:00
intel_crt.c drm/i915: account for only one PCH receiver on Haswell 2012-05-19 22:39:47 +02:00
intel_ddi.c drm/i915: prepare HDMI link for Haswell 2012-05-19 22:39:51 +02:00
intel_display.c drm/i915: Enable the PCH PLL for all generations after link training 2012-05-19 23:10:01 +02:00
intel_dp.c drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
intel_drv.h drm/i915: fixup infoframe support for sdvo 2012-05-20 17:11:11 +02:00
intel_dvo.c drm/i915/intel_i2c: refactor using intel_gmbus_get_adapter 2012-03-28 14:40:44 +02:00
intel_fb.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
intel_hdmi.c drm/i915: prepare HDMI link for Haswell 2012-05-19 22:39:51 +02:00
intel_i2c.c drm/i915: disable gmbus on i830 2012-05-19 22:39:55 +02:00
intel_lvds.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
intel_modes.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-04-12 10:27:01 +01:00
intel_opregion.c drm/i915: [sparse] __iomem fixes for opregion 2012-05-03 11:18:00 +02:00
intel_overlay.c drm/i915: rip out unnecessary calls to drm_mode_set_crtcinfo 2012-05-04 11:31:24 +02:00
intel_panel.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
intel_pm.c drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
intel_ringbuffer.c Merge remote-tracking branch 'airlied/drm-core-next' into drm-intel-next-queued 2012-05-08 13:39:59 +02:00
intel_ringbuffer.h drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
intel_sdvo.c drm/i915: fixup infoframe support for sdvo 2012-05-20 17:11:11 +02:00
intel_sdvo_regs.h misc latin1 to utf8 conversions 2012-01-02 13:04:55 +01:00
intel_sprite.c drm/i915: properly check for MODESET for kms driver ioctls 2012-05-03 11:18:13 +02:00
intel_tv.c drm/i915: rip out unnecessary calls to drm_mode_set_crtcinfo 2012-05-04 11:31:24 +02:00