drm/I915: Fix offset to DVO timings in LVDS data
authorZhao Yakui <yakui.zhao@intel.com>
Tue, 28 Jul 2009 02:54:13 +0000 (10:54 +0800)
committerEric Anholt <eric@anholt.net>
Wed, 29 Jul 2009 22:06:06 +0000 (15:06 -0700)
commitcdaa052b05e26d96a990af5d253fd2af5db2b1fc
tree47fc9b791bbf1aa4cb42eaf878c213299b61dd01
parent2ded9e2747d0a390d281bb5b16ff7f640ec85f78
drm/I915: Fix offset to DVO timings in LVDS data

Now the DVO timing in LVDS data entry is obtained by using the
following step:
    a. get the entry size for every LVDS panel data
    b. Get the LVDS fp entry for the preferred panel type
    c. get the DVO timing by using entry->dvo_timing

In our driver the entry->dvo_timing is related with the size of
lvds_fp_timing. For example: the size is 46.

But it seems that the size of lvds_fp_timing varies on the differnt
platform. In such case we will get the incorrect DVO timing entry
because of the incorrect DVO offset in LVDS panel data entry.
This also removes a hack on new IGDNG to get proper DVO timing.

Calculate the DVO timing offset in LVDS data entry to get the DVO timing
    a. get the DVO timing offset in the LVDS fp data entry by using the
pointer definition in LVDS data ptr
    b. get the LVDS data entry
    c. get the DVO timing by adding the DVO timing offset to data entry

https://bugs.freedesktop.org/show_bug.cgi?id=22787

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Tested-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/intel_bios.c