summaryrefslogtreecommitdiff
path: root/src/mainboard/iei
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2013-03-05 17:07:40 -0800
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-03-20 05:34:41 +0100
commita95a13bd474fa7738840496b657cd46784e3f6b2 (patch)
tree88284d3cea4ec0692e0acc7679669b0e12be4be9 /src/mainboard/iei
parentec2d914e198928f89928838476ddbd6e5ef61b98 (diff)
link/graphics: New state machine
This is a new state machine. It is more programmatic, in the case of auxio, and has much more symbolic naming, and very few "magic" numbers, except in the case of undocumented settings. As before, the 'pre-computed' IO ops are encoded in the iodefs table. A function, run, is passed and index into the table and runs the ops. A new operator, I, has been added. When the I operator is hit, run() returns the index of the next operator in the table. The i915lightup function runs the table. All the AUX channel ops have been removed from the table, however, and are now called as functions, using the previously committed auxio function. The iodefs table has been grouped into blocks of ops, which end in an I operator. As the lightup function progresses through startup, and the run() returns, the lightup function performs aux channel operations. This code is symbolic enough, I hope, that it will make haswell graphics bringup simpler. i915io.c, and the core of the code in i915lightup.c, were programatically generated, starting with IO logs from the DRM startup code in the kernel. It is possible to apply the tools that do this generation to newer IO logs from the kernel. Change-Id: I8a8e121dc0d9674f0c6a866343b28e179a1e3d8a Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-on: http://review.coreboot.org/2836 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/mainboard/iei')
0 files changed, 0 insertions, 0 deletions