Background: This capability is targeted at deeply embedded appliance like devices that make use of Intel integrated graphics. There are a few use cases that are not currently supported by the i915 driver. For example, they may not be running user space code that is capable of querying and setting the various DRM properties and would like them set during the driver initialization. Also they may be using a custom firmware bootloader that does not include any graphics initialization or VBT information. This level of initialization configuration has been available in the Intel EMGD kernel driver and a similar level of configurability will be expected as designs transition to the i915 driver. This patch set provides a framework that makes use of ACPI property tables containing configuration information. It also includes some examples on how this may be applied to various aspects of the i915 driver initialization. V2 removes the support for replacing the internal workaround list and the support for overriding the VBT values. Instead there are patches to configure the specific items that the EMGD kernel driver currently allows customers to override. There are also patches to make the values of those items available via debugfs. I've also removed the code that embeds an ACPI property table into the driver as the ACPICA code doesn't really support loading and unloading a table like this and would fail after a couple of driver load/unload cycles. Series description: Patch 1 is the framework. It loads the ACPI property table and builds some lists containing the configuration found in that table. There are functions for looking up and applying the configuration. Patch 2 checks for a CRTC bits-per-color configuration and uses that if EDID does not provide the value. Patch 3 replaces the attach_property function with a call to a configuration function that can override the default property value with one from the configuration table. Patch 4 is an example of using the configuration to specify a default value for the DP panel fitter property. Patch 5 allows the configuration table to override the DP max link rate value. Patch 6 allows the configuration table to override the eDP panel power sequence delay values. Patch 7 allows the configuration table to override the eDP backlight max (inverter frequency) and level (duty cycle) values. Patch 8 adds the eDP panel power sequence values to the debugfs output (i915_display_info) Patch 9 adds the eDP backlight values to the debugfs output (i915_display_info) Patch 10 is an example ACPI property table to give some context to the above code. It can be compiled and placed in /lib/firmware/drm_i915.aml for testing the code. Bob Paauwe (10): drm/i915/config: Initial framework drm/i915/config: Add init-time configuration of bits per color. drm/i915/config: Add init-time configuration of general connector properties. drm/i915/config: Add init-time configuration of dp panel fitter property. drm/i915/config: Add init-time configuration of DP max link rate. drm/i915/config: Add init-time configuration of eDP PPS delays. drm/i915/config: Add init-time configuration of eDP backlight settings. drm/i915: Add PPS delay values to debugfs. drm/i915: Add backlight max and level to debugfs output. drm/i915/config: An example/test ACPI property table. drivers/gpu/drm/i915/Makefile | 3 +- drivers/gpu/drm/i915/i915-properties.asl | 167 +++++++++ drivers/gpu/drm/i915/i915_debugfs.c | 18 +- drivers/gpu/drm/i915/i915_dma.c | 4 + drivers/gpu/drm/i915/i915_drv.h | 17 + drivers/gpu/drm/i915/i915_params.c | 6 + drivers/gpu/drm/i915/intel_config.c | 558 +++++++++++++++++++++++++++++++ drivers/gpu/drm/i915/intel_display.c | 14 + drivers/gpu/drm/i915/intel_dp.c | 36 +- drivers/gpu/drm/i915/intel_drv.h | 27 ++ drivers/gpu/drm/i915/intel_modes.c | 4 +- drivers/gpu/drm/i915/intel_panel.c | 8 + 12 files changed, 852 insertions(+), 10 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915-properties.asl create mode 100644 drivers/gpu/drm/i915/intel_config.c -- 2.1.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx