aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_params.h
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2017-08-17 14:52:09 +0300
committerJani Nikula <jani.nikula@intel.com>2017-08-17 16:34:54 +0300
commitab3595bc4ff328ec90d20714f8e2674f3abfa2cd (patch)
treed376bb589edba6da51798dfaecb8b855c1ddd564 /drivers/gpu/drm/i915/i915_params.h
parentdrm/i915/cnl: Reuse skl_wm_get_hw_state on Cannonlake. (diff)
downloadlinux-dev-ab3595bc4ff328ec90d20714f8e2674f3abfa2cd.tar.xz
linux-dev-ab3595bc4ff328ec90d20714f8e2674f3abfa2cd.zip
drm/i915/opregion: let user specify override VBT via firmware load
Sometimes it would be most enlightening to debug systems by replacing the VBT to be used. For example, in the referenced bug the BIOS provides different VBT depending on the boot mode (UEFI vs. legacy). It would be interesting to try the failing boot mode with the VBT from the working boot, and see if that makes a difference. Add a module parameter to load the VBT using the firmware loader, not unlike the EDID firmware mechanism. As a starting point for experimenting, one can pick up the BIOS provided VBT from /sys/kernel/debug/dri/0/i915_opregion/i915_vbt. v2: clarify firmware load return value check (Bob) v3: kfree the loaded firmware blob References: https://bugs.freedesktop.org/show_bug.cgi?id=97822#c83 Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com> Acked-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170817115209.25912-1-jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/i915_params.h')
-rw-r--r--drivers/gpu/drm/i915/i915_params.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index febbfdbd30bd..ac844709c97e 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -28,6 +28,7 @@
#include <linux/cache.h> /* for __read_mostly */
#define I915_PARAMS_FOR_EACH(func) \
+ func(char *, vbt_firmware); \
func(int, modeset); \
func(int, panel_ignore_lid); \
func(int, semaphores); \