Apparently the proper way to do this is to use the LFP data pointer block to figure out the LFP data block entry size, then use that plus the panel index to calculate an offset into the LFP data block array.
Fixes fdo bug #19450.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
The size of general definition block varies on different platform/machines.
In such case the number of child device is also different.
And it will be better to get the number of child device in general definition
block dynamically.
The number of child device can be calculated by the following formula:
(block_size - block_header_size) /
sizeof( struct child_device_config)
http://bugs.freedesktop.org/show_bug.cgi?id=20429
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Document a few more VBT structures and comment on VBIOS communication a
bit. There should be enough there now for a sufficiently motivated
developer to start implementing support for hotkeys and other features
on pre-IGD OpRegion machines.
Dump more panel data, including number of expected entries. Had to
refactor things a bit, but now each function should get size information
so further checking can be added more easily.
Make VBT parsing happen at driver init time rather than in each output init
function, to save time and better separate VBIOS code into i830_bios.[ch]. The
changes end up touching the output files due to field name changes, and allow
us to reorder & simplify our LFP mode detection code.
We failed to include the pciaccess header flags in our build. Even if the
server was to include those flags for us, it would leave us broken for the
tools-only case, and it's easier to just put the flags everywhere so we avoid
future copy'n'paste mistakes.
Detect whether the target X server uses libpciaccess, using it in the driver
compilation as necessary. This change means that utilities that used to use
libpciaccess will not do so unless the driver itself uses libpciaccess. Yes,
that could be fixed, but it doesn't seem that important.
This patch does not include any code changes necessary to actually have the
driver build against an X server using libpciaccess.
xf86Modes.h file signals the availability of the new modes API in the
server; use that instead of counting on X server version numbers.
Also, finish eliminating use of local copies of those header files.